Hi Magnus, On Tue, Aug 20, 2019 at 2:16 PM Magnus Damm <magnus.damm@xxxxxxxxx> wrote: > From: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> > > I noticed that uartclk never gets updated as it is today. > > This compile tested patch makes sure uartclk is in sync with > whatever clock is selected during sci_set_termios(). Exposing > the actual value to user space seems like a good plan to me. Except that it changes all the time. What is userspace supposed to do with this value? Support the deprecated UPF_SPD_CUST flag? Anything else? See also "[PATCH] serial: sh-sci: Support custom speed setting" https://lore.kernel.org/linux-renesas-soc/20200129161955.30562-1-erosca@xxxxxxxxxxxxxx/ > --- 0001/drivers/tty/serial/sh-sci.c > +++ work/drivers/tty/serial/sh-sci.c 2019-08-20 20:32:17.680030451 +0900 > @@ -129,6 +129,7 @@ struct sci_port { > /* Clocks */ > struct clk *clks[SCI_NUM_CLKS]; > unsigned long clk_rates[SCI_NUM_CLKS]; > + int sel_clk; > > int irqs[SCIx_NR_IRQS]; > char *irqstr[SCIx_NR_IRQS]; > @@ -542,7 +543,11 @@ static void sci_port_enable(struct sci_p > clk_prepare_enable(sci_port->clks[i]); > sci_port->clk_rates[i] = clk_get_rate(sci_port->clks[i]); > } > - sci_port->port.uartclk = sci_port->clk_rates[SCI_FCK]; > + > + if (sci_port->sel_clk >= 0) > + sci_port->port.uartclk = sci_port->clk_rates[sci_port->sel_clk]; > + else > + sci_port->port.uartclk = sci_port->clk_rates[SCI_FCK]; > } Iff this is worthwhile, I think it's better to use the highest rate of all available clock inputs, as that gives a hint about the maximum usable speed. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds