All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@intel.com>
To: Madhav Chauhan <madhav.chauhan@intel.com>,
	intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH v7 05/23] drm/i915/icl: Make common DSI functions available
Date: Tue, 16 Oct 2018 15:39:49 +0300	[thread overview]
Message-ID: <87h8hmkqui.fsf@intel.com> (raw)
In-Reply-To: <f122fb74-508c-3115-8e34-0313fd694927@intel.com>

On Tue, 16 Oct 2018, Madhav Chauhan <madhav.chauhan@intel.com> wrote:
> On 10/15/2018 7:57 PM, Jani Nikula wrote:
>> From: Madhav Chauhan <madhav.chauhan@intel.com>
>>
>> This patch moves couple of legacy DSI functions to header and common DSI
>> files so that they can be re-used by Gen11 DSI. No functional change.
>>
>> v2 by Jani:
>>   - Move intel_dsi_msleep() to intel_dsi_vbt.c
>
> This will be used by icl dsi as well and and delay is directly passed
> Shouldn't we have this inside intel_dsi.c??
> Or
> Because seq version from VBT is getting checked inside this function,
> so that is taking the precedence??

I had it in intel_dsi.c at first, but decided on intel_dsi_vbt.c instead
because it does have a dependency on the VBT. And I presume on ICL this
will be a NOP due to v3+ sequence.

BR,
Jani.




