kernel: bump 5.15 to 5.15.100
[openwrt/openwrt.git] / target / linux / bcm27xx / patches-5.15 / 950-0597-drm-vc4-dpi-Ensure-a-default-format-is-selected.patch
1 From 368bba37e67b4589b9286b2f68e6487acd5c0f79 Mon Sep 17 00:00:00 2001
2 From: Dave Stevenson <dave.stevenson@raspberrypi.com>
3 Date: Thu, 2 Dec 2021 18:28:29 +0000
4 Subject: [PATCH] drm/vc4: dpi: Ensure a default format is selected
5
6 In a couple of error/incomplete configuration cases, the
7 DPI_FORMAT bits wouldn't get set.
8
9 Adopt a default of RGB666 in all these cases.
10
11 Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
12 ---
13 drivers/gpu/drm/vc4/vc4_dpi.c | 13 +++++++++----
14 1 file changed, 9 insertions(+), 4 deletions(-)
15
16 --- a/drivers/gpu/drm/vc4/vc4_dpi.c
17 +++ b/drivers/gpu/drm/vc4/vc4_dpi.c
18 @@ -172,6 +172,10 @@ static void vc4_dpi_encoder_enable(struc
19 DPI_FORMAT);
20 dpi_c |= VC4_SET_FIELD(DPI_ORDER_BGR, DPI_ORDER);
21 break;
22 + default:
23 + DRM_ERROR("Unknown media bus format %d\n",
24 + bus_format);
25 + fallthrough;
26 case MEDIA_BUS_FMT_RGB666_1X18:
27 dpi_c |= VC4_SET_FIELD(DPI_FORMAT_18BIT_666_RGB_1,
28 DPI_FORMAT);
29 @@ -185,11 +189,12 @@ static void vc4_dpi_encoder_enable(struc
30 dpi_c |= VC4_SET_FIELD(DPI_FORMAT_16BIT_565_RGB_1,
31 DPI_FORMAT);
32 break;
33 - default:
34 - DRM_ERROR("Unknown media bus format %d\n",
35 - bus_format);
36 - break;
37 }
38 + } else {
39 + /* Default to 18bit if no connector found. */
40 + dpi_c |= VC4_SET_FIELD(DPI_FORMAT_18BIT_666_RGB_1,
41 + DPI_FORMAT);
42 +
43 }
44
45 if (connector->display_info.bus_flags & DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE)