[PATCH] drm/amdgpu/gmc7: fix wait_for_idle callers
Alex Deucher
alexdeucher at gmail.com
Wed Nov 20 14:30:19 UTC 2024
On Wed, Nov 20, 2024 at 4:21 AM Michel Dänzer <michel at daenzer.net> wrote:
>
> On 2024-11-19 20:23, Alex Deucher wrote:
> > The wait_for_idle signature was changed, but the callers
> > were not.
> >
> > Reported-by: Michel Dänzer <michel at daenzer.net>
> > Fixes: 82ae6619a450 ("drm/amdgpu: update the handle ptr in wait_for_idle")
> > Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> > Cc: Sunil Khatri <sunil.khatri at amd.com>
> > ---
> > drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c | 18 ++++++++++++++----
> > 1 file changed, 14 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
> > index 8f6f2f067641..347bccd92696 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
> > @@ -87,9 +87,14 @@ static void gmc_v7_0_init_golden_registers(struct amdgpu_device *adev)
> >
> > static void gmc_v7_0_mc_stop(struct amdgpu_device *adev)
> > {
> > + struct amdgpu_ip_block *ip_block;
> > u32 blackout;
> >
> > - gmc_v7_0_wait_for_idle((void *)adev);
> > + ip_block = amdgpu_device_ip_get_ip_block(adev, AMD_IP_BLOCK_TYPE_GMC);
> > + if (!ip_block)
> > + return;
> > +
> > + gmc_v7_0_wait_for_idle(ip_block);
> >
> > blackout = RREG32(mmMC_SHARED_BLACKOUT_CNTL);
> > if (REG_GET_FIELD(blackout, MC_SHARED_BLACKOUT_CNTL, BLACKOUT_MODE) != 1) {
> > @@ -251,9 +256,14 @@ static void gmc_v7_0_vram_gtt_location(struct amdgpu_device *adev,
> > */
> > static void gmc_v7_0_mc_program(struct amdgpu_device *adev)
> > {
> > + struct amdgpu_ip_block *ip_block;
> > u32 tmp;
> > int i, j;
> >
> > + ip_block = amdgpu_device_ip_get_ip_block(adev, AMD_IP_BLOCK_TYPE_GMC);
> > + if (!ip_block)
> > + return;
> > +
> > /* Initialize HDP */
> > for (i = 0, j = 0; i < 32; i++, j += 0x6) {
> > WREG32((0xb05 + j), 0x00000000);
>
> Seems simpler to make gmc_v7_0_mc_stop & gmc_v7_0_mc_program take ip_block instead of adev as well (and fix up the comment before gmc_v7_0_mc_program).
I thought about that, but this keeps it consistent with the other gmc
files and I'd like to keep the ip_block to the IP level functions.
Alex
>
>
> --
> Earthling Michel Dänzer \ GNOME / Xwayland / Mesa developer
> https://redhat.com \ Libre software enthusiast
More information about the amd-gfx
mailing list