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
next prev parent reply other threads:[~2025-05-30 11:35 UTC|newest]
Thread overview: 19+ 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 10:31 ` ✓ i915.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-30 12:16 ` ✗ i915.CI.Full: failure for drm/i915/display: Implement wa_16011342517 (rev2) Patchwork
2025-05-31 15:25 ` ✗ Xe.CI.Full: " 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 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.