Re: [PATCH v4 0/5] Pinephone video out fixes (flipping between two frames)

From: Jernej Škrabec
Date: Mon Apr 15 2024 - 17:25:49 EST


Dne sreda, 3. april 2024 ob 17:31:47 GMT +2 je Frank Oltmanns napisal(a):
> Dear clk and sunxi-ng maintainers,
>
> Patches 1-4 have been reviewed and there are no pending issues. If there
> is something else you need me to do to get this applied, please let me
> know.

Sorry for late patch merge. Patch 1-2 are applied as a fix to 6.9, the rest
will go to 6.10.

Best regards,
Jernej

>
> Thanks,
> Frank
>
> On 2024-03-10 at 14:21:10 +0100, Frank Oltmanns <frank@xxxxxxxxxxxx> wrote:
> > On some pinephones the video output sometimes freezes (flips between two
> > frames) [1]. It seems to be that the reason for this behaviour is that
> > PLL-MIPI is outside its limits, and the GPU is not running at a fixed
> > rate.
> >
> > In this patch series I propose the following changes:
> > 1. sunxi-ng: Adhere to the following constraints given in the
> > Allwinner A64 Manual regarding PLL-MIPI:
> > * M/N <= 3
> > * (PLL_VIDEO0)/M >= 24MHz
> > * 500MHz <= clockrate <= 1400MHz
> >
> > 2. Remove two operating points from the A64 DTS OPPs, so that the GPU
> > runs at a fixed rate of 432 MHz.
> >
> > Note, that when pinning the GPU to 432 MHz the issue [1] completely
> > disappears for me. I've searched the BSP and could not find any
> > indication that supports the idea of having the three OPPs. The only
> > frequency I found in the BPSs for A64 is 432 MHz, which has also proven
> > stable for me.
> >
> > I very much appreciate your feedback!
> >
> > [1] https://gitlab.com/postmarketOS/pmaports/-/issues/805
> >
> > Signed-off-by: Frank Oltmanns <frank@xxxxxxxxxxxx>
> > ---
> > Changes in v4:
> > - sunxi-ng: common: Address review comments.
> > - Link to v3: https://lore.kernel.org/r/20240304-pinephone-pll-fixes-v3-0-94ab828f269a@xxxxxxxxxxxx
> >
> > Changes in v3:
> > - dts: Pin GPU to 432 MHz.
> > - nkm and a64: Move minimum and maximum rate handling to the common part
> > of the sunxi-ng driver.
> > - Removed st7703 patch from series.
> > - Link to v2: https://lore.kernel.org/r/20240205-pinephone-pll-fixes-v2-0-96a46a2d8c9b@xxxxxxxxxxxx
> >
> > Changes in v2:
> > - dts: Increase minimum GPU frequency to 192 MHz.
> > - nkm and a64: Add minimum and maximum rate for PLL-MIPI.
> > - nkm: Use the same approach for skipping invalid rates in
> > ccu_nkm_find_best() as in ccu_nkm_find_best_with_parent_adj().
> > - nkm: Improve names for ratio struct members and hence get rid of
> > describing comments.
> > - nkm and a64: Correct description in the commit messages: M/N <= 3
> > - Remove patches for nm as they were not needed.
> > - st7703: Rework the commit message to cover more background for the
> > change.
> > - Link to v1: https://lore.kernel.org/r/20231218-pinephone-pll-fixes-v1-0-e238b6ed6dc1@xxxxxxxxxxxx
> >
> > ---
> > Frank Oltmanns (5):
> > clk: sunxi-ng: common: Support minimum and maximum rate
> > clk: sunxi-ng: a64: Set minimum and maximum rate for PLL-MIPI
> > clk: sunxi-ng: nkm: Support constraints on m/n ratio and parent rate
> > clk: sunxi-ng: a64: Add constraints on PLL-MIPI's n/m ratio and parent rate
> > arm64: dts: allwinner: a64: Run GPU at 432 MHz
> >
> > arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 8 --------
> > drivers/clk/sunxi-ng/ccu-sun50i-a64.c | 14 +++++++++-----
> > drivers/clk/sunxi-ng/ccu_common.c | 19 +++++++++++++++++++
> > drivers/clk/sunxi-ng/ccu_common.h | 3 +++
> > drivers/clk/sunxi-ng/ccu_nkm.c | 21 +++++++++++++++++++++
> > drivers/clk/sunxi-ng/ccu_nkm.h | 2 ++
> > 6 files changed, 54 insertions(+), 13 deletions(-)
> > ---
> > base-commit: dcb6c8ee6acc6c347caec1e73fb900c0f4ff9806
> > change-id: 20231218-pinephone-pll-fixes-0ccdfde273e4
> >
> > Best regards,
>