[Bug 90741] Radeon: System pauses on TAHITI
bugzilla-daemon at bugzilla.kernel.org
bugzilla-daemon at bugzilla.kernel.org
Mon Mar 2 02:19:41 PST 2015
https://bugzilla.kernel.org/show_bug.cgi?id=90741
--- Comment #50 from Maarten Lankhorst <bugs at mblankhorst.nl> ---
Ok never mind that approach then..
in radeon_fence.c, add a
WARN_ON((int)atomic_read(&rdev->irq.ring_int[fence->ring]) <= 0); after the
sw_irq_get, it should never fire.
in si.c you have a few lines like this:
if (atomic_read(&rdev->irq.ring_int[RADEON_RING_TYPE_GFX_INDEX])) {
DRM_DEBUG("si_irq_set: sw int gfx\n");
cp_int_cntl |= TIME_STAMP_INT_ENABLE;
}
if (atomic_read(&rdev->irq.ring_int[CAYMAN_RING_TYPE_CP1_INDEX])) {
DRM_DEBUG("si_irq_set: sw int cp1\n");
cp_int_cntl1 |= TIME_STAMP_INT_ENABLE;
}
if (atomic_read(&rdev->irq.ring_int[CAYMAN_RING_TYPE_CP2_INDEX])) {
DRM_DEBUG("si_irq_set: sw int cp2\n");
cp_int_cntl2 |= TIME_STAMP_INT_ENABLE;
}
Can you first change all of the conditions to atomic_read(..) || 1 so it always
sets the irqs? That should fix the hangs at some cpu overhead..
If that works and you no longer get hangs, can you remove the || 1 for
RADEON_RING_TYPE_GFX_INDEX, see if the hangs are still gone?
--
You are receiving this mail because:
You are watching the assignee of the bug.
More information about the dri-devel
mailing list