diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2012-01-06 09:38:15 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2012-01-09 12:10:09 +0000 |
commit | 67e915e49a12ee08c22cb1db746bafd909988f85 (patch) | |
tree | 6786118f5a2930e675e66a27e3cdc1a12c54b55a /drivers/gpu/drm/radeon/radeon_gart.c | |
parent | cc1f71942944890c7e05fc55dc4427c94b63d4f1 (diff) |
drm/radeon/kms: check if vm is supported in VA ioctl
Add a VM manager enabled field and use it to check if
vm is enabled.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: jglisse@redhat.com
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_gart.c')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_gart.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_gart.c b/drivers/gpu/drm/radeon/radeon_gart.c index 3ef58cab18c..8597d2c016e 100644 --- a/drivers/gpu/drm/radeon/radeon_gart.c +++ b/drivers/gpu/drm/radeon/radeon_gart.c @@ -286,6 +286,8 @@ int radeon_vm_manager_init(struct radeon_device *rdev) { int r; + rdev->vm_manager.enabled = false; + /* mark first vm as always in use, it's the system one */ r = radeon_sa_bo_manager_init(rdev, &rdev->vm_manager.sa_manager, rdev->vm_manager.max_pfn * 8, @@ -295,7 +297,12 @@ int radeon_vm_manager_init(struct radeon_device *rdev) (rdev->vm_manager.max_pfn * 8) >> 10); return r; } - return rdev->vm_manager.funcs->init(rdev); + + r = rdev->vm_manager.funcs->init(rdev); + if (r == 0) + rdev->vm_manager.enabled = true; + + return r; } /* cs mutex must be lock */ @@ -334,6 +341,7 @@ void radeon_vm_manager_fini(struct radeon_device *rdev) radeon_vm_manager_suspend(rdev); rdev->vm_manager.funcs->fini(rdev); radeon_sa_bo_manager_fini(rdev, &rdev->vm_manager.sa_manager); + rdev->vm_manager.enabled = false; } int radeon_vm_manager_start(struct radeon_device *rdev) |