linux-stable/drivers/gpu/drm/rockchip
Jonas Karlman bb0a05acd6 drm/rockchip: vop: Fix color for RGB888/BGR888 format on VOP full
Use of DRM_FORMAT_RGB888 and DRM_FORMAT_BGR888 on e.g. RK3288, RK3328
and RK3399 result in wrong colors being displayed.

The issue can be observed using modetest:

  modetest -s <connector_id>@<crtc_id>:1920x1080-60@RG24
  modetest -s <connector_id>@<crtc_id>:1920x1080-60@BG24

Vendor 4.4 kernel apply an inverted rb swap for these formats on VOP
full framework (IP version 3.x) compared to VOP little framework (2.x).

Fix colors by applying different rb swap for VOP full framework (3.x)
and VOP little framework (2.x) similar to vendor 4.4 kernel.

Fixes: 85a359f253 ("drm/rockchip: Add BGR formats to VOP")
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Tested-by: Diederik de Haas <didi.debian@cknow.org>
Reviewed-by: Christopher Obbard <chris.obbard@collabora.com>
Tested-by: Christopher Obbard <chris.obbard@collabora.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20231026191500.2994225-1-jonas@kwiboo.se
2023-11-20 17:06:06 +01:00
..
analogix_dp-rockchip.c drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
cdn-dp-core.c drm/rockchip: remove redundant of_match_ptr 2023-10-09 21:46:36 +02:00
cdn-dp-core.h
cdn-dp-reg.c
cdn-dp-reg.h
dw-mipi-dsi-rockchip.c drm/rockchip: dsi: Use devm_platform_get_and_ioremap_resource() 2023-10-09 21:52:45 +02:00
dw_hdmi-rockchip.c drm/rockchip: Convert to platform remove callback returning void 2023-06-08 09:04:12 -07:00
inno_hdmi.c drm-misc-next for 6.6: 2023-07-27 10:49:57 +02:00
inno_hdmi.h
Kconfig
Makefile
rk3066_hdmi.c drm-misc-next for v6.6: 2023-07-17 15:37:57 +02:00
rk3066_hdmi.h
rockchip_drm_drv.c drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
rockchip_drm_drv.h
rockchip_drm_fb.c
rockchip_drm_fb.h
rockchip_drm_gem.c drm/rockchip: Fix type promotion bug in rockchip_gem_iommu_map() 2023-10-16 15:05:14 +02:00
rockchip_drm_gem.h
rockchip_drm_vop.c drm/rockchip: vop: Fix color for RGB888/BGR888 format on VOP full 2023-11-20 17:06:06 +01:00
rockchip_drm_vop.h drm/rockchip: vop: Add NV15, NV20 and NV30 support 2023-10-24 21:34:36 +02:00
rockchip_drm_vop2.c drm/rockchip: vop2: Add more supported 10bit formats 2023-10-24 21:29:12 +02:00
rockchip_drm_vop2.h drm/rockchip: remove unused struct in vop2 2023-10-16 15:05:23 +02:00
rockchip_lvds.c drm/rockchip: remove redundant of_match_ptr 2023-10-09 21:46:36 +02:00
rockchip_lvds.h
rockchip_rgb.c
rockchip_rgb.h
rockchip_vop2_reg.c drm/rockchip: vop2: rename window formats to show window type using them 2023-10-24 21:29:14 +02:00
rockchip_vop_reg.c drm/rockchip: vop: Add NV15, NV20 and NV30 support 2023-10-24 21:34:36 +02:00
rockchip_vop_reg.h