mirror_ubuntu-kernels/drivers/gpu/drm/rockchip
Brian Norris 9da1e9ab82 drm/rockchip: vop: Correct RK3399 VOP register fields
Commit 7707f7227f ("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 7707f7227f. 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: 7707f7227f ("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
2022-02-08 18:10:36 +01:00
..
analogix_dp-rockchip.c drm/rockchip: remove of_match_ptr() from analogix dp driver 2021-09-21 11:53:42 +02:00
cdn-dp-core.c drm-misc-next for 5.15: 2021-09-24 13:49:08 +10:00
cdn-dp-core.h
cdn-dp-reg.c drm/rockchip: cdn-dp: fix sign extension on an int multiply for a u64 result 2021-05-28 20:27:44 +02:00
cdn-dp-reg.h
dw_hdmi-rockchip.c drm/rockchip: dw_hdmi: Do not leave clock enabled in error case 2022-02-08 18:10:36 +01:00
dw-mipi-dsi-rockchip.c drm/rockchip: dsi: Disable PLL clock on bind error 2021-10-17 23:47:19 +02:00
inno_hdmi.c drm/rockchip: Make use of the helper function devm_platform_ioremap_resource() 2021-09-21 11:46:04 +02:00
inno_hdmi.h
Kconfig drm: rockchip: remove reference to non-existing config DRM_RGB 2021-08-26 11:19:08 +02:00
Makefile drm/rockchip: use generic fbdev setup 2021-12-07 13:55:20 +01:00
rk3066_hdmi.c drm/rockchip: Use simple encoder 2020-04-02 14:16:45 +02:00
rk3066_hdmi.h
rockchip_drm_drv.c drm/rockchip: pass 0 to drm_fbdev_generic_setup() 2021-12-07 13:57:29 +01:00
rockchip_drm_drv.h drm/rockchip: use generic fbdev setup 2021-12-07 13:55:20 +01:00
rockchip_drm_fb.c drm/rockchip: remove _unlocked suffix in drm_gem_object_put_unlocked 2020-05-19 22:31:35 +01:00
rockchip_drm_fb.h
rockchip_drm_gem.c drm/rockchip: Implement mmap as GEM object function 2021-10-21 12:46:23 +02:00
rockchip_drm_gem.h drm/rockchip: Implement mmap as GEM object function 2021-10-21 12:46:23 +02:00
rockchip_drm_vop.c Merge drm/drm-next into drm-misc-next 2021-11-18 09:36:39 +01:00
rockchip_drm_vop.h drm/rockchip: Require the YTR modifier for AFBC 2021-02-25 10:18:45 +01:00
rockchip_lvds.c drm/rockchip: Make use of the helper function devm_platform_ioremap_resource() 2021-09-21 11:46:04 +02:00
rockchip_lvds.h
rockchip_rgb.c drm/rockchip: add DRM_BRIDGE_ATTACH_NO_CONNECTOR flag to drm_bridge_attach 2021-09-21 11:43:29 +02:00
rockchip_rgb.h
rockchip_vop_reg.c drm/rockchip: vop: Correct RK3399 VOP register fields 2022-02-08 18:10:36 +01:00
rockchip_vop_reg.h drm: rockchip: add alpha support for RK3036, RK3066, RK3126 and RK3188 2021-05-28 19:28:00 +02:00