nouveau: restore original NV_PFIFO_CACHES_REASSIGN value in fifo handler

Doesn't fix any issue I've seen, but is a potential issue if a FIFO IRQ
occurs during channel creation/takedown.
This commit is contained in:
Ben Skeggs 2008-05-02 00:52:21 +10:00
parent bfbe4ade32
commit 5c4c778c0d

View file

@ -71,8 +71,9 @@ nouveau_fifo_irq_handler(struct drm_device *dev)
{
struct drm_nouveau_private *dev_priv = dev->dev_private;
struct nouveau_engine *engine = &dev_priv->Engine;
uint32_t status;
uint32_t status, reassign;
reassign = NV_READ(NV03_PFIFO_CACHES) & 1;
while ((status = NV_READ(NV03_PFIFO_INTR_0))) {
uint32_t chid, get;
@ -121,7 +122,7 @@ nouveau_fifo_irq_handler(struct drm_device *dev)
NV_WRITE(NV03_PFIFO_INTR_0, status);
}
NV_WRITE(NV03_PFIFO_CACHES, 1);
NV_WRITE(NV03_PFIFO_CACHES, reassign);
}
NV_WRITE(NV03_PMC_INTR_0, NV_PMC_INTR_0_PFIFO_PENDING);