Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit afada5e0 authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nv04/disp: disable vblank interrupts when disabling display



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 695b95b8
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -1018,11 +1018,6 @@ nv_load_state_ext(struct drm_device *dev, int head,
	}

	NVWriteCRTC(dev, head, NV_PCRTC_START, regp->fb_start);

	/* Enable vblank interrupts. */
	NVWriteCRTC(dev, head, NV_PCRTC_INTR_EN_0,
		    (dev->vblank_enabled[head] ? 1 : 0));
	NVWriteCRTC(dev, head, NV_PCRTC_INTR_0, NV_PCRTC_INTR_0_VBLANK);
}

static void
+11 −0
Original line number Diff line number Diff line
@@ -98,6 +98,13 @@ nv04_display_early_init(struct drm_device *dev)
		NVSetOwner(dev, 0);
	}

	/* ensure vblank interrupts are off, they can't be enabled until
	 * drm_vblank has been initialised
	 */
	NVWriteCRTC(dev, 0, NV_PCRTC_INTR_EN_0, 0);
	if (nv_two_heads(dev))
		NVWriteCRTC(dev, 1, NV_PCRTC_INTR_EN_0, 0);

	return 0;
}

@@ -246,6 +253,10 @@ nv04_display_init(struct drm_device *dev)
void
nv04_display_fini(struct drm_device *dev)
{
	/* disable vblank interrupts */
	NVWriteCRTC(dev, 0, NV_PCRTC_INTR_EN_0, 0);
	if (nv_two_heads(dev))
		NVWriteCRTC(dev, 1, NV_PCRTC_INTR_EN_0, 0);
}

static void