lkml.org 
[lkml]   [2004]   [Feb]   [4]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateWed, 4 Feb 2004 09:44:37 +0100
FromStelian Pop <>
SubjectRe: [PATCH] meye: correct printk of dma_addr_t
On Tue, Feb 03, 2004 at 04:28:22PM -0800, Randy.Dunlap wrote:

> | mchip_ptable[] just contains pointers to kernel memory.  It doesn't seem
> | appropriate to be casting these to dma_addr_t's
> 
> 
> Ugh... if I am reading this correcly, what I see is that
> mchip_table[] is mostly used for kernel pointers, like you say.

Yep. The meye driver uses 256 PAGE_SIZE buffers. The kernel virtual
pointers to these buffers are stored in mchip_ptable[]. The
"toc" containing the dma pointers to these buffers must be given
to the device as a table having 256 entries, each being 32 bits in length.

In the code I used the last entry of mchip_ptable to store the toc,
but I could as well construct a different data structure.

Anyway, the device expects a dma_addr to be 32 bits in length, so this
will not work anyway with HIGHMEM32 (moreover, this is a driver for the
motion eye camera which is found only in C1 Vaio Sony laptops, which
motherboard is limited to 384 MB...).

I can see only two solutions:
	*) put the toc in a different, dma_addr_t[] structure, so the
	   driver will compile even with HIGHMEM32 (but won't work...)

	*) exclude meye from kernel config when HIGHMEM32 is set.

Which one do you prefer ?

Stelian.
-- 
Stelian Pop <stelian@popies.net>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:00    [from the cache]
©2003-2008