From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Jani Nikula <jani.nikula@intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH v3 2/6] drm/i915/dsi: abstract VLV gpio element execution to a separate function
Date: Thu, 7 Apr 2016 16:00:51 +0300 [thread overview]
Message-ID: <20160407130051.GG4329@intel.com> (raw)
In-Reply-To: <ee791fed271d7f31c34163de6c6be37d1b704ef3.1459884518.git.jani.nikula@intel.com>
On Tue, Apr 05, 2016 at 10:30:50PM +0300, Jani Nikula wrote:
> Prepare for future. No functional changes.
>
> v2: Move earlier in the series. Use bool for gpio value.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/i915/intel_dsi_panel_vbt.c | 68 +++++++++++++++---------------
> 1 file changed, 35 insertions(+), 33 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
> index 21964ba0bf34..6c2774ceb69f 100644
> --- a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
> +++ b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
> @@ -187,41 +187,21 @@ static const u8 *mipi_exec_delay(struct intel_dsi *intel_dsi, const u8 *data)
> return data;
> }
>
> -static const u8 *mipi_exec_gpio(struct intel_dsi *intel_dsi, const u8 *data)
> +static void vlv_exec_gpio(struct drm_i915_private *dev_priv,
> + u8 gpio_source, u8 gpio_index, bool value)
> {
> - u8 gpio_source, gpio_index, action, port;
> u16 pconf0, padval;
> - u32 val;
> - 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_index = *data++;
> -
> - /* gpio source in sequence v2 only */
> - if (dev_priv->vbt.dsi.seq_version == 2)
> - gpio_source = (*data >> 1) & 3;
> - else
> - gpio_source = 0;
> -
> - /* pull up/down */
> - action = *data++ & 1;
> + u32 tmp;
> + u8 port;
>
> if (gpio_index >= ARRAY_SIZE(vlv_gpio_table)) {
> DRM_DEBUG_KMS("unknown gpio index %u\n", gpio_index);
> - goto out;
> - }
> -
> - if (!IS_VALLEYVIEW(dev_priv)) {
> - DRM_DEBUG_KMS("GPIO element not supported on this platform\n");
> - goto out;
> + return;
> }
>
> if (dev_priv->vbt.dsi.seq_version >= 3) {
> DRM_DEBUG_KMS("GPIO element v3 not supported\n");
> - goto out;
> + return;
> } else {
> if (gpio_source == 0) {
> port = IOSF_PORT_GPIO_NC;
> @@ -229,7 +209,7 @@ static const u8 *mipi_exec_gpio(struct intel_dsi *intel_dsi, const u8 *data)
> port = IOSF_PORT_GPIO_SC;
> } else {
> DRM_DEBUG_KMS("unknown gpio source %u\n", gpio_source);
> - goto out;
> + return;
> }
> }
>
> @@ -238,19 +218,41 @@ static const u8 *mipi_exec_gpio(struct intel_dsi *intel_dsi, const u8 *data)
>
> mutex_lock(&dev_priv->sb_lock);
> if (!vlv_gpio_table[gpio_index].init) {
> - /* program the function */
> - /* FIXME: remove constant below */
FIXME still seems valid.
Otherwise lgtm
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> vlv_iosf_sb_write(dev_priv, port, pconf0, 0x2000CC00);
> vlv_gpio_table[gpio_index].init = true;
> }
>
> - val = 0x4 | action;
> + tmp = 0x4 | value;
> + vlv_iosf_sb_write(dev_priv, port, padval, tmp);
> + mutex_unlock(&dev_priv->sb_lock);
> +}
> +
> +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;
> + u8 gpio_source, gpio_index;
> + bool value;
> +
> + if (dev_priv->vbt.dsi.seq_version >= 3)
> + data++;
> +
> + gpio_index = *data++;
> +
> + /* gpio source in sequence v2 only */
> + if (dev_priv->vbt.dsi.seq_version == 2)
> + gpio_source = (*data >> 1) & 3;
> + else
> + gpio_source = 0;
>
> /* pull up/down */
> - vlv_iosf_sb_write(dev_priv, port, padval, val);
> - mutex_unlock(&dev_priv->sb_lock);
> + value = *data++ & 1;
> +
> + if (IS_VALLEYVIEW(dev_priv))
> + vlv_exec_gpio(dev_priv, gpio_source, gpio_index, value);
> + else
> + DRM_DEBUG_KMS("GPIO element not supported on this platform\n");
>
> -out:
> return data;
> }
>
> --
> 2.1.4
--
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2016-04-07 13:01 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-05 19:30 [PATCH v3 0/6] drm/i915/dsi: improved gpio element support for vlv/chv/bxt Jani Nikula
2016-04-05 19:30 ` [PATCH v3 1/6] drm/i915/dsi: clean up vlv gpio table and definitions Jani Nikula
2016-04-07 12:59 ` Ville Syrjälä
2016-04-05 19:30 ` [PATCH v3 2/6] drm/i915/dsi: abstract VLV gpio element execution to a separate function Jani Nikula
2016-04-07 13:00 ` Ville Syrjälä [this message]
2016-04-05 19:30 ` [PATCH v3 3/6] drm/i915/dsi: use a temp variable for referencing the gpio table Jani Nikula
2016-04-07 13:01 ` Ville Syrjälä
2016-04-07 13:39 ` Jani Nikula
2016-04-05 19:30 ` [PATCH v3 4/6] drm/i915/dsi: add support for sequence block v3 gpio for VLV Jani Nikula
2016-04-07 13:04 ` Ville Syrjälä
2016-04-07 13:14 ` Jani Nikula
2016-04-05 19:30 ` [PATCH v3 5/6] drm/i915/dsi: add support for gpio elements on CHV Jani Nikula
2016-04-07 13:16 ` Ville Syrjälä
2016-04-05 19:30 ` [PATCH v3 6/6] drm/i915/bxt: add bxt dsi gpio element support Jani Nikula
2016-04-07 11:47 ` [PATCH] " Jani Nikula
2016-04-07 12:21 ` Ville Syrjälä
2016-04-07 12:55 ` Jani Nikula
2016-04-06 7:27 ` ✗ Fi.CI.BAT: failure for drm/i915/dsi: improved gpio element support for vlv/chv/bxt (rev2) Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160407130051.GG4329@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jani.nikula@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.