[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[microblaze-uclinux] DMA and cache



I found an old thread about the

#if CONFIG_XILINX_UNCACHED_SHADOW
	ret = (void *)((unsigned) ret | UNCACHED_SHADOW_MASK);
#endif

trick so scatter-gather DMA can play nicely with caching.
What is the current status of this?  I saw at least one FIX ME note
in the related code.

From what I understand, if my ram is 64 megs from 0x3000.0000 to 0x33ff.ffff,
when the network driver needs to allocate dma buffers it will get a range
from 0x3400.0000 to 0x37ff.ffff which is our of my cached range (assuming
I'm caching all of ram).  Is this correct?  Is there some value I have to
change in the .mhs file to fake out 128 megs?

I'm asking because I can't get scatter-gather to work.  I dies somewhere
in the descriptor_init() function.

Thanks,
Jim

___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/