[PATCH] drm/amdgpu: add ta DTM/HDCP print in amdgpu_firmware_info for apu

Huang Rui ray.huang at amd.com
Wed Sep 9 05:05:07 UTC 2020


On Tue, Sep 08, 2020 at 04:31:11PM +0800, Zhu, Changfeng wrote:
> From: changzhu <Changfeng.Zhu at amd.com>
> 
> From: Changfeng <Changfeng.Zhu at amd.com>
> 
> It needs to add ta DTM/HDCP print to get HDCP/DTM version info when cat
> amdgpu_firmware_info
> 
> Change-Id: I05f20d6868ce2cac06a8496890b766dbb61de671
> Signed-off-by: Changfeng <Changfeng.Zhu at amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 27 ++++++++++++++++++++-----
>  1 file changed, 22 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> index 4f6b167fef26..3a6a881a4105 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> @@ -282,14 +282,20 @@ static int amdgpu_firmware_info(struct drm_amdgpu_info_firmware *fw_info,
>  		fw_info->feature = 0;
>  		break;
>  	case AMDGPU_INFO_FW_TA:
> -		if (query_fw->index > 1)
> +		if (query_fw->index > 3)
>  			return -EINVAL;
>  		if (query_fw->index == 0) {
>  			fw_info->ver = adev->psp.ta_fw_version;
>  			fw_info->feature = adev->psp.ta_xgmi_ucode_version;
> -		} else {
> +		} else if (query_fw->index == 1) {
>  			fw_info->ver = adev->psp.ta_fw_version;
>  			fw_info->feature = adev->psp.ta_ras_ucode_version;
> +		} else if (query_fw->index == 2) {
> +			fw_info->ver = adev->psp.ta_fw_version;
> +			fw_info->feature = adev->psp.ta_hdcp_ucode_version;
> +		} else {
> +			fw_info->ver = adev->psp.ta_fw_version;
> +			fw_info->feature = adev->psp.ta_dtm_ucode_version;

Can we use switch-case here?

>  		}
>  		break;
>  	case AMDGPU_INFO_FW_SDMA:
> @@ -1383,13 +1389,24 @@ static int amdgpu_debugfs_firmware_info(struct seq_file *m, void *data)
>  		   fw_info.feature, fw_info.ver);
>  
>  	query_fw.fw_type = AMDGPU_INFO_FW_TA;
> -	for (i = 0; i < 2; i++) {
> +	for (i = 0; i < 4; i++) {
>  		query_fw.index = i;
>  		ret = amdgpu_firmware_info(&fw_info, &query_fw, adev);
>  		if (ret)
>  			continue;
> -		seq_printf(m, "TA %s feature version: %u, firmware version: 0x%08x\n",
> -				i ? "RAS" : "XGMI", fw_info.feature, fw_info.ver);
> +		if (query_fw.index == 0) {
> +			seq_printf(m, "TA %s feature version: 0x%08x, firmware version: 0x%08x\n",
> +					"RAS", fw_info.feature, fw_info.ver);
> +		} else if (query_fw.index == 1) {
> +			seq_printf(m, "TA %s feature version: 0x%08x, firmware version: 0x%08x\n",
> +					"XGMI", fw_info.feature, fw_info.ver);
> +		} else if (query_fw.index == 2) {
> +			seq_printf(m, "TA %s feature version: 0x%08x, firmware version: 0x%08x\n",
> +					"HDCP", fw_info.feature, fw_info.ver);
> +		} else {
> +			seq_printf(m, "TA %s feature version: 0x%08x, firmware version: 0x%08x\n",
> +					"DTM", fw_info.feature, fw_info.ver);
> +		}

The same comment above. Switch-case is more straightforward.

Thanks,
Ray

>  	}
>  
>  	/* SMC */
> -- 
> 2.17.1
> 


More information about the amd-gfx mailing list