linux/drivers/tty/serial
Serge Semin 868f3ee6e4 serial: 8250: Add 8250 port clock update method
Some platforms can be designed in a way so the UART port reference clock
might be asynchronously changed at some point. In Baikal-T1 SoC this may
happen due to the reference clock being shared between two UART ports, on
the Allwinner SoC the reference clock is derived from the CPU clock, so
any CPU frequency change should get to be known/reflected by/in the UART
controller as well. But it's not enough to just update the
uart_port->uartclk field of the corresponding UART port, the 8250
controller reference clock divisor should be altered so to preserve
current baud rate setting. All of these things is done in a coherent
way by calling the serial8250_update_uartclk() method provided in this
patch. Though note that it isn't supposed to be called from within the
UART port callbacks because the locks using to the protect the UART port
data are already taken in there.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>

Link: https://lore.kernel.org/r/20200723003357.26897-2-Sergey.Semin@baikalelectronics.ru
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-07-29 17:14:38 +02:00
..
8250 serial: 8250: Add 8250 port clock update method 2020-07-29 17:14:38 +02:00
cpm_uart tty: serial: cpm_uart: Fix behaviour for non existing GPIOs 2020-06-27 13:50:51 +02:00
jsm tty: serial: Replace HTTP links with HTTPS ones 2020-07-21 20:04:54 +02:00
21285.c tty: serial: 21285: stop using the unused[] variable from struct uart_port 2019-12-19 20:10:28 +01:00
altera_jtaguart.c serial: altera_jtaguart: Replace HTTP links with HTTPS ones 2020-07-21 20:04:54 +02:00
altera_uart.c
amba-pl010.c
amba-pl011.c Revert "serial: amba-pl011: Make sure we initialize the port.lock spinlock" 2020-07-21 18:21:49 +02:00
amba-pl011.h
apbuart.c
apbuart.h
ar933x_uart.c serial: Allow uart_get_rs485_mode() to return errno 2020-05-15 14:47:05 +02:00
arc_uart.c
atmel_serial.c serial: Allow uart_get_rs485_mode() to return errno 2020-05-15 14:47:05 +02:00
atmel_serial.h tty: serial: Use the correct style for SPDX License Identifier 2020-03-07 09:52:01 +01:00
bcm63xx_uart.c Revert "tty: serial: bcm63xx: fix missing clk_put() in bcm63xx_uart" 2020-05-04 11:49:57 +02:00
clps711x.c
digicolor-usart.c
dz.c TTY/Serial driver updates for 5.6-rc1 2020-01-29 10:13:27 -08:00
dz.h
earlycon-arm-semihost.c
earlycon-riscv-sbi.c
earlycon.c serial: earlycon: prefer EARLYCON_DECLARE() variant 2020-03-07 09:52:01 +01:00
efm32-uart.c tty: serial: efm32: fix spelling mistake "reserverd" -> "reserved" 2020-02-19 11:38:58 +01:00
fsl_linflexuart.c
fsl_lpuart.c tty: serial: fsl_lpuart: minimum baud rate support 2020-06-27 13:52:29 +02:00
icom.c
icom.h tty: serial: Use the correct style for SPDX License Identifier 2020-03-07 09:52:01 +01:00
ifx6x60.c tty: serial: ifx6x60: Convert to GPIO descriptors 2020-03-12 10:03:54 +01:00
ifx6x60.h tty: serial: ifx6x60: Convert to GPIO descriptors 2020-03-12 10:03:54 +01:00
imx_earlycon.c tty: serial: imx: add imx earlycon driver 2020-07-29 17:11:02 +02:00
imx.c tty: serial: imx: enable imx serial console port as module 2020-07-29 17:10:59 +02:00
ip22zilog.c
ip22zilog.h
Kconfig tty: serial: imx: add imx earlycon driver 2020-07-29 17:11:02 +02:00
kgdb_nmi.c kdb: Switch to use safer dbg_io_ops over console APIs 2020-06-26 15:40:16 +01:00
kgdboc.c Linux 5.8-rc6 2020-07-20 09:39:11 +02:00
lantiq.c serial: lantiq: Make driver modular 2020-05-15 12:22:19 +02:00
lpc32xx_hs.c serial: lpc32xx_hs: Drop surplus include 2020-04-16 16:12:33 +02:00
Makefile
max310x.c
max3100.c
mcf.c
men_z135_uart.c
meson_uart.c TTY/Serial driver updates for 5.6-rc1 2020-01-29 10:13:27 -08:00
milbeaut_usio.c tty/serial: Migrate milbeaut_usio to use has_sysrq 2019-12-18 15:04:51 +01:00
mpc52xx_uart.c tty/serial: mpc52xx_uart: Don't zero port->sysrq 2019-12-18 15:04:52 +01:00
mps2-uart.c
msm_serial.c serial: msm_serial: add sparse context annotation 2020-07-24 10:44:27 +02:00
mux.c TTY/Serial driver updates for 5.6-rc1 2020-01-29 10:13:27 -08:00
mvebu-uart.c tty:serial:mvebu-uart:fix a wrong return 2020-03-05 21:26:34 +01:00
mxs-auart.c serial: mxs-auart: add missed iounmap() in probe failure and remove 2020-07-10 14:44:46 +02:00
omap-serial.c serial: Allow uart_get_rs485_mode() to return errno 2020-05-15 14:47:05 +02:00
owl-uart.c tty: serial: owl: add "much needed" clk_prepare_enable() 2020-04-23 15:46:30 +02:00
pch_uart.c serial: pch_uart: use generic power management 2020-07-21 20:04:54 +02:00
pic32_uart.c serial: pic32_uart: Use uart_console() helper 2020-03-12 10:00:22 +01:00
pic32_uart.h tty: serial: Use the correct style for SPDX License Identifier 2020-03-07 09:52:01 +01:00
pmac_zilog.c serial: pmac_zilog: add sparse context annotation 2020-07-24 10:44:27 +02:00
pmac_zilog.h
pnx8xxx_uart.c tty/serial: Migrate pnx8xxx_uart to use has_sysrq 2019-12-18 15:04:57 +01:00
pxa.c tty/serial: Migrate pxa to use has_sysrq 2019-12-18 15:04:57 +01:00
qcom_geni_serial.c tty: serial: qcom_geni_serial: Clean up an ARRAY_SIZE() vs sizeof() 2020-06-27 13:51:49 +02:00
rda-uart.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
rp2.c
sa1100.c tty/serial: Migrate sa1100 to use has_sysrq 2019-12-18 15:04:59 +01:00
samsung_tty.c serial: samsung: fix spelling mistake 2020-06-27 13:46:09 +02:00
sb1250-duart.c TTY/Serial driver updates for 5.6-rc1 2020-01-29 10:13:27 -08:00
sc16is7xx.c sc16is7xx: Add flag to activate IrDA mode 2020-05-29 12:42:56 +02:00
sccnxp.c tty/serial: Migrate sccnxp to use has_sysrq 2019-12-18 15:05:00 +01:00
serial_core.c serial: core: Fix Coding Style 2020-07-21 20:04:54 +02:00
serial_mctrl_gpio.c
serial_mctrl_gpio.h tty: serial: Use the correct style for SPDX License Identifier 2020-03-07 09:52:01 +01:00
serial_txx9.c tty/serial: Migrate serial_txx9 to use has_sysrq 2019-12-18 15:05:01 +01:00
serial-tegra.c Linux 5.8-rc7 2020-07-27 12:40:56 +02:00
sh-sci.c Revert "serial: sh-sci: Initialize spinlock for uart console" 2020-07-21 18:21:49 +02:00
sh-sci.h serial: sh-sci: Drop unused include 2020-04-16 16:13:34 +02:00
sifive.c Revert "tty: serial: add missing spin_lock_init for SiFive serial console" 2020-07-21 18:21:49 +02:00
sirfsoc_uart.c
sirfsoc_uart.h tty: serial: Use the correct style for SPDX License Identifier 2020-03-07 09:52:01 +01:00
sprd_serial.c serial: sprd: remove redundant sprd_port cleanup 2020-03-18 12:20:04 +01:00
st-asc.c tty: st-asc: switch to using devm_gpiod_get() 2020-01-10 14:01:33 +01:00
stm32-usart.c serial: stm32: Use generic DT binding for announcing RTS/CTS lines 2020-07-01 15:19:39 +02:00
stm32-usart.h tty: serial: Add modem control gpio support for STM32 UART 2020-05-15 12:24:15 +02:00
suncore.c
sunhv.c Revert "serial: sunhv: Initialize lock for non-registered console" 2020-07-21 18:21:49 +02:00
sunsab.c tty/serial: Migrate sunsab to use has_sysrq 2019-12-18 15:05:05 +01:00
sunsab.h
sunsu.c tty/serial: Migrate sunsu to use has_sysrq 2019-12-18 15:05:06 +01:00
sunzilog.c tty/serial: Migrate sunzilog to use has_sysrq 2019-12-18 15:05:08 +01:00
sunzilog.h
tegra-tcu.c
timbuart.c
timbuart.h tty: serial: Use the correct style for SPDX License Identifier 2020-03-07 09:52:01 +01:00
uartlite.c tty: serial: uartlite: Replace HTTP links with HTTPS ones 2020-07-21 20:04:54 +02:00
ucc_uart.c ARM: SoC-related driver updates 2020-02-08 14:04:19 -08:00
vr41xx_siu.c tty/serial: Migrate vr41xx_siu to use has_sysrq 2019-12-18 15:05:09 +01:00
vt8500_serial.c tty/serial: Migrate vt8500_serial to use has_sysrq 2019-12-18 15:05:09 +01:00
xilinx_uartps.c tty: xilinx_uartps: Really fix id assignment 2020-07-21 18:12:03 +02:00
zs.c TTY/Serial driver updates for 5.6-rc1 2020-01-29 10:13:27 -08:00
zs.h