First version of host1x intro

Lucas Stach dev at lynxeye.de
Thu Dec 6 03:17:08 PST 2012


Am Donnerstag, den 06.12.2012, 16:13 +0800 schrieb Mark Zhang:
> On 12/06/2012 04:00 PM, Lucas Stach wrote:
[...]
> > 
> > Or maybe I'm misunderstanding you and you mean it the other way around.
> > You don't let userspace dictate the addresses, the relocation
> > information just tells the kernel to find the addresses of the
> > referenced buffers for you and insert them, instead of the dummy
> > information, into the command stream.
> 
> Yes, I think this is what I mean. No dummy information in the command
> stream, userspace just fills the address which it uses(actually this is
> cpu address of the buffer) in the command stream, and our driver must
> have a HashTable or something which contains the buffer address pair --
> (cpu address, dma address), so our driver can find the dma addresses for
> every buffer then modify the addresses in the command stream.
> 
> Hope I explain that clear.
> 

And to do so we would have to hold an unfortunately large table in
kernel, as a buffer can be mapped by different userspace processes at
different locations. Also you would have to match against some variably
sized ranges to find the correct buffer, as the userspace would have to
pack bufferbaseaddress and offset into same value.

I really don't think it's worth the hassle and it's the right way to use
the proven scheme of a sidebandbuffer to pass in the reloc informations.

Regards,
Lucas



More information about the dri-devel mailing list