On Wed, Mar 22, 2023 at 4:48 AM Christian König <ckoenig.leichtzumerken@xxxxxxxxx> wrote: > > Am 21.03.23 um 20:39 schrieb Alex Deucher: > > It varies by generation and we need to know the size > > to expose this via debugfs. > > I suspect we can't just use the BO size for this? We could, but it may be larger than the actual MQD. Maybe that's not a big deal? Alex > > If yes the series is Reviewed-by: Christian König <christian.koenig@xxxxxxx> > > > > > Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> > > --- > > drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c | 2 ++ > > drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 1 + > > 2 files changed, 3 insertions(+) > > > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c > > index c50d59855011..5435f41a3b7f 100644 > > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c > > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c > > @@ -404,6 +404,7 @@ int amdgpu_gfx_mqd_sw_init(struct amdgpu_device *adev, > > return r; > > } > > > > + ring->mqd_size = mqd_size; > > /* prepare MQD backup */ > > adev->gfx.me.mqd_backup[i] = kmalloc(mqd_size, GFP_KERNEL); > > if (!adev->gfx.me.mqd_backup[i]) > > @@ -424,6 +425,7 @@ int amdgpu_gfx_mqd_sw_init(struct amdgpu_device *adev, > > return r; > > } > > > > + ring->mqd_size = mqd_size; > > /* prepare MQD backup */ > > adev->gfx.mec.mqd_backup[i] = kmalloc(mqd_size, GFP_KERNEL); > > if (!adev->gfx.mec.mqd_backup[i]) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h > > index 7942cb62e52c..deb9f7bead02 100644 > > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h > > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h > > @@ -257,6 +257,7 @@ struct amdgpu_ring { > > struct amdgpu_bo *mqd_obj; > > uint64_t mqd_gpu_addr; > > void *mqd_ptr; > > + unsigned mqd_size; > > uint64_t eop_gpu_addr; > > u32 doorbell_index; > > bool use_doorbell; >