diff options
Diffstat (limited to 'shared-core')
-rw-r--r-- | shared-core/nouveau_irq.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/shared-core/nouveau_irq.c b/shared-core/nouveau_irq.c index d002f642..2a3d8a0b 100644 --- a/shared-core/nouveau_irq.c +++ b/shared-core/nouveau_irq.c @@ -475,8 +475,12 @@ nv50_pgraph_irq_handler(struct drm_device *dev) NV_WRITE(NV03_PGRAPH_INTR, status); } - if ((NV_READ(0x400500) & (1 << 16)) == 0) - NV_WRITE(0x400500, NV_READ(0x400500) | (1 << 16)); + { + const int isb = (1 << 16) | (1 << 0); + + if ((NV_READ(0x400500) & isb) != isb) + NV_WRITE(0x400500, NV_READ(0x400500) | isb); + } NV_WRITE(NV03_PMC_INTR_0, NV_PMC_INTR_0_PGRAPH_PENDING); } |