All of lore.kernel.org
 help / color / mirror / Atom feed
From: "jp_2422-git@yahoo.com" <jp_2422-git@yahoo.com>
To: "intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>,
	 Jani Nikula <jani.nikula@linux.intel.com>
Subject: Re: adlp_tc_phy_connect [i915] floods logs with drm_WARN_ON(tc->mode == TC_PORT_LEGACY) call traces
Date: Thu, 8 Oct 2026 12:13:26 +0000 (UTC)	[thread overview]
Message-ID: <2058729485.143579.1791461606363@mail.yahoo.com> (raw)
In-Reply-To: <fd77de823c5d30b4587676a7a71962f517979616@intel.com>

Ok, thanks. I 'll keep it just as a private fix in the absence a suitable bios update.


On Thursday, 8 October 2026 at 12:49:19 BST, Jani Nikula <jani.nikula@linux.intel.com> wrote: 





On Thu, 08 Oct 2026, "jp_2422-git@yahoo.com" <jp_2422-git@yahoo.com> wrote:
> The issue discussed at https://gitlab.freedesktop.org/drm/i915/kernel/-/work_items/12246 affects a number of laptops and Bios combinations, and appears to be the result of buggy Bios'es where the Intel VBT table is listing non-existent Display Ports on Alder Lake laptops.
>
> The following patch skips the creation of the non-existent port early
> on in intel_ddi_init(), so preventing the logs from being flooded with
> the warnings. It uses a new i915 display parameter to allow the user
> to select the type c port to skip with a boot option, and fixes the
> problem. Please can you advise whether you would accept this patch.

Thanks for the patch, but sorry, module parameters aren't the solution
to work around issues.

BR,
Jani.

>
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> index a46ab5d3d..5b9ebdecd 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -50,6 +50,7 @@
> #include "intel_ddi_buf_trans.h"
> #include "intel_de.h"
> #include "intel_dip.h"
> +#include "intel_display_params.h"
> #include "intel_display_power.h"
> #include "intel_display_regs.h"
> #include "intel_display_types.h"
> @@ -5239,6 +5240,24 @@ static const char *intel_ddi_encoder_name(struct intel_display *display,
> return seq_buf_str(s);
> }
>
> +static enum port get_skip_tc_port_param(struct intel_display *display)
> +{
> + const char *param;
> + enum port port;
> +
> + param=display->params.skip_tc_port;
> +
> + if(param==NULL)
> + return PORT_NONE;
> +
> + for_each_port(port) {
> + if (port_name(port)==*param)
> + return port;
> + }
> +
> + return PORT_NONE;
> +}
> +
> void intel_ddi_init(struct intel_display *display,
> const struct intel_bios_encoder_data *devdata)
> {
> @@ -5249,11 +5268,20 @@ void intel_ddi_init(struct intel_display *display,
> enum port port;
> enum phy phy;
> u32 ddi_buf_ctl;
> + enum port skip_tc_port_param;
>
> port = intel_bios_encoder_port(devdata);
> if (port == PORT_NONE)
> return;
>
> + skip_tc_port_param=get_skip_tc_port_param(display);
> +
> + if(port == skip_tc_port_param) {
> + drm_dbg_kms(display->drm,
> + "Skipping creation of Port %c due to the skip_tc_port parameter\n", port_name(port));
> + return;
> + }
> +
> if (!port_strap_detected(display, port)) {
> drm_dbg_kms(display->drm,
> "Port %c strap not detected\n", port_name(port));
> diff --git a/drivers/gpu/drm/i915/display/intel_display_params.c b/drivers/gpu/drm/i915/display/intel_display_params.c
> index ca0ef466b..2f516ca4e 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_params.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_params.c
> @@ -143,6 +143,10 @@ intel_display_param_named_unsafe(enable_dmc_wl, int, 0400,
> "(-1=use per-chip default, 0=disabled, 1=enabled, 2=match any register, 3=always locked) "
> "Default: -1");
>
> +intel_display_param_named_unsafe(skip_tc_port, charp, 0400,
> + "Skip the use of the specified Type-C port "
> + " (single letter in the range [A - I])");
> +
> __maybe_unused
> static void _param_print_bool(struct drm_printer *p, const char *driver_name,
> const char *name, bool val)
> diff --git a/drivers/gpu/drm/i915/display/intel_display_params.h b/drivers/gpu/drm/i915/display/intel_display_params.h
> index 5c5a1a135..6356438f6 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_params.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_params.h
> @@ -51,6 +51,7 @@ struct drm_printer;
> param(bool, psr_safest_params, false, 0400) \
> param(bool, enable_psr2_sel_fetch, true, 0400) \
> param(int, enable_dmc_wl, -1, 0400) \
> + param(char *, skip_tc_port, NULL, 0400) \
> /*
> * Debugfs-only knob (per-device): no matching module_param is registered
> * in intel_display_params.c on purpose. Runtime-toggle via debugfs.
>
>
>
>
>
>
>
>
>
>

-- 
Jani Nikula, Intel

  parent reply	other threads:[~2026-10-08 12:13 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <348041964.128703.1791459745347.ref@mail.yahoo.com>
2026-10-08 11:42 ` adlp_tc_phy_connect [i915] floods logs with drm_WARN_ON(tc->mode == TC_PORT_LEGACY) call traces jp_2422-git
2026-10-08 11:49   ` Jani Nikula
2026-10-08 11:51     ` Jani Nikula
2026-10-08 12:13     ` jp_2422-git [this message]
2026-10-12 10:28       ` Fw: " jp_2422-git
2026-10-08 12:15 ` ✗ LGCI.VerificationFailed: failure for " Patchwork
2026-10-12 13:26 ` ✗ LGCI.VerificationFailed: failure for adlp_tc_phy_connect [i915] floods logs with drm_WARN_ON(tc->mode == TC_PORT_LEGACY) call traces (rev2) 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=2058729485.143579.1791461606363@mail.yahoo.com \
    --to=jp_2422-git@yahoo.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@linux.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.