From: Greg Kroah-Hartman Date: Thu, 8 May 2025 11:22:40 +0000 (+0200) Subject: drop broken serial msm driver patch X-Git-Tag: v5.15.182~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=382b48ffd60eded9a6748326178c4fc37fe8ec1c;p=thirdparty%2Fkernel%2Fstable-queue.git drop broken serial msm driver patch --- diff --git a/queue-5.10/serial-msm-configure-correct-working-mode-before-sta.patch b/queue-5.10/serial-msm-configure-correct-working-mode-before-sta.patch deleted file mode 100644 index b143f0dbcd..0000000000 --- a/queue-5.10/serial-msm-configure-correct-working-mode-before-sta.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 964ad1e439a2da7e7dd136d9bc4930a1bbb55e17 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 8 Apr 2025 19:22:47 +0200 -Subject: serial: msm: Configure correct working mode before starting earlycon - -From: Stephan Gerhold - -[ Upstream commit 7094832b5ac861b0bd7ed8866c93cb15ef619996 ] - -The MSM UART DM controller supports different working modes, e.g. DMA or -the "single-character mode", where all reads/writes operate on a single -character rather than 4 chars (32-bit) at once. When using earlycon, -__msm_console_write() always writes 4 characters at a time, but we don't -know which mode the bootloader was using and we don't set the mode either. - -This causes garbled output if the bootloader was using the single-character -mode, because only every 4th character appears in the serial console, e.g. - - "[ 00oni pi 000xf0[ 00i s 5rm9(l)l s 1 1 SPMTA 7:C 5[ 00A ade k d[ - 00ano:ameoi .Q1B[ 00ac _idaM00080oo'" - -If the bootloader was using the DMA ("DM") mode, output would likely fail -entirely. Later, when the full serial driver probes, the port is -re-initialized and output works as expected. - -Fix this also for earlycon by clearing the DMEN register and -reset+re-enable the transmitter to apply the change. This ensures the -transmitter is in the expected state before writing any output. - -Cc: stable -Fixes: 0efe72963409 ("tty: serial: msm: Add earlycon support") -Signed-off-by: Stephan Gerhold -Reviewed-by: Neil Armstrong -Link: https://lore.kernel.org/r/20250408-msm-serial-earlycon-v1-1-429080127530@linaro.org -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Sasha Levin ---- - drivers/tty/serial/msm_serial.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/drivers/tty/serial/msm_serial.c b/drivers/tty/serial/msm_serial.c -index 27023a56f3ac1..ab05d922d97bf 100644 ---- a/drivers/tty/serial/msm_serial.c -+++ b/drivers/tty/serial/msm_serial.c -@@ -1737,6 +1737,12 @@ msm_serial_early_console_setup_dm(struct earlycon_device *device, - if (!device->port.membase) - return -ENODEV; - -+ /* Disable DM / single-character modes */ -+ msm_write(&device->port, 0, UARTDM_DMEN); -+ msm_write(&device->port, MSM_UART_CR_CMD_RESET_RX, MSM_UART_CR); -+ msm_write(&device->port, MSM_UART_CR_CMD_RESET_TX, MSM_UART_CR); -+ msm_write(&device->port, MSM_UART_CR_TX_ENABLE, MSM_UART_CR); -+ - device->con->write = msm_serial_early_write_dm; - return 0; - } --- -2.39.5 - diff --git a/queue-5.10/series b/queue-5.10/series index 17d567439a..b090e7ce4a 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -37,5 +37,4 @@ irqchip-gic-v2m-mark-a-few-functions-__init.patch irqchip-gic-v2m-prevent-use-after-free-of-gicv2m_get.patch usb-chipidea-ci_hdrc_imx-use-dev_err_probe.patch usb-chipidea-ci_hdrc_imx-implement-usb_phy_init-erro.patch -serial-msm-configure-correct-working-mode-before-sta.patch dm-fix-copying-after-src-array-boundaries.patch diff --git a/queue-5.15/serial-msm-configure-correct-working-mode-before-sta.patch b/queue-5.15/serial-msm-configure-correct-working-mode-before-sta.patch deleted file mode 100644 index f7dfdfed8a..0000000000 --- a/queue-5.15/serial-msm-configure-correct-working-mode-before-sta.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 7ca7c5e6908c8a1e9ce3c1d33577705f99f017bb Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 8 Apr 2025 19:22:47 +0200 -Subject: serial: msm: Configure correct working mode before starting earlycon - -From: Stephan Gerhold - -[ Upstream commit 7094832b5ac861b0bd7ed8866c93cb15ef619996 ] - -The MSM UART DM controller supports different working modes, e.g. DMA or -the "single-character mode", where all reads/writes operate on a single -character rather than 4 chars (32-bit) at once. When using earlycon, -__msm_console_write() always writes 4 characters at a time, but we don't -know which mode the bootloader was using and we don't set the mode either. - -This causes garbled output if the bootloader was using the single-character -mode, because only every 4th character appears in the serial console, e.g. - - "[ 00oni pi 000xf0[ 00i s 5rm9(l)l s 1 1 SPMTA 7:C 5[ 00A ade k d[ - 00ano:ameoi .Q1B[ 00ac _idaM00080oo'" - -If the bootloader was using the DMA ("DM") mode, output would likely fail -entirely. Later, when the full serial driver probes, the port is -re-initialized and output works as expected. - -Fix this also for earlycon by clearing the DMEN register and -reset+re-enable the transmitter to apply the change. This ensures the -transmitter is in the expected state before writing any output. - -Cc: stable -Fixes: 0efe72963409 ("tty: serial: msm: Add earlycon support") -Signed-off-by: Stephan Gerhold -Reviewed-by: Neil Armstrong -Link: https://lore.kernel.org/r/20250408-msm-serial-earlycon-v1-1-429080127530@linaro.org -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Sasha Levin ---- - drivers/tty/serial/msm_serial.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/drivers/tty/serial/msm_serial.c b/drivers/tty/serial/msm_serial.c -index 03ff63438e772..9740bc301cc27 100644 ---- a/drivers/tty/serial/msm_serial.c -+++ b/drivers/tty/serial/msm_serial.c -@@ -1732,6 +1732,12 @@ msm_serial_early_console_setup_dm(struct earlycon_device *device, - if (!device->port.membase) - return -ENODEV; - -+ /* Disable DM / single-character modes */ -+ msm_write(&device->port, 0, UARTDM_DMEN); -+ msm_write(&device->port, MSM_UART_CR_CMD_RESET_RX, MSM_UART_CR); -+ msm_write(&device->port, MSM_UART_CR_CMD_RESET_TX, MSM_UART_CR); -+ msm_write(&device->port, MSM_UART_CR_TX_ENABLE, MSM_UART_CR); -+ - device->con->write = msm_serial_early_write_dm; - return 0; - } --- -2.39.5 - diff --git a/queue-5.15/series b/queue-5.15/series index 4a5b329ee7..5c22329da7 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -49,7 +49,6 @@ revert-drm-meson-vclk-fix-calculation-of-59.94-fract.patch irqchip-gic-v2m-add-const-to-of_device_id.patch irqchip-gic-v2m-mark-a-few-functions-__init.patch irqchip-gic-v2m-prevent-use-after-free-of-gicv2m_get.patch -serial-msm-configure-correct-working-mode-before-sta.patch riscv-uprobes-add-missing-fence.i-after-building-the.patch iommu-arm-smmu-v3-use-the-new-rb-tree-helpers.patch iommu-arm-smmu-v3-fix-iommu_device_probe-bug-due-to-.patch diff --git a/queue-5.4/serial-msm-configure-correct-working-mode-before-sta.patch b/queue-5.4/serial-msm-configure-correct-working-mode-before-sta.patch deleted file mode 100644 index fc3df11d8c..0000000000 --- a/queue-5.4/serial-msm-configure-correct-working-mode-before-sta.patch +++ /dev/null @@ -1,60 +0,0 @@ -From cd32bfe2999d38f1d98169cccf751654239fd616 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 8 Apr 2025 19:22:47 +0200 -Subject: serial: msm: Configure correct working mode before starting earlycon - -From: Stephan Gerhold - -[ Upstream commit 7094832b5ac861b0bd7ed8866c93cb15ef619996 ] - -The MSM UART DM controller supports different working modes, e.g. DMA or -the "single-character mode", where all reads/writes operate on a single -character rather than 4 chars (32-bit) at once. When using earlycon, -__msm_console_write() always writes 4 characters at a time, but we don't -know which mode the bootloader was using and we don't set the mode either. - -This causes garbled output if the bootloader was using the single-character -mode, because only every 4th character appears in the serial console, e.g. - - "[ 00oni pi 000xf0[ 00i s 5rm9(l)l s 1 1 SPMTA 7:C 5[ 00A ade k d[ - 00ano:ameoi .Q1B[ 00ac _idaM00080oo'" - -If the bootloader was using the DMA ("DM") mode, output would likely fail -entirely. Later, when the full serial driver probes, the port is -re-initialized and output works as expected. - -Fix this also for earlycon by clearing the DMEN register and -reset+re-enable the transmitter to apply the change. This ensures the -transmitter is in the expected state before writing any output. - -Cc: stable -Fixes: 0efe72963409 ("tty: serial: msm: Add earlycon support") -Signed-off-by: Stephan Gerhold -Reviewed-by: Neil Armstrong -Link: https://lore.kernel.org/r/20250408-msm-serial-earlycon-v1-1-429080127530@linaro.org -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Sasha Levin ---- - drivers/tty/serial/msm_serial.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/drivers/tty/serial/msm_serial.c b/drivers/tty/serial/msm_serial.c -index aac96659694d6..202893877165b 100644 ---- a/drivers/tty/serial/msm_serial.c -+++ b/drivers/tty/serial/msm_serial.c -@@ -1723,6 +1723,12 @@ msm_serial_early_console_setup_dm(struct earlycon_device *device, - if (!device->port.membase) - return -ENODEV; - -+ /* Disable DM / single-character modes */ -+ msm_write(&device->port, 0, UARTDM_DMEN); -+ msm_write(&device->port, MSM_UART_CR_CMD_RESET_RX, MSM_UART_CR); -+ msm_write(&device->port, MSM_UART_CR_CMD_RESET_TX, MSM_UART_CR); -+ msm_write(&device->port, MSM_UART_CR_TX_ENABLE, MSM_UART_CR); -+ - device->con->write = msm_serial_early_write_dm; - return 0; - } --- -2.39.5 - diff --git a/queue-5.4/series b/queue-5.4/series index 9f468602cf..9906352391 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -27,7 +27,6 @@ usb-chipidea-imx-change-hsic-power-regulator-as-opti.patch usb-chipidea-imx-refine-the-error-handling-for-hsic.patch usb-chipidea-ci_hdrc_imx-use-dev_err_probe.patch usb-chipidea-ci_hdrc_imx-implement-usb_phy_init-erro.patch -serial-msm-configure-correct-working-mode-before-sta.patch arm64-dts-rockchip-fix-iface-clock-name-on-px30-iomm.patch iommu-amd-fix-potential-buffer-overflow-in-parse_ivr.patch dm-fix-copying-after-src-array-boundaries.patch