"Dave Airlie" <[EMAIL PROTECTED]> writes:
> 
> On a 64-bit machine GFP_KERNEL can give me any memory... it all works
> fine on 32-bit highmem kernel as I don't get highmem... I really need
> __GFP_DMA32 memory but we don't have a generic allocator that gives
> this out that I can see..

__get_free_pages(..., __GFP_DMA32) on 64bit or __GFP_KERNEL or i386
(only gives you ~900MB) 
 
> > Are you expecting to be able to virtually remap these pages in
> > PCI space as one huge 8MB chunk too and that's how swiotlb gets
> > involved?  That won't work, sorry...
> 
> Well I feed the bus address for each page into a GART table in the GPU
> and it does the linear stuff internally in the GPU memory
> controller...
> 
> I suppose I want __GFP_I_D_RATHER_DIE_THAN_BOUNCE.

Not sure what you mean? __alloc_pages never bounces by itself.
The nearest you can get is __GFP_DMA/__GFP_DMA32, but these have
their own 16MB/4GB zones and don't use the swiotlb pools. And of course it
only gives you plain memory, but doesn't remap or copy anything.

I have some plans to unify this with swiotlb, but they're not done.

-Andi

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to