intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: Madhav Chauhan <madhav.chauhan@intel.com>
To: "Lisovskiy, Stanislav" <stanislav.lisovskiy@intel.com>,
	"intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>
Cc: "Nikula, Jani" <jani.nikula@intel.com>,
	"Zanoni, Paulo R" <paulo.r.zanoni@intel.com>,
	"Vivi, Rodrigo" <rodrigo.vivi@intel.com>
Subject: Re: [PATCH v5 01/13] drm/i915/icl: Configure lane sequencing of combo phy transmitter
Date: Mon, 10 Sep 2018 20:57:19 +0530	[thread overview]
Message-ID: <8fed5cf3-a1fe-3ae2-61b5-283bb99940cf@intel.com> (raw)
In-Reply-To: <00f819b1142b75ccbf272f924a02bddc4d8e7708.camel@intel.com>

On 9/10/2018 5:50 PM, Lisovskiy, Stanislav wrote:
> On Tue, 2018-07-10 at 15:10 +0530, Madhav Chauhan wrote:
>> This patch set the loadgen select and latency optimization for
>> aux and transmit lanes of combo phy transmitters. It will be
>> used for MIPI DSI HS operations.
>>
>> v2: Rebase
>>
>> Signed-off-by: Madhav Chauhan <madhav.chauhan@intel.com>
>> ---
>>   drivers/gpu/drm/i915/icl_dsi.c | 38
>> ++++++++++++++++++++++++++++++++++++++
>>   1 file changed, 38 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/icl_dsi.c
>> b/drivers/gpu/drm/i915/icl_dsi.c
>> index 13830e4..a571339 100644
>> --- a/drivers/gpu/drm/i915/icl_dsi.c
>> +++ b/drivers/gpu/drm/i915/icl_dsi.c
>> @@ -105,10 +105,48 @@ static void gen11_dsi_power_up_lanes(struct
>> intel_encoder *encoder)
>>   	}
>>   }
>>   
>> +static void gen11_dsi_config_phy_lanes_sequence(struct intel_encoder
>> *encoder)
>> +{
>> +	struct drm_i915_private *dev_priv = to_i915(encoder-
>>> base.dev);
>> +	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder-
>>> base);
>> +	enum port port;
>> +	u32 tmp;
>> +	int lane;
>> +
>> +	/* Step 4b(i) set loadgen select for transmit and aux lanes
>> */
>> +	for_each_dsi_port(port, intel_dsi->ports) {
>> +		tmp = I915_READ(ICL_PORT_TX_DW4_AUX(port));
>> +		tmp &= ~LOADGEN_SELECT;
>> +		I915_WRITE(ICL_PORT_TX_DW4_AUX(port), tmp);
>> +		for (lane = 0; lane <= 3; lane++) {
>> +			tmp = I915_READ(ICL_PORT_TX_DW4_LN(port,
>> lane));
>> +			tmp &= ~LOADGEN_SELECT;
>> +			if (lane != 2)
>> +				tmp |= LOADGEN_SELECT;
>> +			I915_WRITE(ICL_PORT_TX_DW4_LN(port, lane),
>> tmp);
>> +		}
>> +	}
>> +
>> +	/* Step 4b(ii) set latency optimization for transmit and aux
>> lanes */
>> +	for_each_dsi_port(port, intel_dsi->ports) {
>> +		tmp = I915_READ(ICL_PORT_TX_DW2_AUX(port));
>> +		tmp &= ~FRC_LATENCY_OPTIM_MASK;
>> +		tmp |= FRC_LATENCY_OPTIM_VAL(0x5);
>> +		I915_WRITE(ICL_PORT_TX_DW2_AUX(port), tmp);
>> +		tmp = I915_READ(ICL_PORT_TX_DW2_LN0(port));
>> +		tmp &= ~FRC_LATENCY_OPTIM_MASK;
>> +		tmp |= FRC_LATENCY_OPTIM_VAL(0x5);
>> +		I915_WRITE(ICL_PORT_TX_DW2_GRP(port), tmp);
>> +	}
>> +}
>>
> I think bspec states that latency optimization should be set only for
> Transmit lanes 0, 1, 3. Is it fine to use a group access(i.e
> ICL_PORT_TX_DW2_GRP) here? I think it states also that no latency
> optimization is needed for the clock lane.

