[PATCH] drm/amdgpu: Added more hqd debug messages

Deucher, Alexander Alexander.Deucher at amd.com
Wed Mar 1 22:55:41 UTC 2017


> -----Original Message-----
> From: Zeng, Oak
> Sent: Wednesday, March 01, 2017 5:29 PM
> To: Deucher, Alexander; 'ozeng'; amd-gfx at lists.freedesktop.org
> Subject: RE: [PATCH] drm/amdgpu: Added more hqd debug messages
> 
> Hi Alex,
> 
> COMPUTE_PGM* registers are per pipe per queue - each queue of each
> pipe has a copy of those registers.
> 
> kgd_hqd_dump is called per pipe per queue. In kgd_hqd_dump,
> SRBM_GFX_CNTL register is set up to lock the correct pipe/queue. This is
> done through function acquire_queue(kgd, pipe_id, queue_id).

If that is the case, then the patch is:
Acked-by: Alex Deucher <alexander.deucher at amd.com>

> 
> -----Original Message-----
> From: Deucher, Alexander
> Sent: Wednesday, March 01, 2017 5:00 PM
> To: 'ozeng'; amd-gfx at lists.freedesktop.org
> Cc: Zeng, Oak
> Subject: RE: [PATCH] drm/amdgpu: Added more hqd debug messages
> 
> > -----Original Message-----
> > From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf
> > Of ozeng
> > Sent: Wednesday, March 01, 2017 4:28 PM
> > To: amd-gfx at lists.freedesktop.org
> > Cc: Zeng, Oak
> > Subject: [PATCH] drm/amdgpu: Added more hqd debug messages
> >
> > Dump register COMPUTE_PGM_RSRC1 and COMPUTE_PGM_RSRC2 in
> function
> > kgd_hqd_dump
> >
> > Change-Id: I8e007f5bcc095d3283b642791860dd072dd43b1c
> > Signed-off-by: Oak Zeng <Oak.Zeng at amd.com>
> > ---
> >  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c | 2 ++
> > drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c | 2 ++
> >  2 files changed, 4 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c
> > b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c
> > index 7732def..d7bcdc3 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c
> > @@ -439,6 +439,8 @@ static int kgd_hqd_dump(struct kgd_dev *kgd,
> >
> >  	acquire_queue(kgd, pipe_id, queue_id);
> >
> > +	DUMP_REG(mmCOMPUTE_PGM_RSRC1);
> > +	DUMP_REG(mmCOMPUTE_PGM_RSRC2);
> >  	DUMP_REG(mmCOMPUTE_STATIC_THREAD_MGMT_SE0);
> >  	DUMP_REG(mmCOMPUTE_STATIC_THREAD_MGMT_SE1);
> >  	DUMP_REG(mmCOMPUTE_STATIC_THREAD_MGMT_SE2);
> > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c
> > b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c
> > index 289c188..2aff607 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c
> > @@ -433,6 +433,8 @@ static int kgd_hqd_dump(struct kgd_dev *kgd,
> >
> >  	acquire_queue(kgd, pipe_id, queue_id);
> >
> > +	DUMP_REG(mmCOMPUTE_PGM_RSRC1);
> > +	DUMP_REG(mmCOMPUTE_PGM_RSRC2);
> >  	DUMP_REG(mmCOMPUTE_STATIC_THREAD_MGMT_SE0);
> >  	DUMP_REG(mmCOMPUTE_STATIC_THREAD_MGMT_SE1);
> >  	DUMP_REG(mmCOMPUTE_STATIC_THREAD_MGMT_SE2);
> 
> Aren't COMPUTE_PGM* registers multi-state for pipelining?  In which case,
> reading them back via MMIO is largely useless.
> 
> Alex
> 
> > --
> > 2.7.4
> >
> > _______________________________________________
> > amd-gfx mailing list
> > amd-gfx at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list