brcm2708: switch to linux 4.9
[lede.git] / target / linux / brcm2708 / patches-4.4 / 0453-drm-vc4-enable-XBGR8888-and-ABGR8888-pixel-formats.patch
1 From 6e069ea26c09f7193b6ea1e86ccf6cedaf5a6d31 Mon Sep 17 00:00:00 2001
2 From: Rob Herring <robh@kernel.org>
3 Date: Thu, 9 Jun 2016 16:19:25 -0500
4 Subject: [PATCH] drm: vc4: enable XBGR8888 and ABGR8888 pixel formats
5
6 DRM_FORMAT_XBGR8888 and DRM_FORMAT_ABGR8888 are 2 of the native formats
7 used in Android, so enable them for VC4. There seems to be no logic behind
8 HVS_PIXEL_ORDER_xxxx naming, but HVS_PIXEL_ORDER_ARGB seems to work
9 correctly.
10
11 Signed-off-by: Rob Herring <robh@kernel.org>
12 Reviewed-by: Eric Anholt <eric@anholt.net>
13 (cherry picked from commit 93977767f092fbf0787e5d2a0bf2e0a3fc6f6ced)
14 ---
15  drivers/gpu/drm/vc4/vc4_plane.c | 8 ++++++++
16  1 file changed, 8 insertions(+)
17
18 --- a/drivers/gpu/drm/vc4/vc4_plane.c
19 +++ b/drivers/gpu/drm/vc4/vc4_plane.c
20 @@ -94,6 +94,14 @@ static const struct hvs_format {
21                 .pixel_order = HVS_PIXEL_ORDER_ABGR, .has_alpha = true,
22         },
23         {
24 +               .drm = DRM_FORMAT_ABGR8888, .hvs = HVS_PIXEL_FORMAT_RGBA8888,
25 +               .pixel_order = HVS_PIXEL_ORDER_ARGB, .has_alpha = true,
26 +       },
27 +       {
28 +               .drm = DRM_FORMAT_XBGR8888, .hvs = HVS_PIXEL_FORMAT_RGBA8888,
29 +               .pixel_order = HVS_PIXEL_ORDER_ARGB, .has_alpha = false,
30 +       },
31 +       {
32                 .drm = DRM_FORMAT_RGB565, .hvs = HVS_PIXEL_FORMAT_RGB565,
33                 .pixel_order = HVS_PIXEL_ORDER_XRGB, .has_alpha = false,
34         },