[PATCH RFC 3/6] drm/mediatek: ovl: Fix misaligned layer source size on AFBC mode
Nícolas F. R. A. Prado
nfraprado at collabora.com
Thu Feb 5 10:46:12 PST 2026
On Mon, 2026-02-02 at 08:46 +0000, CK Hu (胡俊光) wrote:
> On Tue, 2025-12-30 at 11:03 -0300, Nícolas F. R. A. Prado wrote:
> > From: Ariel D'Alessandro <ariel.dalessandro at collabora.com>
> >
> > In AFBC mode, OVL_SRC_SIZE must be block aligned. Due to this
> > limitation
> > of the AFBC format, OVL_CLIP needs to be used to achieve the
> > desired
> > output size of the layer while still meeting the alignment
> > constraints.
> > Failure to do this will result in vblank timeouts and no rendered
> > output
> > when the AFBC data source isn't aligned to the AFBC block (32x8).
> >
> > Configure OVL_CLIP so unaligned AFBC layers can be displayed.
> >
> > The following illustrates how the alignment is achieved through the
> > clip
> > settings for the horizontal coordinates, the vertical coordinates
> > are
> > analogous:
> >
> > /------------------------------------------------\
> > > |
> > > ........................ |
> > > ........................ |
> > > ........................ |
> > > ........................ |
> > > |
> > \------------------------------------------------/
> > | | | |
> > | src.x1 src.x2 |
> > | | | |
> > | |<-------------------->| |
> > | src_width |
>
> This patch looks to me.
> But "In AFBC mode, OVL_SRC_SIZE must be block aligned", so this graph
> should show as:
>
> | src.x1 src.x2 |
> | | | |
> | | | |
> N * AFBC_DATA_BLOCK_WIDTH | M * AFBC_DATA_BLOCK_WIDTH
> | | | |
> |<----->| |<----->|
> |clip_left clip_right
> | |
> |<------------------------------------>|
> | src_width |
Ah yes indeed, thanks for spotting that!
--
Thanks,
Nícolas
More information about the linux-arm-kernel
mailing list