From: Shobhit Kumar <shobhit.kumar@linux.intel.com>
To: Jani Nikula <jani.nikula@intel.com>, intel-gfx@lists.freedesktop.org
Cc: Shobhit Kumar <shobhit.kumar@intel.com>,
Thierry Reding <thierry.reding@gmail.com>
Subject: Re: [RFC PATCH 04/12] drm/i915/dsi: call wait_for_dsi_fifo_empty() for each dsi port
Date: Thu, 22 Jan 2015 16:25:33 +0530 [thread overview]
Message-ID: <54C0D725.7030307@linux.intel.com> (raw)
In-Reply-To: <b5e7139f6f92b7c4140e2b5699a51e58a2976e36.1421410274.git.jani.nikula@intel.com>
On 01/16/2015 05:57 PM, Jani Nikula wrote:
> Add port parameter to wait_for_dsi_fifo_empty, and call it for each dsi
> port.
>
> We can now remove the transitional intel_dsi_pipe_to_port() function.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-By: Shobhit Kumar <shobhit.kumar@intel.com>
> ---
> drivers/gpu/drm/i915/intel_dsi.c | 17 ++++++++++-------
> drivers/gpu/drm/i915/intel_dsi.h | 12 ------------
> 2 files changed, 10 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
> index e82cf5f65c9a..9b0eaa9db845 100644
> --- a/drivers/gpu/drm/i915/intel_dsi.c
> +++ b/drivers/gpu/drm/i915/intel_dsi.c
> @@ -42,13 +42,11 @@ static const struct intel_dsi_device intel_dsi_devices[] = {
> },
> };
>
> -static void wait_for_dsi_fifo_empty(struct intel_dsi *intel_dsi)
> +static void wait_for_dsi_fifo_empty(struct intel_dsi *intel_dsi, enum port port)
> {
> struct drm_encoder *encoder = &intel_dsi->base.base;
> struct drm_device *dev = encoder->dev;
> struct drm_i915_private *dev_priv = dev->dev_private;
> - struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc);
> - enum port port = intel_dsi_pipe_to_port(intel_crtc->pipe);
> u32 mask;
>
> mask = LP_CTRL_FIFO_EMPTY | HS_CTRL_FIFO_EMPTY |
> @@ -230,7 +228,8 @@ static void intel_dsi_enable(struct intel_encoder *encoder)
> if (intel_dsi->dev.dev_ops->enable)
> intel_dsi->dev.dev_ops->enable(&intel_dsi->dev);
>
> - wait_for_dsi_fifo_empty(intel_dsi);
> + for_each_dsi_port(port, intel_dsi->ports)
> + wait_for_dsi_fifo_empty(intel_dsi, port);
>
> intel_dsi_port_enable(encoder);
> }
> @@ -243,6 +242,7 @@ static void intel_dsi_pre_enable(struct intel_encoder *encoder)
> struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc);
> enum pipe pipe = intel_crtc->pipe;
> + enum port port;
> u32 tmp;
>
> DRM_DEBUG_KMS("\n");
> @@ -272,7 +272,8 @@ static void intel_dsi_pre_enable(struct intel_encoder *encoder)
> if (intel_dsi->dev.dev_ops->send_otp_cmds)
> intel_dsi->dev.dev_ops->send_otp_cmds(&intel_dsi->dev);
>
> - wait_for_dsi_fifo_empty(intel_dsi);
> + for_each_dsi_port(port, intel_dsi->ports)
> + wait_for_dsi_fifo_empty(intel_dsi, port);
>
> /* Enable port in pre-enable phase itself because as per hw team
> * recommendation, port should be enabled befor plane & pipe */
> @@ -315,7 +316,8 @@ static void intel_dsi_disable(struct intel_encoder *encoder)
> DRM_DEBUG_KMS("\n");
>
> if (is_vid_mode(intel_dsi)) {
> - wait_for_dsi_fifo_empty(intel_dsi);
> + for_each_dsi_port(port, intel_dsi->ports)
> + wait_for_dsi_fifo_empty(intel_dsi, port);
>
> intel_dsi_port_disable(encoder);
> msleep(2);
> @@ -344,7 +346,8 @@ static void intel_dsi_disable(struct intel_encoder *encoder)
> if (intel_dsi->dev.dev_ops->disable)
> intel_dsi->dev.dev_ops->disable(&intel_dsi->dev);
>
> - wait_for_dsi_fifo_empty(intel_dsi);
> + for_each_dsi_port(port, intel_dsi->ports)
> + wait_for_dsi_fifo_empty(intel_dsi, port);
> }
>
> static void intel_dsi_clear_device_ready(struct intel_encoder *encoder)
> diff --git a/drivers/gpu/drm/i915/intel_dsi.h b/drivers/gpu/drm/i915/intel_dsi.h
> index 8fe2064dd804..2bb8c46c7889 100644
> --- a/drivers/gpu/drm/i915/intel_dsi.h
> +++ b/drivers/gpu/drm/i915/intel_dsi.h
> @@ -137,18 +137,6 @@ struct intel_dsi {
> u16 panel_pwr_cycle_delay;
> };
>
> -/* XXX: Transitional before dual port configuration */
> -static inline enum port intel_dsi_pipe_to_port(enum pipe pipe)
> -{
> - if (pipe == PIPE_A)
> - return PORT_A;
> - else if (pipe == PIPE_B)
> - return PORT_C;
> -
> - WARN(1, "DSI on pipe %c, assuming port C\n", pipe_name(pipe));
> - return PORT_C;
> -}
> -
> #define for_each_dsi_port(__port, __ports_mask) \
> for ((__port) = PORT_A; (__port) < I915_MAX_PORTS; (__port)++) \
> if ((__ports_mask) & (1 << (__port)))
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2015-01-22 10:55 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-16 12:27 [RFC PATCH 00/12] drm/i915: port dsi over to drm panel/dsi frameworks Jani Nikula
2015-01-16 12:27 ` [RFC PATCH 01/12] drm/i915/dsi: call dpi_send_cmd() for each dsi port at a higher level Jani Nikula
2015-01-22 8:48 ` Shobhit Kumar
2015-01-16 12:27 ` [RFC PATCH 02/12] drm/i915/dsi: set max return packet size for each dsi port Jani Nikula
2015-01-22 10:53 ` Shobhit Kumar
2015-01-22 12:57 ` Jani Nikula
2015-01-22 13:01 ` [PATCH v2] " Jani Nikula
2015-01-23 2:07 ` Shobhit Kumar
2015-01-16 12:27 ` [RFC PATCH 03/12] drm/i915/dsi: move wait_for_dsi_fifo_empty to intel_dsi.c Jani Nikula
2015-01-22 9:01 ` Shobhit Kumar
2015-01-16 12:27 ` [RFC PATCH 04/12] drm/i915/dsi: call wait_for_dsi_fifo_empty() for each dsi port Jani Nikula
2015-01-22 10:55 ` Shobhit Kumar [this message]
2015-01-16 12:27 ` [RFC PATCH 05/12] drm/i915/dsi: remove unnecessary dsi device callbacks Jani Nikula
2015-01-22 11:23 ` Shobhit Kumar
2015-01-22 13:23 ` Jani Nikula
2015-01-23 9:44 ` Shobhit Kumar
2015-01-23 15:22 ` Daniel Vetter
2015-01-27 8:41 ` Shobhit Kumar
2015-01-27 13:09 ` Daniel Vetter
2015-01-27 13:13 ` Chris Wilson
2015-01-28 5:08 ` Shobhit Kumar
2015-01-28 9:17 ` Daniel Vetter
2015-01-16 12:27 ` [RFC PATCH 06/12] drm/i915/dsi: add some constness to vbt panel driver Jani Nikula
2015-01-22 11:25 ` Shobhit Kumar
2015-01-16 12:27 ` [RFC PATCH 07/12] drm/i915/dsi: switch to drm_panel interface Jani Nikula
2015-01-23 10:57 ` Shobhit Kumar
2015-01-23 15:31 ` Daniel Vetter
2015-01-27 8:52 ` Shobhit Kumar
2015-01-23 13:30 ` [PATCH v2] " Jani Nikula
2015-01-29 4:52 ` Shobhit Kumar
2015-01-16 12:27 ` [RFC PATCH 08/12] drm/i915/dsi: add drm mipi dsi host support Jani Nikula
2015-01-23 12:21 ` Shobhit Kumar
2015-01-16 12:27 ` [RFC PATCH 09/12] drm/i915/dsi: make the vbt panel driver use mipi_dsi_device for transfers Jani Nikula
2015-01-23 12:24 ` Shobhit Kumar
2015-01-16 12:27 ` [RFC PATCH 10/12] drm/i915/dsi: remove old read/write functions in favor of new stuff Jani Nikula
2015-01-23 12:25 ` Shobhit Kumar
2015-01-16 12:27 ` [RFC PATCH 11/12] drm/i915/dsi: move dpi_send_cmd() to intel_dsi.c and make it static Jani Nikula
2015-01-23 12:27 ` Shobhit Kumar
2015-01-16 12:27 ` [RFC PATCH 12/12] drm/i915/dsi: remove intel_dsi_cmd.c and the unused functions therein Jani Nikula
2015-01-23 12:28 ` Shobhit Kumar
2015-01-29 16:04 ` Daniel Vetter
2015-01-22 11:46 ` [RFC PATCH 00/12] drm/i915: port dsi over to drm panel/dsi frameworks Shobhit Kumar
2015-01-22 13:28 ` Jani Nikula
2015-01-23 2:13 ` Shobhit Kumar
2015-01-23 12:30 ` Shobhit Kumar
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=54C0D725.7030307@linux.intel.com \
--to=shobhit.kumar@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jani.nikula@intel.com \
--cc=shobhit.kumar@intel.com \
--cc=thierry.reding@gmail.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.