RE: [PATCH v1 tty-next 1/2] 8250: microchip: pci1xxxx: Add driver for the quad-uart function in the multi-function endpoint of pci1xxxx device.

From: Kumaravel.Thiagarajan
Date: Mon Sep 05 2022 - 08:01:31 EST


> -----Original Message-----
> From: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
> Sent: Friday, September 2, 2022 8:33 PM
> To: Kumaravel Thiagarajan - I21417 <Kumaravel.Thiagarajan@xxxxxxxxxxxxx>
> Cc: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx>; Greg Kroah-Hartman
> <gregkh@xxxxxxxxxxxxxxxxxxx>; Jiri Slaby <jirislaby@xxxxxxxxxx>; Uwe
> Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>; Johan Hovold
> <johan@xxxxxxxxxx>; Wander Lairson Costa <wander@xxxxxxxxxx>; Eric
> Tremblay <etremblay@xxxxxxxxxxxxxxxxxxxx>; Maciej W. Rozycki
> <macro@xxxxxxxxxxx>; Geert Uytterhoeven <geert+renesas@xxxxxxxxx>;
> Jeremy Kerr <jk@xxxxxxxxxx>; Phil Edworthy <phil.edworthy@xxxxxxxxxxx>;
> Lukas Wunner <lukas@xxxxxxxxx>; Linux Kernel Mailing List <linux-
> kernel@xxxxxxxxxxxxxxx>; open list:SERIAL DRIVERS <linux-
> serial@xxxxxxxxxxxxxxx>; UNGLinuxDriver
> <UNGLinuxDriver@xxxxxxxxxxxxx>
> Subject: Re: [PATCH v1 tty-next 1/2] 8250: microchip: pci1xxxx: Add driver for
> the quad-uart function in the multi-function endpoint of pci1xxxx device.
>
> On Fri, Sep 2, 2022 at 2:57 PM <Kumaravel.Thiagarajan@xxxxxxxxxxxxx>
> wrote:
> > > -----Original Message-----
> > > From: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx>
> > > Sent: Thursday, September 1, 2022 7:12 PM On Thu, 1 Sep 2022,
> > > Kumaravel.Thiagarajan@xxxxxxxxxxxxx wrote:
>
> ...
>
> > > > > > + const unsigned int standard_baud_list[] = {50, 75,
> > > > > > + 110, 134, 150,
> > > 300,
> > > > > > + 600, 1200, 1800, 2000, 2400, 3600,
> > > > > > + 4800, 7200, 9600, 19200, 38400, 57600,
> > > > > > + 115200, 125000, 136400, 150000, 166700,
> > > > > > + 187500, 214300, 250000, 300000, 375000,
> > > > > > + 500000,
> > > > > > + 750000, 1000000, 1500000};
> > > > >
> > > > > Why?!
> > > >
> > > > The standard baud rates are handled within
> > > > serial8250_do_set_termios which is invoked from within
> mchp_pci1xxxx_set_termios in first place.
> > > > Hence if it matches with any of the standard baudrates, it can
> > > > return immediately.
> > >
> > > Care to explain why the baudrates in your table don't match those in
> > > tty_baudrate.c? ...It makes no sense to me that you call these
> > > "standard baud rates".
> > The baudrates in my table are from our legacy UART IP and these
> > baudrates can be generated by the hardware by updating UART_DLL &
> > UART_DLM alone as done by the serial8250_do_set_termios.
> > I noticed that some of the baud rates in tty_baudrate.c arenot listed
> > in this table but will still be handled by the mchp_pci1xxxx_set_termios.
> > I can rename standard_baud_list to simply baud_list. Please let me know.
>
> No, the point is avoid repeating what standard APIs already do. Just make
> sure you call it properly and provide _get/_set_divisor() callbacks. Note, your
> driver can cope with BOTHER and there all non-standard baud rates go.
I will review my driver again and get back to you if required.

Thank You.

Regards,
Kumaravel