summaryrefslogtreecommitdiff
path: root/linux-core
diff options
context:
space:
mode:
authorJesse Barnes <jbarnes@virtuousgeek.org>2008-08-13 10:09:41 -0700
committerJesse Barnes <jbarnes@virtuousgeek.org>2008-08-13 10:09:41 -0700
commitb8724ae647c2c622f33f3a82d1b8632c887fa69b (patch)
tree5e7c5f266d397f5688c55155cd5527d60ff9cd59 /linux-core
parent2f03ba4aad1718a36168550b6a146b79540252e6 (diff)
parent9a2adc442af9d83b85e4d558cb5e4d33597b60b9 (diff)
Merge branch 'modesetting-101' into modesetting-gem
Diffstat (limited to 'linux-core')
-rw-r--r--linux-core/drm_sysfs.c1
-rw-r--r--linux-core/nv50_display.c6
-rw-r--r--linux-core/nv50_kms_wrapper.c3
3 files changed, 10 insertions, 0 deletions
diff --git a/linux-core/drm_sysfs.c b/linux-core/drm_sysfs.c
index 5c384a60..3b217342 100644
--- a/linux-core/drm_sysfs.c
+++ b/linux-core/drm_sysfs.c
@@ -450,6 +450,7 @@ void drm_sysfs_hotplug_event(struct drm_device *dev)
kobject_uevent_env(&dev->primary->kdev.kobj, KOBJ_CHANGE, envp);
}
+EXPORT_SYMBOL(drm_sysfs_hotplug_event);
static struct device_attribute dri_attrs[] = {
__ATTR(dri_library_name, S_IRUGO, show_dri, NULL),
diff --git a/linux-core/nv50_display.c b/linux-core/nv50_display.c
index eeaa0e68..6665a32f 100644
--- a/linux-core/nv50_display.c
+++ b/linux-core/nv50_display.c
@@ -125,6 +125,9 @@ static int nv50_display_init(struct nv50_display *display)
/* enable clock change interrupts. */
NV_WRITE(NV50_PDISPLAY_SUPERVISOR_INTR, NV_READ(NV50_PDISPLAY_SUPERVISOR_INTR) | 0x70);
+ /* enable hotplug interrupts */
+ NV_WRITE(NV50_PCONNECTOR_HOTPLUG_INTR, 0x7FFF7FFF);
+
display->init_done = true;
return 0;
@@ -171,6 +174,9 @@ static int nv50_display_disable(struct nv50_display *display)
/* disable clock change interrupts. */
NV_WRITE(NV50_PDISPLAY_SUPERVISOR_INTR, NV_READ(NV50_PDISPLAY_SUPERVISOR_INTR) & ~0x70);
+ /* disable hotplug interrupts */
+ NV_WRITE(NV50_PCONNECTOR_HOTPLUG_INTR, 0);
+
display->init_done = false;
return 0;
diff --git a/linux-core/nv50_kms_wrapper.c b/linux-core/nv50_kms_wrapper.c
index 8ae72f48..1320e5ed 100644
--- a/linux-core/nv50_kms_wrapper.c
+++ b/linux-core/nv50_kms_wrapper.c
@@ -970,6 +970,9 @@ static enum drm_connector_status nv50_kms_connector_detect(struct drm_connector
/* notify fb of changes */
dev->mode_config.funcs->fb_changed(dev);
+
+ /* sent a hotplug event when appropriate. */
+ drm_sysfs_hotplug_event(dev);
}
return drm_connector->status;