Merge tag 'defconfig-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux-2.6-microblaze.git] / drivers / gpu / drm / amd / amdgpu / amdgpu_kms.c
index 96ef3f1..7e45640 100644 (file)
@@ -341,27 +341,27 @@ static int amdgpu_firmware_info(struct drm_amdgpu_info_firmware *fw_info,
                switch (query_fw->index) {
                case TA_FW_TYPE_PSP_XGMI:
                        fw_info->ver = adev->psp.ta_fw_version;
-                       fw_info->feature = adev->psp.ta_xgmi_ucode_version;
+                       fw_info->feature = adev->psp.xgmi.feature_version;
                        break;
                case TA_FW_TYPE_PSP_RAS:
                        fw_info->ver = adev->psp.ta_fw_version;
-                       fw_info->feature = adev->psp.ta_ras_ucode_version;
+                       fw_info->feature = adev->psp.ras.feature_version;
                        break;
                case TA_FW_TYPE_PSP_HDCP:
                        fw_info->ver = adev->psp.ta_fw_version;
-                       fw_info->feature = adev->psp.ta_hdcp_ucode_version;
+                       fw_info->feature = adev->psp.hdcp.feature_version;
                        break;
                case TA_FW_TYPE_PSP_DTM:
                        fw_info->ver = adev->psp.ta_fw_version;
-                       fw_info->feature = adev->psp.ta_dtm_ucode_version;
+                       fw_info->feature = adev->psp.dtm.feature_version;
                        break;
                case TA_FW_TYPE_PSP_RAP:
                        fw_info->ver = adev->psp.ta_fw_version;
-                       fw_info->feature = adev->psp.ta_rap_ucode_version;
+                       fw_info->feature = adev->psp.rap.feature_version;
                        break;
                case TA_FW_TYPE_PSP_SECUREDISPLAY:
                        fw_info->ver = adev->psp.ta_fw_version;
-                       fw_info->feature = adev->psp.ta_securedisplay_ucode_version;
+                       fw_info->feature = adev->psp.securedisplay.feature_version;
                        break;
                default:
                        return -EINVAL;
@@ -374,12 +374,12 @@ static int amdgpu_firmware_info(struct drm_amdgpu_info_firmware *fw_info,
                fw_info->feature = adev->sdma.instance[query_fw->index].feature_version;
                break;
        case AMDGPU_INFO_FW_SOS:
-               fw_info->ver = adev->psp.sos_fw_version;
-               fw_info->feature = adev->psp.sos_feature_version;
+               fw_info->ver = adev->psp.sos.fw_version;
+               fw_info->feature = adev->psp.sos.feature_version;
                break;
        case AMDGPU_INFO_FW_ASD:
-               fw_info->ver = adev->psp.asd_fw_version;
-               fw_info->feature = adev->psp.asd_feature_version;
+               fw_info->ver = adev->psp.asd.fw_version;
+               fw_info->feature = adev->psp.asd.feature_version;
                break;
        case AMDGPU_INFO_FW_DMCU:
                fw_info->ver = adev->dm.dmcu_fw_version;
@@ -390,8 +390,8 @@ static int amdgpu_firmware_info(struct drm_amdgpu_info_firmware *fw_info,
                fw_info->feature = 0;
                break;
        case AMDGPU_INFO_FW_TOC:
-               fw_info->ver = adev->psp.toc_fw_version;
-               fw_info->feature = adev->psp.toc_feature_version;
+               fw_info->ver = adev->psp.toc.fw_version;
+               fw_info->feature = adev->psp.toc.feature_version;
                break;
        default:
                return -EINVAL;
@@ -1179,10 +1179,14 @@ int amdgpu_driver_open_kms(struct drm_device *dev, struct drm_file *file_priv)
                pasid = 0;
        }
 
-       r = amdgpu_vm_init(adev, &fpriv->vm, pasid);
+       r = amdgpu_vm_init(adev, &fpriv->vm);
        if (r)
                goto error_pasid;
 
+       r = amdgpu_vm_set_pasid(adev, &fpriv->vm, pasid);
+       if (r)
+               goto error_vm;
+
        fpriv->prt_va = amdgpu_vm_bo_add(adev, &fpriv->vm, NULL);
        if (!fpriv->prt_va) {
                r = -ENOMEM;
@@ -1210,8 +1214,10 @@ error_vm:
        amdgpu_vm_fini(adev, &fpriv->vm);
 
 error_pasid:
-       if (pasid)
+       if (pasid) {
                amdgpu_pasid_free(pasid);
+               amdgpu_vm_set_pasid(adev, &fpriv->vm, 0);
+       }
 
        kfree(fpriv);