From: Greg Kroah-Hartman Date: Fri, 6 Dec 2024 09:43:11 +0000 (+0100) Subject: 6.1-stable patches X-Git-Tag: v6.6.64~40 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=db293490e9d321504219fc1f307159ab2fcf516b;p=thirdparty%2Fkernel%2Fstable-queue.git 6.1-stable patches added patches: arm64-dts-allwinner-pinephone-add-mount-matrix-to-accelerometer.patch arm64-dts-freescale-imx8mm-verdin-fix-sd-regulator-startup-delay.patch arm64-dts-freescale-imx8mp-verdin-fix-sd-regulator-startup-delay.patch media-amphion-set-video-drvdata-before-register-video-device.patch media-i2c-dw9768-fix-pm_runtime_set_suspended-with-runtime-pm-enabled.patch media-imx-jpeg-set-video-drvdata-before-register-video-device.patch --- diff --git a/queue-6.1/arm64-dts-allwinner-pinephone-add-mount-matrix-to-accelerometer.patch b/queue-6.1/arm64-dts-allwinner-pinephone-add-mount-matrix-to-accelerometer.patch new file mode 100644 index 00000000000..68f1bc285f3 --- /dev/null +++ b/queue-6.1/arm64-dts-allwinner-pinephone-add-mount-matrix-to-accelerometer.patch @@ -0,0 +1,45 @@ +From 2496b2aaacf137250f4ca449f465e2cadaabb0e8 Mon Sep 17 00:00:00 2001 +From: Dragan Simic +Date: Thu, 19 Sep 2024 21:15:26 +0200 +Subject: arm64: dts: allwinner: pinephone: Add mount matrix to accelerometer + +From: Dragan Simic + +commit 2496b2aaacf137250f4ca449f465e2cadaabb0e8 upstream. + +The way InvenSense MPU-6050 accelerometer is mounted on the user-facing side +of the Pine64 PinePhone mainboard, which makes it rotated 90 degrees counter- +clockwise, [1] requires the accelerometer's x- and y-axis to be swapped, and +the direction of the accelerometer's y-axis to be inverted. + +Rectify this by adding a mount-matrix to the accelerometer definition in the +Pine64 PinePhone dtsi file. + +[1] https://files.pine64.org/doc/PinePhone/PinePhone%20mainboard%20bottom%20placement%20v1.1%2020191031.pdf + +Fixes: 91f480d40942 ("arm64: dts: allwinner: Add initial support for Pine64 PinePhone") +Cc: stable@vger.kernel.org +Suggested-by: Ondrej Jirman +Suggested-by: Andrey Skvortsov +Signed-off-by: Dragan Simic +Reviewed-by: Andrey Skvortsov +Link: https://patch.msgid.link/129f0c754d071cca1db5d207d9d4a7bd9831dff7.1726773282.git.dsimic@manjaro.org +[wens@csie.org: Replaced Helped-by with Suggested-by] +Signed-off-by: Chen-Yu Tsai +Signed-off-by: Greg Kroah-Hartman +--- + arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi +@@ -202,6 +202,9 @@ + interrupts = <7 5 IRQ_TYPE_EDGE_RISING>; /* PH5 */ + vdd-supply = <®_dldo1>; + vddio-supply = <®_dldo1>; ++ mount-matrix = "0", "1", "0", ++ "-1", "0", "0", ++ "0", "0", "1"; + }; + }; + diff --git a/queue-6.1/arm64-dts-freescale-imx8mm-verdin-fix-sd-regulator-startup-delay.patch b/queue-6.1/arm64-dts-freescale-imx8mm-verdin-fix-sd-regulator-startup-delay.patch new file mode 100644 index 00000000000..1bb39cf0d2d --- /dev/null +++ b/queue-6.1/arm64-dts-freescale-imx8mm-verdin-fix-sd-regulator-startup-delay.patch @@ -0,0 +1,33 @@ +From 0ca7699c376743b633b6419a42888dba386d5351 Mon Sep 17 00:00:00 2001 +From: Francesco Dolcini +Date: Thu, 24 Oct 2024 15:06:50 +0200 +Subject: arm64: dts: freescale: imx8mm-verdin: Fix SD regulator startup delay + +From: Francesco Dolcini + +commit 0ca7699c376743b633b6419a42888dba386d5351 upstream. + +The power switch used to power the SD card interface might have +more than 2ms turn-on time, increase the startup delay to 20ms to +prevent failures. + +Fixes: 6a57f224f734 ("arm64: dts: freescale: add initial support for verdin imx8m mini") +Cc: stable@vger.kernel.org +Signed-off-by: Francesco Dolcini +Signed-off-by: Shawn Guo +Signed-off-by: Greg Kroah-Hartman +--- + arch/arm64/boot/dts/freescale/imx8mm-verdin.dtsi | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/arm64/boot/dts/freescale/imx8mm-verdin.dtsi ++++ b/arch/arm64/boot/dts/freescale/imx8mm-verdin.dtsi +@@ -141,7 +141,7 @@ + regulator-max-microvolt = <3300000>; + regulator-min-microvolt = <3300000>; + regulator-name = "+V3.3_SD"; +- startup-delay-us = <2000>; ++ startup-delay-us = <20000>; + }; + + reserved-memory { diff --git a/queue-6.1/arm64-dts-freescale-imx8mp-verdin-fix-sd-regulator-startup-delay.patch b/queue-6.1/arm64-dts-freescale-imx8mp-verdin-fix-sd-regulator-startup-delay.patch new file mode 100644 index 00000000000..94d6402e26b --- /dev/null +++ b/queue-6.1/arm64-dts-freescale-imx8mp-verdin-fix-sd-regulator-startup-delay.patch @@ -0,0 +1,33 @@ +From 6c5789c9d2c06968532243daa235f6ff809ad71e Mon Sep 17 00:00:00 2001 +From: Francesco Dolcini +Date: Thu, 24 Oct 2024 15:06:51 +0200 +Subject: arm64: dts: freescale: imx8mp-verdin: Fix SD regulator startup delay + +From: Francesco Dolcini + +commit 6c5789c9d2c06968532243daa235f6ff809ad71e upstream. + +The power switch used to power the SD card interface might have +more than 2ms turn-on time, increase the startup delay to 20ms to +prevent failures. + +Fixes: a39ed23bdf6e ("arm64: dts: freescale: add initial support for verdin imx8m plus") +Cc: stable@vger.kernel.org +Signed-off-by: Francesco Dolcini +Signed-off-by: Shawn Guo +Signed-off-by: Greg Kroah-Hartman +--- + arch/arm64/boot/dts/freescale/imx8mp-verdin.dtsi | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/arm64/boot/dts/freescale/imx8mp-verdin.dtsi ++++ b/arch/arm64/boot/dts/freescale/imx8mp-verdin.dtsi +@@ -133,7 +133,7 @@ + regulator-max-microvolt = <3300000>; + regulator-min-microvolt = <3300000>; + regulator-name = "+V3.3_SD"; +- startup-delay-us = <2000>; ++ startup-delay-us = <20000>; + }; + + reserved-memory { diff --git a/queue-6.1/media-amphion-set-video-drvdata-before-register-video-device.patch b/queue-6.1/media-amphion-set-video-drvdata-before-register-video-device.patch new file mode 100644 index 00000000000..88f6693884a --- /dev/null +++ b/queue-6.1/media-amphion-set-video-drvdata-before-register-video-device.patch @@ -0,0 +1,41 @@ +From 8cbb1a7bd5973b57898b26eb804fe44af440bb63 Mon Sep 17 00:00:00 2001 +From: Ming Qian +Date: Fri, 13 Sep 2024 15:21:45 +0900 +Subject: media: amphion: Set video drvdata before register video device + +From: Ming Qian + +commit 8cbb1a7bd5973b57898b26eb804fe44af440bb63 upstream. + +The video drvdata should be set before the video device is registered, +otherwise video_drvdata() may return NULL in the open() file ops, and led +to oops. + +Fixes: 3cd084519c6f ("media: amphion: add vpu v4l2 m2m support") +Cc: +Signed-off-by: Ming Qian +Reviewed-by: TaoJiang +Signed-off-by: Hans Verkuil +Signed-off-by: Greg Kroah-Hartman +--- + drivers/media/platform/amphion/vpu_v4l2.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/media/platform/amphion/vpu_v4l2.c ++++ b/drivers/media/platform/amphion/vpu_v4l2.c +@@ -740,6 +740,7 @@ int vpu_add_func(struct vpu_dev *vpu, st + vfd->fops = vdec_get_fops(); + vfd->ioctl_ops = vdec_get_ioctl_ops(); + } ++ video_set_drvdata(vfd, vpu); + + ret = video_register_device(vfd, VFL_TYPE_VIDEO, -1); + if (ret) { +@@ -747,7 +748,6 @@ int vpu_add_func(struct vpu_dev *vpu, st + v4l2_m2m_release(func->m2m_dev); + return ret; + } +- video_set_drvdata(vfd, vpu); + func->vfd = vfd; + + ret = v4l2_m2m_register_media_controller(func->m2m_dev, func->vfd, func->function); diff --git a/queue-6.1/media-i2c-dw9768-fix-pm_runtime_set_suspended-with-runtime-pm-enabled.patch b/queue-6.1/media-i2c-dw9768-fix-pm_runtime_set_suspended-with-runtime-pm-enabled.patch new file mode 100644 index 00000000000..8d909799abf --- /dev/null +++ b/queue-6.1/media-i2c-dw9768-fix-pm_runtime_set_suspended-with-runtime-pm-enabled.patch @@ -0,0 +1,76 @@ +From d6594d50761728d09f23238cf9c368bab6260ef3 Mon Sep 17 00:00:00 2001 +From: Jinjie Ruan +Date: Fri, 1 Nov 2024 17:40:48 +0800 +Subject: media: i2c: dw9768: Fix pm_runtime_set_suspended() with runtime pm enabled + +From: Jinjie Ruan + +commit d6594d50761728d09f23238cf9c368bab6260ef3 upstream. + +It is not valid to call pm_runtime_set_suspended() and +pm_runtime_set_active() for devices with runtime PM enabled because it +returns -EAGAIN if it is enabled already and working. So, adjust the +order to fix it. + +Cc: stable@vger.kernel.org +Fixes: 5f9a089b6de3 ("dw9768: Enable low-power probe on ACPI") +Suggested-by: Sakari Ailus +Signed-off-by: Jinjie Ruan +Signed-off-by: Sakari Ailus +Signed-off-by: Hans Verkuil +Signed-off-by: Greg Kroah-Hartman +--- + drivers/media/i2c/dw9768.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +--- a/drivers/media/i2c/dw9768.c ++++ b/drivers/media/i2c/dw9768.c +@@ -476,10 +476,9 @@ static int dw9768_probe(struct i2c_clien + * to be powered on in an ACPI system. Similarly for power off in + * remove. + */ +- pm_runtime_enable(dev); + full_power = (is_acpi_node(dev_fwnode(dev)) && + acpi_dev_state_d0(dev)) || +- (is_of_node(dev_fwnode(dev)) && !pm_runtime_enabled(dev)); ++ (is_of_node(dev_fwnode(dev)) && !IS_ENABLED(CONFIG_PM)); + if (full_power) { + ret = dw9768_runtime_resume(dev); + if (ret < 0) { +@@ -489,6 +488,7 @@ static int dw9768_probe(struct i2c_clien + pm_runtime_set_active(dev); + } + ++ pm_runtime_enable(dev); + ret = v4l2_async_register_subdev(&dw9768->sd); + if (ret < 0) { + dev_err(dev, "failed to register V4L2 subdev: %d", ret); +@@ -500,12 +500,12 @@ static int dw9768_probe(struct i2c_clien + return 0; + + err_power_off: ++ pm_runtime_disable(dev); + if (full_power) { + dw9768_runtime_suspend(dev); + pm_runtime_set_suspended(dev); + } + err_clean_entity: +- pm_runtime_disable(dev); + media_entity_cleanup(&dw9768->sd.entity); + err_free_handler: + v4l2_ctrl_handler_free(&dw9768->ctrls); +@@ -522,12 +522,12 @@ static void dw9768_remove(struct i2c_cli + v4l2_async_unregister_subdev(&dw9768->sd); + v4l2_ctrl_handler_free(&dw9768->ctrls); + media_entity_cleanup(&dw9768->sd.entity); ++ pm_runtime_disable(dev); + if ((is_acpi_node(dev_fwnode(dev)) && acpi_dev_state_d0(dev)) || +- (is_of_node(dev_fwnode(dev)) && !pm_runtime_enabled(dev))) { ++ (is_of_node(dev_fwnode(dev)) && !IS_ENABLED(CONFIG_PM))) { + dw9768_runtime_suspend(dev); + pm_runtime_set_suspended(dev); + } +- pm_runtime_disable(dev); + } + + static const struct of_device_id dw9768_of_table[] = { diff --git a/queue-6.1/media-imx-jpeg-set-video-drvdata-before-register-video-device.patch b/queue-6.1/media-imx-jpeg-set-video-drvdata-before-register-video-device.patch new file mode 100644 index 00000000000..6e98ebb2250 --- /dev/null +++ b/queue-6.1/media-imx-jpeg-set-video-drvdata-before-register-video-device.patch @@ -0,0 +1,41 @@ +From d2b7ecc26bd5406d5ba927be1748aa99c568696c Mon Sep 17 00:00:00 2001 +From: Ming Qian +Date: Fri, 13 Sep 2024 15:21:44 +0900 +Subject: media: imx-jpeg: Set video drvdata before register video device + +From: Ming Qian + +commit d2b7ecc26bd5406d5ba927be1748aa99c568696c upstream. + +The video drvdata should be set before the video device is registered, +otherwise video_drvdata() may return NULL in the open() file ops, and led +to oops. + +Fixes: 2db16c6ed72c ("media: imx-jpeg: Add V4L2 driver for i.MX8 JPEG Encoder/Decoder") +Cc: +Signed-off-by: Ming Qian +Reviewed-by: TaoJiang +Signed-off-by: Hans Verkuil +Signed-off-by: Greg Kroah-Hartman +--- + drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c ++++ b/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c +@@ -2252,6 +2252,7 @@ static int mxc_jpeg_probe(struct platfor + jpeg->dec_vdev->vfl_dir = VFL_DIR_M2M; + jpeg->dec_vdev->device_caps = V4L2_CAP_STREAMING | + V4L2_CAP_VIDEO_M2M_MPLANE; ++ video_set_drvdata(jpeg->dec_vdev, jpeg); + if (mode == MXC_JPEG_ENCODE) { + v4l2_disable_ioctl(jpeg->dec_vdev, VIDIOC_DECODER_CMD); + v4l2_disable_ioctl(jpeg->dec_vdev, VIDIOC_TRY_DECODER_CMD); +@@ -2264,7 +2265,6 @@ static int mxc_jpeg_probe(struct platfor + dev_err(dev, "failed to register video device\n"); + goto err_vdev_register; + } +- video_set_drvdata(jpeg->dec_vdev, jpeg); + if (mode == MXC_JPEG_ENCODE) + v4l2_info(&jpeg->v4l2_dev, + "encoder device registered as /dev/video%d (%d,%d)\n", diff --git a/queue-6.1/series b/queue-6.1/series index 28e28bbcefd..7b702fa8b8b 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -457,3 +457,9 @@ btrfs-don-t-loop-for-nowait-writes-when-checking-for.patch btrfs-add-might_sleep-annotations.patch btrfs-add-a-sanity-check-for-btrfs-root-in-btrfs_sea.patch btrfs-ref-verify-fix-use-after-free-after-invalid-re.patch +arm64-dts-allwinner-pinephone-add-mount-matrix-to-accelerometer.patch +arm64-dts-freescale-imx8mm-verdin-fix-sd-regulator-startup-delay.patch +media-amphion-set-video-drvdata-before-register-video-device.patch +media-imx-jpeg-set-video-drvdata-before-register-video-device.patch +media-i2c-dw9768-fix-pm_runtime_set_suspended-with-runtime-pm-enabled.patch +arm64-dts-freescale-imx8mp-verdin-fix-sd-regulator-startup-delay.patch