|
@@ -505,8 +505,14 @@ static int vce_v4_0_hw_fini(void *handle)
|
|
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
|
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
|
int i;
|
|
int i;
|
|
|
|
|
|
- /* vce_v4_0_wait_for_idle(handle); */
|
|
|
|
- vce_v4_0_stop(adev);
|
|
|
|
|
|
+ if (!amdgpu_sriov_vf(adev)) {
|
|
|
|
+ /* vce_v4_0_wait_for_idle(handle); */
|
|
|
|
+ vce_v4_0_stop(adev);
|
|
|
|
+ } else {
|
|
|
|
+ /* full access mode, so don't touch any VCE register */
|
|
|
|
+ DRM_DEBUG("For SRIOV client, shouldn't do anything.\n");
|
|
|
|
+ }
|
|
|
|
+
|
|
for (i = 0; i < adev->vce.num_rings; i++)
|
|
for (i = 0; i < adev->vce.num_rings; i++)
|
|
adev->vce.ring[i].ready = false;
|
|
adev->vce.ring[i].ready = false;
|
|
|
|
|