]> git.baikalelectronics.ru Git - kernel.git/commit
drm/rockchip: vop: Correct RK3399 VOP register fields
authorBrian Norris <briannorris@chromium.org>
Thu, 20 Jan 2022 00:11:22 +0000 (16:11 -0800)
committerHeiko Stuebner <heiko@sntech.de>
Tue, 8 Feb 2022 17:10:36 +0000 (18:10 +0100)
commit68209523fd3c9e1a9586f5b508484c3c495a2eeb
tree641f57dfd2b23e75b7d367433a1eb2a7a45c7430
parent4874a7a360b8f3ce57c15cfd4b22a413f62b4f62
drm/rockchip: vop: Correct RK3399 VOP register fields

Commit 3cebd1ccf86b ("drm/rockchip: Add support for afbc") switched up
the rk3399_vop_big[] register windows, but it did so incorrectly.

The biggest problem is in rk3288_win23_data[] vs.
rk3368_win23_data[] .format field:

  RK3288's format: VOP_REG(RK3288_WIN2_CTRL0, 0x7, 1)
  RK3368's format: VOP_REG(RK3368_WIN2_CTRL0, 0x3, 5)

Bits 5:6 (i.e., shift 5, mask 0x3) are correct for RK3399, according to
the TRM.

There are a few other small differences between the 3288 and 3368
definitions that were swapped in commit 3cebd1ccf86b. I reviewed them to
the best of my ability according to the RK3399 TRM and fixed them up.

This fixes IOMMU issues (and display errors) when testing with BG24
color formats.

Fixes: 3cebd1ccf86b ("drm/rockchip: Add support for afbc")
Cc: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Brian Norris <briannorris@chromium.org>
Tested-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20220119161104.1.I1d01436bef35165a8cdfe9308789c0badb5ff46a@changeid
drivers/gpu/drm/rockchip/rockchip_vop_reg.c