umber-kernel/drivers/tty/serial/8250
Daniel Golle d518314a1f serial: 8250_mtk: Enable baud clock and manage in runtime PM
Some MediaTek SoCs got a gated UART baud clock, which currently gets
disabled as the clk subsystem believes it would be unused. This results in
the uart freezing right after "clk: Disabling unused clocks" on those
platforms.

Request the baud clock to be prepared and enabled during probe, and to
restore run-time power management capabilities to what it was before commit
e32a83c70c ("serial: 8250-mtk: modify mtk uart power and clock
management") disable and unprepare the baud clock when suspending the UART,
prepare and enable it again when resuming it.

Fixes: e32a83c70c ("serial: 8250-mtk: modify mtk uart power and clock management")
Fixes: b6c7ff2693 ("serial: 8250_mtk: Simplify clock sequencing and runtime PM")
Cc: stable <stable@kernel.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Link: https://patch.msgid.link/de5197ccc31e1dab0965cabcc11ca92e67246cf6.1758058441.git.daniel@makrotopia.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-10-22 12:13:54 +02:00
..
8250.h serial: 8250: introduce RPM guard()s 2025-08-17 12:46:25 +02:00
8250_accent.c
8250_acorn.c
8250_aspeed_vuart.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
8250_bcm2835aux.c serial: 8250: Provide flag for IER toggling for RS485 2025-01-10 16:08:25 +01:00
8250_bcm7271.c serial: 8250: Switch to use hrtimer_setup() 2025-02-20 15:38:28 +01:00
8250_boca.c
8250_ce4100.c serial: 8520_ce4100: Reuse mem_serial_in() in ce4100_mem_serial_in() 2025-07-09 13:44:50 +02:00
8250_core.c serial: 8250_core: fix coding style issue 2025-09-06 15:48:20 +02:00
8250_dfl.c
8250_dma.c serial: 8250_dma: terminate correct DMA in tx_dma_flush() 2025-03-20 08:07:42 -07:00
8250_dw.c serial: 8250_dw: handle reset control deassert error 2025-10-22 12:13:12 +02:00
8250_dwlib.c
8250_dwlib.h
8250_early.c serial: switch uart_port::iotype to enum uart_iotype 2025-04-25 13:46:31 +02:00
8250_em.c serial: 8250: sanitize uart_port::serial_{in,out}() types 2025-06-17 13:42:34 +02:00
8250_exar.c serial: 8250_exar: add support for Advantech 2 port card with Device ID 0x0018 2025-10-22 12:11:55 +02:00
8250_exar_st16c554.c
8250_fintek.c
8250_fourport.c
8250_fsl.c serial: 8250: use serial_port_in/out() helpers 2025-03-20 08:00:52 -07:00
8250_hp300.c
8250_hub6.c
8250_ingenic.c serial: 8250: sanitize uart_port::serial_{in,out}() types 2025-06-17 13:42:34 +02:00
8250_ioc3.c DT updates for ralink, mobileye and ralink 2025-07-31 11:08:55 -07:00
8250_lpc18xx.c serial: 8250: sanitize uart_port::serial_{in,out}() types 2025-06-17 13:42:34 +02:00
8250_lpss.c
8250_men_mcb.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
8250_mid.c
8250_mtk.c serial: 8250_mtk: Enable baud clock and manage in runtime PM 2025-10-22 12:13:54 +02:00
8250_ni.c serial: 8250_ni: Reorder local variables 2025-07-16 11:05:33 +02:00
8250_of.c serial: 8250_of: manage bus clock in suspend/resume 2025-04-15 14:38:14 +02:00
8250_omap.c serial: 8250: omap: Support wakeup pinctrl state on suspend 2025-09-12 16:11:12 +02:00
8250_parisc.c
8250_pci.c serial: 8250: sanitize uart_port::serial_{in,out}() types 2025-06-17 13:42:34 +02:00
8250_pci1xxxx.c 8250: microchip: pci1xxxx: Add PCIe Hot reset disable support for Rev C0 and later devices 2025-05-01 17:20:33 +02:00
8250_pcilib.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
8250_pcilib.h
8250_pericom.c
8250_platform.c serial: 8250_platform: Reduce stack usage in serial8250_probe_platform() 2025-08-14 11:58:50 +02:00
8250_pnp.c serial: 8250_pnp: Remove unneeded ->iotype assignment 2025-02-04 14:44:53 +01:00
8250_port.c serial: 8250: use guard()s 2025-08-17 12:46:26 +02:00
8250_pxa.c
8250_rsa.c Merge 6.17-rc6 into tty-next 2025-09-15 08:27:31 +02:00
8250_rt288x.c serial: 8250: sanitize uart_port::serial_{in,out}() types 2025-06-17 13:42:34 +02:00
8250_tegra.c
8250_uniphier.c serial: 8250: sanitize uart_port::serial_{in,out}() types 2025-06-17 13:42:34 +02:00
Kconfig serial: 8250_ni: Tidy up ACPI ID table 2025-04-11 16:51:20 +02:00
Makefile serial: 8250_ce4100: Fix CONFIG_SERIAL_8250=n build 2025-07-21 17:38:08 +02:00
serial_cs.c