[PATCH] drm/amdgpu: Enable SDMA utilization for Arcturus

Felix Kuehling felix.kuehling at amd.com
Fri Sep 11 17:57:41 UTC 2020


Am 2020-09-11 um 12:27 p.m. schrieb Mukul Joshi:
> SDMA utilization calculations are enabled/disabled by
> writing to SDMAx_PUB_DUMMY_REG2 register. Currently,
> enable this only for Arcturus.
>
> Signed-off-by: Mukul Joshi <mukul.joshi at amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
> index 856c50386c86..c764c27ba86d 100644
> --- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
> @@ -1063,6 +1063,16 @@ static void sdma_v4_0_ctx_switch_enable(struct amdgpu_device *adev, bool enable)
>  			WREG32_SDMA(i, mmSDMA0_PHASE2_QUANTUM, phase_quantum);
>  		}
>  		WREG32_SDMA(i, mmSDMA0_CNTL, f32_cntl);
> +
> +		/*
> +		 * Enable SDMA utilization. Its only supported on
> +		 * Arcturus for the moment and firmware version 14
> +		 * and above.
> +		 */
> +		if ((adev->asic_type == CHIP_ARCTURUS) &&
> +			(adev->sdma.instance[i].fw_version > 13)) {

There are some redundant parentheses in the condition. The curly braces
are not needed for a single statement inside the "if". Also, write >=
14, that correlates better with the statement in the comment:

	if (adev->asic_type == CHIP_ARCTURUS &&
	    adev->sdma.instance[i].fw_version >= 14)
		WREG32_SDMA(i, mmSDMA0_PUB_DUMMY_REG2, enable);

If this feature is only available on Arcturus, we should make the
creation of the sysfs entries conditional as well. You can do that in a
follow-up change.

Regards,
  Felix

> +			WREG32_SDMA(i, mmSDMA0_PUB_DUMMY_REG2, enable);
> +		}
>  	}
>  
>  }


More information about the amd-gfx mailing list