]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/rockchip: analogix: Convert to drm_output_color_format
authorMaxime Ripard <mripard@kernel.org>
Thu, 5 Mar 2026 09:05:04 +0000 (10:05 +0100)
committerMaxime Ripard <mripard@kernel.org>
Tue, 24 Mar 2026 12:54:34 +0000 (13:54 +0100)
Now that we introduced a new drm_output_color_format enum to represent
what DRM_COLOR_FORMAT_* bits were representing, we can switch to the new
enum.

The main difference is that while DRM_COLOR_FORMAT_ was a bitmask,
drm_output_color_format is a proper enum. However, the enum was done is
such a way than DRM_COLOR_FORMAT_X = BIT(DRM_OUTPUT_COLOR_FORMAT_X) so
the transitition is easier.

The only thing we need to consider is if the original code meant to use
that value as a bitmask, in which case we do need to keep the bit shift,
or as a discriminant in which case we don't.

Acked-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
Link: https://lore.kernel.org/r/20260305-drm-rework-color-formats-v3-12-f3935f6db579@kernel.org
Signed-off-by: Maxime Ripard <mripard@kernel.org>
drivers/gpu/drm/rockchip/analogix_dp-rockchip.c

index fdab71d51e2a71d644f128b1bf1c39429b4ad52a..96bd3dd239d251af3d5a7d0fbd4dd74942d44f2d 100644 (file)
@@ -171,12 +171,12 @@ static int rockchip_dp_get_modes(struct analogix_dp_plat_data *plat_data,
 {
        struct drm_display_info *di = &connector->display_info;
        /* VOP couldn't output YUV video format for eDP rightly */
-       u32 mask = DRM_COLOR_FORMAT_YCBCR444 | DRM_COLOR_FORMAT_YCBCR422;
+       u32 mask = BIT(DRM_OUTPUT_COLOR_FORMAT_YCBCR444) | BIT(DRM_OUTPUT_COLOR_FORMAT_YCBCR422);
 
        if ((di->color_formats & mask)) {
                DRM_DEBUG_KMS("Swapping display color format from YUV to RGB\n");
                di->color_formats &= ~mask;
-               di->color_formats |= DRM_COLOR_FORMAT_RGB444;
+               di->color_formats |= BIT(DRM_OUTPUT_COLOR_FORMAT_RGB444);
                di->bpc = 8;
        }