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
2 changed files with 11 additions and 5 deletions
|
@ -1018,11 +1018,6 @@ nv_load_state_ext(struct drm_device *dev, int head,
|
||||||
}
|
}
|
||||||
|
|
||||||
NVWriteCRTC(dev, head, NV_PCRTC_START, regp->fb_start);
|
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
|
static void
|
||||||
|
|
|
@ -98,6 +98,13 @@ nv04_display_early_init(struct drm_device *dev)
|
||||||
NVSetOwner(dev, 0);
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -246,6 +253,10 @@ nv04_display_init(struct drm_device *dev)
|
||||||
void
|
void
|
||||||
nv04_display_fini(struct drm_device *dev)
|
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
|
static void
|
||||||
|
|
Loading…
Add table
Reference in a new issue