Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9642c81c authored by Jani Nikula's avatar Jani Nikula Committed by Daniel Vetter
Browse files

drm/i915: split g4x_digital_port_connected to g4x and vlv variants



Choose the right function at the intel_digital_port_connected level.

Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Reviewed-by: default avatarDurgadoss R <durgadoss.r@intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 0df53b77
Loading
Loading
Loading
Loading
+39 −31
Original line number Diff line number Diff line
@@ -4533,39 +4533,45 @@ static bool cpt_digital_port_connected(struct drm_i915_private *dev_priv,
static bool g4x_digital_port_connected(struct drm_i915_private *dev_priv,
				       struct intel_digital_port *port)
{
	uint32_t bit;
	u32 bit;

	if (IS_VALLEYVIEW(dev_priv)) {
	switch (port->port) {
	case PORT_B:
			bit = PORTB_HOTPLUG_LIVE_STATUS_VLV;
		bit = PORTB_HOTPLUG_LIVE_STATUS_G4X;
		break;
	case PORT_C:
			bit = PORTC_HOTPLUG_LIVE_STATUS_VLV;
		bit = PORTC_HOTPLUG_LIVE_STATUS_G4X;
		break;
	case PORT_D:
			bit = PORTD_HOTPLUG_LIVE_STATUS_VLV;
		bit = PORTD_HOTPLUG_LIVE_STATUS_G4X;
		break;
	default:
		MISSING_CASE(port->port);
		return false;
	}
	} else {

	return I915_READ(PORT_HOTPLUG_STAT) & bit;
}

static bool vlv_digital_port_connected(struct drm_i915_private *dev_priv,
				       struct intel_digital_port *port)
{
	u32 bit;

	switch (port->port) {
	case PORT_B:
			bit = PORTB_HOTPLUG_LIVE_STATUS_G4X;
		bit = PORTB_HOTPLUG_LIVE_STATUS_VLV;
		break;
	case PORT_C:
			bit = PORTC_HOTPLUG_LIVE_STATUS_G4X;
		bit = PORTC_HOTPLUG_LIVE_STATUS_VLV;
		break;
	case PORT_D:
			bit = PORTD_HOTPLUG_LIVE_STATUS_G4X;
		bit = PORTD_HOTPLUG_LIVE_STATUS_VLV;
		break;
	default:
		MISSING_CASE(port->port);
		return false;
	}
	}

	return I915_READ(PORT_HOTPLUG_STAT) & bit;
}
@@ -4584,6 +4590,8 @@ static bool intel_digital_port_connected(struct drm_i915_private *dev_priv,
		return ibx_digital_port_connected(dev_priv, port);
	if (HAS_PCH_SPLIT(dev_priv))
		return cpt_digital_port_connected(dev_priv, port);
	else if (IS_VALLEYVIEW(dev_priv))
		return vlv_digital_port_connected(dev_priv, port);
	else
		return g4x_digital_port_connected(dev_priv, port);
}