[PATCH 4/6] drm/amdgpu: add support for gfx v10 print

Khatri, Sunil sukhatri at amd.com
Tue Apr 16 17:36:18 UTC 2024


On 4/16/2024 7:27 PM, Alex Deucher wrote:
> On Tue, Apr 16, 2024 at 8:08 AM Sunil Khatri<sunil.khatri at amd.com>  wrote:
>> Add support to print ip information to be
>> used to print registers in devcoredump
>> buffer.
>>
>> Signed-off-by: Sunil Khatri<sunil.khatri at amd.com>
>> ---
>>   drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 17 ++++++++++++++++-
>>   1 file changed, 16 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
>> index 822bee932041..a7c2a3ddd613 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
>> @@ -9268,6 +9268,21 @@ static void gfx_v10_0_emit_mem_sync(struct amdgpu_ring *ring)
>>          amdgpu_ring_write(ring, gcr_cntl); /* GCR_CNTL */
>>   }
>>
>> +static void gfx_v10_ip_print(void *handle, struct drm_printer *p)
>> +{
>> +       struct amdgpu_device *adev = (struct amdgpu_device *)handle;
>> +       uint32_t i;
>> +       uint32_t reg_count = ARRAY_SIZE(gc_reg_list_10_1);
>> +
>> +       if (!adev->gfx.ip_dump)
>> +               return;
>> +
>> +       for (i = 0; i < reg_count; i++)
>> +               drm_printf(p, "0x%04x \t 0x%08x\n",
>> +                          adev->gfx.ip_dump[i].offset,
> Print the name of the register rather than the offset here to make it
> output easier to read.  See my comments from patch 2.

Just register name and value is fine or we need the offset too.

Also i am assuming stringify the macro is good enough ?
eg:

#definemmGRBM_STATUS0x0da4
so printing register name exactly like mmGRBM_STATUS is acceptable ? we 
dont need to remove mm as it makes it complicated.
>
>> +                          adev->gfx.ip_dump[i].value);
>> +}
>> +
>>   static void gfx_v10_ip_dump(void *handle)
>>   {
>>          struct amdgpu_device *adev = (struct amdgpu_device *)handle;
>> @@ -9300,7 +9315,7 @@ static const struct amd_ip_funcs gfx_v10_0_ip_funcs = {
>>          .set_powergating_state = gfx_v10_0_set_powergating_state,
>>          .get_clockgating_state = gfx_v10_0_get_clockgating_state,
>>          .dump_ip_state = gfx_v10_ip_dump,
>> -       .print_ip_state = NULL,
>> +       .print_ip_state = gfx_v10_ip_print,
>>   };
>>
>>   static const struct amdgpu_ring_funcs gfx_v10_0_ring_funcs_gfx = {
>> --
>> 2.34.1
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20240416/5b4a10bb/attachment.htm>


More information about the amd-gfx mailing list