There is a separate comment added in BSPEC :
"The Latency Optimization of the Clock Lane can be either left at it's 
default value ('h0)
or programmed to the same value as the other lanes. If programmed with 
the same
value as the other lanes,  then the Group access can be used for 
PORT_TX_DW2 programming"

Regards,
Madhav

>

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

  reply	other threads:[~2018-09-10 15:27 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-10  9:40 [PATCH v5 00/13] ICELAKE DSI DRIVER Madhav Chauhan
2018-07-10  9:40 ` [PATCH v5 01/13] drm/i915/icl: Configure lane sequencing of combo phy transmitter Madhav Chauhan
2018-07-19 16:11   ` Ville Syrjälä
2018-07-19 18:35     ` Chauhan, Madhav
2018-07-27 11:57       ` Chauhan, Madhav
2018-09-11 17:46         ` Jani Nikula
2018-09-12  6:32           ` Madhav Chauhan
2018-09-10 12:20   ` Lisovskiy, Stanislav
2018-09-10 15:27     ` Madhav Chauhan [this message]
2018-09-11  8:08       ` Lisovskiy, Stanislav
2018-07-10  9:40 ` [PATCH v5 02/13] drm/i915/icl: DSI vswing programming sequence Madhav Chauhan
2018-09-06 14:01   ` [v5, " Kulkarni, Vandita
2018-09-10  7:43     ` Madhav Chauhan
2018-09-11 18:16       ` Jani Nikula
2018-09-12  6:34         ` Madhav Chauhan
2018-09-11 18:50   ` [PATCH v5 " Jani Nikula
2018-09-12  9:03     ` Madhav Chauhan
2018-09-12  9:10       ` Jani Nikula
2018-07-10  9:40 ` [PATCH v5 03/13] drm/i915/icl: Enable DDI Buffer Madhav Chauhan
2018-09-11 18:54   ` Jani Nikula
2018-09-12  9:06     ` Madhav Chauhan
2018-09-12  9:10       ` Jani Nikula
2018-07-10  9:40 ` [PATCH v5 04/13] drm/i915/icl: Define T_INIT_MASTER registers Madhav Chauhan
2018-09-11 19:18   ` Jani Nikula
2018-07-10  9:40 ` [PATCH v5 05/13] drm/i915/icl: Program " Madhav Chauhan
2018-09-11 19:17   ` Jani Nikula
2018-07-10  9:40 ` [PATCH v5 06/13] drm/i915/icl: Define data/clock lanes dphy timing registers Madhav Chauhan
2018-09-11 19:14   ` Jani Nikula
2018-09-12  9:11     ` Madhav Chauhan
2018-07-10  9:40 ` [PATCH v5 07/13] drm/i915/icl: Program DSI clock and data lane timing params Madhav Chauhan
2018-07-19 16:17   ` Ville Syrjälä
2018-07-10  9:40 ` [PATCH v5 08/13] drm/i915/icl: Define TA_TIMING_PARAM registers Madhav Chauhan
2018-09-11 19:23   ` Jani Nikula
2018-09-12  9:13     ` Madhav Chauhan
2018-07-10  9:40 ` [PATCH v5 09/13] drm/i915/icl: Program " Madhav Chauhan
2018-07-19 16:21   ` Ville Syrjälä
2018-07-20  8:08     ` Chauhan, Madhav
2018-09-11 19:26       ` Jani Nikula
2018-09-12  9:25         ` Madhav Chauhan
2018-09-12  9:39           ` Jani Nikula
2018-07-10  9:40 ` [PATCH v5 10/13] drm/i915/icl: Get DSI transcoder for a given port Madhav Chauhan
2018-07-10  9:40 ` [PATCH v5 11/13] drm/i915/icl: Add macros for MMIO of DSI transcoder registers Madhav Chauhan
2018-07-19 16:22   ` Ville Syrjälä
2018-07-20  8:55     ` Chauhan, Madhav
2018-09-12  9:36     ` Madhav Chauhan
2018-09-12 18:00       ` Ville Syrjälä
2018-09-14  6:12         ` Madhav Chauhan
2018-09-14 12:25           ` Ville Syrjälä
2018-09-14 13:06             ` Madhav Chauhan
2018-09-14 13:27               ` Madhav Chauhan
2018-09-14 13:41                 ` Ville Syrjälä
2018-07-10  9:40 ` [PATCH v5 12/13] drm/i915/icl: Define TRANS_DSI_FUNC_CONF register Madhav Chauhan
2018-09-11 19:30   ` Jani Nikula
2018-09-12  9:35     ` Madhav Chauhan
2018-09-12  9:47       ` Jani Nikula
2018-07-10  9:40 ` [PATCH v5 13/13] drm/i915/icl: Configure DSI transcoders Madhav Chauhan
2018-07-10 10:46 ` ✗ Fi.CI.CHECKPATCH: warning for ICELAKE DSI DRIVER (rev5) Patchwork
2018-07-10 10:51 ` ✗ Fi.CI.SPARSE: " Patchwork
2018-07-10 11:04 ` ✓ Fi.CI.BAT: success " Patchwork
2018-07-10 16:28 ` ✓ Fi.CI.IGT: " Patchwork
2018-09-11 19:35 ` [PATCH v5 00/13] ICELAKE DSI DRIVER Jani Nikula
2018-09-12  6:16   ` Madhav Chauhan
2018-09-12  7:31     ` Jani Nikula

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=8fed5cf3-a1fe-3ae2-61b5-283bb99940cf@intel.com \
    --to=madhav.chauhan@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@intel.com \
    --cc=paulo.r.zanoni@intel.com \
    --cc=rodrigo.vivi@intel.com \
    --cc=stanislav.lisovskiy@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;
as well as URLs for NNTP newsgroup(s).