Re: [PATCH 2.6.19-rc1 update4] drivers: add LCD support

From: Miguel Ojeda
Date: Mon Oct 30 2006 - 08:53:36 EST


On 10/30/06, Franck Bui-Huu <vagabon.xyz@xxxxxxxxx> wrote:
Andrew,

Andrew Morton wrote:
> On Thu, 26 Oct 2006 17:48:58 +0000
> Miguel Ojeda Sandonis <maxextreme@xxxxxxxxx> wrote:
>
[snip]
>
>> +struct page *cfag12864bfb_vma_nopage(struct vm_area_struct *vma,
>> + unsigned long address, int *type)
>
> This function can have static scope.
>
>> +{
>> + struct page *page;
>> + down(&cfag12864bfb_sem);
>> +
>> + page = virt_to_page(cfag12864b_buffer);
>> + get_page(page);
>> +
>> + if(type)
>> + *type = VM_FAULT_MINOR;
>> +
>> + up(&cfag12864bfb_sem);
>> + return page;
>> +}
>

Any idea why LDD3 states:

An interesting limitation of remap_pfn_range is that it gives
access only to reserved pages and physical addresses above the
top of physical memory.

Is that true we can't do:

buf = (char *)__get_free_page(...);
pfn = PFN_DOWN(virt_to_phys(buf));
remap_pfn_range(vma, vma->vm_start, pfn, PAGE_SIZE, vma->vm_page_prot);

Thanks
Franck


Again: Please read LDD3. It explains it well. Read all the "Remapping
RAM" chapter and you will understand what I've done, or just try to
remap RAM yourself with remap_pfn_range. (I really tried it using
different ways and I couldn't map it with remap_pfn_range, it returns
you a place full with zeros, as LDD3 states).
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/