Re: [PATCH] drm/amdgpu: disable gfxoff with the compute workload on gfx12

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jan 9, 2025 at 3:58 AM Kenneth Feng <kenneth.feng@xxxxxxx> wrote:
>
> Disable gfxoff with the compute workload on gfx12. This is a
> workaround for the opencl test failure.
>
> Signed-off-by: Kenneth Feng <kenneth.feng@xxxxxxx>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
> index 2e5732dfd425..e4cf25c47509 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
> @@ -715,8 +715,10 @@ int amdgpu_amdkfd_submit_ib(struct amdgpu_device *adev,
>  void amdgpu_amdkfd_set_compute_idle(struct amdgpu_device *adev, bool idle)
>  {
>         enum amd_powergating_state state = idle ? AMD_PG_STATE_GATE : AMD_PG_STATE_UNGATE;
> -       if (IP_VERSION_MAJ(amdgpu_ip_version(adev, GC_HWIP, 0)) == 11 &&
> -           ((adev->mes.kiq_version & AMDGPU_MES_VERSION_MASK) <= 64)) {
> +       if ((IP_VERSION_MAJ(amdgpu_ip_version(adev, GC_HWIP, 0)) == 11 &&
> +           ((adev->mes.kiq_version & AMDGPU_MES_VERSION_MASK) <= 64)) ||
> +               (IP_VERSION_MAJ(amdgpu_ip_version(adev, GC_HWIP, 0)) == 12 &&
> +           ((adev->mes.kiq_version & AMDGPU_MES_VERSION_MASK) > 0x6C))) {

If this is just a specific FW version that is problematic, we should
just check the particular version.  If this is a general problem, just
check the IP version until the issue is fixed and then we can update
the check for a specific fw version, etc.

Alex

>                 pr_debug("GFXOFF is %s\n", idle ? "enabled" : "disabled");
>                 amdgpu_gfx_off_ctrl(adev, idle);
>         } else if ((IP_VERSION_MAJ(amdgpu_ip_version(adev, GC_HWIP, 0)) == 9) &&
> --
> 2.34.1
>




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux