FAILED: patch "[PATCH] drm/i915/quirks: Limit eDP rate to HBR2 on HP Pavilion Plus" failed to apply to 6.18-stable tree
[email protected]
maintainerThe patch below does not apply to the 6.18-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.18.y
git checkout FETCH_HEAD
git cherry-pick -x 5271d81f99dd01d983d439930eb056952485e15e
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026092942-evaluator-keenness-e26b@gregkh' --subject-prefix 'PATCH 6.18.y' 'HEAD^..'
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 5271d81f99dd01d983d439930eb056952485e15e Mon Sep 17 00:00:00 2001
From: Ankit Nautiyal <[email protected]>
Date: Mon, 7 Sep 2026 09:15:55 +0530
Subject: [PATCH] drm/i915/quirks: Limit eDP rate to HBR2 on HP Pavilion Plus
14-ew1
The eDP panel on the HP Pavilion Plus Laptop 14-ew1xxx advertises HBR3 while leaving the TPS4 support bit clear. The output however flickers, once link is trained with HBR3.
Until commit 8c9006283e4b ("Revert "drm/i915/dp: Reject HBR3 when sink doesn't support TPS4"") such sinks were capped at HBR2 by the TPS4 check which incidentally kept this panel stable. That check was reverted because other panels legitimately need HBR3 without advertising TPS4, and the per-machine QUIRK_EDP_LIMIT_RATE_HBR2 was introduced to handle the affected machines instead.
Add the machine to the list of devices that need the QUIRK_EDP_LIMIT_RATE_HBR2.
drivers/gpu/drm/i915/display/intel_quirks.c +3 -0
@@ -257,6 +257,9 @@ static struct intel_quirk intel_quirks[] = {/* Dell XPS 13 7390 2-in-1 */ { 0x8a52, 0x1028, 0x08b0, quirk_edp_limit_rate_hbr2 }, +/* HP Pavilion Plus Laptop 14-ew1xxx */ + { 0x7d55, 0x103c, 0x8c31, quirk_edp_limit_rate_hbr2 }, +/* Xiaomi Book Pro 14 2026 */ { 0xb081, 0x1d72, 0x2424, quirk_disable_psr2 }, };
Sasha Levin
maintainerPATCH 1/4 drm/i915/psr: Disable Panel Replay on Dell XPS 14 DA14260 as a quirk
From: Jouni Högander <[email protected]>
[ Upstream commit 45c77d4bf8d4d15453d709b9b828e498898e0751 ]
Add new quirk (QUIRK_DISABLE_PANEL_REPLAY) for disabling Panel Replay as quirk for problematic setups. Apply this newly added quirk on Dell XPS 14 DA14260 if specific panel model is installed.
We are observing problems with Dell XPS 14 DA14260. This device has certain LGD panel model which seems to be problematic. We have seen other LGD panel model with same OUI is working fine. Due to this we can't apply the quirk only based on panel OUI. There are also cases where same device model has differing panel model. We don't want to disable Panel Replay on such devices. Best we can do is to apply the quirk based on both device model and panel model.
Stable-dep-of: 5271d81f99dd ("drm/i915/quirks: Limit eDP rate to HBR2 on HP Pavilion Plus 14-ew1")
--- drivers/gpu/drm/i915/display/intel_psr.c | 7 +++++++ drivers/gpu/drm/i915/display/intel_quirks.c | 17 ++++++++++++++++- drivers/gpu/drm/i915/display/intel_quirks.h | 1 + 3 files changed, 24 insertions(+), 1 deletion(-)
drivers/gpu/drm/i915/display/intel_psr.c +7 -0
@@ -49,6 +49,7 @@#include "intel_hdmi.h" #include "intel_psr.h" #include "intel_psr_regs.h" +#include "intel_quirks.h" #include "intel_snps_phy.h" #include "intel_step.h" #include "intel_vblank.h"
@@ -592,6 +593,12 @@ static void _panel_replay_init_dpcd(struct intel_dp *intel_dp)if (intel_dp->mst_detect ==DRM_DP_MST )return ; +if (intel_has_dpcd_quirk (intel_dp,QUIRK_DISABLE_PANEL_REPLAY )) { +drm_dbg_kms (display->drm, +"Panel Replay support not currently available for this setup\n" ); +return ; + } + ret =drm_dp_dpcd_read_data (&intel_dp->aux,DP_PANEL_REPLAY_CAP_SUPPORT , &intel_dp->pr_dpcd,sizeof (intel_dp->pr_dpcd));if (ret <0 )
drivers/gpu/drm/i915/display/intel_quirks.c +16 -1
@@ -86,6 +86,14 @@ static void quirk_edp_limit_rate_hbr2(struct intel_display *display)drm_info (display->drm,"Applying eDP Limit rate to HBR2 quirk\n" ); } +static void quirk_disable_panel_replay (struct intel_dp *intel_dp) +{ +struct intel_display *display =to_intel_display (intel_dp); + +intel_set_dpcd_quirk (intel_dp,QUIRK_DISABLE_PANEL_REPLAY ); +drm_info (display->drm,"Applying disable Panel Replay quirk\n" ); +} +struct intel_quirk {int device;int subsystem_vendor;
@@ -251,7 +259,14 @@ static const struct intel_dpcd_quirk intel_dpcd_quirks[] = { .sink_oui = SINK_OUI(0x38, 0xec, 0x11), .hook = quirk_fw_sync_len, }, - +/* Dell XPS 14 DA14260 */ + { + .device = 0xb080, + .subsystem_vendor = 0x1028, + .subsystem_device = 0x0db9, + .sink_oui = SINK_OUI(0x00, 0x22, 0xb9), + .hook = quirk_disable_panel_replay, + }, };void intel_init_quirks (struct intel_display *display)
drivers/gpu/drm/i915/display/intel_quirks.h +1 -0
@@ -21,6 +21,7 @@ enum intel_quirk_id {QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK ,QUIRK_FW_SYNC_LEN ,QUIRK_EDP_LIMIT_RATE_HBR2 , + QUIRK_DISABLE_PANEL_REPLAY, };void intel_init_quirks (struct intel_display *display);
Signature · 1 line
2.53.0
Sasha Levin
maintainerPATCH 2/4 drm/i915/psr: Fixes for Dell XPS DA14260 quirk
From: Jouni Högander <[email protected]>
[ Upstream commit 1de647abdfda9dc307503d0a85152161850ba52c ]
Dell seems to be changing device ID even within same device model. Due to this we need to ignore device ID when applying quirk for Dell XPS 14 DA14260. Do this by adding DEVICE_ID_ANY and assign it to Dell XPS 14 DA14260 quirk. Also apply the quirk only for eDP Panel Replay.
Stable-dep-of: 5271d81f99dd ("drm/i915/quirks: Limit eDP rate to HBR2 on HP Pavilion Plus 14-ew1")
--- drivers/gpu/drm/i915/display/intel_psr.c | 3 ++- drivers/gpu/drm/i915/display/intel_quirks.c | 16 ++++++++++------ drivers/gpu/drm/i915/display/intel_quirks.h | 2 +- 3 files changed, 13 insertions(+), 8 deletions(-)
drivers/gpu/drm/i915/display/intel_psr.c +2 -1
@@ -593,7 +593,8 @@ static void _panel_replay_init_dpcd(struct intel_dp *intel_dp)if (intel_dp->mst_detect ==DRM_DP_MST )return ; -if (intel_has_dpcd_quirk (intel_dp,QUIRK_DISABLE_PANEL_REPLAY )) { +if (intel_dp_is_edp (intel_dp) && +intel_has_dpcd_quirk (intel_dp,QUIRK_DISABLE_EDP_PANEL_REPLAY )) {drm_dbg_kms (display->drm,"Panel Replay support not currently available for this setup\n" );return ;
drivers/gpu/drm/i915/display/intel_quirks.c +10 -6
@@ -86,11 +86,11 @@ static void quirk_edp_limit_rate_hbr2(struct intel_display *display)drm_info (display->drm,"Applying eDP Limit rate to HBR2 quirk\n" ); } -static void quirk_disable_panel_replay (struct intel_dp *intel_dp) +static void quirk_disable_edp_panel_replay (struct intel_dp *intel_dp) {struct intel_display *display =to_intel_display (intel_dp); -intel_set_dpcd_quirk (intel_dp,QUIRK_DISABLE_PANEL_REPLAY ); +intel_set_dpcd_quirk (intel_dp,QUIRK_DISABLE_EDP_PANEL_REPLAY );drm_info (display->drm,"Applying disable Panel Replay quirk\n" ); }
@@ -116,6 +116,8 @@ struct intel_dpcd_quirk {#define SINK_DEVICE_ID_ANY SINK_DEVICE_ID(0, 0, 0, 0, 0, 0) +#define DEVICE_ID_ANY 0 +/* For systems that don't have a meaningful PCI subdevice/subvendor ID */ struct intel_dmi_quirk {void (*hook)(struct intel_display *display);
@@ -261,11 +263,11 @@ static const struct intel_dpcd_quirk intel_dpcd_quirks[] = { },/* Dell XPS 14 DA14260 */ { - .device = 0xb080, + .device = DEVICE_ID_ANY, .subsystem_vendor = 0x1028, .subsystem_device = 0x0db9, .sink_oui = SINK_OUI(0x00, 0x22, 0xb9), - .hook = quirk_disable_panel_replay, + .hook = quirk_disable_edp_panel_replay, }, };
@@ -277,7 +279,8 @@ void intel_init_quirks(struct intel_display *display)for (i =0 ; i <ARRAY_SIZE (intel_quirks); i++) {struct intel_quirk *q = &intel_quirks[i]; - if (d->device == q->device && + if ((d->device == q->device || + q->device == DEVICE_ID_ANY) && (d->subsystem_vendor == q->subsystem_vendor || q->subsystem_vendor == PCI_ANY_ID) && (d->subsystem_device == q->subsystem_device ||
@@ -300,7 +303,8 @@ void intel_init_dpcd_quirks(struct intel_dp *intel_dp,for (i =0 ; i <ARRAY_SIZE (intel_dpcd_quirks); i++) {const struct intel_dpcd_quirk *q = &intel_dpcd_quirks[i]; - if (d->device == q->device && + if ((d->device == q->device || + q->device == DEVICE_ID_ANY) && (d->subsystem_vendor == q->subsystem_vendor || q->subsystem_vendor == PCI_ANY_ID) && (d->subsystem_device == q->subsystem_device ||
drivers/gpu/drm/i915/display/intel_quirks.h +1 -1
@@ -21,7 +21,7 @@ enum intel_quirk_id {QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK ,QUIRK_FW_SYNC_LEN ,QUIRK_EDP_LIMIT_RATE_HBR2 , - QUIRK_DISABLE_PANEL_REPLAY, + QUIRK_DISABLE_EDP_PANEL_REPLAY, };void intel_init_quirks (struct intel_display *display);
Signature · 1 line
2.53.0
Sasha Levin
maintainerPATCH 3/4 drm/i915/psr: Disable PSR2 on Xiaomi Book Pro 14 2026 as a quirk
In reply to Sasha LevinFrom: Jouni Högander <[email protected]>
[ Upstream commit 5e79af5db00b2a5f4667aaf16cfe4ecb7759383b ]
Add new quirk (QUIRK_DISABLE_PSR2) for disabling PSR2 as a quirk for problematic setups. Apply this newly added quirk on Xiaomi Book Pro 14 2026.
v2: logging adjusted
Stable-dep-of: 5271d81f99dd ("drm/i915/quirks: Limit eDP rate to HBR2 on HP Pavilion Plus 14-ew1")
--- drivers/gpu/drm/i915/display/intel_psr.c | 3 +++ drivers/gpu/drm/i915/display/intel_quirks.c | 9 +++++++++ drivers/gpu/drm/i915/display/intel_quirks.h | 1 + 3 files changed, 13 insertions(+)
drivers/gpu/drm/i915/display/intel_psr.c +3 -0
@@ -668,6 +668,9 @@ static void _psr_init_dpcd(struct intel_dp *intel_dp) intel_dp->psr.sink_sync_latency =intel_dp_get_sink_sync_latency (intel_dp); +if (intel_has_quirk (display,QUIRK_DISABLE_PSR2 )) +return ; +if (DISPLAY_VER (display) >=9 && intel_dp->psr_dpcd[0 ] >=DP_PSR2_WITH_Y_COORD_IS_SUPPORTED ) { bool y_req = intel_dp->psr_dpcd[1] &
drivers/gpu/drm/i915/display/intel_quirks.c +9 -0
@@ -94,6 +94,12 @@ static void quirk_disable_edp_panel_replay(struct intel_dp *intel_dp)drm_info (display->drm,"Applying disable Panel Replay quirk\n" ); } +static void quirk_disable_psr2 (struct intel_display *display) +{ +intel_set_quirk (display,QUIRK_DISABLE_PSR2 ); +drm_info (display->drm,"PSR2 support not currently available for this setup, applying disable PSR2 quirk\n" ); +} +struct intel_quirk {int device;int subsystem_vendor;
@@ -250,6 +256,9 @@ static struct intel_quirk intel_quirks[] = {/* Dell XPS 13 7390 2-in-1 */ { 0x8a52, 0x1028, 0x08b0, quirk_edp_limit_rate_hbr2 }, + +/* Xiaomi Book Pro 14 2026 */ + { 0xb081, 0x1d72, 0x2424, quirk_disable_psr2 }, }; static const struct intel_dpcd_quirk intel_dpcd_quirks[] = {
drivers/gpu/drm/i915/display/intel_quirks.h +1 -0
@@ -22,6 +22,7 @@ enum intel_quirk_id {QUIRK_FW_SYNC_LEN ,QUIRK_EDP_LIMIT_RATE_HBR2 ,QUIRK_DISABLE_EDP_PANEL_REPLAY , + QUIRK_DISABLE_PSR2, };void intel_init_quirks (struct intel_display *display);
Signature · 1 line
2.53.0
Sasha Levin
maintainerPATCH 4/4 drm/i915/quirks: Limit eDP rate to HBR2 on HP Pavilion Plus 14-ew1
In reply to Sasha LevinFrom: Ankit Nautiyal <[email protected]>
[ Upstream commit 5271d81f99dd01d983d439930eb056952485e15e ]
The eDP panel on the HP Pavilion Plus Laptop 14-ew1xxx advertises HBR3 while leaving the TPS4 support bit clear. The output however flickers, once link is trained with HBR3.
Until commit 8c9006283e4b ("Revert "drm/i915/dp: Reject HBR3 when sink doesn't support TPS4"") such sinks were capped at HBR2 by the TPS4 check which incidentally kept this panel stable. That check was reverted because other panels legitimately need HBR3 without advertising TPS4, and the per-machine QUIRK_EDP_LIMIT_RATE_HBR2 was introduced to handle the affected machines instead.
Add the machine to the list of devices that need the QUIRK_EDP_LIMIT_RATE_HBR2.
--- drivers/gpu/drm/i915/display/intel_quirks.c | 3 +++ 1 file changed, 3 insertions(+)
drivers/gpu/drm/i915/display/intel_quirks.c +3 -0
@@ -257,6 +257,9 @@ static struct intel_quirk intel_quirks[] = {/* Dell XPS 13 7390 2-in-1 */ { 0x8a52, 0x1028, 0x08b0, quirk_edp_limit_rate_hbr2 }, +/* HP Pavilion Plus Laptop 14-ew1xxx */ + { 0x7d55, 0x103c, 0x8c31, quirk_edp_limit_rate_hbr2 }, +/* Xiaomi Book Pro 14 2026 */ { 0xb081, 0x1d72, 0x2424, quirk_disable_psr2 }, };
Signature · 1 line
2.53.0