diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 50 | 
1 files changed, 49 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c index 1369c25448dc..fe23e09eec98 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c @@ -247,6 +247,14 @@ static int amdgpu_firmware_info(struct drm_amdgpu_info_firmware *fw_info,  		fw_info->ver = adev->gfx.rlc_srls_fw_version;  		fw_info->feature = adev->gfx.rlc_srls_feature_version;  		break; +	case AMDGPU_INFO_FW_GFX_RLCP: +		fw_info->ver = adev->gfx.rlcp_ucode_version; +		fw_info->feature = adev->gfx.rlcp_ucode_feature_version; +		break; +	case AMDGPU_INFO_FW_GFX_RLCV: +		fw_info->ver = adev->gfx.rlcv_ucode_version; +		fw_info->feature = adev->gfx.rlcv_ucode_feature_version; +		break;  	case AMDGPU_INFO_FW_GFX_MEC:  		if (query_fw->index == 0) {  			fw_info->ver = adev->gfx.mec_fw_version; @@ -328,6 +336,14 @@ static int amdgpu_firmware_info(struct drm_amdgpu_info_firmware *fw_info,  		fw_info->ver = adev->psp.cap_fw_version;  		fw_info->feature = adev->psp.cap_feature_version;  		break; +	case AMDGPU_INFO_FW_MES_KIQ: +		fw_info->ver = adev->mes.ucode_fw_version[0]; +		fw_info->feature = 0; +		break; +	case AMDGPU_INFO_FW_MES: +		fw_info->ver = adev->mes.ucode_fw_version[1]; +		fw_info->feature = 0; +		break;  	default:  		return -EINVAL;  	} @@ -1160,7 +1176,7 @@ int amdgpu_driver_open_kms(struct drm_device *dev, struct drm_file *file_priv)  	}  	mutex_init(&fpriv->bo_list_lock); -	idr_init(&fpriv->bo_list_handles); +	idr_init_base(&fpriv->bo_list_handles, 1);  	amdgpu_ctx_mgr_init(&fpriv->ctx_mgr, adev); @@ -1469,6 +1485,22 @@ static int amdgpu_debugfs_firmware_info_show(struct seq_file *m, void *unused)  	seq_printf(m, "RLC SRLS feature version: %u, firmware version: 0x%08x\n",  		   fw_info.feature, fw_info.ver); +	/* RLCP */ +	query_fw.fw_type = AMDGPU_INFO_FW_GFX_RLCP; +	ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); +	if (ret) +		return ret; +	seq_printf(m, "RLCP feature version: %u, firmware version: 0x%08x\n", +		   fw_info.feature, fw_info.ver); + +	/* RLCV */ +        query_fw.fw_type = AMDGPU_INFO_FW_GFX_RLCV; +	ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); +	if (ret) +		return ret; +	seq_printf(m, "RLCV feature version: %u, firmware version: 0x%08x\n", +		   fw_info.feature, fw_info.ver); +  	/* MEC */  	query_fw.fw_type = AMDGPU_INFO_FW_GFX_MEC;  	query_fw.index = 0; @@ -1581,6 +1613,22 @@ static int amdgpu_debugfs_firmware_info_show(struct seq_file *m, void *unused)  				fw_info.feature, fw_info.ver);  	} +	/* MES_KIQ */ +	query_fw.fw_type = AMDGPU_INFO_FW_MES_KIQ; +	ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); +	if (ret) +		return ret; +	seq_printf(m, "MES_KIQ feature version: %u, firmware version: 0x%08x\n", +		   fw_info.feature, fw_info.ver); + +	/* MES */ +	query_fw.fw_type = AMDGPU_INFO_FW_MES; +	ret = amdgpu_firmware_info(&fw_info, &query_fw, adev); +	if (ret) +		return ret; +	seq_printf(m, "MES feature version: %u, firmware version: 0x%08x\n", +		   fw_info.feature, fw_info.ver); +  	seq_printf(m, "VBIOS version: %s\n", ctx->vbios_version);  	return 0;  |