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