diff options
author | rnoland <rnoland@FreeBSD.org> | 2009-02-28 02:37:55 +0000 |
---|---|---|
committer | rnoland <rnoland@FreeBSD.org> | 2009-02-28 02:37:55 +0000 |
commit | ddd5c68e843d2a001ea8e2dea8a1df60e8b9c96f (patch) | |
tree | e6ddfaf5a2ddb8d00739616a566b685c59b9fa61 /sys/dev/drm/mach64_drv.h | |
parent | e9bc5839af5067790590a780d1d396234ee550e9 (diff) | |
download | FreeBSD-src-ddd5c68e843d2a001ea8e2dea8a1df60e8b9c96f.zip FreeBSD-src-ddd5c68e843d2a001ea8e2dea8a1df60e8b9c96f.tar.gz |
Initialize the vblank structures at load time. Previously we did this
at irq install/uninstall time, but when we vt switch, we uninstall the
irq handler. When the irq handler is reinstalled, the modeset ioctl
happens first. The modeset ioctl is supposed to tell us that we can
disable vblank interrupts if there are no active consumers. This will
fail after a vt switch until another modeset ioctl is called via dpms
or xrandr. Leading to cases where either interrupts are on and can't
be disabled, or worse, no interrupts at all.
MFC after: 2 weeks
Diffstat (limited to 'sys/dev/drm/mach64_drv.h')
-rw-r--r-- | sys/dev/drm/mach64_drv.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/dev/drm/mach64_drv.h b/sys/dev/drm/mach64_drv.h index 9c85454..7d68c46 100644 --- a/sys/dev/drm/mach64_drv.h +++ b/sys/dev/drm/mach64_drv.h @@ -166,6 +166,7 @@ extern int mach64_dma_blit(struct drm_device *dev, void *data, extern int mach64_get_param(struct drm_device *dev, void *data, struct drm_file *file_priv); +extern int mach64_driver_load(struct drm_device * dev, unsigned long flags); extern u32 mach64_get_vblank_counter(struct drm_device *dev, int crtc); extern int mach64_enable_vblank(struct drm_device *dev, int crtc); extern void mach64_disable_vblank(struct drm_device *dev, int crtc); |