[PATCH] drm/amdkfd: add hqd_sdma_get_doorbell callbacks for gfx7/8

Kim, Jonathan Jonathan.Kim at amd.com
Thu Jun 26 01:35:22 UTC 2025


[Public]

> -----Original Message-----
> From: Deucher, Alexander <Alexander.Deucher at amd.com>
> Sent: Wednesday, June 25, 2025 6:23 PM
> To: amd-gfx at lists.freedesktop.org
> Cc: Deucher, Alexander <Alexander.Deucher at amd.com>; Kim, Jonathan
> <Jonathan.Kim at amd.com>; Johl Brown <johlbrown at gmail.com>
> Subject: [PATCH] drm/amdkfd: add hqd_sdma_get_doorbell callbacks for gfx7/8
>
> These were missed when support was added for other generations.
> The callbacks are called unconditionally so we need to make
> sure all generations have them.
>
> Fixes: bac38ca8c475 ("drm/amdkfd: implement per queue sdma reset for gfx
> 9.4+")
> Cc: Jonathan Kim <jonathan.kim at amd.com>
> Reported-by: Johl Brown <johlbrown at gmail.com>
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>

Reviewed-by: Jonathan Kim <jonathan.kim at amd.com>

> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c | 8 ++++++++
>  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c | 8 ++++++++
>  2 files changed, 16 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 ca4a6b82817f5..df77558e03ef2 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c
> @@ -561,6 +561,13 @@ static uint32_t read_vmid_from_vmfault_reg(struct
> amdgpu_device *adev)
>       return REG_GET_FIELD(status,
> VM_CONTEXT1_PROTECTION_FAULT_STATUS, VMID);
>  }
>
> +static uint32_t kgd_hqd_sdma_get_doorbell(struct amdgpu_device *adev,
> +                                       int engine, int queue)
> +
> +{
> +     return 0;
> +}
> +
>  const struct kfd2kgd_calls gfx_v7_kfd2kgd = {
>       .program_sh_mem_settings = kgd_program_sh_mem_settings,
>       .set_pasid_vmid_mapping = kgd_set_pasid_vmid_mapping,
> @@ -578,4 +585,5 @@ const struct kfd2kgd_calls gfx_v7_kfd2kgd = {
>       .set_scratch_backing_va = set_scratch_backing_va,
>       .set_vm_context_page_table_base = set_vm_context_page_table_base,
>       .read_vmid_from_vmfault_reg = read_vmid_from_vmfault_reg,
> +     .hqd_sdma_get_doorbell = kgd_hqd_sdma_get_doorbell,
>  };
> 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 0f3e2944edd7e..e68c0fa8d7513 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c
> @@ -582,6 +582,13 @@ static void set_vm_context_page_table_base(struct
> amdgpu_device *adev,
>                       lower_32_bits(page_table_base));
>  }
>
> +static uint32_t kgd_hqd_sdma_get_doorbell(struct amdgpu_device *adev,
> +                                       int engine, int queue)
> +
> +{
> +     return 0;
> +}
> +
>  const struct kfd2kgd_calls gfx_v8_kfd2kgd = {
>       .program_sh_mem_settings = kgd_program_sh_mem_settings,
>       .set_pasid_vmid_mapping = kgd_set_pasid_vmid_mapping,
> @@ -599,4 +606,5 @@ const struct kfd2kgd_calls gfx_v8_kfd2kgd = {
>                       get_atc_vmid_pasid_mapping_info,
>       .set_scratch_backing_va = set_scratch_backing_va,
>       .set_vm_context_page_table_base = set_vm_context_page_table_base,
> +     .hqd_sdma_get_doorbell = kgd_hqd_sdma_get_doorbell,
>  };
> --
> 2.50.0



More information about the amd-gfx mailing list