]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/mediatek: dp: Convert to drm_output_color_format
authorMaxime Ripard <mripard@kernel.org>
Thu, 5 Mar 2026 09:05:03 +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.

Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Jani Nikula <jani.nikula@intel.com>
Acked-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
Link: https://lore.kernel.org/r/20260305-drm-rework-color-formats-v3-11-f3935f6db579@kernel.org
Signed-off-by: Maxime Ripard <mripard@kernel.org>
drivers/gpu/drm/mediatek/mtk_dp.c

index 08c4d64b87b944dbcf57294dc48c740a37374469..c52cc7c2e20063b9dcc99be46bc7de50d67b0d6b 100644 (file)
@@ -2454,7 +2454,7 @@ mtk_dp_bridge_mode_valid(struct drm_bridge *bridge,
                         const struct drm_display_mode *mode)
 {
        struct mtk_dp *mtk_dp = mtk_dp_from_bridge(bridge);
-       u32 bpp = info->color_formats & DRM_COLOR_FORMAT_YCBCR422 ? 16 : 24;
+       u32 bpp = info->color_formats & BIT(DRM_OUTPUT_COLOR_FORMAT_YCBCR422) ? 16 : 24;
        u32 lane_count_min = mtk_dp->train_info.lane_count;
        u32 rate = drm_dp_bw_code_to_link_rate(mtk_dp->train_info.link_rate) *
                   lane_count_min;
@@ -2521,7 +2521,7 @@ static u32 *mtk_dp_bridge_atomic_get_input_bus_fmts(struct drm_bridge *bridge,
         */
        if (((rate * 97 / 100) < (mode->clock * 24 / 8)) &&
            ((rate * 97 / 100) > (mode->clock * 16 / 8)) &&
-           (display_info->color_formats & DRM_COLOR_FORMAT_YCBCR422)) {
+           (display_info->color_formats & BIT(DRM_OUTPUT_COLOR_FORMAT_YCBCR422))) {
                input_fmts = kcalloc(1, sizeof(*input_fmts), GFP_KERNEL);
                if (!input_fmts)
                        return NULL;