On 12/06/2012 07:17 PM, Lucas Stach wrote: > 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. > Yep, agree. Thanks for the explanation. Mark > Regards, > Lucas > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel