]> git.baikalelectronics.ru Git - kernel.git/commit
drm/meson: Fix an Alpha Primary Plane bug on Meson GXL/GXM SoCs
authorNeil Armstrong <narmstrong@baylibre.com>
Wed, 28 Nov 2018 10:07:34 +0000 (11:07 +0100)
committerNeil Armstrong <narmstrong@baylibre.com>
Mon, 3 Dec 2018 10:12:09 +0000 (11:12 +0100)
commitfc8a7af93a56c8bd9f7d4bcc4c42a8f7bbb4fb10
treebc0306a5f2d02ed1a1db41587f7b57a59dc45f8a
parent6dcef2d22a0c16e0b70a7bff99330dfe5a02666a
drm/meson: Fix an Alpha Primary Plane bug on Meson GXL/GXM SoCs

On the Amlogic GXL & GXM SoCs, a bug occurs on the primary plane when
alpha is used where the alpha is not aligned with the pixel content.

The workaround Amlogic implemented is to reset the OSD1 plane hardware
block each time the plane is (re)enabled, solving the issue.

In the reset, we still need to save the content of 2 registers which
depends on the status of the plane, in addition to reload the scaler
conversion matrix at the same time.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Tested-by: Maxime Jourdan <mjourdan@baylibre.com>
Reviewed-by: Maxime Jourdan <mjourdan@baylibre.com>
[narmstrong: fixed typo in commit log]
Link: https://patchwork.freedesktop.org/patch/msgid/20181128100734.6536-1-narmstrong@baylibre.com
drivers/gpu/drm/meson/meson_plane.c
drivers/gpu/drm/meson/meson_viu.c
drivers/gpu/drm/meson/meson_viu.h