First version of host1x intro

Mark Zhang nvmarkzhang at gmail.com
Thu Dec 6 21:26:41 PST 2012


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
> 


More information about the dri-devel mailing list