[PATCH v3] clk: bcm2835: Round UART input clock up

Phil Elwell phil at raspberrypi.com
Wed Aug 24 00:52:53 PDT 2022


Hi Ivan.

On Wed, 24 Aug 2022 at 08:44, Ivan T. Ivanov <iivanov at suse.de> wrote:
>
> On 08-23 16:08, Stephen Boyd wrote:
> > Date: Tue, 23 Aug 2022 16:08:40 -0700
> > From: Stephen Boyd <sboyd at kernel.org>
> > To: Albert Ou <aou at eecs.berkeley.edu>, Broadcom internal kernel review list
> >  <bcm-kernel-feedback-list at broadcom.com>, Florian Fainelli
> >  <f.fainelli at gmail.com>, "Ivan T. Ivanov" <iivanov at suse.de>, Michael
> >  Turquette <mturquette at baylibre.com>, Nicolas Saenz Julienne
> >  <nsaenz at kernel.org>, Palmer Dabbelt <palmer at dabbelt.com>, Paul Walmsley
> >  <paul.walmsley at sifive.com>, Ray Jui <rjui at broadcom.com>, Scott Branden
> >  <sbranden at broadcom.com>, Stefan Wahren <stefan.wahren at i2se.com>
> > Cc: "Ivan T. Ivanov" <iivanov at suse.de>, Phil Elwell <phil at raspberrypi.org>,
> >  kernel test robot <lkp at intel.com>, linux-clk at vger.kernel.org,
> >  linux-rpi-kernel at lists.infradead.org,
> >  linux-arm-kernel at lists.infradead.org, linux-kernel at vger.kernel.org,
> >  linux-riscv at lists.infradead.org
> > Subject: Re: [PATCH v3] clk: bcm2835: Round UART input clock up
> > Message-Id: <20220823230842.AB8BAC433C1 at smtp.kernel.org>
> >
> > Quoting Ivan T. Ivanov (2022-05-27 03:29:00)
> > > It was reported that RPi3[1] and RPi Zero 2W boards have issues with
> > > the Bluetooth. It turns out that when switching from initial to
> > > operation speed host and device no longer can talk each other because
> > > host uses incorrect UART baud rate.
> > >
> > > The UART driver used in this case is amba-pl011. Original fix, see
> > > below Github link[2], was inside pl011 module, but somehow it didn't
> > > look as the right place to fix. Beside that this original rounding
> > > function is not exactly perfect for all possible clock values. So I
> > > deiced to move the hack to the platform which actually need it.
> > >
> > > The UART clock is initialised to be as close to the requested
> > > frequency as possible without exceeding it. Now that there is a
> > > clock manager that returns the actual frequencies, an expected
> > > 48MHz clock is reported as 47999625. If the requested baud rate
> > > == requested clock/16, there is no headroom and the slight
> > > reduction in actual clock rate results in failure.
> > >
> > > If increasing a clock by less than 0.1% changes it from ..999..
> > > to ..000.., round it up.
> > >
> > > [1] https://bugzilla.suse.com/show_bug.cgi?id=1188238
> > > [2] https://github.com/raspberrypi/linux/commit/ab3f1b39537f6d3825b8873006fbe2fc5ff057b7
> > >
> > > Cc: Phil Elwell <phil at raspberrypi.org>
> > > Signed-off-by: Ivan T. Ivanov <iivanov at suse.de>
> > > ---
> >
> > This is waiting for someone like Stefan to review. It's customary to
> > include previous reviewers on new versions of patches.
>
> Thanks for fixing me mistake.

If I am going to be mentioned in the commit (and I'm not bothered
either way), I would prefer it to be as phil at raspberrypi.com - the
.org address will expire at some point.

Thanks,

Phil



More information about the linux-riscv mailing list