static void nvc0_mfb_isr(struct drm_device *dev) { u32 units = nv_rd32(dev, 0x00017c); while (units) { u32 subp, unit = ffs(units) - 1; for (subp = 0; subp < 2; subp++) nvc0_mfb_subp_isr(dev, unit, subp); units &= ~(1 << unit); } <<<<<<< HEAD
static void nvc0_mfb_isr(struct drm_device *dev) { u32 units = nv_rd32(dev, 0x00017c); while (units) { u32 subp, unit = ffs(units) - 1; for (subp = 0; subp < 2; subp++) nvc0_mfb_subp_isr(dev, unit, subp); units &= ~(1 << unit); } /* we do something horribly wrong and upset PMFB a lot, so mask off * interrupts from it after the first one until it's fixed */ nv_mask(dev, 0x000640, 0x02000000, 0x00000000); }