diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2013-02-02 21:56:16 -0500 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2013-02-20 01:00:50 -0500 |
commit | 4f47643dbb4c345c5beebe53588682a7ff2c872a (patch) | |
tree | 824b98893e562bedab63d6987c1d248332b45f3f /drivers/gpu/drm/nouveau/nouveau_display.c | |
parent | 0f0800661a125ddb038462570c869fe6f8ab5737 (diff) |
drm/nouveau/gpio: use event interfaces for interrupt signalling
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_display.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_display.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c index a698e79f99d9..78fc5aa5f5dc 100644 --- a/drivers/gpu/drm/nouveau/nouveau_display.c +++ b/drivers/gpu/drm/nouveau/nouveau_display.c | |||
@@ -233,8 +233,10 @@ nouveau_display_init(struct drm_device *dev) | |||
233 | /* enable hotplug interrupts */ | 233 | /* enable hotplug interrupts */ |
234 | list_for_each_entry(connector, &dev->mode_config.connector_list, head) { | 234 | list_for_each_entry(connector, &dev->mode_config.connector_list, head) { |
235 | struct nouveau_connector *conn = nouveau_connector(connector); | 235 | struct nouveau_connector *conn = nouveau_connector(connector); |
236 | if (gpio) | 236 | if (gpio && conn->hpd.func != DCB_GPIO_UNUSED) { |
237 | gpio->irq(gpio, 0, conn->hpd.func, 0xff, true); | 237 | nouveau_event_get(gpio->events, conn->hpd.line, |
238 | &conn->hpd_func); | ||
239 | } | ||
238 | } | 240 | } |
239 | 241 | ||
240 | return ret; | 242 | return ret; |
@@ -251,8 +253,10 @@ nouveau_display_fini(struct drm_device *dev) | |||
251 | /* disable hotplug interrupts */ | 253 | /* disable hotplug interrupts */ |
252 | list_for_each_entry(connector, &dev->mode_config.connector_list, head) { | 254 | list_for_each_entry(connector, &dev->mode_config.connector_list, head) { |
253 | struct nouveau_connector *conn = nouveau_connector(connector); | 255 | struct nouveau_connector *conn = nouveau_connector(connector); |
254 | if (gpio) | 256 | if (gpio && conn->hpd.func != DCB_GPIO_UNUSED) { |
255 | gpio->irq(gpio, 0, conn->hpd.func, 0xff, false); | 257 | nouveau_event_put(gpio->events, conn->hpd.line, |
258 | &conn->hpd_func); | ||
259 | } | ||
256 | } | 260 | } |
257 | 261 | ||
258 | drm_kms_helper_poll_disable(dev); | 262 | drm_kms_helper_poll_disable(dev); |