Reviewed-by: Alex Deucher <[email protected]>

On Tue, Jul 14, 2026 at 4:14 PM Russell, Kent <[email protected]> wrote:
>
> AMD General
>
> Non-critical ping
>
>  Kent
>
> > -----Original Message-----
> > From: Russell, Kent <[email protected]>
> > Sent: July 6, 2026 1:30 PM
> > To: [email protected]
> > Cc: Koenig, Christian <[email protected]>; Russell, Kent
> > <[email protected]>
> > Subject: [PATCH] drm/amdkfd: Clean up debug runlist printing
> >
> > Having single lines with random hex codes really doesn't help a user to
> > know what's going on. Give it a title, and print 8 8-length hex values
> > per line, instead of a single 2-length hex value per printed line.
> >
> > Previous output:
> >
> > ...
> > amdgpu: 0x20000010
> > amdgpu: 0x3000
> > amdgpu: 0x12E6E00
> > amdgpu: 0xFF
> > amdgpu: 0x207008
> > amdgpu: 0x 0
> > amdgpu:
> >
> > New output:
> >
> > amdgpu: Runlist dump:
> > amdgpu:    0: 0xc00ea100 0x14008008 0x0f4fffc0 0x00000000 0x20002000
> > 0x00000338 0x00000020 0x00080017
> > amdgpu:    8: 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000
> > 0x03400000 0x00000000 0x00000000
> > amdgpu:   16: 0xc005a200 0x20000010 0x00003030 0x012ed000 0x000000ff
> > 0x00252008 0x00000000 0xc005a200
> > amdgpu:   24: 0x20000010 0x0000302c 0x012ec800 0x000000ff 0x0024c008
> > 0x00000000 0xc005a200 0x20000010
> > amdgpu:   32: 0x00003028 0x012ec000 0x000000ff 0x00246008 0x00000000
> > 0xc005a200 0x20000010 0x00003024
> > amdgpu:   40: 0x012eb800 0x000000ff 0x00240008 0x00000000 0xc005a200
> > 0x20000010 0x00003020 0x012eb000
> > amdgpu:   48: 0x000000ff 0x0023a008 0x00000000 0xc005a200 0x20000010
> > 0x0000301c 0x012ea800 0x000000ff
> > amdgpu:   56: 0x00234008 0x00000000 0xc005a200 0x20000010 0x00003018
> > 0x012ea000 0x000000ff 0x0022e008
> > amdgpu:   64: 0x00000000 0xc005a200 0x20000010 0x00003014 0x012e9800
> > 0x000000ff 0x00228008 0x00000000
> > amdgpu:   72: 0xc005a200 0x20000010 0x00003010 0x012e9000 0x000000ff
> > 0x00222008 0x00000000 0xc005a200
> > amdgpu:   80: 0x20000010 0x0000300c 0x012e8800 0x000000ff 0x0021c008
> > 0x00000000 0xc005a200 0x20000010
> > amdgpu:   88: 0x00003008 0x012e8000 0x000000ff 0x00216008 0x00000000
> > 0xc005a200 0x20000010 0x00003004
> > amdgpu:   96: 0x012e7800 0x000000ff 0x00210008 0x00000000 0xc005a200
> > 0x20000010 0x00003000 0x012e6e00
> > amdgpu:  104: 0x000000ff 0x00207008 0x00000000
> >
> > Signed-off-by: Kent Russell <[email protected]>
> > ---
> >  drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c | 16 +++++++++++++---
> >  1 file changed, 13 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c
> > b/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c
> > index b1a6eb349bb3..85bf1790a6c8 100644
> > --- a/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c
> > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c
> > @@ -269,9 +269,19 @@ static int pm_create_runlist_ib(struct packet_manager
> > *pm,
> >       }
> >       pm->is_over_subscription = !!is_over_subscription;
> >
> > -     for (i = 0; i < alloc_size_bytes / sizeof(uint32_t); i++)
> > -             pr_debug("0x%2X ", rl_buffer[i]);
> > -     pr_debug("\n");
> > +     pr_debug("Runlist dump:");
> > +     for (i = 0; i < alloc_size_bytes / sizeof(uint32_t); i += 8) {
> > +             char buf[128];
> > +             int j, len = 0;
> > +
> > +             /* Dump 8 entries per line with an index for each line */
> > +             len += scnprintf(buf + len, sizeof(buf) - len, "%4u:", i);
> > +
> > +             for (j = 0; j < 8 && (i + j) < alloc_size_bytes / 
> > sizeof(uint32_t); j++)
> > +                     len += scnprintf(buf + len, sizeof(buf) - len, " 
> > 0x%08x",
> > rl_buffer[i + j]);
> > +
> > +             pr_debug("%s\n", buf);
> > +     }
> >
> >       return retval;
> >  }
> > --
> > 2.43.0
>

Reply via email to