Am 06.03.2018 um 21:14 schrieb James Zhu: > When UVD is in VM mode, there is not uvd handle exchanged, > uvd.handles are always 0. So vcpu_bo always need save, > Otherwise amdgpu driver will fail during suspend/resume. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105021 > Signed-off-by: James Zhu <James.Zhu at amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c > index 9d037cb..61a31e5 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c > @@ -303,7 +303,8 @@ int amdgpu_uvd_suspend(struct amdgpu_device *adev) > if (atomic_read(&adev->uvd.handles[i])) > break; > > - if (i == adev->uvd.max_handles) > + /* only valid for physical mode */ > + if (i == adev->uvd.max_handles && adev->asic_type < CHIP_POLARIS10) Would be nice to completely skip the check on Polaris and newer. In other words: If (adev->asic_type < CHIP_POLARIS10) {    for (i= 0;.....    if (i== adev->uvd.max_handles)       return 0; } But that is purely nice to have, both patches are Reviewed-by: Christian König <christian.koenig at amd.com>. Regards, Christian. > return 0; > > size = amdgpu_bo_size(adev->uvd.vcpu_bo);