>
> Regards,
> Madhav
>
>> Signed-off-by: Madhav Chauhan <madhav.chauhan@intel.com>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> ---
>>   drivers/gpu/drm/i915/intel_dsi.h     | 11 +++++++++++
>>   drivers/gpu/drm/i915/intel_dsi_vbt.c | 11 +++++++++++
>>   drivers/gpu/drm/i915/vlv_dsi.c       | 21 ---------------------
>>   3 files changed, 22 insertions(+), 21 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/intel_dsi.h b/drivers/gpu/drm/i915/intel_dsi.h
>> index 0d911a4adfaa..d7c0c599b52d 100644
>> --- a/drivers/gpu/drm/i915/intel_dsi.h
>> +++ b/drivers/gpu/drm/i915/intel_dsi.h
>> @@ -129,6 +129,16 @@ static inline struct intel_dsi *enc_to_intel_dsi(struct drm_encoder *encoder)
>>   	return container_of(encoder, struct intel_dsi, base.base);
>>   }
>>   
>> +static inline bool is_vid_mode(struct intel_dsi *intel_dsi)
>> +{
>> +	return intel_dsi->operation_mode == INTEL_DSI_VIDEO_MODE;
>> +}
>> +
>> +static inline bool is_cmd_mode(struct intel_dsi *intel_dsi)
>> +{
>> +	return intel_dsi->operation_mode == INTEL_DSI_COMMAND_MODE;
>> +}
>> +
>>   /* intel_dsi.c */
>>   int intel_dsi_bitrate(const struct intel_dsi *intel_dsi);
>>   int intel_dsi_tlpx_ns(const struct intel_dsi *intel_dsi);
>> @@ -162,5 +172,6 @@ bool intel_dsi_vbt_init(struct intel_dsi *intel_dsi, u16 panel_id);
>>   int intel_dsi_vbt_get_modes(struct intel_dsi *intel_dsi);
>>   void intel_dsi_vbt_exec_sequence(struct intel_dsi *intel_dsi,
>>   				 enum mipi_seq seq_id);
>> +void intel_dsi_msleep(struct intel_dsi *intel_dsi, int msec);
>>   
>>   #endif /* _INTEL_DSI_H */
>> diff --git a/drivers/gpu/drm/i915/intel_dsi_vbt.c b/drivers/gpu/drm/i915/intel_dsi_vbt.c
>> index b0d8548f0462..5e16b4c5f531 100644
>> --- a/drivers/gpu/drm/i915/intel_dsi_vbt.c
>> +++ b/drivers/gpu/drm/i915/intel_dsi_vbt.c
>> @@ -481,6 +481,17 @@ void intel_dsi_vbt_exec_sequence(struct intel_dsi *intel_dsi,
>>   	}
>>   }
>>   
>> +void intel_dsi_msleep(struct intel_dsi *intel_dsi, int msec)
>> +{
>> +	struct drm_i915_private *dev_priv = to_i915(intel_dsi->base.base.dev);
>> +
>> +	/* For v3 VBTs in vid-mode the delays are part of the VBT sequences */
>> +	if (is_vid_mode(intel_dsi) && dev_priv->vbt.dsi.seq_version >= 3)
>> +		return;
>> +
>> +	msleep(msec);
>> +}
>> +
>>   int intel_dsi_vbt_get_modes(struct intel_dsi *intel_dsi)
>>   {
>>   	struct intel_connector *connector = intel_dsi->attached_connector;
>> diff --git a/drivers/gpu/drm/i915/vlv_dsi.c b/drivers/gpu/drm/i915/vlv_dsi.c
>> index dbca30460a6b..ee0cd5d0bf91 100644
>> --- a/drivers/gpu/drm/i915/vlv_dsi.c
>> +++ b/drivers/gpu/drm/i915/vlv_dsi.c
>> @@ -290,16 +290,6 @@ static void band_gap_reset(struct drm_i915_private *dev_priv)
>>   	mutex_unlock(&dev_priv->sb_lock);
>>   }
>>   
>> -static inline bool is_vid_mode(struct intel_dsi *intel_dsi)
>> -{
>> -	return intel_dsi->operation_mode == INTEL_DSI_VIDEO_MODE;
>> -}
>> -
>> -static inline bool is_cmd_mode(struct intel_dsi *intel_dsi)
>> -{
>> -	return intel_dsi->operation_mode == INTEL_DSI_COMMAND_MODE;
>> -}
>> -
>>   static bool intel_dsi_compute_config(struct intel_encoder *encoder,
>>   				     struct intel_crtc_state *pipe_config,
>>   				     struct drm_connector_state *conn_state)
>> @@ -746,17 +736,6 @@ static void intel_dsi_prepare(struct intel_encoder *intel_encoder,
>>   			      const struct intel_crtc_state *pipe_config);
>>   static void intel_dsi_unprepare(struct intel_encoder *encoder);
>>   
>> -static void intel_dsi_msleep(struct intel_dsi *intel_dsi, int msec)
>> -{
>> -	struct drm_i915_private *dev_priv = to_i915(intel_dsi->base.base.dev);
>> -
>> -	/* For v3 VBTs in vid-mode the delays are part of the VBT sequences */
>> -	if (is_vid_mode(intel_dsi) && dev_priv->vbt.dsi.seq_version >= 3)
>> -		return;
>> -
>> -	msleep(msec);
>> -}
>> -
>>   /*
>>    * Panel enable/disable sequences from the VBT spec.
>>    *
>

-- 
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2018-10-16 12:40 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-15 14:27 [PATCH v7 00/23] drm/i915/icl: dsi enabling Jani Nikula
2018-10-15 14:27 ` [PATCH v7 01/23] drm/i915: make encoder enable and disable hooks optional Jani Nikula
2018-10-16  6:36   ` Madhav Chauhan
2018-10-16 12:41   ` [PATCH] " Jani Nikula
2018-10-15 14:27 ` [PATCH v7 02/23] drm/i915/dsi: refactor bitrate calculations in intel_dsi_vbt_init() Jani Nikula
2018-10-16  7:53   ` Madhav Chauhan
2018-10-16 12:44     ` Jani Nikula
2018-10-16 12:53       ` Madhav Chauhan
2018-10-15 14:27 ` [PATCH v7 03/23] drm/i915/dsi: abstract dphy parameter init Jani Nikula
2018-10-16  8:29   ` Madhav Chauhan
2018-10-18 12:20     ` Jani Nikula
2018-10-15 14:27 ` [PATCH v7 04/23] drm/i915/dsi: abstract intel_dsi_tlpx_ns() Jani Nikula
2018-10-16  8:39   ` Madhav Chauhan
2018-10-16 13:06     ` Jani Nikula
2018-10-20 10:38       ` Madhav Chauhan
2018-10-15 14:27 ` [PATCH v7 05/23] drm/i915/icl: Make common DSI functions available Jani Nikula
2018-10-16  9:04   ` Madhav Chauhan
2018-10-16 12:39     ` Jani Nikula [this message]
2018-10-16 12:56       ` Madhav Chauhan
2018-10-15 14:27 ` [PATCH v7 06/23] drm/i915/icl: Program DSI clock and data lane timing params Jani Nikula
2018-10-20 10:57   ` Madhav Chauhan
2018-10-15 14:27 ` [PATCH v7 07/23] drm/i915/icl: Program TA_TIMING_PARAM registers Jani Nikula
2018-10-20 10:59   ` Madhav Chauhan
2018-10-15 14:27 ` [PATCH v7 08/23] drm/i915/icl: Get DSI transcoder for a given port Jani Nikula
2018-10-15 14:27 ` [PATCH v7 09/23] drm/i915/icl: Add macros for MMIO of DSI transcoder registers Jani Nikula
2018-10-15 14:27 ` [PATCH v7 10/23] drm/i915/icl: Define TRANS_DSI_FUNC_CONF register Jani Nikula
2018-10-20 11:08   ` Madhav Chauhan
2018-10-15 14:27 ` [PATCH v7 11/23] drm/i915/icl: Configure DSI transcoders Jani Nikula
2018-10-20 11:16   ` Madhav Chauhan
2018-10-22  6:52     ` Jani Nikula
2018-10-15 14:28 ` [PATCH v7 12/23] drm/i915/icl: Define TRANS_DDI_FUNC_CTL DSI registers Jani Nikula
2018-10-22 11:01   ` Madhav Chauhan
2018-10-15 14:28 ` [PATCH v7 13/23] drm/i915/icl: Program TRANS_DDI_FUNC_CTL registers Jani Nikula
2018-10-22 11:05   ` Madhav Chauhan
2018-10-15 14:28 ` [PATCH v7 14/23] drm/i915/icl: Define DSI transcoder timing registers Jani Nikula
2018-10-22 11:10   ` Madhav Chauhan
2018-10-15 14:28 ` [PATCH v7 15/23] drm/i915/icl: Configure DSI transcoder timings Jani Nikula
2018-10-22 11:15   ` Madhav Chauhan
2018-10-15 14:28 ` [PATCH v7 16/23] drm/i915/icl: Define TRANS_CONF register for DSI Jani Nikula
2018-10-22 11:25   ` Madhav Chauhan
2018-10-15 14:28 ` [PATCH v7 17/23] drm/i915/icl: Enable DSI transcoders Jani Nikula
2018-10-22 11:27   ` Madhav Chauhan
2018-10-15 14:28 ` [PATCH v7 18/23] drm/i915/icl: Define DSI panel programming registers Jani Nikula
2018-10-22 12:33   ` Jani Nikula
2018-10-15 14:28 ` [PATCH v7 19/23] drm/i915/icl: Set max return packet size for DSI panel Jani Nikula
2018-10-15 14:28 ` [PATCH v7 20/23] drm/i915/icl: Power on " Jani Nikula
2018-10-15 14:28 ` [PATCH v7 21/23] drm/i915/icl: Wait for header/payload credits release Jani Nikula
2018-10-15 14:28 ` [PATCH v7 22/23] drm/i915/icl: Ensure all cmd/data disptached to panel Jani Nikula
2018-10-15 14:28 ` [PATCH v7 23/23] drm/i915/icl: Turn ON panel backlight Jani Nikula
2018-10-15 14:44 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915/icl: dsi enabling Patchwork
2018-10-15 14:51 ` ✗ Fi.CI.SPARSE: " Patchwork
2018-10-15 15:09 ` ✗ Fi.CI.BAT: failure " Patchwork
2018-10-16 13:36 ` [PATCH v7 00/23] " Jani Nikula
2018-10-16 13:45 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915/icl: dsi enabling (rev2) Patchwork
2018-10-16 13:52 ` ✗ Fi.CI.SPARSE: " Patchwork
2018-10-16 14:05 ` ✓ Fi.CI.BAT: success " Patchwork
2018-10-16 16:12 ` ✗ Fi.CI.IGT: failure " Patchwork
2018-10-17 10:51 ` ✓ Fi.CI.BAT: success " Patchwork
2018-10-17 13:29 ` ✓ Fi.CI.IGT: " 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=87h8hmkqui.fsf@intel.com \
    --to=jani.nikula@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=madhav.chauhan@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.