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

From: Phil Elwell
Date: Wed Aug 24 2022 - 03:53:11 EST


Hi Ivan.

On Wed, 24 Aug 2022 at 08:44, Ivan T. Ivanov <iivanov@xxxxxxx> wrote:
>
> On 08-23 16:08, Stephen Boyd wrote:
> > Date: Tue, 23 Aug 2022 16:08:40 -0700
> > From: Stephen Boyd <sboyd@xxxxxxxxxx>
> > To: Albert Ou <aou@xxxxxxxxxxxxxxxxx>, Broadcom internal kernel review list
> > <bcm-kernel-feedback-list@xxxxxxxxxxxx>, Florian Fainelli
> > <f.fainelli@xxxxxxxxx>, "Ivan T. Ivanov" <iivanov@xxxxxxx>, Michael
> > Turquette <mturquette@xxxxxxxxxxxx>, Nicolas Saenz Julienne
> > <nsaenz@xxxxxxxxxx>, Palmer Dabbelt <palmer@xxxxxxxxxxx>, Paul Walmsley
> > <paul.walmsley@xxxxxxxxxx>, Ray Jui <rjui@xxxxxxxxxxxx>, Scott Branden
> > <sbranden@xxxxxxxxxxxx>, Stefan Wahren <stefan.wahren@xxxxxxxx>
> > Cc: "Ivan T. Ivanov" <iivanov@xxxxxxx>, Phil Elwell <phil@xxxxxxxxxxxxxxx>,
> > kernel test robot <lkp@xxxxxxxxx>, linux-clk@xxxxxxxxxxxxxxx,
> > linux-rpi-kernel@xxxxxxxxxxxxxxxxxxx,
> > linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
> > linux-riscv@xxxxxxxxxxxxxxxxxxx
> > Subject: Re: [PATCH v3] clk: bcm2835: Round UART input clock up
> > Message-Id: <20220823230842.AB8BAC433C1@xxxxxxxxxxxxxxx>
> >
> > 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@xxxxxxxxxxxxxxx>
> > > Signed-off-by: Ivan T. Ivanov <iivanov@xxxxxxx>
> > > ---
> >
> > 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@xxxxxxxxxxxxxxx - the
.org address will expire at some point.

Thanks,

Phil