diff options
author | Neil Armstrong <narmstrong@baylibre.com> | 2019-06-05 16:12:53 +0200 |
---|---|---|
committer | Neil Armstrong <narmstrong@baylibre.com> | 2019-06-07 10:05:05 +0200 |
commit | 0b84933db7f2d1349d77d6db2d6ba17f06da1208 (patch) | |
tree | 4c7d0ad2f0d0df674ed31a17345991d17c3963c9 /drivers/gpu/drm/meson/meson_plane.c | |
parent | c03ea50e27ec44c2ed6adda48f2a495ce424ce46 (diff) | |
download | lwn-0b84933db7f2d1349d77d6db2d6ba17f06da1208.tar.gz lwn-0b84933db7f2d1349d77d6db2d6ba17f06da1208.zip |
drm/meson: fix G12A primary plane disabling
The G12A Primary plane was disabled by writing in the OSD1 configuration
registers, but this caused the plane blender to stall instead of continuing
to blend only the overlay plane.
Fix this by disabling the OSD1 plane in the blender registers, and also
enabling it back using the same register.
Fixes: 490f50c109d1 ("drm/meson: Add G12A support for OSD1 Plane")
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Kevin Hilman <khilman@baylibre.com>
[narmstrong: fixed nit in commit log]
Link: https://patchwork.freedesktop.org/patch/msgid/20190605141253.24165-3-narmstrong@baylibre.com
Diffstat (limited to 'drivers/gpu/drm/meson/meson_plane.c')
-rw-r--r-- | drivers/gpu/drm/meson/meson_plane.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/meson/meson_plane.c b/drivers/gpu/drm/meson/meson_plane.c index b788280895c6..d90427b93a51 100644 --- a/drivers/gpu/drm/meson/meson_plane.c +++ b/drivers/gpu/drm/meson/meson_plane.c @@ -318,8 +318,8 @@ static void meson_plane_atomic_disable(struct drm_plane *plane, /* Disable OSD1 */ if (meson_vpu_is_compatible(priv, "amlogic,meson-g12a-vpu")) - writel_bits_relaxed(BIT(0) | BIT(21), 0, - priv->io_base + _REG(VIU_OSD1_CTRL_STAT)); + writel_bits_relaxed(3 << 8, 0, + priv->io_base + _REG(OSD1_BLEND_SRC_CTRL)); else writel_bits_relaxed(VPP_OSD1_POSTBLEND, 0, priv->io_base + _REG(VPP_MISC)); |