diff options
author | Jani Nikula <jani.nikula@intel.com> | 2016-02-04 18:52:47 +0200 |
---|---|---|
committer | Jani Nikula <jani.nikula@intel.com> | 2016-02-04 20:34:06 +0200 |
commit | 96afef1d5adee8722549c8c2b788d656ea2ecf21 (patch) | |
tree | 4d8e878f6aa8c31c7a1d9197648fda8da356b6c9 | |
parent | dfb19ed20c322616a73b212c96f2e0309e35cd1a (diff) | |
download | linux-96afef1d5adee8722549c8c2b788d656ea2ecf21.tar.bz2 |
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: 2a33d93486f2 ("drm/i915/bios: add support for MIPI sequence block v3")
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1454604767-2440-1-git-send-email-jani.nikula@intel.com
-rw-r--r-- | drivers/gpu/drm/i915/intel_dsi_panel_vbt.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c index 76dbd1a36c57..787f01c63984 100644 --- a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c +++ b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c @@ -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; |