[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