summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2014-09-08 13:16:39 -0400
committerAlex Deucher <alexander.deucher@amd.com>2014-09-08 13:16:39 -0400
commitb6c2b4faf90230ef9cf1a81f36cbccda4a606c59 (patch)
treef13e5c0aa2b25e3232d8855a02b1b718b14305f5
parent68c78bd67bd6f868474ac75d98ea7d6ebf28d2e7 (diff)
downloadop-kernel-dev-b6c2b4faf90230ef9cf1a81f36cbccda4a606c59.zip
op-kernel-dev-b6c2b4faf90230ef9cf1a81f36cbccda4a606c59.tar.gz
drm/radeon: only use me/pfp sync on evergreen+
The packet seems to cause hangs on some 7xx asics. bug: https://bugs.freedesktop.org/show_bug.cgi?id=83616 Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/radeon/r600.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c
index e616eb5..3cfb500 100644
--- a/drivers/gpu/drm/radeon/r600.c
+++ b/drivers/gpu/drm/radeon/r600.c
@@ -2769,8 +2769,8 @@ bool r600_semaphore_ring_emit(struct radeon_device *rdev,
radeon_ring_write(ring, lower_32_bits(addr));
radeon_ring_write(ring, (upper_32_bits(addr) & 0xff) | sel);
- /* PFP_SYNC_ME packet only exists on 7xx+ */
- if (emit_wait && (rdev->family >= CHIP_RV770)) {
+ /* PFP_SYNC_ME packet only exists on 7xx+, only enable it on eg+ */
+ if (emit_wait && (rdev->family >= CHIP_CEDAR)) {
/* Prevent the PFP from running ahead of the semaphore wait */
radeon_ring_write(ring, PACKET3(PACKET3_PFP_SYNC_ME, 0));
radeon_ring_write(ring, 0x0);
OpenPOWER on IntegriCloud