diff --git a/Patchlist.changelog b/Patchlist.changelog index cb33f640a..3f728146f 100644 --- a/Patchlist.changelog +++ b/Patchlist.changelog @@ -1,3 +1,12 @@ +"https://gitlab.com/cki-project/kernel-ark/-/commit"/21b019ce62997d78fe5e42f4a04b64cd9d9b11b8 + 21b019ce62997d78fe5e42f4a04b64cd9d9b11b8 drm/nouveau/dp: Don't probe eDP ports twice harder + +"https://gitlab.com/cki-project/kernel-ark/-/commit"/fb6f1f07d22bc6bac44c87e7623cf252e8c57473 + fb6f1f07d22bc6bac44c87e7623cf252e8c57473 drm/nouveau/kms/nv50-: Disable AUX bus for disconnected DP ports + +"https://gitlab.com/cki-project/kernel-ark/-/commit"/5122018da124756713dfe49cad50a7653ade7bf0 + 5122018da124756713dfe49cad50a7653ade7bf0 drm/dp: Don't attempt AUX transfers when eDP panels are not powered + "https://gitlab.com/cki-project/kernel-ark/-/commit"/e56840b5f971b4d0f4032f6f5ab95c0c5ba40f8e e56840b5f971b4d0f4032f6f5ab95c0c5ba40f8e nouveau: fix devinit paths to only handle display on GSP. diff --git a/kernel-aarch64-16k-debug-fedora.config b/kernel-aarch64-16k-debug-fedora.config index 60b41e7de..576a7d99b 100644 --- a/kernel-aarch64-16k-debug-fedora.config +++ b/kernel-aarch64-16k-debug-fedora.config @@ -6337,7 +6337,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y CONFIG_RANDOMIZE_KSTACK_OFFSET=y CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa CONFIG_RANDOMIZE_MODULE_REGION_FULL=y -# CONFIG_RANDOM_KMALLOC_CACHES is not set +CONFIG_RANDOM_KMALLOC_CACHES=y CONFIG_RANDOM_TRUST_BOOTLOADER=y CONFIG_RANDOM_TRUST_CPU=y # CONFIG_RANDSTRUCT_FULL is not set diff --git a/kernel-aarch64-16k-fedora.config b/kernel-aarch64-16k-fedora.config index f46a67b2a..781058929 100644 --- a/kernel-aarch64-16k-fedora.config +++ b/kernel-aarch64-16k-fedora.config @@ -6310,7 +6310,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y CONFIG_RANDOMIZE_KSTACK_OFFSET=y CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa CONFIG_RANDOMIZE_MODULE_REGION_FULL=y -# CONFIG_RANDOM_KMALLOC_CACHES is not set +CONFIG_RANDOM_KMALLOC_CACHES=y CONFIG_RANDOM_TRUST_BOOTLOADER=y CONFIG_RANDOM_TRUST_CPU=y # CONFIG_RANDSTRUCT_FULL is not set diff --git a/kernel-aarch64-debug-fedora.config b/kernel-aarch64-debug-fedora.config index 4910ab609..b956ed157 100644 --- a/kernel-aarch64-debug-fedora.config +++ b/kernel-aarch64-debug-fedora.config @@ -6337,7 +6337,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y CONFIG_RANDOMIZE_KSTACK_OFFSET=y CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa CONFIG_RANDOMIZE_MODULE_REGION_FULL=y -# CONFIG_RANDOM_KMALLOC_CACHES is not set +CONFIG_RANDOM_KMALLOC_CACHES=y CONFIG_RANDOM_TRUST_BOOTLOADER=y CONFIG_RANDOM_TRUST_CPU=y # CONFIG_RANDSTRUCT_FULL is not set diff --git a/kernel-aarch64-fedora.config b/kernel-aarch64-fedora.config index 4af7e8f37..dcb57ff66 100644 --- a/kernel-aarch64-fedora.config +++ b/kernel-aarch64-fedora.config @@ -6310,7 +6310,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y CONFIG_RANDOMIZE_KSTACK_OFFSET=y CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa CONFIG_RANDOMIZE_MODULE_REGION_FULL=y -# CONFIG_RANDOM_KMALLOC_CACHES is not set +CONFIG_RANDOM_KMALLOC_CACHES=y CONFIG_RANDOM_TRUST_BOOTLOADER=y CONFIG_RANDOM_TRUST_CPU=y # CONFIG_RANDSTRUCT_FULL is not set diff --git a/kernel-ppc64le-debug-fedora.config b/kernel-ppc64le-debug-fedora.config index 1a600079e..3cfa2de12 100644 --- a/kernel-ppc64le-debug-fedora.config +++ b/kernel-ppc64le-debug-fedora.config @@ -912,7 +912,6 @@ CONFIG_CIO2_BRIDGE=y CONFIG_CLEANCACHE=y CONFIG_CLK_FD_KUNIT_TEST=m CONFIG_CLK_GATE_KUNIT_TEST=m -# CONFIG_CLK_GFM_LPASS_SM8250 is not set # CONFIG_CLK_ICST is not set CONFIG_CLK_KUNIT_TEST=m # CONFIG_CLK_QORIQ is not set @@ -5165,7 +5164,7 @@ CONFIG_RANDOM32_SELFTEST=y CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y CONFIG_RANDOMIZE_KSTACK_OFFSET=y CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa -# CONFIG_RANDOM_KMALLOC_CACHES is not set +CONFIG_RANDOM_KMALLOC_CACHES=y CONFIG_RANDOM_TRUST_BOOTLOADER=y CONFIG_RANDOM_TRUST_CPU=y # CONFIG_RANDSTRUCT_FULL is not set diff --git a/kernel-ppc64le-fedora.config b/kernel-ppc64le-fedora.config index 63e116fce..4dd533689 100644 --- a/kernel-ppc64le-fedora.config +++ b/kernel-ppc64le-fedora.config @@ -910,7 +910,6 @@ CONFIG_CIO2_BRIDGE=y CONFIG_CLEANCACHE=y CONFIG_CLK_FD_KUNIT_TEST=m CONFIG_CLK_GATE_KUNIT_TEST=m -# CONFIG_CLK_GFM_LPASS_SM8250 is not set # CONFIG_CLK_ICST is not set CONFIG_CLK_KUNIT_TEST=m # CONFIG_CLK_QORIQ is not set @@ -5136,7 +5135,7 @@ CONFIG_RAID_ATTRS=m CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y CONFIG_RANDOMIZE_KSTACK_OFFSET=y CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa -# CONFIG_RANDOM_KMALLOC_CACHES is not set +CONFIG_RANDOM_KMALLOC_CACHES=y CONFIG_RANDOM_TRUST_BOOTLOADER=y CONFIG_RANDOM_TRUST_CPU=y # CONFIG_RANDSTRUCT_FULL is not set diff --git a/kernel-s390x-debug-fedora.config b/kernel-s390x-debug-fedora.config index d2ea185e4..184212b75 100644 --- a/kernel-s390x-debug-fedora.config +++ b/kernel-s390x-debug-fedora.config @@ -919,7 +919,6 @@ CONFIG_CIO2_BRIDGE=y CONFIG_CLEANCACHE=y CONFIG_CLK_FD_KUNIT_TEST=m CONFIG_CLK_GATE_KUNIT_TEST=m -# CONFIG_CLK_GFM_LPASS_SM8250 is not set # CONFIG_CLK_ICST is not set CONFIG_CLK_KUNIT_TEST=m # CONFIG_CLK_QORIQ is not set @@ -5086,7 +5085,7 @@ CONFIG_RANDOMIZE_BASE=y CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y CONFIG_RANDOMIZE_KSTACK_OFFSET=y CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa -# CONFIG_RANDOM_KMALLOC_CACHES is not set +CONFIG_RANDOM_KMALLOC_CACHES=y CONFIG_RANDOM_TRUST_BOOTLOADER=y CONFIG_RANDOM_TRUST_CPU=y # CONFIG_RANDSTRUCT_FULL is not set diff --git a/kernel-s390x-fedora.config b/kernel-s390x-fedora.config index 7bfc681a3..993e2a50f 100644 --- a/kernel-s390x-fedora.config +++ b/kernel-s390x-fedora.config @@ -917,7 +917,6 @@ CONFIG_CIO2_BRIDGE=y CONFIG_CLEANCACHE=y CONFIG_CLK_FD_KUNIT_TEST=m CONFIG_CLK_GATE_KUNIT_TEST=m -# CONFIG_CLK_GFM_LPASS_SM8250 is not set # CONFIG_CLK_ICST is not set CONFIG_CLK_KUNIT_TEST=m # CONFIG_CLK_QORIQ is not set @@ -5057,7 +5056,7 @@ CONFIG_RANDOMIZE_BASE=y CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y CONFIG_RANDOMIZE_KSTACK_OFFSET=y CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa -# CONFIG_RANDOM_KMALLOC_CACHES is not set +CONFIG_RANDOM_KMALLOC_CACHES=y CONFIG_RANDOM_TRUST_BOOTLOADER=y CONFIG_RANDOM_TRUST_CPU=y # CONFIG_RANDSTRUCT_FULL is not set diff --git a/kernel-x86_64-debug-fedora.config b/kernel-x86_64-debug-fedora.config index a2c97fcc3..54b4e3f41 100644 --- a/kernel-x86_64-debug-fedora.config +++ b/kernel-x86_64-debug-fedora.config @@ -976,7 +976,6 @@ CONFIG_CIO2_BRIDGE=y CONFIG_CLEANCACHE=y CONFIG_CLK_FD_KUNIT_TEST=m CONFIG_CLK_GATE_KUNIT_TEST=m -# CONFIG_CLK_GFM_LPASS_SM8250 is not set # CONFIG_CLK_ICST is not set CONFIG_CLK_KUNIT_TEST=m # CONFIG_CLK_LGM_CGU is not set @@ -1091,6 +1090,7 @@ CONFIG_CPU_ISOLATION=y CONFIG_CPU_LITTLE_ENDIAN=y CONFIG_CPUMASK_KUNIT_TEST=m CONFIG_CPUMASK_OFFSTACK=y +CONFIG_CPU_MITIGATIONS=y CONFIG_CPUSETS=y CONFIG_CPU_SRSO=y # CONFIG_CPU_THERMAL is not set @@ -5570,7 +5570,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y CONFIG_RANDOMIZE_KSTACK_OFFSET=y CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa CONFIG_RANDOMIZE_MEMORY=y -# CONFIG_RANDOM_KMALLOC_CACHES is not set +CONFIG_RANDOM_KMALLOC_CACHES=y CONFIG_RANDOM_TRUST_BOOTLOADER=y CONFIG_RANDOM_TRUST_CPU=y # CONFIG_RANDSTRUCT_FULL is not set diff --git a/kernel-x86_64-debug-rhel.config b/kernel-x86_64-debug-rhel.config index 1537d5b66..2ea18413c 100644 --- a/kernel-x86_64-debug-rhel.config +++ b/kernel-x86_64-debug-rhel.config @@ -907,6 +907,7 @@ CONFIG_CPU_ISOLATION=y CONFIG_CPU_LITTLE_ENDIAN=y CONFIG_CPUMASK_KUNIT_TEST=m CONFIG_CPUMASK_OFFSTACK=y +CONFIG_CPU_MITIGATIONS=y CONFIG_CPUSETS=y CONFIG_CPU_SRSO=y # CONFIG_CPU_THERMAL is not set diff --git a/kernel-x86_64-fedora.config b/kernel-x86_64-fedora.config index a713eb0f1..ce1a37a8b 100644 --- a/kernel-x86_64-fedora.config +++ b/kernel-x86_64-fedora.config @@ -974,7 +974,6 @@ CONFIG_CIO2_BRIDGE=y CONFIG_CLEANCACHE=y CONFIG_CLK_FD_KUNIT_TEST=m CONFIG_CLK_GATE_KUNIT_TEST=m -# CONFIG_CLK_GFM_LPASS_SM8250 is not set # CONFIG_CLK_ICST is not set CONFIG_CLK_KUNIT_TEST=m # CONFIG_CLK_LGM_CGU is not set @@ -1089,6 +1088,7 @@ CONFIG_CPU_ISOLATION=y CONFIG_CPU_LITTLE_ENDIAN=y CONFIG_CPUMASK_KUNIT_TEST=m CONFIG_CPUMASK_OFFSTACK=y +CONFIG_CPU_MITIGATIONS=y CONFIG_CPUSETS=y CONFIG_CPU_SRSO=y # CONFIG_CPU_THERMAL is not set @@ -5542,7 +5542,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y CONFIG_RANDOMIZE_KSTACK_OFFSET=y CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa CONFIG_RANDOMIZE_MEMORY=y -# CONFIG_RANDOM_KMALLOC_CACHES is not set +CONFIG_RANDOM_KMALLOC_CACHES=y CONFIG_RANDOM_TRUST_BOOTLOADER=y CONFIG_RANDOM_TRUST_CPU=y # CONFIG_RANDSTRUCT_FULL is not set diff --git a/kernel-x86_64-rhel.config b/kernel-x86_64-rhel.config index 3ce2d90c6..3b0c61f7a 100644 --- a/kernel-x86_64-rhel.config +++ b/kernel-x86_64-rhel.config @@ -907,6 +907,7 @@ CONFIG_CPU_ISOLATION=y CONFIG_CPU_LITTLE_ENDIAN=y CONFIG_CPUMASK_KUNIT_TEST=m CONFIG_CPUMASK_OFFSTACK=y +CONFIG_CPU_MITIGATIONS=y CONFIG_CPUSETS=y CONFIG_CPU_SRSO=y # CONFIG_CPU_THERMAL is not set diff --git a/kernel-x86_64-rt-debug-rhel.config b/kernel-x86_64-rt-debug-rhel.config index dad0e1497..09437e023 100644 --- a/kernel-x86_64-rt-debug-rhel.config +++ b/kernel-x86_64-rt-debug-rhel.config @@ -907,6 +907,7 @@ CONFIG_CPU_ISOLATION=y CONFIG_CPU_LITTLE_ENDIAN=y CONFIG_CPUMASK_KUNIT_TEST=m CONFIG_CPUMASK_OFFSTACK=y +CONFIG_CPU_MITIGATIONS=y CONFIG_CPUSETS=y CONFIG_CPU_SRSO=y # CONFIG_CPU_THERMAL is not set diff --git a/kernel-x86_64-rt-rhel.config b/kernel-x86_64-rt-rhel.config index c2d860a10..3d83cc2cf 100644 --- a/kernel-x86_64-rt-rhel.config +++ b/kernel-x86_64-rt-rhel.config @@ -907,6 +907,7 @@ CONFIG_CPU_ISOLATION=y CONFIG_CPU_LITTLE_ENDIAN=y CONFIG_CPUMASK_KUNIT_TEST=m CONFIG_CPUMASK_OFFSTACK=y +CONFIG_CPU_MITIGATIONS=y CONFIG_CPUSETS=y CONFIG_CPU_SRSO=y # CONFIG_CPU_THERMAL is not set diff --git a/kernel.changelog b/kernel.changelog index fcffa872e..9caf59043 100644 --- a/kernel.changelog +++ b/kernel.changelog @@ -1,3 +1,12 @@ +* Thu May 02 2024 Augusto Caringi [6.8.9-0] +- redhat/configs: Enable CONFIG_CPU_MITIGATIONS (Augusto Caringi) +- Turn on CONFIG_RANDOM_KMALLOC_CACHES for Fedora (Justin M. Forbes) +- drm/nouveau/dp: Don't probe eDP ports twice harder (Lyude Paul) +- drm/nouveau/kms/nv50-: Disable AUX bus for disconnected DP ports (Lyude Paul) +- drm/dp: Don't attempt AUX transfers when eDP panels are not powered (Douglas Anderson) +- Linux v6.8.9 +Resolves: + * Sat Apr 27 2024 Justin M. Forbes [6.8.8-0] - Update BugsFixed for 6.8.8 (Justin M. Forbes) - Turn on ISM for Fedora (Justin M. Forbes) diff --git a/kernel.spec b/kernel.spec index 362a80958..fa38fb4be 100644 --- a/kernel.spec +++ b/kernel.spec @@ -160,18 +160,18 @@ Summary: The Linux kernel # the --with-release option overrides this setting.) %define debugbuildsenabled 1 # define buildid .local -%define specrpmversion 6.8.8 -%define specversion 6.8.8 +%define specrpmversion 6.8.9 +%define specversion 6.8.9 %define patchversion 6.8 %define pkgrelease 300 %define kversion 6 -%define tarfile_release 6.8.8 +%define tarfile_release 6.8.9 # This is needed to do merge window version magic %define patchlevel 8 # This allows pkg_release to have configurable %%{?dist} tag %define specrelease 300%{?buildid}%{?dist} # This defines the kabi tarball version -%define kabiversion 6.8.8 +%define kabiversion 6.8.9 # If this variable is set to 1, a bpf selftests build failure will cause a # fatal kernel package build error @@ -3959,6 +3959,14 @@ fi\ # # %changelog +* Thu May 02 2024 Augusto Caringi [6.8.9-0] +- redhat/configs: Enable CONFIG_CPU_MITIGATIONS (Augusto Caringi) +- Turn on CONFIG_RANDOM_KMALLOC_CACHES for Fedora (Justin M. Forbes) +- drm/nouveau/dp: Don't probe eDP ports twice harder (Lyude Paul) +- drm/nouveau/kms/nv50-: Disable AUX bus for disconnected DP ports (Lyude Paul) +- drm/dp: Don't attempt AUX transfers when eDP panels are not powered (Douglas Anderson) +- Linux v6.8.9 + * Sat Apr 27 2024 Justin M. Forbes [6.8.8-0] - Update BugsFixed for 6.8.8 (Justin M. Forbes) - Turn on ISM for Fedora (Justin M. Forbes) diff --git a/patch-6.8-redhat.patch b/patch-6.8-redhat.patch index 66d888167..55cc0256a 100644 --- a/patch-6.8-redhat.patch +++ b/patch-6.8-redhat.patch @@ -13,6 +13,10 @@ drivers/firmware/efi/efi.c | 124 +++++++++++---- drivers/firmware/efi/secureboot.c | 38 +++++ drivers/firmware/sysfb.c | 18 ++- + drivers/gpu/drm/display/drm_dp_helper.c | 35 +++++ + drivers/gpu/drm/nouveau/nouveau_dp.c | 23 ++- + drivers/gpu/drm/panel/panel-edp.c | 3 + + drivers/gpu/drm/panel/panel-samsung-atna33xc20.c | 2 + drivers/hid/hid-rmi.c | 66 -------- drivers/hwtracing/coresight/coresight-etm4x-core.c | 19 +++ drivers/input/rmi4/rmi_driver.c | 124 +++++++++------ @@ -21,6 +25,7 @@ drivers/scsi/sd.c | 10 ++ drivers/usb/core/hub.c | 7 + fs/xfs/xfs_iomap.c | 4 +- + include/drm/display/drm_dp_helper.h | 6 + include/linux/efi.h | 22 ++- include/linux/lsm_hook_defs.h | 2 + include/linux/module.h | 1 + @@ -35,10 +40,10 @@ security/lockdown/Kconfig | 13 ++ security/lockdown/lockdown.c | 1 + security/security.c | 12 ++ - 37 files changed, 671 insertions(+), 177 deletions(-) + 42 files changed, 735 insertions(+), 182 deletions(-) diff --git a/Makefile b/Makefile -index ffa43a6d0424..0d5ae4952215 100644 +index 2917a6914c03..ac609d49e12f 100644 --- a/Makefile +++ b/Makefile @@ -22,6 +22,18 @@ $(if $(filter __%, $(MAKECMDGOALS)), \ @@ -578,6 +583,156 @@ index 3c197db42c9d..16e4a2e90fae 100644 pd = sysfb_create_simplefb(si, &mode); if (!IS_ERR(pd)) goto unlock_mutex; +diff --git a/drivers/gpu/drm/display/drm_dp_helper.c b/drivers/gpu/drm/display/drm_dp_helper.c +index 26c188ce5f1c..fb80843e7f2d 100644 +--- a/drivers/gpu/drm/display/drm_dp_helper.c ++++ b/drivers/gpu/drm/display/drm_dp_helper.c +@@ -532,6 +532,15 @@ static int drm_dp_dpcd_access(struct drm_dp_aux *aux, u8 request, + + mutex_lock(&aux->hw_mutex); + ++ /* ++ * If the device attached to the aux bus is powered down then there's ++ * no reason to attempt a transfer. Error out immediately. ++ */ ++ if (aux->powered_down) { ++ ret = -EBUSY; ++ goto unlock; ++ } ++ + /* + * The specification doesn't give any recommendation on how often to + * retry native transactions. We used to retry 7 times like for +@@ -599,6 +608,29 @@ int drm_dp_dpcd_probe(struct drm_dp_aux *aux, unsigned int offset) + } + EXPORT_SYMBOL(drm_dp_dpcd_probe); + ++/** ++ * drm_dp_dpcd_set_powered() - Set whether the DP device is powered ++ * @aux: DisplayPort AUX channel; for convenience it's OK to pass NULL here ++ * and the function will be a no-op. ++ * @powered: true if powered; false if not ++ * ++ * If the endpoint device on the DP AUX bus is known to be powered down ++ * then this function can be called to make future transfers fail immediately ++ * instead of needing to time out. ++ * ++ * If this function is never called then a device defaults to being powered. ++ */ ++void drm_dp_dpcd_set_powered(struct drm_dp_aux *aux, bool powered) ++{ ++ if (!aux) ++ return; ++ ++ mutex_lock(&aux->hw_mutex); ++ aux->powered_down = !powered; ++ mutex_unlock(&aux->hw_mutex); ++} ++EXPORT_SYMBOL(drm_dp_dpcd_set_powered); ++ + /** + * drm_dp_dpcd_read() - read a series of bytes from the DPCD + * @aux: DisplayPort AUX channel (SST or MST) +@@ -1858,6 +1890,9 @@ static int drm_dp_i2c_xfer(struct i2c_adapter *adapter, struct i2c_msg *msgs, + struct drm_dp_aux_msg msg; + int err = 0; + ++ if (aux->powered_down) ++ return -EBUSY; ++ + dp_aux_i2c_transfer_size = clamp(dp_aux_i2c_transfer_size, 1, DP_AUX_MAX_PAYLOAD_BYTES); + + memset(&msg, 0, sizeof(msg)); +diff --git a/drivers/gpu/drm/nouveau/nouveau_dp.c b/drivers/gpu/drm/nouveau/nouveau_dp.c +index 7de7707ec6a8..a72c45809484 100644 +--- a/drivers/gpu/drm/nouveau/nouveau_dp.c ++++ b/drivers/gpu/drm/nouveau/nouveau_dp.c +@@ -225,12 +225,18 @@ nouveau_dp_detect(struct nouveau_connector *nv_connector, + u8 *dpcd = nv_encoder->dp.dpcd; + int ret = NOUVEAU_DP_NONE, hpd; + +- /* If we've already read the DPCD on an eDP device, we don't need to +- * reread it as it won't change ++ /* eDP ports don't support hotplugging - so there's no point in probing eDP ports unless we ++ * haven't probed them once before. + */ +- if (connector->connector_type == DRM_MODE_CONNECTOR_eDP && +- dpcd[DP_DPCD_REV] != 0) +- return NOUVEAU_DP_SST; ++ if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) { ++ if (connector->status == connector_status_connected) ++ return NOUVEAU_DP_SST; ++ else if (connector->status == connector_status_disconnected) ++ return NOUVEAU_DP_NONE; ++ } ++ ++ // Ensure that the aux bus is enabled for probing ++ drm_dp_dpcd_set_powered(&nv_connector->aux, true); + + mutex_lock(&nv_encoder->dp.hpd_irq_lock); + if (mstm) { +@@ -293,6 +299,13 @@ nouveau_dp_detect(struct nouveau_connector *nv_connector, + if (mstm && !mstm->suspended && ret != NOUVEAU_DP_MST) + nv50_mstm_remove(mstm); + ++ /* GSP doesn't like when we try to do aux transactions on a port it considers disconnected, ++ * and since we don't really have a usecase for that anyway - just disable the aux bus here ++ * if we've decided the connector is disconnected ++ */ ++ if (ret == NOUVEAU_DP_NONE) ++ drm_dp_dpcd_set_powered(&nv_connector->aux, false); ++ + mutex_unlock(&nv_encoder->dp.hpd_irq_lock); + return ret; + } +diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c +index e5e3f0b9ca61..49b8a2484d92 100644 +--- a/drivers/gpu/drm/panel/panel-edp.c ++++ b/drivers/gpu/drm/panel/panel-edp.c +@@ -397,6 +397,7 @@ static int panel_edp_suspend(struct device *dev) + { + struct panel_edp *p = dev_get_drvdata(dev); + ++ drm_dp_dpcd_set_powered(p->aux, false); + gpiod_set_value_cansleep(p->enable_gpio, 0); + regulator_disable(p->supply); + p->unprepared_time = ktime_get_boottime(); +@@ -453,6 +454,7 @@ static int panel_edp_prepare_once(struct panel_edp *p) + } + + gpiod_set_value_cansleep(p->enable_gpio, 1); ++ drm_dp_dpcd_set_powered(p->aux, true); + + delay = p->desc->delay.hpd_reliable; + if (p->no_hpd) +@@ -489,6 +491,7 @@ static int panel_edp_prepare_once(struct panel_edp *p) + return 0; + + error: ++ drm_dp_dpcd_set_powered(p->aux, false); + gpiod_set_value_cansleep(p->enable_gpio, 0); + regulator_disable(p->supply); + p->unprepared_time = ktime_get_boottime(); +diff --git a/drivers/gpu/drm/panel/panel-samsung-atna33xc20.c b/drivers/gpu/drm/panel/panel-samsung-atna33xc20.c +index 5703f4712d96..76c2a8f6718c 100644 +--- a/drivers/gpu/drm/panel/panel-samsung-atna33xc20.c ++++ b/drivers/gpu/drm/panel/panel-samsung-atna33xc20.c +@@ -72,6 +72,7 @@ static int atana33xc20_suspend(struct device *dev) + if (p->el3_was_on) + atana33xc20_wait(p->el_on3_off_time, 150); + ++ drm_dp_dpcd_set_powered(p->aux, false); + ret = regulator_disable(p->supply); + if (ret) + return ret; +@@ -93,6 +94,7 @@ static int atana33xc20_resume(struct device *dev) + ret = regulator_enable(p->supply); + if (ret) + return ret; ++ drm_dp_dpcd_set_powered(p->aux, true); + p->powered_on_time = ktime_get_boottime(); + + if (p->no_hpd) { diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c index d4af17fdba46..154f0403cbf4 100644 --- a/drivers/hid/hid-rmi.c @@ -1066,6 +1221,26 @@ index 18c8f168b153..055cdec2e9ad 100644 error = xfs_bmbt_to_iomap(ip, iomap, &imap, flags, 0, seq); out_unlock: xfs_iunlock(ip, lockmode); +diff --git a/include/drm/display/drm_dp_helper.h b/include/drm/display/drm_dp_helper.h +index 863b2e7add29..472359a9d675 100644 +--- a/include/drm/display/drm_dp_helper.h ++++ b/include/drm/display/drm_dp_helper.h +@@ -463,9 +463,15 @@ struct drm_dp_aux { + * @is_remote: Is this AUX CH actually using sideband messaging. + */ + bool is_remote; ++ ++ /** ++ * @powered_down: If true then the remote endpoint is powered down. ++ */ ++ bool powered_down; + }; + + int drm_dp_dpcd_probe(struct drm_dp_aux *aux, unsigned int offset); ++void drm_dp_dpcd_set_powered(struct drm_dp_aux *aux, bool powered); + ssize_t drm_dp_dpcd_read(struct drm_dp_aux *aux, unsigned int offset, + void *buffer, size_t size); + ssize_t drm_dp_dpcd_write(struct drm_dp_aux *aux, unsigned int offset, diff --git a/include/linux/efi.h b/include/linux/efi.h index c74f47711f0b..e7bbf3b7a938 100644 --- a/include/linux/efi.h diff --git a/sources b/sources index a92c89ffc..c5c1a0e6c 100644 --- a/sources +++ b/sources @@ -1,5 +1,5 @@ SHA512 (kernel-abi-stablelists-6.6.0.tar.bz2) = 4f917598056dee5e23814621ec96ff2e4a411c8c4ba9d56ecb01b23cb96431825bedbecfcbaac9338efbf5cb21694d85497fa0bf43e7c80d9cd10bc6dd144dbd SHA512 (kernel-kabi-dw-6.6.0.tar.bz2) = 19308cd976031d05e18ef7f5d093218acdb89446418bab0cd956ff12cf66369915b9e64bb66fa9f20939428a60e81884fec5be3529c6c7461738d6540d3cc5c6 -SHA512 (linux-6.8.8.tar.xz) = ddf32036962127c2f49f88f6fa52bb2bd8dea870502f80bf0e1c74b8032999a6f41fbe28e5fb642c5bf759f7fb761bf66f83104070921c4b9804e18a261e1e41 -SHA512 (kernel-abi-stablelists-6.8.8.tar.xz) = c7b3df28c6b33e1f67e28423d274e68e7007188ad45d8939c5b1a16f5e5c88bf4cdf7232ed0c9f235d2df066a7977f34c8bd8dbe435a33b13d13f806e2b8d17c -SHA512 (kernel-kabi-dw-6.8.8.tar.xz) = 23f891481f9fa9019a672c13e180d4ba9367e5c120f571b7d6d15ca7403bcb304368bbc5f449cb41b220e393f000dffc61edac14069107426307408fb83db55f +SHA512 (linux-6.8.9.tar.xz) = 0da6c13b5068422a81bedb607468867173e737ae4ea0760a01ae91c5ffdec45ac34531c09c1ba046366f35f82a3fc07a1ad062f9043ff45d649bf9c498b86998 +SHA512 (kernel-abi-stablelists-6.8.9.tar.xz) = ab84a6357040ab758619a48d4d9d4013dd172d865bfe9d664de1b5f5d0f3df1f27d0d493c45b7c21f19eb9897be58d4f0fc6f348f87f7df7ef1465fb4efcbcf4 +SHA512 (kernel-kabi-dw-6.8.9.tar.xz) = 463a6e8212c65c0445e9252a35ef389fe73ad1d675ca363b54fdace7cbe10d3f6eeb8e35768a3116bd596b66c3ed5de4b8588331d7c51a2f4880b6e1376d9c5f