Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Nemesa Garg <nemesa.garg@intel.com>
Cc: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org
Subject: Re: [PATCH] drm/i915/display: Implement wa_16011342517
Date: Fri, 30 May 2025 14:35:39 +0300	[thread overview]
Message-ID: <aDmYCwbnTG38UiL1@intel.com> (raw)
In-Reply-To: <20250530091240.56570-1-nemesa.garg@intel.com>

On Fri, May 30, 2025 at 02:42:40PM +0530, Nemesa Garg wrote:
> While doing voltage swing for type-c phy
> for DP 1.62 and HDMI write the
> LOADGEN_SHARING_PMD_DISABLE bit to 1.
> 
> -v2: Update commit message.
>      Add bspec[Suraj]
> 
> Bspec: 55359
> Signed-off-by: Nemesa Garg <nemesa.garg@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_ddi.c         | 16 ++++++++++++++++
>  .../gpu/drm/i915/display/intel_dkl_phy_regs.h    |  4 ++++
>  2 files changed, 20 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> index 4c845dd410a2..2cdd51cdfe17 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -77,6 +77,7 @@
>  #include "intel_psr.h"
>  #include "intel_quirks.h"
>  #include "intel_snps_phy.h"
> +#include "intel_step.h"
>  #include "intel_tc.h"
>  #include "intel_vdsc.h"
>  #include "intel_vdsc_regs.h"
> @@ -1439,6 +1440,21 @@ static void tgl_dkl_phy_set_signal_levels(struct intel_encoder *encoder,
>  					  DKL_TX_DPCNTL2_CFG_LOADGENSELECT_TX2_MASK,
>  					  val);
>  		}
> +
> +		/* Wa_16011342517:adl-p */

That one is tagged as 'pre-prod stepping' in bspec. Can someone try
to figure out which steppings are actually pre-prod and which are not?
The bspec page that is supposed to have that information has become
completely useless for new platforms :(

> +		if (display->platform.alderlake_p &&
> +		    IS_DISPLAY_STEP(display, STEP_A0, STEP_D0)) {
> +			if ((intel_crtc_has_type(crtc_state, INTEL_OUTPUT_HDMI) &&
> +			     crtc_state->port_clock == 594000) ||

The w/a says to do it for HDMI in general. Hmm, Windows does seem to do the
link rate change for HDMI as well though. Shrug.

> +			     (intel_crtc_has_type(crtc_state, INTEL_OUTPUT_DP) &&

Insufficient to catch all DP cases.

> +			     crtc_state->port_clock == 162000)) {
> +				intel_dkl_phy_rmw(display, DKLP_PCS_GLUE_TX_DPCNTL2(tc_port),
> +						  LOADGEN_SHARING_PMD_DISABLE, 1);
> +			} else {
> +				intel_dkl_phy_rmw(display, DKLP_PCS_GLUE_TX_DPCNTL2(tc_port),
> +						  LOADGEN_SHARING_PMD_DISABLE, 0);
> +			}
> +		}
>  	}

Windows seems to do this w/a before the DKL_TX_PMD_LANE_SUS write.
No idea if the order is meaningful or not, if yes we should do the
same, if not we should just combine this with the DKL_TX_DPCNTL2
loadgen programming we already do.

>  }
>  
> diff --git a/drivers/gpu/drm/i915/display/intel_dkl_phy_regs.h b/drivers/gpu/drm/i915/display/intel_dkl_phy_regs.h
> index 56085b32956d..70ad3f1b1289 100644
> --- a/drivers/gpu/drm/i915/display/intel_dkl_phy_regs.h
> +++ b/drivers/gpu/drm/i915/display/intel_dkl_phy_regs.h
> @@ -188,6 +188,10 @@ struct intel_dkl_phy_reg {
>  								 _DKL_CMN_UC_DW27)
>  #define  DKL_CMN_UC_DW27_UC_HEALTH			(0x1 << 15)
>  
> +#define _DKLP_PCS_GLUE_TX_DPCNTL2                       0xB68

No idea what these weird 0x168b?? addressed are that are listed in bspec.
The whole DKL register documentation is a complete mess, but this seems
to be just DKL_TX_DPCNTL2.

> +#define DKLP_PCS_GLUE_TX_DPCNTL2(tc_port)		_DKL_REG(tc_port, \
> +								 _DKLP_PCS_GLUE_TX_DPCNTL2)
> +#define LOADGEN_SHARING_PMD_DISABLE                     REG_BIT(12)
>  /*
>   * Each Dekel PHY is addressed through a 4KB aperture. Each PHY has more than
>   * 4KB of register space, so a separate index is programmed in HIP_INDEX_REG0
> -- 
> 2.25.1

-- 
Ville Syrjälä
Intel

  parent reply	other threads:[~2025-05-30 11:35 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-30  9:12 [PATCH] drm/i915/display: Implement wa_16011342517 Nemesa Garg
2025-05-30  9:40 ` ✓ CI.Patch_applied: success for drm/i915/display: Implement wa_16011342517 (rev2) Patchwork
2025-05-30  9:40 ` ✓ CI.checkpatch: " Patchwork
2025-05-30  9:41 ` ✓ CI.KUnit: " Patchwork
2025-05-30  9:52 ` ✓ CI.Build: " Patchwork
2025-05-30  9:54 ` ✓ CI.Hooks: " Patchwork
2025-05-30  9:56 ` ✓ CI.checksparse: " Patchwork
2025-05-30 10:17 ` ✓ Xe.CI.BAT: " Patchwork
2025-05-30 11:35 ` Ville Syrjälä [this message]
2025-06-04  8:54   ` [PATCH] drm/i915/display: Implement wa_16011342517 Garg, Nemesa
2025-06-04 10:44     ` Garg, Nemesa
2025-05-31 15:25 ` ✗ Xe.CI.Full: failure for drm/i915/display: Implement wa_16011342517 (rev2) Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2025-06-25  7:49 [PATCH] drm/i915/display: Implement wa_16011342517 Nemesa Garg
2025-05-16 14:31 Nemesa Garg
2025-05-29  7:12 ` Kandpal, Suraj
2025-05-29  7:47   ` Garg, Nemesa
2025-05-30  4:16     ` Kandpal, Suraj

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=aDmYCwbnTG38UiL1@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=nemesa.garg@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