diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_tv.c')
| -rw-r--r-- | drivers/gpu/drm/i915/intel_tv.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c index c14341ca3ef9..6f5f59b880f5 100644 --- a/drivers/gpu/drm/i915/intel_tv.c +++ b/drivers/gpu/drm/i915/intel_tv.c | |||
| @@ -1182,18 +1182,17 @@ intel_tv_detect_type(struct intel_tv *intel_tv, | |||
| 1182 | struct intel_crtc *intel_crtc = to_intel_crtc(crtc); | 1182 | struct intel_crtc *intel_crtc = to_intel_crtc(crtc); |
| 1183 | struct drm_device *dev = encoder->dev; | 1183 | struct drm_device *dev = encoder->dev; |
| 1184 | struct drm_i915_private *dev_priv = dev->dev_private; | 1184 | struct drm_i915_private *dev_priv = dev->dev_private; |
| 1185 | unsigned long irqflags; | ||
| 1186 | u32 tv_ctl, save_tv_ctl; | 1185 | u32 tv_ctl, save_tv_ctl; |
| 1187 | u32 tv_dac, save_tv_dac; | 1186 | u32 tv_dac, save_tv_dac; |
| 1188 | int type; | 1187 | int type; |
| 1189 | 1188 | ||
| 1190 | /* Disable TV interrupts around load detect or we'll recurse */ | 1189 | /* Disable TV interrupts around load detect or we'll recurse */ |
| 1191 | if (connector->polled & DRM_CONNECTOR_POLL_HPD) { | 1190 | if (connector->polled & DRM_CONNECTOR_POLL_HPD) { |
| 1192 | spin_lock_irqsave(&dev_priv->irq_lock, irqflags); | 1191 | spin_lock_irq(&dev_priv->irq_lock); |
| 1193 | i915_disable_pipestat(dev_priv, 0, | 1192 | i915_disable_pipestat(dev_priv, 0, |
| 1194 | PIPE_HOTPLUG_INTERRUPT_STATUS | | 1193 | PIPE_HOTPLUG_INTERRUPT_STATUS | |
| 1195 | PIPE_HOTPLUG_TV_INTERRUPT_STATUS); | 1194 | PIPE_HOTPLUG_TV_INTERRUPT_STATUS); |
| 1196 | spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags); | 1195 | spin_unlock_irq(&dev_priv->irq_lock); |
| 1197 | } | 1196 | } |
| 1198 | 1197 | ||
| 1199 | save_tv_dac = tv_dac = I915_READ(TV_DAC); | 1198 | save_tv_dac = tv_dac = I915_READ(TV_DAC); |
| @@ -1266,11 +1265,11 @@ intel_tv_detect_type(struct intel_tv *intel_tv, | |||
| 1266 | 1265 | ||
| 1267 | /* Restore interrupt config */ | 1266 | /* Restore interrupt config */ |
| 1268 | if (connector->polled & DRM_CONNECTOR_POLL_HPD) { | 1267 | if (connector->polled & DRM_CONNECTOR_POLL_HPD) { |
| 1269 | spin_lock_irqsave(&dev_priv->irq_lock, irqflags); | 1268 | spin_lock_irq(&dev_priv->irq_lock); |
| 1270 | i915_enable_pipestat(dev_priv, 0, | 1269 | i915_enable_pipestat(dev_priv, 0, |
| 1271 | PIPE_HOTPLUG_INTERRUPT_STATUS | | 1270 | PIPE_HOTPLUG_INTERRUPT_STATUS | |
| 1272 | PIPE_HOTPLUG_TV_INTERRUPT_STATUS); | 1271 | PIPE_HOTPLUG_TV_INTERRUPT_STATUS); |
| 1273 | spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags); | 1272 | spin_unlock_irq(&dev_priv->irq_lock); |
| 1274 | } | 1273 | } |
| 1275 | 1274 | ||
| 1276 | return type; | 1275 | return type; |
