From: Jani Nikula <jani.nikula@linux.intel.com>
To: Gaurav K Singh <gaurav.k.singh@intel.com>,
intel-gfx <intel-gfx@lists.freedesktop.org>
Cc: Shobhit Kumar <shobhit.kumar@intel.com>
Subject: Re: [PATCH 08/10] drm/i915: MIPI Timings related changes for dual link
Date: Thu, 04 Dec 2014 13:24:51 +0200 [thread overview]
Message-ID: <87r3wflksc.fsf@intel.com> (raw)
In-Reply-To: <1417670936-31032-9-git-send-email-gaurav.k.singh@intel.com>
On Thu, 04 Dec 2014, Gaurav K Singh <gaurav.k.singh@intel.com> wrote:
> hactive, hfp, hbp, hsync needs to be halved for dual link MIPI Panels.
> Accordingly timing related mmio regs needs to be programmed for both MIPI Ports.
>
> v2: Address review comments by Jani
> - Used a for loop instead of do-while loop
>
> v3: Used for_each_dsi_port macro instead of for loop
>
> Signed-off-by: Gaurav K Singh <gaurav.k.singh@intel.com>
> Signed-off-by: Shobhit Kumar <shobhit.kumar@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/i915/intel_dsi.c | 37 ++++++++++++++++++++++++-------------
> 1 file changed, 24 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
> index 4e18abd..22b1570 100644
> --- a/drivers/gpu/drm/i915/intel_dsi.c
> +++ b/drivers/gpu/drm/i915/intel_dsi.c
> @@ -479,7 +479,7 @@ static void set_dsi_timings(struct drm_encoder *encoder,
> struct drm_i915_private *dev_priv = dev->dev_private;
> struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc);
> struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder);
> - enum port port = intel_dsi_pipe_to_port(intel_crtc->pipe);
> + enum port port;
> unsigned int bpp = intel_crtc->config.pipe_bpp;
> unsigned int lane_count = intel_dsi->lane_count;
>
> @@ -490,6 +490,15 @@ static void set_dsi_timings(struct drm_encoder *encoder,
> hsync = mode->hsync_end - mode->hsync_start;
> hbp = mode->htotal - mode->hsync_end;
>
> + if (intel_dsi->dual_link) {
> + hactive /= 2;
> + if (intel_dsi->dual_link == DSI_DUAL_LINK_FRONT_BACK)
> + hactive += intel_dsi->pixel_overlap;
> + hfp /= 2;
> + hsync /= 2;
> + hbp /= 2;
> + }
> +
> vfp = mode->vsync_start - mode->vdisplay;
> vsync = mode->vsync_end - mode->vsync_start;
> vbp = mode->vtotal - mode->vsync_end;
> @@ -502,18 +511,20 @@ static void set_dsi_timings(struct drm_encoder *encoder,
> intel_dsi->burst_mode_ratio);
> hbp = txbyteclkhs(hbp, bpp, lane_count, intel_dsi->burst_mode_ratio);
>
> - I915_WRITE(MIPI_HACTIVE_AREA_COUNT(port), hactive);
> - I915_WRITE(MIPI_HFP_COUNT(port), hfp);
> -
> - /* meaningful for video mode non-burst sync pulse mode only, can be zero
> - * for non-burst sync events and burst modes */
> - I915_WRITE(MIPI_HSYNC_PADDING_COUNT(port), hsync);
> - I915_WRITE(MIPI_HBP_COUNT(port), hbp);
> -
> - /* vertical values are in terms of lines */
> - I915_WRITE(MIPI_VFP_COUNT(port), vfp);
> - I915_WRITE(MIPI_VSYNC_PADDING_COUNT(port), vsync);
> - I915_WRITE(MIPI_VBP_COUNT(port), vbp);
> + for_each_dsi_port(port, intel_dsi->ports) {
> + I915_WRITE(MIPI_HACTIVE_AREA_COUNT(port), hactive);
> + I915_WRITE(MIPI_HFP_COUNT(port), hfp);
> +
> + /* meaningful for video mode non-burst sync pulse mode only,
> + * can be zero for non-burst sync events and burst modes */
> + I915_WRITE(MIPI_HSYNC_PADDING_COUNT(port), hsync);
> + I915_WRITE(MIPI_HBP_COUNT(port), hbp);
> +
> + /* vertical values are in terms of lines */
> + I915_WRITE(MIPI_VFP_COUNT(port), vfp);
> + I915_WRITE(MIPI_VSYNC_PADDING_COUNT(port), vsync);
> + I915_WRITE(MIPI_VBP_COUNT(port), vbp);
> + }
> }
>
> static void intel_dsi_prepare(struct intel_encoder *intel_encoder)
> --
> 1.7.9.5
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2014-12-04 11:24 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-04 5:28 [PATCH 00/10] BYT DSI Dual Link Support Gaurav K Singh
2014-12-04 5:28 ` [PATCH 01/10] drm/i915: New functions added for enabling & disabling MIPI Port Ctrl reg Gaurav K Singh
2014-12-04 9:13 ` Jani Nikula
2014-12-04 5:28 ` [PATCH 02/10] drm/i915: Added port as parameter to the functions which does read/write of DSI Controller Gaurav K Singh
2014-12-04 9:14 ` Jani Nikula
2014-12-04 11:22 ` Daniel Vetter
2014-12-05 12:50 ` Singh, Gaurav K
2014-12-05 14:38 ` Daniel Vetter
2014-12-05 20:35 ` Singh, Gaurav K
2014-12-04 5:28 ` [PATCH 03/10] drm/i915: Add support for port enable/disable for dual link configuration Gaurav K Singh
2014-12-04 9:17 ` Jani Nikula
2014-12-05 8:39 ` [PATCH v4 " Gaurav K Singh
2014-12-05 12:52 ` Jani Nikula
2014-12-04 5:28 ` [PATCH 04/10] drm/i915: Pixel Clock changes for DSI dual link Gaurav K Singh
2014-12-04 9:27 ` Jani Nikula
2014-12-05 8:43 ` [PATCH v3 " Gaurav K Singh
2014-12-05 16:33 ` [PATCH " Singh, Gaurav K
2014-12-05 16:54 ` Siluvery, Arun
2014-12-05 17:18 ` Singh, Gaurav K
2014-12-05 17:36 ` Jani Nikula
2014-12-05 17:48 ` Siluvery, Arun
2014-12-05 20:43 ` Singh, Gaurav K
2014-12-04 5:28 ` [PATCH 05/10] drm/i915: Dual link needs Shutdown and Turn on packet for both ports Gaurav K Singh
2014-12-04 10:41 ` Jani Nikula
2014-12-05 19:10 ` [PATCH 5/5] " Gaurav K Singh
2014-12-05 20:53 ` Daniel Vetter
2014-12-04 5:28 ` [PATCH 06/10] drm/i915: Enable DSI PLL for both DSI0 and DSI1 in case of dual link Gaurav K Singh
2014-12-04 11:17 ` Jani Nikula
2014-12-04 5:28 ` [PATCH 07/10] drm/i915: cck reg used for checking DSI Pll locked Gaurav K Singh
2014-12-04 11:22 ` Jani Nikula
2014-12-05 8:46 ` [PATCH v2 " Gaurav K Singh
2014-12-04 5:28 ` [PATCH 08/10] drm/i915: MIPI Timings related changes for dual link Gaurav K Singh
2014-12-04 11:24 ` Jani Nikula [this message]
2014-12-04 5:28 ` [PATCH 09/10] drm/i915: Update the DSI disable path to support dual link panel disabling Gaurav K Singh
2014-12-04 11:37 ` Jani Nikula
2014-12-05 8:52 ` [PATCH v4 " Gaurav K Singh
2014-12-04 5:28 ` [PATCH 10/10] drm/i915: Update the DSI enable path to support dual link panel enabling Gaurav K Singh
2014-12-04 11:49 ` Jani Nikula
2014-12-05 8:54 ` [PATCH v4 10/10] drm/i915: Update the DSI enable path to support dual Gaurav K Singh
2014-12-05 20:31 ` [PATCH " Gaurav K Singh
2014-12-05 4:04 ` [PATCH 10/10] drm/i915: Update the DSI enable path to support dual link panel enabling shuang.he
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=87r3wflksc.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=gaurav.k.singh@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=shobhit.kumar@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox