Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/bridge: cadence: Convert to drm_output_color_format

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>
Link: https://lore.kernel.org/r/20260305-drm-rework-color-formats-v3-7-f3935f6db579@kernel.org
Signed-off-by: Maxime Ripard <mripard@kernel.org>

+13 -13
+12 -12
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
··· 1448 1448 return fmt->bpc; 1449 1449 1450 1450 switch (fmt->color_format) { 1451 - case DRM_COLOR_FORMAT_RGB444: 1452 - case DRM_COLOR_FORMAT_YCBCR444: 1451 + case DRM_OUTPUT_COLOR_FORMAT_RGB444: 1452 + case DRM_OUTPUT_COLOR_FORMAT_YCBCR444: 1453 1453 bpp = fmt->bpc * 3; 1454 1454 break; 1455 - case DRM_COLOR_FORMAT_YCBCR422: 1455 + case DRM_OUTPUT_COLOR_FORMAT_YCBCR422: 1456 1456 bpp = fmt->bpc * 2; 1457 1457 break; 1458 - case DRM_COLOR_FORMAT_YCBCR420: 1458 + case DRM_OUTPUT_COLOR_FORMAT_YCBCR420: 1459 1459 bpp = fmt->bpc * 3 / 2; 1460 1460 break; 1461 1461 default: ··· 1552 1552 * If YCBCR supported and stream not SD, use ITU709 1553 1553 * Need to handle ITU version with YCBCR420 when supported 1554 1554 */ 1555 - if ((pxlfmt == DRM_COLOR_FORMAT_YCBCR444 || 1556 - pxlfmt == DRM_COLOR_FORMAT_YCBCR422) && mode->crtc_vdisplay >= 720) 1555 + if ((pxlfmt == DRM_OUTPUT_COLOR_FORMAT_YCBCR444 || 1556 + pxlfmt == DRM_OUTPUT_COLOR_FORMAT_YCBCR422) && mode->crtc_vdisplay >= 720) 1557 1557 misc0 = DP_YCBCR_COEFFICIENTS_ITU709; 1558 1558 1559 1559 bpp = cdns_mhdp_get_bpp(&mhdp->display_fmt); 1560 1560 1561 1561 switch (pxlfmt) { 1562 - case DRM_COLOR_FORMAT_RGB444: 1562 + case DRM_OUTPUT_COLOR_FORMAT_RGB444: 1563 1563 pxl_repr = CDNS_DP_FRAMER_RGB << CDNS_DP_FRAMER_PXL_FORMAT; 1564 1564 misc0 |= DP_COLOR_FORMAT_RGB; 1565 1565 break; 1566 - case DRM_COLOR_FORMAT_YCBCR444: 1566 + case DRM_OUTPUT_COLOR_FORMAT_YCBCR444: 1567 1567 pxl_repr = CDNS_DP_FRAMER_YCBCR444 << CDNS_DP_FRAMER_PXL_FORMAT; 1568 1568 misc0 |= DP_COLOR_FORMAT_YCbCr444 | DP_TEST_DYNAMIC_RANGE_CEA; 1569 1569 break; 1570 - case DRM_COLOR_FORMAT_YCBCR422: 1570 + case DRM_OUTPUT_COLOR_FORMAT_YCBCR422: 1571 1571 pxl_repr = CDNS_DP_FRAMER_YCBCR422 << CDNS_DP_FRAMER_PXL_FORMAT; 1572 1572 misc0 |= DP_COLOR_FORMAT_YCbCr422 | DP_TEST_DYNAMIC_RANGE_CEA; 1573 1573 break; 1574 - case DRM_COLOR_FORMAT_YCBCR420: 1574 + case DRM_OUTPUT_COLOR_FORMAT_YCBCR420: 1575 1575 pxl_repr = CDNS_DP_FRAMER_YCBCR420 << CDNS_DP_FRAMER_PXL_FORMAT; 1576 1576 break; 1577 1577 default: ··· 1667 1667 if (mhdp->display_fmt.y_only) 1668 1668 misc1 |= CDNS_DP_TEST_COLOR_FORMAT_RAW_Y_ONLY; 1669 1669 /* Use VSC SDP for Y420 */ 1670 - if (pxlfmt == DRM_COLOR_FORMAT_YCBCR420) 1670 + if (pxlfmt == DRM_OUTPUT_COLOR_FORMAT_YCBCR420) 1671 1671 misc1 = CDNS_DP_TEST_VSC_SDP; 1672 1672 1673 1673 cdns_mhdp_reg_write(mhdp, CDNS_DP_MSA_MISC(stream_id), ··· 2356 2356 2357 2357 /* The only currently supported format */ 2358 2358 mhdp->display_fmt.y_only = false; 2359 - mhdp->display_fmt.color_format = DRM_COLOR_FORMAT_RGB444; 2359 + mhdp->display_fmt.color_format = DRM_OUTPUT_COLOR_FORMAT_RGB444; 2360 2360 mhdp->display_fmt.bpc = 8; 2361 2361 2362 2362 mhdp->bridge.of_node = pdev->dev.of_node;
+1 -1
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.h
··· 306 306 }; 307 307 308 308 struct cdns_mhdp_display_fmt { 309 - u32 color_format; 309 + enum drm_output_color_format color_format; 310 310 u32 bpc; 311 311 bool y_only; 312 312 };