From d88f8c4113bf874b19bae20e817afc27f731fe6b Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 24 Jan 2022 12:21:10 +0100 Subject: [PATCH] 4.19-stable patches added patches: arm-dts-fix-vcsi-regulator-to-be-always-on-for-droid4-to-prevent-hangs.patch dmaengine-stm32-mdma-fix-stm32_mdma_ctbr_tsel_mask.patch documentation-refer-to-config-randomize_base-for-kernel-address-space-randomization.patch firmware-update-kconfig-help-text-for-google-firmware.patch lib-kconfig.debug-make-test_kmod-depend-on-page_size_less_than_256kb.patch media-rcar-csi2-optimize-the-selection-phtw-register.patch rdma-hns-modify-the-mapping-attribute-of-doorbell-to-device.patch rdma-rxe-fix-a-typo-in-opcode-name.patch --- ...lways-on-for-droid4-to-prevent-hangs.patch | 53 +++++++++++++++++++ ...2-mdma-fix-stm32_mdma_ctbr_tsel_mask.patch | 31 +++++++++++ ...r-kernel-address-space-randomization.patch | 39 ++++++++++++++ ...config-help-text-for-google-firmware.patch | 40 ++++++++++++++ ...-depend-on-page_size_less_than_256kb.patch | 51 ++++++++++++++++++ ...optimize-the-selection-phtw-register.patch | 53 +++++++++++++++++++ ...ping-attribute-of-doorbell-to-device.patch | 33 ++++++++++++ .../rdma-rxe-fix-a-typo-in-opcode-name.patch | 34 ++++++++++++ queue-4.19/series | 8 +++ 9 files changed, 342 insertions(+) create mode 100644 queue-4.19/arm-dts-fix-vcsi-regulator-to-be-always-on-for-droid4-to-prevent-hangs.patch create mode 100644 queue-4.19/dmaengine-stm32-mdma-fix-stm32_mdma_ctbr_tsel_mask.patch create mode 100644 queue-4.19/documentation-refer-to-config-randomize_base-for-kernel-address-space-randomization.patch create mode 100644 queue-4.19/firmware-update-kconfig-help-text-for-google-firmware.patch create mode 100644 queue-4.19/lib-kconfig.debug-make-test_kmod-depend-on-page_size_less_than_256kb.patch create mode 100644 queue-4.19/media-rcar-csi2-optimize-the-selection-phtw-register.patch create mode 100644 queue-4.19/rdma-hns-modify-the-mapping-attribute-of-doorbell-to-device.patch create mode 100644 queue-4.19/rdma-rxe-fix-a-typo-in-opcode-name.patch diff --git a/queue-4.19/arm-dts-fix-vcsi-regulator-to-be-always-on-for-droid4-to-prevent-hangs.patch b/queue-4.19/arm-dts-fix-vcsi-regulator-to-be-always-on-for-droid4-to-prevent-hangs.patch new file mode 100644 index 00000000000..c872eca0e08 --- /dev/null +++ b/queue-4.19/arm-dts-fix-vcsi-regulator-to-be-always-on-for-droid4-to-prevent-hangs.patch @@ -0,0 +1,53 @@ +From ddb52945999dcf35787bf221b62108806182578d Mon Sep 17 00:00:00 2001 +From: Tony Lindgren +Date: Tue, 19 Nov 2019 19:50:30 -0800 +Subject: ARM: dts: Fix vcsi regulator to be always-on for droid4 to prevent hangs + +From: Tony Lindgren + +commit ddb52945999dcf35787bf221b62108806182578d upstream. + +In addition to using vcsi regulator for the display, looks like droid4 is +using vcsi regulator to trigger off mode internally with the PMIC firmware +when the SoC enters deeper idle states. This is configured in the Motorola +Mapphone Linux kernel sources as "zerov_regulator". + +As we currently don't support off mode during idle for omap4, we must +prevent vcsi from being disabled when the display is blanked to prevent +the PMIC change to off mode. Otherwise the device will hang on entering +idle when the display is blanked. + +Before commit 089b3f61ecfc ("regulator: core: Let boot-on regulators be +powered off"), the boot-on regulators never got disabled like they should +and vcsi did not get turned off on idle. + +Let's fix the issue by setting vcsi to always-on for now. Later on we may +want to claim the vcsi regulator also in the PM code if needed. + +Fixes: 089b3f61ecfc ("regulator: core: Let boot-on regulators be powered off") +Cc: Merlijn Wajer +Cc: Pavel Machek +Cc: Sebastian Reichel +Signed-off-by: Tony Lindgren +Signed-off-by: Greg Kroah-Hartman +--- + arch/arm/boot/dts/motorola-cpcap-mapphone.dtsi | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/arch/arm/boot/dts/motorola-cpcap-mapphone.dtsi ++++ b/arch/arm/boot/dts/motorola-cpcap-mapphone.dtsi +@@ -165,12 +165,12 @@ + regulator-enable-ramp-delay = <1000>; + }; + +- /* Used by DSS */ ++ /* Used by DSS and is the "zerov_regulator" trigger for SoC off mode */ + vcsi: VCSI { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-enable-ramp-delay = <1000>; +- regulator-boot-on; ++ regulator-always-on; + }; + + vdac: VDAC { diff --git a/queue-4.19/dmaengine-stm32-mdma-fix-stm32_mdma_ctbr_tsel_mask.patch b/queue-4.19/dmaengine-stm32-mdma-fix-stm32_mdma_ctbr_tsel_mask.patch new file mode 100644 index 00000000000..ee915e63805 --- /dev/null +++ b/queue-4.19/dmaengine-stm32-mdma-fix-stm32_mdma_ctbr_tsel_mask.patch @@ -0,0 +1,31 @@ +From e7f110889a87307fb0fed408a5dee1707796ca04 Mon Sep 17 00:00:00 2001 +From: Amelie Delaunay +Date: Mon, 20 Dec 2021 17:58:27 +0100 +Subject: dmaengine: stm32-mdma: fix STM32_MDMA_CTBR_TSEL_MASK + +From: Amelie Delaunay + +commit e7f110889a87307fb0fed408a5dee1707796ca04 upstream. + +This patch fixes STM32_MDMA_CTBR_TSEL_MASK, which is [5:0], not [7:0]. + +Fixes: a4ffb13c8946 ("dmaengine: Add STM32 MDMA driver") +Signed-off-by: Amelie Delaunay +Link: https://lore.kernel.org/r/20211220165827.1238097-1-amelie.delaunay@foss.st.com +Signed-off-by: Vinod Koul +Signed-off-by: Greg Kroah-Hartman +--- + drivers/dma/stm32-mdma.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/dma/stm32-mdma.c ++++ b/drivers/dma/stm32-mdma.c +@@ -194,7 +194,7 @@ + #define STM32_MDMA_CTBR(x) (0x68 + 0x40 * (x)) + #define STM32_MDMA_CTBR_DBUS BIT(17) + #define STM32_MDMA_CTBR_SBUS BIT(16) +-#define STM32_MDMA_CTBR_TSEL_MASK GENMASK(7, 0) ++#define STM32_MDMA_CTBR_TSEL_MASK GENMASK(5, 0) + #define STM32_MDMA_CTBR_TSEL(n) STM32_MDMA_SET(n, \ + STM32_MDMA_CTBR_TSEL_MASK) + diff --git a/queue-4.19/documentation-refer-to-config-randomize_base-for-kernel-address-space-randomization.patch b/queue-4.19/documentation-refer-to-config-randomize_base-for-kernel-address-space-randomization.patch new file mode 100644 index 00000000000..9e983015d28 --- /dev/null +++ b/queue-4.19/documentation-refer-to-config-randomize_base-for-kernel-address-space-randomization.patch @@ -0,0 +1,39 @@ +From 82ca67321f55a8d1da6ac3ed611da3c32818bb37 Mon Sep 17 00:00:00 2001 +From: Lukas Bulwahn +Date: Thu, 30 Dec 2021 18:19:40 +0100 +Subject: Documentation: refer to config RANDOMIZE_BASE for kernel address-space randomization + +From: Lukas Bulwahn + +commit 82ca67321f55a8d1da6ac3ed611da3c32818bb37 upstream. + +The config RANDOMIZE_SLAB does not exist, the authors probably intended to +refer to the config RANDOMIZE_BASE, which provides kernel address-space +randomization. They probably just confused SLAB with BASE (these two +four-letter words coincidentally share three common letters), as they also +point out the config SLAB_FREELIST_RANDOM as further randomization within +the same sentence. + +Fix the reference of the config for kernel address-space randomization to +the config that provides that. + +Fixes: 6e88559470f5 ("Documentation: Add section about CPU vulnerabilities for Spectre") +Signed-off-by: Lukas Bulwahn +Link: https://lore.kernel.org/r/20211230171940.27558-1-lukas.bulwahn@gmail.com +Signed-off-by: Jonathan Corbet +Signed-off-by: Greg Kroah-Hartman +--- + Documentation/admin-guide/hw-vuln/spectre.rst | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/Documentation/admin-guide/hw-vuln/spectre.rst ++++ b/Documentation/admin-guide/hw-vuln/spectre.rst +@@ -468,7 +468,7 @@ Spectre variant 2 + before invoking any firmware code to prevent Spectre variant 2 exploits + using the firmware. + +- Using kernel address space randomization (CONFIG_RANDOMIZE_SLAB=y ++ Using kernel address space randomization (CONFIG_RANDOMIZE_BASE=y + and CONFIG_SLAB_FREELIST_RANDOM=y in the kernel configuration) makes + attacks on the kernel generally more difficult. + diff --git a/queue-4.19/firmware-update-kconfig-help-text-for-google-firmware.patch b/queue-4.19/firmware-update-kconfig-help-text-for-google-firmware.patch new file mode 100644 index 00000000000..1b687748808 --- /dev/null +++ b/queue-4.19/firmware-update-kconfig-help-text-for-google-firmware.patch @@ -0,0 +1,40 @@ +From d185a3466f0cd5af8f1c5c782c53bc0e6f2e7136 Mon Sep 17 00:00:00 2001 +From: Ben Hutchings +Date: Mon, 18 Jun 2018 23:55:40 +0100 +Subject: firmware: Update Kconfig help text for Google firmware + +From: Ben Hutchings + +commit d185a3466f0cd5af8f1c5c782c53bc0e6f2e7136 upstream. + +The help text for GOOGLE_FIRMWARE states that it should only be +enabled when building a kernel for Google's own servers. However, +many of the drivers dependent on it are also useful on Chromebooks or +on any platform using coreboot. + +Update the help text to reflect this double duty. + +Fixes: d384d6f43d1e ("firmware: google memconsole: Add coreboot support") +Reviewed-by: Julius Werner +Signed-off-by: Ben Hutchings +Link: https://lore.kernel.org/r/20180618225540.GD14131@decadent.org.uk +Signed-off-by: Greg Kroah-Hartman +--- + drivers/firmware/google/Kconfig | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- a/drivers/firmware/google/Kconfig ++++ b/drivers/firmware/google/Kconfig +@@ -2,9 +2,9 @@ menuconfig GOOGLE_FIRMWARE + bool "Google Firmware Drivers" + default n + help +- These firmware drivers are used by Google's servers. They are +- only useful if you are working directly on one of their +- proprietary servers. If in doubt, say "N". ++ These firmware drivers are used by Google servers, ++ Chromebooks and other devices using coreboot firmware. ++ If in doubt, say "N". + + if GOOGLE_FIRMWARE + diff --git a/queue-4.19/lib-kconfig.debug-make-test_kmod-depend-on-page_size_less_than_256kb.patch b/queue-4.19/lib-kconfig.debug-make-test_kmod-depend-on-page_size_less_than_256kb.patch new file mode 100644 index 00000000000..37fb9d68fc2 --- /dev/null +++ b/queue-4.19/lib-kconfig.debug-make-test_kmod-depend-on-page_size_less_than_256kb.patch @@ -0,0 +1,51 @@ +From bbd2e05fad3e692ff2495895975bd0fce02bdbae Mon Sep 17 00:00:00 2001 +From: Nathan Chancellor +Date: Wed, 19 Jan 2022 18:10:28 -0800 +Subject: lib/Kconfig.debug: make TEST_KMOD depend on PAGE_SIZE_LESS_THAN_256KB + +From: Nathan Chancellor + +commit bbd2e05fad3e692ff2495895975bd0fce02bdbae upstream. + +Commit b05fbcc36be1 ("btrfs: disable build on platforms having page size +256K") disabled btrfs for configurations that used a 256kB page size. +However, it did not fully solve the problem because CONFIG_TEST_KMOD +selects CONFIG_BTRFS, which does not account for the dependency. This +results in a Kconfig warning and the failed BUILD_BUG_ON error +returning. + + WARNING: unmet direct dependencies detected for BTRFS_FS + Depends on [n]: BLOCK [=y] && !PPC_256K_PAGES && !PAGE_SIZE_256KB [=y] + Selected by [m]: + - TEST_KMOD [=m] && RUNTIME_TESTING_MENU [=y] && m && MODULES [=y] && NETDEVICES [=y] && NET_CORE [=y] && INET [=y] && BLOCK [=y] + +To resolve this, add CONFIG_PAGE_SIZE_LESS_THAN_256KB as a dependency of +CONFIG_TEST_KMOD so there is no more invalid configuration or build +errors. + +Link: https://lkml.kernel.org/r/20211129230141.228085-4-nathan@kernel.org +Fixes: b05fbcc36be1 ("btrfs: disable build on platforms having page size 256K") +Signed-off-by: Nathan Chancellor +Reported-by: kernel test robot +Cc: Chris Mason +Cc: David Sterba +Cc: Josef Bacik +Cc: Luis Chamberlain +Cc: Nick Desaulniers +Signed-off-by: Andrew Morton +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman +--- + lib/Kconfig.debug | 1 + + 1 file changed, 1 insertion(+) + +--- a/lib/Kconfig.debug ++++ b/lib/Kconfig.debug +@@ -1934,6 +1934,7 @@ config TEST_KMOD + depends on BLOCK && (64BIT || LBDAF) # for XFS, BTRFS + depends on NETDEVICES && NET_CORE && INET # for TUN + depends on BLOCK ++ depends on PAGE_SIZE_LESS_THAN_256KB # for BTRFS + select TEST_LKM + select XFS_FS + select TUN diff --git a/queue-4.19/media-rcar-csi2-optimize-the-selection-phtw-register.patch b/queue-4.19/media-rcar-csi2-optimize-the-selection-phtw-register.patch new file mode 100644 index 00000000000..0dded0ee19e --- /dev/null +++ b/queue-4.19/media-rcar-csi2-optimize-the-selection-phtw-register.patch @@ -0,0 +1,53 @@ +From 549cc89cd09a85aaa16dc07ef3db811d5cf9bcb1 Mon Sep 17 00:00:00 2001 +From: Suresh Udipi +Date: Fri, 13 Aug 2021 17:07:56 +0200 +Subject: media: rcar-csi2: Optimize the selection PHTW register +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Suresh Udipi + +commit 549cc89cd09a85aaa16dc07ef3db811d5cf9bcb1 upstream. + +PHTW register is selected based on default bit rate from Table[1]. +for the bit rates less than or equal to 250. Currently first +value of default bit rate which is greater than or equal to +the caculated mbps is selected. This selection can be further +improved by selecting the default bit rate which is nearest to +the calculated value. + +[1] specs r19uh0105ej0200-r-car-3rd-generation.pdf [Table 25.12] + +Fixes: 769afd212b16 ("media: rcar-csi2: add Renesas R-Car MIPI CSI-2 receiver driver") +Signed-off-by: Suresh Udipi +Signed-off-by: Michael Rodin +Reviewed-by: Niklas Söderlund +Signed-off-by: Hans Verkuil +Signed-off-by: Mauro Carvalho Chehab +Signed-off-by: Greg Kroah-Hartman +--- + drivers/media/platform/rcar-vin/rcar-csi2.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +--- a/drivers/media/platform/rcar-vin/rcar-csi2.c ++++ b/drivers/media/platform/rcar-vin/rcar-csi2.c +@@ -843,10 +843,17 @@ static int rcsi2_phtw_write_mbps(struct + const struct rcsi2_mbps_reg *values, u16 code) + { + const struct rcsi2_mbps_reg *value; ++ const struct rcsi2_mbps_reg *prev_value = NULL; + +- for (value = values; value->mbps; value++) ++ for (value = values; value->mbps; value++) { + if (value->mbps >= mbps) + break; ++ prev_value = value; ++ } ++ ++ if (prev_value && ++ ((mbps - prev_value->mbps) <= (value->mbps - mbps))) ++ value = prev_value; + + if (!value->mbps) { + dev_err(priv->dev, "Unsupported PHY speed (%u Mbps)", mbps); diff --git a/queue-4.19/rdma-hns-modify-the-mapping-attribute-of-doorbell-to-device.patch b/queue-4.19/rdma-hns-modify-the-mapping-attribute-of-doorbell-to-device.patch new file mode 100644 index 00000000000..4a770430ab1 --- /dev/null +++ b/queue-4.19/rdma-hns-modify-the-mapping-attribute-of-doorbell-to-device.patch @@ -0,0 +1,33 @@ +From 39d5534b1302189c809e90641ffae8cbdc42a8fc Mon Sep 17 00:00:00 2001 +From: Yixing Liu +Date: Mon, 6 Dec 2021 21:36:52 +0800 +Subject: RDMA/hns: Modify the mapping attribute of doorbell to device + +From: Yixing Liu + +commit 39d5534b1302189c809e90641ffae8cbdc42a8fc upstream. + +It is more general for ARM device drivers to use the device attribute to +map PCI BAR spaces. + +Fixes: 9a4435375cd1 ("IB/hns: Add driver files for hns RoCE driver") +Link: https://lore.kernel.org/r/20211206133652.27476-1-liangwenpeng@huawei.com +Signed-off-by: Yixing Liu +Signed-off-by: Wenpeng Liang +Signed-off-by: Jason Gunthorpe +Signed-off-by: Greg Kroah-Hartman +--- + drivers/infiniband/hw/hns/hns_roce_main.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/infiniband/hw/hns/hns_roce_main.c ++++ b/drivers/infiniband/hw/hns/hns_roce_main.c +@@ -432,7 +432,7 @@ static int hns_roce_mmap(struct ib_ucont + return -EINVAL; + + if (vma->vm_pgoff == 0) { +- vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); ++ vma->vm_page_prot = pgprot_device(vma->vm_page_prot); + if (io_remap_pfn_range(vma, vma->vm_start, + to_hr_ucontext(context)->uar.pfn, + PAGE_SIZE, vma->vm_page_prot)) diff --git a/queue-4.19/rdma-rxe-fix-a-typo-in-opcode-name.patch b/queue-4.19/rdma-rxe-fix-a-typo-in-opcode-name.patch new file mode 100644 index 00000000000..098be4edd46 --- /dev/null +++ b/queue-4.19/rdma-rxe-fix-a-typo-in-opcode-name.patch @@ -0,0 +1,34 @@ +From 8d1cfb884e881efd69a3be4ef10772c71cb22216 Mon Sep 17 00:00:00 2001 +From: Chengguang Xu +Date: Sat, 18 Dec 2021 19:23:20 +0800 +Subject: RDMA/rxe: Fix a typo in opcode name + +From: Chengguang Xu + +commit 8d1cfb884e881efd69a3be4ef10772c71cb22216 upstream. + +There is a redundant ']' in the name of opcode IB_OPCODE_RC_SEND_MIDDLE, +so just fix it. + +Fixes: 8700e3e7c485 ("Soft RoCE driver") +Link: https://lore.kernel.org/r/20211218112320.3558770-1-cgxu519@mykernel.net +Signed-off-by: Chengguang Xu +Acked-by: Zhu Yanjun +Reviewed-by: Bob Pearson +Signed-off-by: Jason Gunthorpe +Signed-off-by: Greg Kroah-Hartman +--- + drivers/infiniband/sw/rxe/rxe_opcode.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/infiniband/sw/rxe/rxe_opcode.c ++++ b/drivers/infiniband/sw/rxe/rxe_opcode.c +@@ -137,7 +137,7 @@ struct rxe_opcode_info rxe_opcode[RXE_NU + } + }, + [IB_OPCODE_RC_SEND_MIDDLE] = { +- .name = "IB_OPCODE_RC_SEND_MIDDLE]", ++ .name = "IB_OPCODE_RC_SEND_MIDDLE", + .mask = RXE_PAYLOAD_MASK | RXE_REQ_MASK | RXE_SEND_MASK + | RXE_MIDDLE_MASK, + .length = RXE_BTH_BYTES, diff --git a/queue-4.19/series b/queue-4.19/series index bfea4b87a1e..64287d538e3 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -210,3 +210,11 @@ regulator-core-let-boot-on-regulators-be-powered-off.patch fuse-fix-bad-inode.patch fuse-fix-live-lock-in-fuse_iget.patch drm-radeon-fix-error-handling-in-radeon_driver_open_kms.patch +arm-dts-fix-vcsi-regulator-to-be-always-on-for-droid4-to-prevent-hangs.patch +firmware-update-kconfig-help-text-for-google-firmware.patch +media-rcar-csi2-optimize-the-selection-phtw-register.patch +lib-kconfig.debug-make-test_kmod-depend-on-page_size_less_than_256kb.patch +documentation-refer-to-config-randomize_base-for-kernel-address-space-randomization.patch +rdma-hns-modify-the-mapping-attribute-of-doorbell-to-device.patch +rdma-rxe-fix-a-typo-in-opcode-name.patch +dmaengine-stm32-mdma-fix-stm32_mdma_ctbr_tsel_mask.patch -- 2.47.3