All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bob Paauwe <bob.j.paauwe@intel.com>
To: Vidya Srinivas <vidya.srinivas@intel.com>
Cc: jani.nikula@intel.com, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 8/9] drm/i915/bxt: Enable BXT DSI dual link
Date: Wed, 15 Feb 2017 10:33:13 -0800	[thread overview]
Message-ID: <20170215103313.4a7e8c5d@bpaauwe-desk.fm.intel.com> (raw)
In-Reply-To: <1486551058-22596-9-git-send-email-vidya.srinivas@intel.com>

On Wed, 8 Feb 2017 16:20:57 +0530
Vidya Srinivas <vidya.srinivas@intel.com> wrote:

> From: Uma Shankar <uma.shankar@intel.com>
> 
> Enable support for BXT DSI dual link mode.
> 
> Signed-off-by: Uma Shankar <uma.shankar@intel.com>
> Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com>

Reviewed-by: Bob Paauwe <bob.j.paauwe@intel.com>

> ---
>  drivers/gpu/drm/i915/i915_reg.h  |  5 +++++
>  drivers/gpu/drm/i915/intel_dsi.c | 27 ++++++++++++++++++---------
>  2 files changed, 23 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 07b1a2d..3b2925c 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -8425,6 +8425,7 @@ enum {
>  #define  LANE_CONFIGURATION_4LANE			(0 << 0)
>  #define  LANE_CONFIGURATION_DUAL_LINK_A			(1 << 0)
>  #define  LANE_CONFIGURATION_DUAL_LINK_B			(2 << 0)
> +#define  LANE_CONFIGURATION_DUAL_LINK_ENABLE		(1 << 0)
>  
>  #define _MIPIA_TEARING_CTRL			(VLV_DISPLAY_BASE + 0x61194)
>  #define _MIPIC_TEARING_CTRL			(VLV_DISPLAY_BASE + 0x61704)
> @@ -8758,6 +8759,10 @@ enum {
>  #define  READ_REQUEST_PRIORITY_HIGH			(3 << 3)
>  #define  RGB_FLIP_TO_BGR				(1 << 2)
>  
> +/* BXT has dual link Z inversion overlap field */
> +#define  BXT_PIXEL_OVERLAP_CNT_MASK			(0xf << 10)
> +#define  BXT_PIXEL_OVERLAP_CNT_SHIFT			10
> +
>  #define  BXT_PIPE_SELECT_SHIFT				7
>  #define  BXT_PIPE_SELECT_MASK				(7 << 7)
>  #define  BXT_PIPE_SELECT(pipe)				((pipe) << 7)
> diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
> index 12aeee1..60ca0b9 100644
> --- a/drivers/gpu/drm/i915/intel_dsi.c
> +++ b/drivers/gpu/drm/i915/intel_dsi.c
> @@ -440,15 +440,24 @@ static void intel_dsi_port_enable(struct intel_encoder *encoder)
>  	struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc);
>  	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
>  	enum port port;
> +	u32 temp;
>  
>  	if (intel_dsi->dual_link == DSI_DUAL_LINK_FRONT_BACK) {
> -		u32 temp;
> -
> -		temp = I915_READ(VLV_CHICKEN_3);
> -		temp &= ~PIXEL_OVERLAP_CNT_MASK |
> +		if (IS_BROXTON(dev_priv)) {
> +			for_each_dsi_port(port, intel_dsi->ports) {
> +				temp = I915_READ(MIPI_CTRL(port));
> +				temp &= ~BXT_PIXEL_OVERLAP_CNT_MASK |
>  					intel_dsi->pixel_overlap <<
> -					PIXEL_OVERLAP_CNT_SHIFT;
> -		I915_WRITE(VLV_CHICKEN_3, temp);
> +					BXT_PIXEL_OVERLAP_CNT_SHIFT;
> +				I915_WRITE(MIPI_CTRL(port), temp);
> +			}
> +		} else {
> +			temp = I915_READ(VLV_CHICKEN_3);
> +			temp &= ~PIXEL_OVERLAP_CNT_MASK |
> +				intel_dsi->pixel_overlap <<
> +				PIXEL_OVERLAP_CNT_SHIFT;
> +			I915_WRITE(VLV_CHICKEN_3, temp);
> +		}
>  	}
>  
>  	for_each_dsi_port(port, intel_dsi->ports) {
> @@ -464,12 +473,12 @@ static void intel_dsi_port_enable(struct intel_encoder *encoder)
>  		if (intel_dsi->ports == (BIT(PORT_A) | BIT(PORT_C))) {
>  			temp |= (intel_dsi->dual_link - 1)
>  						<< DUAL_LINK_MODE_SHIFT;
> -			if (IS_BROXTON(dev_priv))
> -				temp |= LANE_CONFIGURATION_DUAL_LINK_A;
> -			else
> +			if (IS_VALLEYVIEW(dev_priv))
>  				temp |= intel_crtc->pipe ?
>  					LANE_CONFIGURATION_DUAL_LINK_B :
>  					LANE_CONFIGURATION_DUAL_LINK_A;
> +			else if (IS_BROXTON(dev_priv))
> +				temp |= LANE_CONFIGURATION_DUAL_LINK_ENABLE;
>  		}
>  		/* assert ip_tg_enable signal */
>  		I915_WRITE(port_ctrl, temp | DPI_ENABLE);



-- 
--
Bob Paauwe                  
Bob.J.Paauwe@intel.com
IOTG / PED Software Organization
Intel Corp.  Folsom, CA
(916) 356-6193    

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2017-02-15 18:34 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-08 10:50 [PATCH 0/9] Broxton DSI dual-link and sequence fixes Vidya Srinivas
2017-02-08 10:50 ` [PATCH 1/9] drm/i915: Check for platform specific GPIO config Vidya Srinivas
2017-02-15 18:05   ` Bob Paauwe
2017-02-08 10:50 ` [PATCH 2/9] drm/i915: Fix PLL 8x/3 divider for MIPI video mode Vidya Srinivas
2017-02-15 15:34   ` Jani Nikula
2017-02-08 10:50 ` [PATCH 3/9] drm: Add DSI panel power on/off sequence programming Vidya Srinivas
2017-02-08 10:50 ` [PATCH 4/9] drm/i915: Add DSI panel power on/off sequence callbacks Vidya Srinivas
2017-02-15 18:44   ` Bob Paauwe
2017-02-08 10:50 ` [PATCH 5/9] drm/i915/bxt: Fix BXT DSI ULPS sequence Vidya Srinivas
2017-02-15 18:11   ` Bob Paauwe
2017-02-16 15:23     ` Jani Nikula
2017-02-08 10:50 ` [PATCH 6/9] drm/i915/bxt: Fix BXT DSI disable sequence Vidya Srinivas
2017-02-15 18:24   ` Bob Paauwe
2017-02-20  9:39     ` Srinivas, Vidya
2017-02-08 10:50 ` [PATCH 7/9] drm/i915/bxt: Disable device ready before shutdown command Vidya Srinivas
2017-02-15 18:27   ` Bob Paauwe
2017-02-16 15:23     ` Jani Nikula
2017-02-08 10:50 ` [PATCH 8/9] drm/i915/bxt: Enable BXT DSI dual link Vidya Srinivas
2017-02-15 18:33   ` Bob Paauwe [this message]
2017-02-16 15:26     ` Jani Nikula
2017-02-20  9:49       ` Srinivas, Vidya
2017-02-20 11:00         ` Jani Nikula
2017-02-20 11:40           ` Hans de Goede
2017-02-20 11:55             ` Jani Nikula
2017-02-20 19:19             ` Jani Nikula
2017-02-21  6:21               ` Srinivas, Vidya
2017-02-21  7:30                 ` Hans de Goede
2017-02-08 10:50 ` [PATCH 9/9] drm/i915/bxt: Fix the DSI enable sequence Vidya Srinivas
2017-02-15 19:00   ` Bob Paauwe
2017-02-20  9:43     ` Srinivas, Vidya
2017-02-08 11:02 ` ✓ Fi.CI.BAT: success for Broxton DSI dual-link and sequence fixes 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=20170215103313.4a7e8c5d@bpaauwe-desk.fm.intel.com \
    --to=bob.j.paauwe@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@intel.com \
    --cc=vidya.srinivas@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.