On Wed, Oct 8, 2025 at 10:48 PM Victor Zhao <[email protected]> wrote:
>
> Add kiq hdp flush callbacks for gfx ips to support gpu hdp flush when no
> ring presents
>
> Signed-off-by: Victor Zhao <[email protected]>

This patch is:
Acked-by: Alex Deucher <[email protected]>

> ---
>  drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c  | 1 +
>  drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c  | 5 +++--
>  drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c  | 1 +
>  drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c   | 1 +
>  drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c   | 1 +
>  drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c | 1 +
>  6 files changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c 
> b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
> index 8841d7213de4..751732f3e883 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
> @@ -9951,6 +9951,7 @@ static const struct amdgpu_ring_funcs 
> gfx_v10_0_ring_funcs_kiq = {
>         .emit_wreg = gfx_v10_0_ring_emit_wreg,
>         .emit_reg_wait = gfx_v10_0_ring_emit_reg_wait,
>         .emit_reg_write_reg_wait = gfx_v10_0_ring_emit_reg_write_reg_wait,
> +       .emit_hdp_flush = gfx_v10_0_ring_emit_hdp_flush,
>  };
>
>  static void gfx_v10_0_set_ring_funcs(struct amdgpu_device *adev)
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c 
> b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
> index 66c47c466532..10d2219866f3 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
> @@ -2438,7 +2438,7 @@ static int gfx_v11_0_rlc_load_microcode(struct 
> amdgpu_device *adev)
>                         if (version_minor == 3)
>                                 gfx_v11_0_load_rlcp_rlcv_microcode(adev);
>                 }
> -
> +
>                 return 0;
>         }
>
> @@ -3886,7 +3886,7 @@ static int gfx_v11_0_cp_compute_load_microcode(struct 
> amdgpu_device *adev)
>         }
>
>         memcpy(fw, fw_data, fw_size);
> -
> +
>         amdgpu_bo_kunmap(adev->gfx.mec.mec_fw_obj);
>         amdgpu_bo_unreserve(adev->gfx.mec.mec_fw_obj);
>
> @@ -7320,6 +7320,7 @@ static const struct amdgpu_ring_funcs 
> gfx_v11_0_ring_funcs_kiq = {
>         .emit_wreg = gfx_v11_0_ring_emit_wreg,
>         .emit_reg_wait = gfx_v11_0_ring_emit_reg_wait,
>         .emit_reg_write_reg_wait = gfx_v11_0_ring_emit_reg_write_reg_wait,
> +       .emit_hdp_flush = gfx_v11_0_ring_emit_hdp_flush,
>  };
>
>  static void gfx_v11_0_set_ring_funcs(struct amdgpu_device *adev)
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c 
> b/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
> index 710ec9c34e43..e2bb8668150d 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
> @@ -5597,6 +5597,7 @@ static const struct amdgpu_ring_funcs 
> gfx_v12_0_ring_funcs_kiq = {
>         .emit_wreg = gfx_v12_0_ring_emit_wreg,
>         .emit_reg_wait = gfx_v12_0_ring_emit_reg_wait,
>         .emit_reg_write_reg_wait = gfx_v12_0_ring_emit_reg_write_reg_wait,
> +       .emit_hdp_flush = gfx_v12_0_ring_emit_hdp_flush,
>  };
>
>  static void gfx_v12_0_set_ring_funcs(struct amdgpu_device *adev)
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c 
> b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
> index 0856ff65288c..d3d0a4b0380c 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
> @@ -6939,6 +6939,7 @@ static const struct amdgpu_ring_funcs 
> gfx_v8_0_ring_funcs_kiq = {
>         .pad_ib = amdgpu_ring_generic_pad_ib,
>         .emit_rreg = gfx_v8_0_ring_emit_rreg,
>         .emit_wreg = gfx_v8_0_ring_emit_wreg,
> +       .emit_hdp_flush = gfx_v8_0_ring_emit_hdp_flush,
>  };
>
>  static void gfx_v8_0_set_ring_funcs(struct amdgpu_device *adev)
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c 
> b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
> index dd19a97436db..f1a2efc2a8d0 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
> @@ -7586,6 +7586,7 @@ static const struct amdgpu_ring_funcs 
> gfx_v9_0_ring_funcs_kiq = {
>         .emit_wreg = gfx_v9_0_ring_emit_wreg,
>         .emit_reg_wait = gfx_v9_0_ring_emit_reg_wait,
>         .emit_reg_write_reg_wait = gfx_v9_0_ring_emit_reg_write_reg_wait,
> +       .emit_hdp_flush = gfx_v9_0_ring_emit_hdp_flush,
>  };
>
>  static void gfx_v9_0_set_ring_funcs(struct amdgpu_device *adev)
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c 
> b/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c
> index fb5585ab52be..e0b50c690f8c 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c
> @@ -4792,6 +4792,7 @@ static const struct amdgpu_ring_funcs 
> gfx_v9_4_3_ring_funcs_kiq = {
>         .emit_wreg = gfx_v9_4_3_ring_emit_wreg,
>         .emit_reg_wait = gfx_v9_4_3_ring_emit_reg_wait,
>         .emit_reg_write_reg_wait = gfx_v9_4_3_ring_emit_reg_write_reg_wait,
> +       .emit_hdp_flush = gfx_v9_4_3_ring_emit_hdp_flush,
>  };
>
>  static void gfx_v9_4_3_set_ring_funcs(struct amdgpu_device *adev)
> --
> 2.25.1
>

Reply via email to