All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Jani Nikula <jani.nikula@intel.com>
Cc: Deepak M <m.deepak@intel.com>, intel-gfx@lists.freedesktop.org
Subject: Re: [RFC PATCH 03/10] drm/i915/dsi: refactor dsi get hw state readout
Date: Wed, 16 Mar 2016 17:09:38 +0200	[thread overview]
Message-ID: <20160316150938.GI4329@intel.com> (raw)
In-Reply-To: <04b20a9be6a9481ca2eb2a42cdcdc27358152e5f.1458070700.git.jani.nikula@intel.com>

On Tue, Mar 15, 2016 at 09:51:11PM +0200, Jani Nikula wrote:
> Make the code easier to read and update. No functional changes.
> 
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

The logic looks intact
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

> ---
>  drivers/gpu/drm/i915/intel_dsi.c | 37 +++++++++++++++++++------------------
>  1 file changed, 19 insertions(+), 18 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
> index 01b8e9f4c272..6574b9ac3698 100644
> --- a/drivers/gpu/drm/i915/intel_dsi.c
> +++ b/drivers/gpu/drm/i915/intel_dsi.c
> @@ -667,7 +667,7 @@ static bool intel_dsi_get_hw_state(struct intel_encoder *encoder,
>  	struct drm_device *dev = encoder->base.dev;
>  	enum intel_display_power_domain power_domain;
>  	enum port port;
> -	bool ret;
> +	bool active = false;
>  
>  	DRM_DEBUG_KMS("\n");
>  
> @@ -675,38 +675,39 @@ static bool intel_dsi_get_hw_state(struct intel_encoder *encoder,
>  	if (!intel_display_power_get_if_enabled(dev_priv, power_domain))
>  		return false;
>  
> -	ret = false;
> -
>  	/* XXX: this only works for one DSI output */
>  	for_each_dsi_port(port, intel_dsi->ports) {
>  		i915_reg_t ctrl_reg = IS_BROXTON(dev) ?
>  			BXT_MIPI_PORT_CTRL(port) : MIPI_PORT_CTRL(port);
> -		u32 dpi_enabled, func;
> -
> -		func = I915_READ(MIPI_DSI_FUNC_PRG(port));
> -		dpi_enabled = I915_READ(ctrl_reg) & DPI_ENABLE;
> +		bool enabled = I915_READ(ctrl_reg) & DPI_ENABLE;
>  
>  		/* Due to some hardware limitations on BYT, MIPI Port C DPI
>  		 * Enable bit does not get set. To check whether DSI Port C
>  		 * was enabled in BIOS, check the Pipe B enable bit
>  		 */
>  		if (IS_VALLEYVIEW(dev) && port == PORT_C)
> -			dpi_enabled = I915_READ(PIPECONF(PIPE_B)) &
> -							PIPECONF_ENABLE;
> +			enabled = I915_READ(PIPECONF(PIPE_B)) & PIPECONF_ENABLE;
>  
> -		if (dpi_enabled || (func & CMD_MODE_DATA_WIDTH_MASK)) {
> -			if (I915_READ(MIPI_DEVICE_READY(port)) & DEVICE_READY) {
> -				*pipe = port == PORT_A ? PIPE_A : PIPE_B;
> -				ret = true;
> -
> -				goto out;
> -			}
> +		/* Try command mode if video mode not enabled */
> +		if (!enabled) {
> +			u32 tmp = I915_READ(MIPI_DSI_FUNC_PRG(port));
> +			enabled = tmp & CMD_MODE_DATA_WIDTH_MASK;
>  		}
> +
> +		if (!enabled)
> +			continue;
> +
> +		if (!(I915_READ(MIPI_DEVICE_READY(port)) & DEVICE_READY))
> +			continue;
> +
> +		*pipe = port == PORT_A ? PIPE_A : PIPE_B;
> +		active = true;
> +		break;
>  	}
> -out:
> +
>  	intel_display_power_put(dev_priv, power_domain);
>  
> -	return ret;
> +	return active;
>  }
>  
>  static void intel_dsi_get_config(struct intel_encoder *encoder,
> -- 
> 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

  reply	other threads:[~2016-03-16 15:09 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-15 19:51 [RFC PATCH 00/10] drm/i915/bxt: add dsi transcoders Jani Nikula
2016-03-15 19:51 ` [RFC PATCH 01/10] drm/i915: add for_each_port_masked macro Jani Nikula
2016-03-16 15:07   ` Ville Syrjälä
2016-03-15 19:51 ` [RFC PATCH 02/10] drm/i915: make transcoder_name return a string Jani Nikula
2016-03-16 14:46   ` Ville Syrjälä
2016-03-15 19:51 ` [RFC PATCH 03/10] drm/i915/dsi: refactor dsi get hw state readout Jani Nikula
2016-03-16 15:09   ` Ville Syrjälä [this message]
2016-03-15 19:51 ` [RFC PATCH 04/10] drm/i915/bxt: fix dsi hw state pipe readout Jani Nikula
2016-03-16 15:11   ` Ville Syrjälä
2016-03-16 16:19     ` Jani Nikula
2016-03-15 19:51 ` [RFC PATCH 05/10] drm/i915: split get/set pipe timings to pipe and transcoder parts Jani Nikula
2016-03-16 15:02   ` Ville Syrjälä
2016-03-15 19:51 ` [RFC PATCH 06/10] drm/i915: split set pipeconf " Jani Nikula
2016-03-16 15:15   ` Ville Syrjälä
2016-03-15 19:51 ` [RFC PATCH 07/10] drm/i915: abstract get config for cpu transcoder Jani Nikula
2016-03-16 15:20   ` Ville Syrjälä
2016-03-16 15:26     ` Jani Nikula
2016-03-16 15:32       ` Ville Syrjälä
2016-03-15 19:51 ` [RFC PATCH 08/10] drm/i915/bxt: add dsi transcoders Jani Nikula
2016-03-16 15:24   ` Ville Syrjälä
2016-03-15 19:51 ` [RFC PATCH 09/10] drm/i915/dsi: use the BIT macro for clarity Jani Nikula
2016-03-15 19:51 ` [RFC PATCH 10/10] drm/i915/bxt: allow dsi on any pipe Jani Nikula
2016-03-16  7:59 ` ✗ Fi.CI.BAT: failure for drm/i915/bxt: add dsi transcoders 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=20160316150938.GI4329@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@intel.com \
    --cc=m.deepak@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.