summaryrefslogtreecommitdiff
path: root/shared-core/nouveau_irq.c
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 /shared-core/nouveau_irq.c
parent2f03ba4aad1718a36168550b6a146b79540252e6 (diff)
parent9a2adc442af9d83b85e4d558cb5e4d33597b60b9 (diff)
Merge branch 'modesetting-101' into modesetting-gem
Diffstat (limited to 'shared-core/nouveau_irq.c')
-rw-r--r--shared-core/nouveau_irq.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/shared-core/nouveau_irq.c b/shared-core/nouveau_irq.c
index 4c46da8d..48872622 100644
--- a/shared-core/nouveau_irq.c
+++ b/shared-core/nouveau_irq.c
@@ -41,6 +41,8 @@
#include "nv50_display.h"
#include "nv50_crtc.h"
#include "nv50_output.h"
+/* needed for hotplug irq */
+#include "nv50_kms_wrapper.h"
void
nouveau_irq_preinstall(struct drm_device *dev)
@@ -510,7 +512,7 @@ nouveau_nv50_display_irq_handler(struct drm_device *dev)
struct drm_nouveau_private *dev_priv = dev->dev_private;
uint32_t val = NV_READ(NV50_PDISPLAY_SUPERVISOR);
- DRM_INFO("NV50_DISPLAY_INTR - 0x%08X\n", val);
+ DRM_INFO("NV50_PDISPLAY_SUPERVISOR - 0x%08X\n", val);
/* vblank interrupts */
if (val & NV50_PDISPLAY_SUPERVISOR_CRTCn) {
@@ -591,10 +593,13 @@ nouveau_nv50_i2c_irq_handler(struct drm_device *dev)
{
struct drm_nouveau_private *dev_priv = dev->dev_private;
- DRM_INFO("NV50_I2C_INTR - 0x%08X\n", NV_READ(NV50_I2C_CONTROLLER));
+ DRM_INFO("NV50_PCONNECTOR_HOTPLUG_CTRL - 0x%08X\n", NV_READ(NV50_PCONNECTOR_HOTPLUG_CTRL));
/* This seems to be the way to acknowledge an interrupt. */
- NV_WRITE(NV50_I2C_CONTROLLER, 0x7FFF7FFF);
+ NV_WRITE(NV50_PCONNECTOR_HOTPLUG_CTRL, 0x7FFF7FFF);
+
+ /* Do a "dumb" detect all */
+ nv50_kms_connector_detect_all(dev);
}
irqreturn_t