winsys/radeon: Unmap GPU VM address range when destroying BO
authorMichel Dänzer <michel.daenzer@amd.com>
Thu, 21 May 2015 01:49:05 +0000 (10:49 +0900)
committerMichel Dänzer <michel@daenzer.net>
Wed, 24 Jun 2015 06:11:55 +0000 (15:11 +0900)
commit7796e8889a9a2cc1b454dc32d8da3d756404339a
tree652d14eda2f6c464f412f51cb37ed45015a6b079
parent3fd4c80b32e3080d761e176d129a1e46c618584a
winsys/radeon: Unmap GPU VM address range when destroying BO

But only when doing so is safe according to the
RADEON_INFO_VA_UNMAP_WORKING kernel query.

This avoids kernel GPU VM address range conflicts when the BO has other
references than the GEM handle being closed, e.g. when the BO is shared.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90537
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90873

Cc: "10.5 10.6" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Christian König <christian.koenig@amd.com>
src/gallium/winsys/radeon/drm/radeon_drm_bo.c
src/gallium/winsys/radeon/drm/radeon_drm_winsys.c
src/gallium/winsys/radeon/drm/radeon_drm_winsys.h