summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nv04_display.c
diff options
context:
space:
mode:
authorBen Skeggs2011-11-22 04:49:22 +0100
committerBen Skeggs2011-12-21 10:01:45 +0100
commit47e5d5cb83d4b41168f4afa1ca32843d4a126cc8 (patch)
tree4081ca722b80a39dffc0b64b4e23fc1abd6181a3 /drivers/gpu/drm/nouveau/nv04_display.c
parentdrm/nouveau/gpio: reimplement as nouveau_gpio.c, fixing a number of issues (diff)
downloadkernel-qcow2-linux-47e5d5cb83d4b41168f4afa1ca32843d4a126cc8.tar.gz
kernel-qcow2-linux-47e5d5cb83d4b41168f4afa1ca32843d4a126cc8.tar.xz
kernel-qcow2-linux-47e5d5cb83d4b41168f4afa1ca32843d4a126cc8.zip
drm/nv40/disp: implement support for hotplug irq
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nv04_display.c')
-rw-r--r--drivers/gpu/drm/nouveau/nv04_display.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nv04_display.c b/drivers/gpu/drm/nouveau/nv04_display.c
index 7047d37e8dab..15b748f0ea4b 100644
--- a/drivers/gpu/drm/nouveau/nv04_display.c
+++ b/drivers/gpu/drm/nouveau/nv04_display.c
@@ -31,6 +31,7 @@
#include "nouveau_hw.h"
#include "nouveau_encoder.h"
#include "nouveau_connector.h"
+#include "nouveau_gpio.h"
static void nv04_vblank_crtc0_isr(struct drm_device *);
static void nv04_vblank_crtc1_isr(struct drm_device *);
@@ -220,6 +221,7 @@ nv04_display_destroy(struct drm_device *dev)
int
nv04_display_init(struct drm_device *dev)
{
+ struct drm_connector *connector;
struct drm_encoder *encoder;
struct drm_crtc *crtc;
@@ -240,6 +242,12 @@ nv04_display_init(struct drm_device *dev)
list_for_each_entry(crtc, &dev->mode_config.crtc_list, head)
crtc->funcs->restore(crtc);
+ /* enable hotplug interrupts */
+ list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
+ struct nouveau_connector *conn = nouveau_connector(connector);
+ nouveau_gpio_irq(dev, 0, conn->hpd, 0xff, true);
+ }
+
return 0;
}