diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2011-11-21 22:49:22 -0500 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2011-12-21 04:01:45 -0500 |
commit | 47e5d5cb83d4b41168f4afa1ca32843d4a126cc8 (patch) | |
tree | 4081ca722b80a39dffc0b64b4e23fc1abd6181a3 /drivers/gpu/drm/nouveau/nv04_display.c | |
parent | a0b25635515ef5049f93b032a1e37f18b16e0f6f (diff) |
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.c | 8 |
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 @@ | |||
31 | #include "nouveau_hw.h" | 31 | #include "nouveau_hw.h" |
32 | #include "nouveau_encoder.h" | 32 | #include "nouveau_encoder.h" |
33 | #include "nouveau_connector.h" | 33 | #include "nouveau_connector.h" |
34 | #include "nouveau_gpio.h" | ||
34 | 35 | ||
35 | static void nv04_vblank_crtc0_isr(struct drm_device *); | 36 | static void nv04_vblank_crtc0_isr(struct drm_device *); |
36 | static void nv04_vblank_crtc1_isr(struct drm_device *); | 37 | static void nv04_vblank_crtc1_isr(struct drm_device *); |
@@ -220,6 +221,7 @@ nv04_display_destroy(struct drm_device *dev) | |||
220 | int | 221 | int |
221 | nv04_display_init(struct drm_device *dev) | 222 | nv04_display_init(struct drm_device *dev) |
222 | { | 223 | { |
224 | struct drm_connector *connector; | ||
223 | struct drm_encoder *encoder; | 225 | struct drm_encoder *encoder; |
224 | struct drm_crtc *crtc; | 226 | struct drm_crtc *crtc; |
225 | 227 | ||
@@ -240,6 +242,12 @@ nv04_display_init(struct drm_device *dev) | |||
240 | list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) | 242 | list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) |
241 | crtc->funcs->restore(crtc); | 243 | crtc->funcs->restore(crtc); |
242 | 244 | ||
245 | /* enable hotplug interrupts */ | ||
246 | list_for_each_entry(connector, &dev->mode_config.connector_list, head) { | ||
247 | struct nouveau_connector *conn = nouveau_connector(connector); | ||
248 | nouveau_gpio_irq(dev, 0, conn->hpd, 0xff, true); | ||
249 | } | ||
250 | |||
243 | return 0; | 251 | return 0; |
244 | } | 252 | } |
245 | 253 | ||