diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2014-09-08 13:16:39 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2014-09-08 13:16:39 -0400 |
commit | b6c2b4faf90230ef9cf1a81f36cbccda4a606c59 (patch) | |
tree | f13e5c0aa2b25e3232d8855a02b1b718b14305f5 | |
parent | 68c78bd67bd6f868474ac75d98ea7d6ebf28d2e7 (diff) | |
download | op-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.c | 4 |
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); |