From: Jani Nikula <jani.nikula@linux.intel.com>
To: Kenneth Assogba <kennethassogba@gmail.com>, rodrigo.vivi@intel.com
Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
Subject: Re: [RFC PATCH] drm/i915/display: limit power defaults on affected Latitude 7490
Date: Fri, 23 Oct 2026 15:52:34 +0300 [thread overview]
Message-ID: <5cd3479e15035e5eb0aa9356f0febf3477c00fd9@intel.com> (raw)
In-Reply-To: <CANuUoF7c0tNjogjAZVBMd_reP1Z3wGOj3ybT0EB69ecWcNbKjQ@mail.gmail.com>
On Mon, 19 Oct 2026, Kenneth Assogba <kennethassogba@gmail.com> wrote:
> A Dell Latitude 7490 (BIOS 1.41.0, PCI 8086:5917, subsystem 1028:081c)
> repeatedly froze with its internal display active on Ubuntu
> 7.0.0-38-generic. Logs contain skl_dpll0_update and
> gen9_disable_dc_states warnings. The user reports several freeze-free
> days with PSR/DC disabled, including undocked sessions; swap/zswap
> changes are a confounding factor.
>
> This RFC disables automatic PSR/DC defaults only for the matching
> PCI/DMI identifiers and preserves explicit overrides. Linux 7.3 with
> this change built and booted. Without i915 overrides, global
> parameters stayed -1 and device values became 0; the internal display
> was enabled. Initial checks found no earlier warning names, GPU
> hang/reset or OOM patterns.
>
> Unpatched mainline reproduction, separate PSR/DC tests, bisection and
> power measurements are missing. Power consumption may increase. Is the
> early per-device parameter hook appropriate, and should panel
> identification further narrow the match?
Please prefer filing bugs as described at [1]. The goal is to root cause
issues and make stuff work in a generic fashion, not apply quirks on
individual machines as the first course of action.
Sometimes when we do have to use quirks, we have existing frameworks for
it, and adding stuff inline like this is certainly not acceptable.
BR,
Jani.
[1] https://drm.pages.freedesktop.org/intel-docs/how-to-file-i915-bugs.html
>
> The attached text/plain RFC preserves the patch bytes; Gmail changes
> pasted diffs. It includes my DCO sign-off and Assisted-by: LLM
> attribution.
>
> Report and tests:
> https://gist.github.com/kennethassogba/b8332d07d6e4c508307b625cc8a037b6
>
> Kenneth Assogba
> From a2f6c87b3705283a3e2c66b2b85a04e895488874 Mon Sep 17 00:00:00 2001
> From: Kenneth Assogba <kennethassogba@gmail.com>
> Date: Mon, 19 Oct 2026 22:26:34 +0200
> Subject: [RFC PATCH] drm/i915/display: limit power defaults on affected
> Latitude 7490
>
> A Latitude 7490 with BIOS 1.41.0 repeatedly froze with its internal
> display active on Ubuntu 7.0.0-38-generic. The retained journal contains
> skl_dpll0_update and gen9_disable_dc_states warnings. The user reports
> several freeze-free days with PSR and display C-states disabled together,
> including undocked sessions. Swap/zswap changes are a confounding factor.
>
> Disable automatic PSR/DC defaults for PCI 8086:5917, subsystem 1028:081c,
> and exact Dell Latitude 7490 / BIOS 1.41.0 DMI matches. Preserve explicit
> parameter values. Apply the defaults after the per-device parameter copy,
> before display power initialization consumes enable_dc.
>
> Linux 7.3 with this change built and booted on the reporting machine.
> Without PSR/DC boot arguments, global values stayed -1 and per-device
> values became 0. The internal display was enabled and the initial log
> check found neither earlier warning name, GPU hang/reset nor OOM patterns.
>
> This RFC proposes a machine-specific workaround. The underlying cause,
> unpatched mainline behavior and the need for both settings remain open.
> Disabling these features may increase power consumption.
>
> Link: https://gist.github.com/kennethassogba/b8332d07d6e4c508307b625cc8a037b6
> Assisted-by: LLM
> Signed-off-by: Kenneth Assogba <kennethassogba@gmail.com>
> ---
> .../drm/i915/display/intel_display_device.c | 27 +++++++++++++++++++
> 1 file changed, 27 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c
> index f17fc2c..770f524 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_device.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_device.c
> @@ -3,6 +3,7 @@
> * Copyright © 2023 Intel Corporation
> */
>
> +#include <linux/dmi.h>
> #include <linux/pci.h>
>
> #include <drm/drm_color_mgmt.h>
> @@ -1690,6 +1691,31 @@ static const char *step_name(const struct intel_display_runtime_info *runtime)
> return strlen(runtime->step_name) ? runtime->step_name : "N/A";
> }
>
> +static void intel_display_device_apply_param_quirks(struct intel_display *display,
> + const struct pci_dev *pdev)
> +{
> + struct intel_display_params *params = &display->params;
> +
> + /* Limit the workaround to the hardware and firmware reported affected. */
> + if (pdev->vendor != PCI_VENDOR_ID_INTEL || pdev->device != 0x5917 ||
> + pdev->subsystem_vendor != 0x1028 || pdev->subsystem_device != 0x081c ||
> + !dmi_match(DMI_SYS_VENDOR, "Dell Inc.") ||
> + !dmi_match(DMI_PRODUCT_NAME, "Latitude 7490") ||
> + !dmi_match(DMI_BIOS_VERSION, "1.41.0"))
> + return;
> +
> + if (params->enable_psr != -1 && params->enable_dc != -1)
> + return;
> +
> + /* Preserve explicit module parameter values for further diagnosis. */
> + if (params->enable_psr == -1)
> + params->enable_psr = 0;
> + if (params->enable_dc == -1)
> + params->enable_dc = 0;
> +
> + drm_info(display->drm, "Applying Latitude 7490 display power defaults\n");
> +}
> +
> struct intel_display *intel_display_device_probe(struct pci_dev *pdev,
> const struct intel_display_parent_interface *parent)
> {
> @@ -1710,6 +1736,7 @@ struct intel_display *intel_display_device_probe(struct pci_dev *pdev,
> display->parent = parent;
>
> intel_display_params_copy(&display->params);
> + intel_display_device_apply_param_quirks(display, pdev);
>
> if (has_no_display(pdev)) {
> drm_dbg_kms(display->drm, "Device doesn't have display\n");
--
Jani Nikula, Intel
prev parent reply other threads:[~2026-10-23 12:52 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-19 20:42 [RFC PATCH] drm/i915/display: limit power defaults on affected Latitude 7490 Kenneth Assogba
2026-10-23 12:52 ` Jani Nikula [this message]
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=5cd3479e15035e5eb0aa9356f0febf3477c00fd9@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=kennethassogba@gmail.com \
--cc=rodrigo.vivi@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.