Re: [PATCH v3] clk: bcm2835: Round UART input clock up
From: Ivan T. Ivanov
Date: Wed Aug 24 2022 - 03:44:52 EST
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.
Regards,
Ivan