Beispiel #1
0
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);
}