From bb097694e7f9d08f277e39924ae032ed8a92853b Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 29 Jul 2024 11:48:25 +0200 Subject: [PATCH] 6.10-stable patches added patches: drm-amd-display-check-for-null-pointer.patch drm-amd-display-fix-corruption-with-high-refresh-rates-on-dcn-3.0.patch drm-i915-display-for-mtl-platforms-skip-mg-dp-programming.patch scsi-qla2xxx-fix-optrom-version-displayed-in-fdmi.patch --- ...m-amd-display-check-for-null-pointer.patch | 38 ++++++++++ ...n-with-high-refresh-rates-on-dcn-3.0.patch | 69 +++++++++++++++++++ ...mtl-platforms-skip-mg-dp-programming.patch | 42 +++++++++++ ...fix-optrom-version-displayed-in-fdmi.patch | 35 ++++++++++ queue-6.10/series | 4 ++ 5 files changed, 188 insertions(+) create mode 100644 queue-6.10/drm-amd-display-check-for-null-pointer.patch create mode 100644 queue-6.10/drm-amd-display-fix-corruption-with-high-refresh-rates-on-dcn-3.0.patch create mode 100644 queue-6.10/drm-i915-display-for-mtl-platforms-skip-mg-dp-programming.patch create mode 100644 queue-6.10/scsi-qla2xxx-fix-optrom-version-displayed-in-fdmi.patch diff --git a/queue-6.10/drm-amd-display-check-for-null-pointer.patch b/queue-6.10/drm-amd-display-check-for-null-pointer.patch new file mode 100644 index 00000000000..1f0bac4ee41 --- /dev/null +++ b/queue-6.10/drm-amd-display-check-for-null-pointer.patch @@ -0,0 +1,38 @@ +From 4ab68e168ae1695f7c04fae98930740aaf7c50fa Mon Sep 17 00:00:00 2001 +From: Sung Joon Kim +Date: Mon, 8 Jul 2024 19:29:49 -0400 +Subject: drm/amd/display: Check for NULL pointer + +From: Sung Joon Kim + +commit 4ab68e168ae1695f7c04fae98930740aaf7c50fa upstream. + +[why & how] +Need to make sure plane_state is initialized +before accessing its members. + +Cc: Mario Limonciello +Cc: Alex Deucher +Cc: stable@vger.kernel.org +Reviewed-by: Xi (Alex) Liu +Signed-off-by: Sung Joon Kim +Signed-off-by: Aurabindo Pillai +Signed-off-by: Alex Deucher +(cherry picked from commit 295d91cbc700651782a60572f83c24861607b648) +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/amd/display/dc/core/dc_surface.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/gpu/drm/amd/display/dc/core/dc_surface.c ++++ b/drivers/gpu/drm/amd/display/dc/core/dc_surface.c +@@ -143,7 +143,8 @@ const struct dc_plane_status *dc_plane_g + if (pipe_ctx->plane_state != plane_state) + continue; + +- pipe_ctx->plane_state->status.is_flip_pending = false; ++ if (pipe_ctx->plane_state) ++ pipe_ctx->plane_state->status.is_flip_pending = false; + + break; + } diff --git a/queue-6.10/drm-amd-display-fix-corruption-with-high-refresh-rates-on-dcn-3.0.patch b/queue-6.10/drm-amd-display-fix-corruption-with-high-refresh-rates-on-dcn-3.0.patch new file mode 100644 index 00000000000..6d47f053109 --- /dev/null +++ b/queue-6.10/drm-amd-display-fix-corruption-with-high-refresh-rates-on-dcn-3.0.patch @@ -0,0 +1,69 @@ +From e3615bd198289f319172c428f20857accb46b830 Mon Sep 17 00:00:00 2001 +From: Alex Deucher +Date: Tue, 16 Jul 2024 12:49:25 -0400 +Subject: drm/amd/display: fix corruption with high refresh rates on DCN 3.0 + +From: Alex Deucher + +commit e3615bd198289f319172c428f20857accb46b830 upstream. + +This reverts commit bc87d666c05a13e6d4ae1ddce41fc43d2567b9a2 and the +register changes from commit 6d4279cb99ac4f51d10409501d29969f687ac8dc. + +Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3412 +Cc: mikhail.v.gavrilov@gmail.com +Cc: Rodrigo Siqueira +Tested-by: Mikhail Gavrilov +Reviewed-by: Rodrigo Siqueira +Signed-off-by: Alex Deucher +Cc: stable@vger.kernel.org # 6.10.x +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/amd/display/dc/optc/dcn10/dcn10_optc.c | 15 +++------------ + drivers/gpu/drm/amd/display/dc/optc/dcn20/dcn20_optc.c | 10 ++++++++++ + 2 files changed, 13 insertions(+), 12 deletions(-) + +--- a/drivers/gpu/drm/amd/display/dc/optc/dcn10/dcn10_optc.c ++++ b/drivers/gpu/drm/amd/display/dc/optc/dcn10/dcn10_optc.c +@@ -945,19 +945,10 @@ void optc1_set_drr( + OTG_FORCE_LOCK_ON_EVENT, 0, + OTG_SET_V_TOTAL_MIN_MASK_EN, 0, + OTG_SET_V_TOTAL_MIN_MASK, 0); +- +- // Setup manual flow control for EOF via TRIG_A +- optc->funcs->setup_manual_trigger(optc); +- +- } else { +- REG_UPDATE_4(OTG_V_TOTAL_CONTROL, +- OTG_SET_V_TOTAL_MIN_MASK, 0, +- OTG_V_TOTAL_MIN_SEL, 0, +- OTG_V_TOTAL_MAX_SEL, 0, +- OTG_FORCE_LOCK_ON_EVENT, 0); +- +- optc->funcs->set_vtotal_min_max(optc, 0, 0); + } ++ ++ // Setup manual flow control for EOF via TRIG_A ++ optc->funcs->setup_manual_trigger(optc); + } + + void optc1_set_vtotal_min_max(struct timing_generator *optc, int vtotal_min, int vtotal_max) +--- a/drivers/gpu/drm/amd/display/dc/optc/dcn20/dcn20_optc.c ++++ b/drivers/gpu/drm/amd/display/dc/optc/dcn20/dcn20_optc.c +@@ -462,6 +462,16 @@ void optc2_setup_manual_trigger(struct t + { + struct optc *optc1 = DCN10TG_FROM_TG(optc); + ++ /* Set the min/max selectors unconditionally so that ++ * DMCUB fw may change OTG timings when necessary ++ * TODO: Remove the w/a after fixing the issue in DMCUB firmware ++ */ ++ REG_UPDATE_4(OTG_V_TOTAL_CONTROL, ++ OTG_V_TOTAL_MIN_SEL, 1, ++ OTG_V_TOTAL_MAX_SEL, 1, ++ OTG_FORCE_LOCK_ON_EVENT, 0, ++ OTG_SET_V_TOTAL_MIN_MASK, (1 << 1)); /* TRIGA */ ++ + REG_SET_8(OTG_TRIGA_CNTL, 0, + OTG_TRIGA_SOURCE_SELECT, 21, + OTG_TRIGA_SOURCE_PIPE_SELECT, optc->inst, diff --git a/queue-6.10/drm-i915-display-for-mtl-platforms-skip-mg-dp-programming.patch b/queue-6.10/drm-i915-display-for-mtl-platforms-skip-mg-dp-programming.patch new file mode 100644 index 00000000000..a74ce4ea3f6 --- /dev/null +++ b/queue-6.10/drm-i915-display-for-mtl-platforms-skip-mg-dp-programming.patch @@ -0,0 +1,42 @@ +From aaf9dc86bd806458f848c39057d59e5aa652a399 Mon Sep 17 00:00:00 2001 +From: Imre Deak +Date: Tue, 25 Jun 2024 14:18:40 +0300 +Subject: drm/i915/display: For MTL+ platforms skip mg dp programming + +From: Imre Deak + +commit aaf9dc86bd806458f848c39057d59e5aa652a399 upstream. + +For MTL+ platforms we use PICA chips for Type-C support and +hence mg programming is not needed. + +Fixes issue with drm warn of TC port not being in legacy mode. + +Cc: stable@vger.kernel.org + +Signed-off-by: Mika Kahola +Signed-off-by: Imre Deak +Reviewed-by: Gustavo Sousa +Link: https://patchwork.freedesktop.org/patch/msgid/20240625111840.597574-1-mika.kahola@intel.com +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/i915/display/intel_ddi.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c +index bb13a3ca8c7c..6672fc162c4f 100644 +--- a/drivers/gpu/drm/i915/display/intel_ddi.c ++++ b/drivers/gpu/drm/i915/display/intel_ddi.c +@@ -2096,6 +2096,9 @@ icl_program_mg_dp_mode(struct intel_digital_port *dig_port, + u32 ln0, ln1, pin_assignment; + u8 width; + ++ if (DISPLAY_VER(dev_priv) >= 14) ++ return; ++ + if (!intel_encoder_is_tc(&dig_port->base) || + intel_tc_port_in_tbt_alt_mode(dig_port)) + return; +-- +2.45.2 + diff --git a/queue-6.10/scsi-qla2xxx-fix-optrom-version-displayed-in-fdmi.patch b/queue-6.10/scsi-qla2xxx-fix-optrom-version-displayed-in-fdmi.patch new file mode 100644 index 00000000000..ac10e8b3b74 --- /dev/null +++ b/queue-6.10/scsi-qla2xxx-fix-optrom-version-displayed-in-fdmi.patch @@ -0,0 +1,35 @@ +From 348744f27a35e087acc9378bf53537fbfb072775 Mon Sep 17 00:00:00 2001 +From: Shreyas Deodhar +Date: Wed, 10 Jul 2024 22:40:54 +0530 +Subject: scsi: qla2xxx: Fix optrom version displayed in FDMI + +From: Shreyas Deodhar + +commit 348744f27a35e087acc9378bf53537fbfb072775 upstream. + +Bios version was popluated for FDMI response. Systems with EFI would show +optrom version as 0. EFI version is populated here and BIOS version is +already displayed under FDMI_HBA_BOOT_BIOS_NAME. + +Cc: stable@vger.kernel.org +Signed-off-by: Shreyas Deodhar +Signed-off-by: Nilesh Javali +Link: https://lore.kernel.org/r/20240710171057.35066-9-njavali@marvell.com +Reviewed-by: Himanshu Madhani +Signed-off-by: Martin K. Petersen +Signed-off-by: Greg Kroah-Hartman +--- + drivers/scsi/qla2xxx/qla_gs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/scsi/qla2xxx/qla_gs.c ++++ b/drivers/scsi/qla2xxx/qla_gs.c +@@ -1710,7 +1710,7 @@ qla2x00_hba_attributes(scsi_qla_host_t * + eiter->type = cpu_to_be16(FDMI_HBA_OPTION_ROM_VERSION); + alen = scnprintf( + eiter->a.orom_version, sizeof(eiter->a.orom_version), +- "%d.%02d", ha->bios_revision[1], ha->bios_revision[0]); ++ "%d.%02d", ha->efi_revision[1], ha->efi_revision[0]); + alen += FDMI_ATTR_ALIGNMENT(alen); + alen += FDMI_ATTR_TYPELEN(eiter); + eiter->len = cpu_to_be16(alen); diff --git a/queue-6.10/series b/queue-6.10/series index 39d5bef6017..b6e78e08a70 100644 --- a/queue-6.10/series +++ b/queue-6.10/series @@ -577,3 +577,7 @@ lsm-fixup-the-inode-xattr-capability-handling.patch io_uring-io-wq-limit-retrying-worker-initialisation.patch drm-gma500-fix-null-pointer-dereference-in-cdv_intel_lvds_get_modes.patch drm-gma500-fix-null-pointer-dereference-in-psb_intel_lvds_get_modes.patch +drm-amd-display-fix-corruption-with-high-refresh-rates-on-dcn-3.0.patch +scsi-qla2xxx-fix-optrom-version-displayed-in-fdmi.patch +drm-i915-display-for-mtl-platforms-skip-mg-dp-programming.patch +drm-amd-display-check-for-null-pointer.patch -- 2.47.3