[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YZyzmzjVH35U05Wj@smile.fi.intel.com>
Date: Tue, 23 Nov 2021 11:25:47 +0200
From: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
To: Jay Dolan <jay.dolan@...esio.com>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
linux-kernel@...r.kernel.org, linux-serial@...r.kernel.org,
Jiri Slaby <jirislaby@...nel.org>
Subject: Re: [PATCH v1 0/2] serial: 8250_pci: Split Pericom driver
On Mon, Nov 22, 2021 at 09:19:09PM -0800, Jay Dolan wrote:
> On 11/22/21 4:48 AM, Andy Shevchenko wrote:
> > On Mon, Nov 22, 2021 at 02:47:20PM +0200, Andy Shevchenko wrote:
> > > On Thu, Nov 18, 2021 at 10:32:51PM -0800, Jay Dolan wrote:
> > > > On 11/17/21 6:57 AM, Andy Shevchenko wrote:
> > > > > Split Pericom driver to a separate module.
> > > > > While at it, re-enable high baud rates.
> > > > >
> > > > > Jay, can you, please, test this on as many hardware as you have?
> > >
> > > ...
> > >
> > > > * Add in pericom_do_startup() because the UPF_MAGIC_MULTIPLIER doesn't
> > > > stick.
> > >
> > > Can't find an evidence that this is the case. Can you recheck this (reading
> > > flags back via sysfs or so)? So, for v2 I'll leave my approach.
> >
> > Otherwise how the other drivers which are using that flag survive? If it's
> > indeed an issue, it should be fixed on generic level.
> >
>
> I modified pericom_do_startup to log when the UPF_MAGIC_MULTIPLIER flag was
> present. Then tried to set the port to 3000000 a few times. The port
> stayed at 9600. It looks like pericom_do_startup() is getting called twice
> per port on boot, and the flag is gone with the second one.
>
> [ 4.925577] [J4D] flag present
> [ 4.926121] [J4D[ flag not present
> [ 4.926843] [J4D] flag present
> [ 4.927415] [J4D[ flag not present
> [ 4.928106] [J4D] flag present
> [ 4.928673] [J4D[ flag not present
> [ 4.929419] [J4D] flag present
> [ 4.930447] [J4D[ flag not present
>
> [ 49.528504] [J4D[ flag not present
> [ 51.675240] [J4D[ flag not present
> [ 59.617954] [J4D[ flag not present
>
> Then I modified it to log when it was adding the flag in. The port was set
> to 3000000. Also the flag only needed to be added in once. It sticks after
> the first time.
>
> [ 4.647546] [J4D] flag present
> [ 4.648119] [J4D] flag not present(adding)
> [ 4.648778] [J4D] flag present
> [ 4.649330] [J4D] flag not present(adding)
> [ 4.650001] [J4D] flag present
> [ 4.650537] [J4D] flag not present(adding)
> [ 4.651192] [J4D] flag present
> [ 4.651718] [J4D] flag not present(adding)
>
> [ 96.025668] [J4D] flag present
> [ 100.130626] [J4D] flag present
> [ 116.435436] [J4D] flag present
>
> I mostly just guessed at do_startup() being the place to set the magic
> multiplier flag after it didn't stick in quirk in 8250_pci.c.
Can you share `dmesg` and output of `lspci -nk -vv` on the machine with the
kernel with patches applied and running?
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists