[RFC 3/7] drm/amdgpu: Create MQD for userspace queue

Shashank Sharma shashank.sharma at amd.com
Wed Jan 4 09:23:49 UTC 2023


On 04/01/2023 10:17, Christian König wrote:
> Am 04.01.23 um 10:13 schrieb Shashank Sharma:
>>
>> On 04/01/2023 10:10, Christian König wrote:
>>> Am 04.01.23 um 07:21 schrieb Yadav, Arvind:
>>>>
>>>> On 1/4/2023 12:07 AM, Felix Kuehling wrote:
>>>>> Am 2023-01-03 um 04:36 schrieb Shashank Sharma:
>>>>>>>> /*MQD struct for usermode Queue*/
>>>>>>>> +struct amdgpu_usermode_queue_mqd
>>>>>>> This is specific to GC 11.  Every IP and version will have its 
>>>>>>> own MQD
>>>>>>> format.  That should live in the IP specific code, not the generic
>>>>>>> code.  We already have the generic MQD parameters that we need from
>>>>>>> the userq IOCTL.
>>>>>>
>>>>>> Noted, we can separate out the generic parameters from gen 
>>>>>> specific parameter, and will try to wrap it around the generic 
>>>>>> structure.
>>>>>>
>>>>>> - Shashank
>>>>>
>>>>> Is there a reason why you can't use "struct v11_compute_mqd" from 
>>>>> v11_structs.h?
>>>>
>>>> Hi Felix,
>>>>
>>>> Yes,  V11_compute_mqd does not have these below member which is 
>>>> needed for usermode queue.
>>>>
>>>>     uint32_t shadow_base_lo; // offset: 0  (0x0)
>>>>     uint32_t shadow_base_hi; // offset: 1  (0x1)
>>>>     uint32_t gds_bkup_base_lo ; // offset: 2  (0x2)
>>>>     uint32_t gds_bkup_base_hi ; // offset: 3  (0x3)
>>>>     uint32_t fw_work_area_base_lo; // offset: 4  (0x4)
>>>>     uint32_t fw_work_area_base_hi; // offset: 5  (0x5)
>>>>     uint32_t shadow_initialized; // offset: 6  (0x6)
>>>>     uint32_t ib_vmid; // offset: 7  (0x7)
>>>>
>>>> So we had to add new MQD structs.
>>>
>>> Would it make more sense to update the existing MQD structures than 
>>> adding new ones?
>>>
>> Imo, It might be a bit complicated in the bring-up state, but we can 
>> take a note of converting this structure into a union of two, or may 
>> be renaming it into a superset structure.
>
> Union? Does that mean we have stuff which is individual for both 
> versions of the struct?
So far it seems like Gfx MQD structure is a superset of two, but we have 
not compared them neck-to-neck yet, hence I feel like we can defer this 
task for sometime (but add into to-do list).
>
> BTW: Could we drop the "// offset:" stuff? This could cause problems 
> with automated checkers.

Sure, we will do it.

- Shashank

>
> Christian.
>
>>
>> - Shashank
>>
>>> Regards,
>>> Christian.
>>>
>>>>
>>>> thanks
>>>>
>>>> ~arvind
>>>>
>>>>>
>>>>> Regards,
>>>>>   Felix
>>>>>
>>>
>


More information about the amd-gfx mailing list