[PATCH RFC 0/6] AFBC fixes for MediaTek DRM

Nícolas F. R. A. Prado posted 6 patches 1 month, 1 week ago
drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 59 ++++++++++++++++++++++++++++++---
drivers/gpu/drm/mediatek/mtk_plane.c    | 48 +++++++++++++++++++++++++--
drivers/gpu/drm/mediatek/mtk_plane.h    |  6 +++-
3 files changed, 104 insertions(+), 9 deletions(-)
[PATCH RFC 0/6] AFBC fixes for MediaTek DRM
Posted by Nícolas F. R. A. Prado 1 month, 1 week ago
This series contains a handful of fixes for AFBC support on the MediaTek
DRM driver so that it can be re-enabled.

This is sent as an RFC because there are still some issues to work out
before the series can be merged:

1. Patch 4, 'drm/mediatek: ovl: Disallow AFBC buffers with width over
   1920' did not behave well when tested with Weston, so a better
   solution probably needs to be implemented before this can be merged.

2. Remaining AFBC issues:
   
   a. The first 4 pixel rows are always skipped in the displayed output,
      that is, the first displayed pixel, on the top-left corner,
      corresponds to 4x0. And below the end of the displayed output, the
      first 4x32 pixels are displayed.

   b. On some resolutions, there are still artifacts that look like
      misalignment issues, eg 1024x1080, 1080x1080.

   c. On some resolutions, no output at all is displayed, eg 1920x1080.

Tested on the MT8195-Tomato Chromebook.

Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
---
Ariel D'Alessandro (1):
      drm/mediatek: ovl: Fix misaligned layer source size on AFBC mode

Nícolas F. R. A. Prado (5):
      drm/mediatek: plane: Remove extra block from AFBC data payload offset
      drm/mediatek: plane: Correct AFBC alignment definition to 128
      drm/mediatek: ovl: Disallow AFBC buffers with width over 1920
      drm/mediatek: ovl: Disable AFBC on MT8188
      drm/mediatek: Re-enable AFBC support on MediaTek DRM driver

 drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 59 ++++++++++++++++++++++++++++++---
 drivers/gpu/drm/mediatek/mtk_plane.c    | 48 +++++++++++++++++++++++++--
 drivers/gpu/drm/mediatek/mtk_plane.h    |  6 +++-
 3 files changed, 104 insertions(+), 9 deletions(-)
---
base-commit: 6f47c4646bee47319cc0980c693ed695c4cfd395
change-id: 20251229-mtk-afbc-fixes-b656f92bc2af

Best regards,
-- 
Nícolas F. R. A. Prado <nfraprado@collabora.com>

Re: [PATCH RFC 0/6] AFBC fixes for MediaTek DRM
Posted by Nícolas F. R. A. Prado 4 weeks ago
On Tue, 2025-12-30 at 11:03 -0300, Nícolas F. R. A. Prado wrote:
> This series contains a handful of fixes for AFBC support on the
> MediaTek
> DRM driver so that it can be re-enabled.
> 
> This is sent as an RFC because there are still some issues to work
> out
> before the series can be merged:
> 
> 1. Patch 4, 'drm/mediatek: ovl: Disallow AFBC buffers with width over
>    1920' did not behave well when tested with Weston, so a better
>    solution probably needs to be implemented before this can be
> merged.
> 
> 2. Remaining AFBC issues:
>    
>    a. The first 4 pixel rows are always skipped in the displayed
> output,
>       that is, the first displayed pixel, on the top-left corner,
>       corresponds to 4x0. And below the end of the displayed output,
> the
>       first 4x32 pixels are displayed.
> 
>    b. On some resolutions, there are still artifacts that look like
>       misalignment issues, eg 1024x1080, 1080x1080.
> 
>    c. On some resolutions, no output at all is displayed, eg
> 1920x1080.

I received a suggestion that the Lx_2ND_SUBBUF bit in OVL is not needed
when cropping is not enabled, and that removing it should fix the extra
pixels after the image described in 2.a., and perhaps even fix AFBC not
working with MT8188, though I haven't had time to test it.


-- 
Thanks,

Nícolas