All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@linux.intel.com>
To: Arun R Murthy <arun.r.murthy@intel.com>,
	intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org
Cc: Arun R Murthy <arun.r.murthy@intel.com>,
	Srikanth V NagaVenkata <nagavenkata.srikanth.v@intel.com>,
	Suraj Kandpal <suraj.kandpal@intel.com>
Subject: Re: [PATCHv3 2/3] drm/i915/dp: read Aux RD interval just before setting the FFE preset
Date: Wed, 25 Sep 2024 11:48:11 +0300	[thread overview]
Message-ID: <874j643yr8.fsf@intel.com> (raw)
In-Reply-To: <20240925034432.1777029-3-arun.r.murthy@intel.com>

On Wed, 25 Sep 2024, Arun R Murthy <arun.r.murthy@intel.com> wrote:
> Figure 3-52: 128b132b DP DPTC LANEx_CHANNEL_EQ_DONE Sequence of
> DP2.1a spec.
> After reading LANEx_CHANNEL_EQ_DONE, read the FFE presets.
> AUX_RD_INTERVAL and then write the new FFE presets.

Nope. That's just not what the figure has.

> Co-developed-by: Srikanth V NagaVenkata <nagavenkata.srikanth.v@intel.com>
> Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
> Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
> ---
>  .../gpu/drm/i915/display/intel_dp_link_training.c  | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_training.c b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
> index f41b69840ad9..1bac00e46533 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
> @@ -1419,12 +1419,6 @@ intel_dp_128b132b_lane_eq(struct intel_dp *intel_dp,
>  	for (try = 0; try < max_tries; try++) {
>  		fsleep(delay_us);
>  
> -		/*
> -		 * The delay may get updated. The transmitter shall read the
> -		 * delay before link status during link training.
> -		 */
> -		delay_us = drm_dp_128b132b_read_aux_rd_interval(&intel_dp->aux);
> -
>  		if (drm_dp_dpcd_read_link_status(&intel_dp->aux, link_status) < 0) {
>  			lt_err(intel_dp, DP_PHY_DPRX, "Failed to read link status\n");
>  			return false;
> @@ -1451,8 +1445,14 @@ intel_dp_128b132b_lane_eq(struct intel_dp *intel_dp,
>  		if (time_after(jiffies, deadline))
>  			timeout = true; /* try one last time after deadline */
>  
> -		/* Update signal levels and training set as requested. */
>  		intel_dp_get_adjust_train(intel_dp, crtc_state, DP_PHY_DPRX, link_status);
> +		/*
> +		 * During LT, Tx shall read AUX_RD_INTERVAL just before writing the new FFE
> +		 * presets.
> +		 */
> +		delay_us = drm_dp_128b132b_read_aux_rd_interval(&intel_dp->aux);

I said this should be put *above* intel_dp_get_adjust_train(), and you
agreed. There was even a patch to that effect, and that's what I thought
we were going by.

It's both logical and per spec to keep the TX FFE PRESET read and write
together, and AUX RD INTERVAL read *before* them.

Where does the spec say, "read AUX_RD_INTERVAL just before writing the
new FFE presets"? I don't think it does.

The box in figure 3-52 has:

- Read AUX_RD_INTERVAL value

- Adjust the TX_FFE_PRESET_VALUE setting as requested by a
  DPRX/LTTPR_UFP

The "as requested by" part involves reading TX FFE PRESET to know what
the DPRX requested.

I don't see anything wrong in the original comment, just the placement
of the read.

There have been a multitude of different patches with random version
numbers with no changelog and I don't even know what I'm supposed to be
reviewing anymore.

BR,
Jani.


> +
> +		/* Update signal levels and training set as requested. */
>  		if (!intel_dp_update_link_train(intel_dp, crtc_state, DP_PHY_DPRX)) {
>  			lt_err(intel_dp, DP_PHY_DPRX, "Failed to update TX FFE settings\n");
>  			return false;

-- 
Jani Nikula, Intel

  reply	other threads:[~2024-09-25  8:48 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-25  3:44 [PATCHv2 0/3] Some correction in the DP Link Training sequence Arun R Murthy
2024-09-25  3:44 ` [PATCHv2 1/3] drm/i915/dp: use fsleep instead of usleep_range for LT Arun R Murthy
2024-09-25  3:44 ` [PATCHv3 2/3] drm/i915/dp: read Aux RD interval just before setting the FFE preset Arun R Murthy
2024-09-25  8:48   ` Jani Nikula [this message]
2024-09-25 12:04     ` Murthy, Arun R
2024-10-11  4:58   ` [PATCHv4] " Arun R Murthy
2024-09-25  3:44 ` [PATCHv2 3/3] drm/i915/dp: Include the time taken by AUX Tx for timeout Arun R Murthy
2024-09-26  7:52 ` ✓ CI.Patch_applied: success for Some correction in the DP Link Training sequence (rev3) Patchwork
2024-09-26  7:53 ` ✗ CI.checkpatch: warning " Patchwork
2024-09-26  7:54 ` ✓ CI.KUnit: success " Patchwork
2024-09-26  8:05 ` ✓ CI.Build: " Patchwork
2024-09-26  8:07 ` ✓ CI.Hooks: " Patchwork
2024-09-26  8:09 ` ✗ CI.checksparse: warning " Patchwork
2024-09-26  8:38 ` ✗ CI.BAT: failure " Patchwork
2024-09-26 22:44 ` ✗ CI.FULL: " Patchwork
2024-09-27  0:31 ` ✓ Fi.CI.BAT: success " Patchwork
2024-09-27  0:32 ` ✗ Fi.CI.CHECKPATCH: warning " Patchwork
2024-09-27 23:22 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-09-28  5:22 ` Patchwork
2024-10-11  5:13 ` ✓ CI.Patch_applied: success for Some correction in the DP Link Training sequence (rev4) Patchwork
2024-10-11  5:13 ` ✗ CI.checkpatch: warning " Patchwork
2024-10-11  5:14 ` ✓ CI.KUnit: success " Patchwork
2024-10-11  5:26 ` ✓ CI.Build: " Patchwork
2024-10-11  5:28 ` ✓ CI.Hooks: " Patchwork
2024-10-11  5:30 ` ✗ CI.checksparse: warning " Patchwork
2024-10-11  5:54 ` ✓ CI.BAT: success " Patchwork
2024-10-11  6:44 ` ✗ CI.FULL: failure " Patchwork
2024-10-11 10:24 ` ✓ Fi.CI.BAT: success " Patchwork
2024-10-11 10:26 ` ✗ Fi.CI.CHECKPATCH: warning " Patchwork
2024-10-12  1:00 ` ✗ Fi.CI.IGT: failure " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2024-09-24  6:36 [PATCHv2 0/3] Some correction in the DP Link Training sequence Arun R Murthy
2024-09-24  6:36 ` [PATCHv3 2/3] drm/i915/dp: read Aux RD interval just before setting the FFE preset Arun R Murthy

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=874j643yr8.fsf@intel.com \
    --to=jani.nikula@linux.intel.com \
    --cc=arun.r.murthy@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=nagavenkata.srikanth.v@intel.com \
    --cc=suraj.kandpal@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.