drm/nv04/disp: disable vblank interrupts when disabling display
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
695b95b810
commit
afada5e0bb
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue