]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
6.1-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 6 Dec 2024 09:43:11 +0000 (10:43 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 6 Dec 2024 09:43:11 +0000 (10:43 +0100)
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

queue-6.1/arm64-dts-allwinner-pinephone-add-mount-matrix-to-accelerometer.patch [new file with mode: 0644]
queue-6.1/arm64-dts-freescale-imx8mm-verdin-fix-sd-regulator-startup-delay.patch [new file with mode: 0644]
queue-6.1/arm64-dts-freescale-imx8mp-verdin-fix-sd-regulator-startup-delay.patch [new file with mode: 0644]
queue-6.1/media-amphion-set-video-drvdata-before-register-video-device.patch [new file with mode: 0644]
queue-6.1/media-i2c-dw9768-fix-pm_runtime_set_suspended-with-runtime-pm-enabled.patch [new file with mode: 0644]
queue-6.1/media-imx-jpeg-set-video-drvdata-before-register-video-device.patch [new file with mode: 0644]
queue-6.1/series

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 (file)
index 0000000..68f1bc2
--- /dev/null
@@ -0,0 +1,45 @@
+From 2496b2aaacf137250f4ca449f465e2cadaabb0e8 Mon Sep 17 00:00:00 2001
+From: Dragan Simic <dsimic@manjaro.org>
+Date: Thu, 19 Sep 2024 21:15:26 +0200
+Subject: arm64: dts: allwinner: pinephone: Add mount matrix to accelerometer
+
+From: Dragan Simic <dsimic@manjaro.org>
+
+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 <megi@xff.cz>
+Suggested-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
+Signed-off-by: Dragan Simic <dsimic@manjaro.org>
+Reviewed-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
+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 <wens@csie.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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 = <&reg_dldo1>;
+               vddio-supply = <&reg_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 (file)
index 0000000..1bb39cf
--- /dev/null
@@ -0,0 +1,33 @@
+From 0ca7699c376743b633b6419a42888dba386d5351 Mon Sep 17 00:00:00 2001
+From: Francesco Dolcini <francesco.dolcini@toradex.com>
+Date: Thu, 24 Oct 2024 15:06:50 +0200
+Subject: arm64: dts: freescale: imx8mm-verdin: Fix SD regulator startup delay
+
+From: Francesco Dolcini <francesco.dolcini@toradex.com>
+
+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 <francesco.dolcini@toradex.com>
+Signed-off-by: Shawn Guo <shawnguo@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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 (file)
index 0000000..94d6402
--- /dev/null
@@ -0,0 +1,33 @@
+From 6c5789c9d2c06968532243daa235f6ff809ad71e Mon Sep 17 00:00:00 2001
+From: Francesco Dolcini <francesco.dolcini@toradex.com>
+Date: Thu, 24 Oct 2024 15:06:51 +0200
+Subject: arm64: dts: freescale: imx8mp-verdin: Fix SD regulator startup delay
+
+From: Francesco Dolcini <francesco.dolcini@toradex.com>
+
+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 <francesco.dolcini@toradex.com>
+Signed-off-by: Shawn Guo <shawnguo@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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 (file)
index 0000000..88f6693
--- /dev/null
@@ -0,0 +1,41 @@
+From 8cbb1a7bd5973b57898b26eb804fe44af440bb63 Mon Sep 17 00:00:00 2001
+From: Ming Qian <ming.qian@nxp.com>
+Date: Fri, 13 Sep 2024 15:21:45 +0900
+Subject: media: amphion: Set video drvdata before register video device
+
+From: Ming Qian <ming.qian@nxp.com>
+
+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: <stable@vger.kernel.org>
+Signed-off-by: Ming Qian <ming.qian@nxp.com>
+Reviewed-by: TaoJiang <tao.jiang_2@nxp.com>
+Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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 (file)
index 0000000..8d90979
--- /dev/null
@@ -0,0 +1,76 @@
+From d6594d50761728d09f23238cf9c368bab6260ef3 Mon Sep 17 00:00:00 2001
+From: Jinjie Ruan <ruanjinjie@huawei.com>
+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 <ruanjinjie@huawei.com>
+
+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 <sakari.ailus@linux.intel.com>
+Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
+Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
+Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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 (file)
index 0000000..6e98ebb
--- /dev/null
@@ -0,0 +1,41 @@
+From d2b7ecc26bd5406d5ba927be1748aa99c568696c Mon Sep 17 00:00:00 2001
+From: Ming Qian <ming.qian@nxp.com>
+Date: Fri, 13 Sep 2024 15:21:44 +0900
+Subject: media: imx-jpeg: Set video drvdata before register video device
+
+From: Ming Qian <ming.qian@nxp.com>
+
+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: <stable@vger.kernel.org>
+Signed-off-by: Ming Qian <ming.qian@nxp.com>
+Reviewed-by: TaoJiang <tao.jiang_2@nxp.com>
+Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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",
index 28e28bbcefdddedb5e5530419864732f87e1d6ea..7b702fa8b8bcc5f541142a108f86c69296cfb10a 100644 (file)
@@ -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