uint32_t size = AMDGPU_GPU_PAGE_ALIGN(adev->vcn.fw->size + 4);
        uint32_t offset;
 
+       if (amdgpu_sriov_vf(adev))
+               return;
+
        /* cache window 0: fw */
        if (adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) {
                WREG32_SOC15(UVD, 0, mmUVD_LMI_VCPU_CACHE_64BIT_BAR_LOW,
 {
        uint32_t data;
 
+       if (amdgpu_sriov_vf(adev))
+               return;
+
        /* UVD disable CGC */
        data = RREG32_SOC15(VCN, 0, mmUVD_CGC_CTRL);
        if (adev->cg_flags & AMD_CG_SUPPORT_VCN_MGCG)
 {
        uint32_t data = 0;
 
+       if (amdgpu_sriov_vf(adev))
+               return;
+
        /* enable UVD CGC */
        data = RREG32_SOC15(VCN, 0, mmUVD_CGC_CTRL);
        if (adev->cg_flags & AMD_CG_SUPPORT_VCN_MGCG)
        uint32_t data = 0;
        int ret;
 
+       if (amdgpu_sriov_vf(adev))
+               return;
+
        if (adev->pg_flags & AMD_PG_SUPPORT_VCN) {
                data = (1 << UVD_PGFSM_CONFIG__UVDM_PWR_CONFIG__SHIFT
                        | 1 << UVD_PGFSM_CONFIG__UVDU_PWR_CONFIG__SHIFT
        uint32_t data = 0;
        int ret;
 
+       if (amdgpu_sriov_vf(adev))
+               return;
+
        if (adev->pg_flags & AMD_PG_SUPPORT_VCN) {
                /* Before power off, this indicator has to be turned on */
                data = RREG32_SOC15(VCN, 0, mmUVD_POWER_STATUS);
        struct amdgpu_device *adev = (struct amdgpu_device *)handle;
        bool enable = (state == AMD_CG_STATE_GATE);
 
+       if (amdgpu_sriov_vf(adev))
+               return 0;
+
        if (enable) {
                /* wait for STATUS to clear */
                if (vcn_v2_0_is_idle(handle))
        int ret;
        struct amdgpu_device *adev = (struct amdgpu_device *)handle;
 
+       if (amdgpu_sriov_vf(adev)) {
+               adev->vcn.cur_state = AMD_PG_STATE_UNGATE;
+               return 0;
+       }
+
        if (state == adev->vcn.cur_state)
                return 0;