> It might explain why my machine hung when I tried to use
> radeon with DRM on my sparc64 workstation :-)  I have
> investigating that on my todo list.

True, maybe the intersection is me + hw like that + radeon :-)

> I don't know what to recommend to you, getting 8MB of linear memory
> really just isn't practical.

This is the thing it doesn't need to be linear, I have a GART onboard
the radeon that I can fill in, I just need internally in the kernel to
access it linearly and in userspace to map it linearly, but it doesn't
need to be physcially linear, vmalloc_32 + map_single should in theory
be possible if.. see below...

>
> Perhaps we'll have to create something ugly like vmalloc_nobounce().
>
> Remind me again why you're ending up with swiotlb'd pages?
> vmalloc_32() uses GFP_KERNEL which should use entirely lowmem and thus
> RAM below 4GB and not anything which should need bounce buffering.

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..

> 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.

Dave.

-------------------------------------------------------------------------
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