|
@@ -1574,10 +1574,11 @@ static bool i9xx_port_hotplug_long_detect(enum port port, u32 val)
|
|
*
|
|
*
|
|
* Note that the caller is expected to zero out the masks initially.
|
|
* Note that the caller is expected to zero out the masks initially.
|
|
*/
|
|
*/
|
|
-static void intel_get_hpd_pins(u32 *pin_mask, u32 *long_mask,
|
|
|
|
- u32 hotplug_trigger, u32 dig_hotplug_reg,
|
|
|
|
- const u32 hpd[HPD_NUM_PINS],
|
|
|
|
- bool long_pulse_detect(enum port port, u32 val))
|
|
|
|
|
|
+static void intel_get_hpd_pins(struct drm_i915_private *dev_priv,
|
|
|
|
+ u32 *pin_mask, u32 *long_mask,
|
|
|
|
+ u32 hotplug_trigger, u32 dig_hotplug_reg,
|
|
|
|
+ const u32 hpd[HPD_NUM_PINS],
|
|
|
|
+ bool long_pulse_detect(enum port port, u32 val))
|
|
{
|
|
{
|
|
enum port port;
|
|
enum port port;
|
|
int i;
|
|
int i;
|
|
@@ -1588,7 +1589,7 @@ static void intel_get_hpd_pins(u32 *pin_mask, u32 *long_mask,
|
|
|
|
|
|
*pin_mask |= BIT(i);
|
|
*pin_mask |= BIT(i);
|
|
|
|
|
|
- port = intel_hpd_pin_to_port(i);
|
|
|
|
|
|
+ port = intel_hpd_pin_to_port(dev_priv, i);
|
|
if (port == PORT_NONE)
|
|
if (port == PORT_NONE)
|
|
continue;
|
|
continue;
|
|
|
|
|
|
@@ -1976,8 +1977,9 @@ static void i9xx_hpd_irq_handler(struct drm_i915_private *dev_priv,
|
|
u32 hotplug_trigger = hotplug_status & HOTPLUG_INT_STATUS_G4X;
|
|
u32 hotplug_trigger = hotplug_status & HOTPLUG_INT_STATUS_G4X;
|
|
|
|
|
|
if (hotplug_trigger) {
|
|
if (hotplug_trigger) {
|
|
- intel_get_hpd_pins(&pin_mask, &long_mask, hotplug_trigger,
|
|
|
|
- hotplug_trigger, hpd_status_g4x,
|
|
|
|
|
|
+ intel_get_hpd_pins(dev_priv, &pin_mask, &long_mask,
|
|
|
|
+ hotplug_trigger, hotplug_trigger,
|
|
|
|
+ hpd_status_g4x,
|
|
i9xx_port_hotplug_long_detect);
|
|
i9xx_port_hotplug_long_detect);
|
|
|
|
|
|
intel_hpd_irq_handler(dev_priv, pin_mask, long_mask);
|
|
intel_hpd_irq_handler(dev_priv, pin_mask, long_mask);
|
|
@@ -1989,8 +1991,9 @@ static void i9xx_hpd_irq_handler(struct drm_i915_private *dev_priv,
|
|
u32 hotplug_trigger = hotplug_status & HOTPLUG_INT_STATUS_I915;
|
|
u32 hotplug_trigger = hotplug_status & HOTPLUG_INT_STATUS_I915;
|
|
|
|
|
|
if (hotplug_trigger) {
|
|
if (hotplug_trigger) {
|
|
- intel_get_hpd_pins(&pin_mask, &long_mask, hotplug_trigger,
|
|
|
|
- hotplug_trigger, hpd_status_i915,
|
|
|
|
|
|
+ intel_get_hpd_pins(dev_priv, &pin_mask, &long_mask,
|
|
|
|
+ hotplug_trigger, hotplug_trigger,
|
|
|
|
+ hpd_status_i915,
|
|
i9xx_port_hotplug_long_detect);
|
|
i9xx_port_hotplug_long_detect);
|
|
intel_hpd_irq_handler(dev_priv, pin_mask, long_mask);
|
|
intel_hpd_irq_handler(dev_priv, pin_mask, long_mask);
|
|
}
|
|
}
|
|
@@ -2191,7 +2194,7 @@ static void ibx_hpd_irq_handler(struct drm_i915_private *dev_priv,
|
|
if (!hotplug_trigger)
|
|
if (!hotplug_trigger)
|
|
return;
|
|
return;
|
|
|
|
|
|
- intel_get_hpd_pins(&pin_mask, &long_mask, hotplug_trigger,
|
|
|
|
|
|
+ intel_get_hpd_pins(dev_priv, &pin_mask, &long_mask, hotplug_trigger,
|
|
dig_hotplug_reg, hpd,
|
|
dig_hotplug_reg, hpd,
|
|
pch_port_hotplug_long_detect);
|
|
pch_port_hotplug_long_detect);
|
|
|
|
|
|
@@ -2333,8 +2336,8 @@ static void spt_irq_handler(struct drm_i915_private *dev_priv, u32 pch_iir)
|
|
dig_hotplug_reg = I915_READ(PCH_PORT_HOTPLUG);
|
|
dig_hotplug_reg = I915_READ(PCH_PORT_HOTPLUG);
|
|
I915_WRITE(PCH_PORT_HOTPLUG, dig_hotplug_reg);
|
|
I915_WRITE(PCH_PORT_HOTPLUG, dig_hotplug_reg);
|
|
|
|
|
|
- intel_get_hpd_pins(&pin_mask, &long_mask, hotplug_trigger,
|
|
|
|
- dig_hotplug_reg, hpd_spt,
|
|
|
|
|
|
+ intel_get_hpd_pins(dev_priv, &pin_mask, &long_mask,
|
|
|
|
+ hotplug_trigger, dig_hotplug_reg, hpd_spt,
|
|
spt_port_hotplug_long_detect);
|
|
spt_port_hotplug_long_detect);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2344,8 +2347,8 @@ static void spt_irq_handler(struct drm_i915_private *dev_priv, u32 pch_iir)
|
|
dig_hotplug_reg = I915_READ(PCH_PORT_HOTPLUG2);
|
|
dig_hotplug_reg = I915_READ(PCH_PORT_HOTPLUG2);
|
|
I915_WRITE(PCH_PORT_HOTPLUG2, dig_hotplug_reg);
|
|
I915_WRITE(PCH_PORT_HOTPLUG2, dig_hotplug_reg);
|
|
|
|
|
|
- intel_get_hpd_pins(&pin_mask, &long_mask, hotplug2_trigger,
|
|
|
|
- dig_hotplug_reg, hpd_spt,
|
|
|
|
|
|
+ intel_get_hpd_pins(dev_priv, &pin_mask, &long_mask,
|
|
|
|
+ hotplug2_trigger, dig_hotplug_reg, hpd_spt,
|
|
spt_port_hotplug2_long_detect);
|
|
spt_port_hotplug2_long_detect);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2365,7 +2368,7 @@ static void ilk_hpd_irq_handler(struct drm_i915_private *dev_priv,
|
|
dig_hotplug_reg = I915_READ(DIGITAL_PORT_HOTPLUG_CNTRL);
|
|
dig_hotplug_reg = I915_READ(DIGITAL_PORT_HOTPLUG_CNTRL);
|
|
I915_WRITE(DIGITAL_PORT_HOTPLUG_CNTRL, dig_hotplug_reg);
|
|
I915_WRITE(DIGITAL_PORT_HOTPLUG_CNTRL, dig_hotplug_reg);
|
|
|
|
|
|
- intel_get_hpd_pins(&pin_mask, &long_mask, hotplug_trigger,
|
|
|
|
|
|
+ intel_get_hpd_pins(dev_priv, &pin_mask, &long_mask, hotplug_trigger,
|
|
dig_hotplug_reg, hpd,
|
|
dig_hotplug_reg, hpd,
|
|
ilk_port_hotplug_long_detect);
|
|
ilk_port_hotplug_long_detect);
|
|
|
|
|
|
@@ -2542,7 +2545,7 @@ static void bxt_hpd_irq_handler(struct drm_i915_private *dev_priv,
|
|
dig_hotplug_reg = I915_READ(PCH_PORT_HOTPLUG);
|
|
dig_hotplug_reg = I915_READ(PCH_PORT_HOTPLUG);
|
|
I915_WRITE(PCH_PORT_HOTPLUG, dig_hotplug_reg);
|
|
I915_WRITE(PCH_PORT_HOTPLUG, dig_hotplug_reg);
|
|
|
|
|
|
- intel_get_hpd_pins(&pin_mask, &long_mask, hotplug_trigger,
|
|
|
|
|
|
+ intel_get_hpd_pins(dev_priv, &pin_mask, &long_mask, hotplug_trigger,
|
|
dig_hotplug_reg, hpd,
|
|
dig_hotplug_reg, hpd,
|
|
bxt_port_hotplug_long_detect);
|
|
bxt_port_hotplug_long_detect);
|
|
|
|
|