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. -- With Best Regards, Andy Shevchenko