[PATCH 2/2] drm/amdgpu:Always save uvd vcpu_bo in VM Mode
Christian König
ckoenig.leichtzumerken at gmail.com
Wed Mar 7 09:11:34 UTC 2018
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);
More information about the amd-gfx
mailing list