]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/radeon: fix HDP flushing
authorGrigori Goronzy <greg@chown.ath.cx>
Thu, 2 Jul 2015 23:54:11 +0000 (01:54 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 3 Aug 2015 16:29:10 +0000 (09:29 -0700)
commit 54e03986133468e02cb01b76215e4d53a9cf6380 upstream.

This was regressed by commit 39e7f6f8, although I don't know of any
actual issues caused by it.

The storage domain is read without TTM locking now, but the lock
never helped to prevent any races.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Grigori Goronzy <greg@chown.ath.cx>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/radeon/radeon_gem.c

index ac3c1310b953182acb0db6db41add071fd88e737..e370cb4fd46767e6cd72d503f70d5857fdcbd1c1 100644 (file)
@@ -471,6 +471,7 @@ int radeon_gem_wait_idle_ioctl(struct drm_device *dev, void *data,
                r = ret;
 
        /* Flush HDP cache via MMIO if necessary */
+       cur_placement = ACCESS_ONCE(robj->tbo.mem.mem_type);
        if (rdev->asic->mmio_hdp_flush &&
            radeon_mem_type_to_domain(cur_placement) == RADEON_GEM_DOMAIN_VRAM)
                robj->rdev->asic->mmio_hdp_flush(rdev);