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

Commit bfadcded authored by Jani Nikula's avatar Jani Nikula
Browse files

drm/i915/dsi: skip gpio element execution when not supported



Skip v3 gpio element because the support is not there, and skip gpio
element on non-vlv because the sideband code is vlv specific.

v2: the gpio stuff is currently only supported on vlv (Ville)

Cc: drm-intel-fixes@lists.freedesktop.org
Fixes: 2a33d934 ("drm/i915/bios: add support for MIPI sequence block v3")
Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1454604767-2440-1-git-send-email-jani.nikula@intel.com


(cherry picked from commit 96afef1d)
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
parent 26f6f2d3
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -204,6 +204,9 @@ static const u8 *mipi_exec_gpio(struct intel_dsi *intel_dsi, const u8 *data)
	struct drm_device *dev = intel_dsi->base.base.dev;
	struct drm_i915_private *dev_priv = dev->dev_private;

	if (dev_priv->vbt.dsi.seq_version >= 3)
		data++;

	gpio = *data++;

	/* pull up/down */
@@ -214,6 +217,16 @@ static const u8 *mipi_exec_gpio(struct intel_dsi *intel_dsi, const u8 *data)
		goto out;
	}

	if (!IS_VALLEYVIEW(dev_priv)) {
		DRM_DEBUG_KMS("GPIO element not supported on this platform\n");
		goto out;
	}

	if (dev_priv->vbt.dsi.seq_version >= 3) {
		DRM_DEBUG_KMS("GPIO element v3 not supported\n");
		goto out;
	}

	function = gtable[gpio].function_reg;
	pad = gtable[gpio].pad_reg;