drm_format_info does not describe the number of bits used for the alpha
channel. That information is useful in a central place like drm_fourcc.c
where it can be queried by the drivers that want to determine if 'alpha
blending' is to be enabled or not.

Signed-off-by: Ayan Kumar Halder <ayan.hal...@arm.com>
Reviewed-by: Liviu Dudau <liviu.du...@arm.com>
---
 drivers/gpu/drm/drm_fourcc.c | 154 ++++++++++++++++++++++++-------------------
 include/drm/drm_fourcc.h     |   3 +
 2 files changed, 89 insertions(+), 68 deletions(-)

diff --git a/drivers/gpu/drm/drm_fourcc.c b/drivers/gpu/drm/drm_fourcc.c
index 9c0152d..073001b 100644
--- a/drivers/gpu/drm/drm_fourcc.c
+++ b/drivers/gpu/drm/drm_fourcc.c
@@ -105,74 +105,74 @@ EXPORT_SYMBOL(drm_get_format_name);
 const struct drm_format_info *__drm_format_info(u32 format)
 {
        static const struct drm_format_info formats[] = {
-               { .format = DRM_FORMAT_C8,              .depth = 8,  
.num_planes = 1, .cpp = { 1, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_RGB332,          .depth = 8,  
.num_planes = 1, .cpp = { 1, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_BGR233,          .depth = 8,  
.num_planes = 1, .cpp = { 1, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_XRGB4444,        .depth = 0,  
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_XBGR4444,        .depth = 0,  
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_RGBX4444,        .depth = 0,  
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_BGRX4444,        .depth = 0,  
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_ARGB4444,        .depth = 0,  
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_ABGR4444,        .depth = 0,  
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_RGBA4444,        .depth = 0,  
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_BGRA4444,        .depth = 0,  
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_XRGB1555,        .depth = 15, 
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_XBGR1555,        .depth = 15, 
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_RGBX5551,        .depth = 15, 
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_BGRX5551,        .depth = 15, 
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_ARGB1555,        .depth = 15, 
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_ABGR1555,        .depth = 15, 
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_RGBA5551,        .depth = 15, 
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_BGRA5551,        .depth = 15, 
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_RGB565,          .depth = 16, 
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_BGR565,          .depth = 16, 
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_RGB888,          .depth = 24, 
.num_planes = 1, .cpp = { 3, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_BGR888,          .depth = 24, 
.num_planes = 1, .cpp = { 3, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_XRGB8888,        .depth = 24, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_XBGR8888,        .depth = 24, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_RGBX8888,        .depth = 24, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_BGRX8888,        .depth = 24, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_RGB565_A8,       .depth = 24, 
.num_planes = 2, .cpp = { 2, 1, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_BGR565_A8,       .depth = 24, 
.num_planes = 2, .cpp = { 2, 1, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_XRGB2101010,     .depth = 30, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_XBGR2101010,     .depth = 30, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_RGBX1010102,     .depth = 30, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_BGRX1010102,     .depth = 30, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_ARGB2101010,     .depth = 30, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_ABGR2101010,     .depth = 30, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_RGBA1010102,     .depth = 30, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_BGRA1010102,     .depth = 30, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_ARGB8888,        .depth = 32, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_ABGR8888,        .depth = 32, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_RGBA8888,        .depth = 32, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_BGRA8888,        .depth = 32, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_RGB888_A8,       .depth = 32, 
.num_planes = 2, .cpp = { 3, 1, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_BGR888_A8,       .depth = 32, 
.num_planes = 2, .cpp = { 3, 1, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_XRGB8888_A8,     .depth = 32, 
.num_planes = 2, .cpp = { 4, 1, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_XBGR8888_A8,     .depth = 32, 
.num_planes = 2, .cpp = { 4, 1, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_RGBX8888_A8,     .depth = 32, 
.num_planes = 2, .cpp = { 4, 1, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_BGRX8888_A8,     .depth = 32, 
.num_planes = 2, .cpp = { 4, 1, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_YUV410,          .depth = 0,  
.num_planes = 3, .cpp = { 1, 1, 1 }, .hsub = 4, .vsub = 4 },
-               { .format = DRM_FORMAT_YVU410,          .depth = 0,  
.num_planes = 3, .cpp = { 1, 1, 1 }, .hsub = 4, .vsub = 4 },
-               { .format = DRM_FORMAT_YUV411,          .depth = 0,  
.num_planes = 3, .cpp = { 1, 1, 1 }, .hsub = 4, .vsub = 1 },
-               { .format = DRM_FORMAT_YVU411,          .depth = 0,  
.num_planes = 3, .cpp = { 1, 1, 1 }, .hsub = 4, .vsub = 1 },
-               { .format = DRM_FORMAT_YUV420,          .depth = 0,  
.num_planes = 3, .cpp = { 1, 1, 1 }, .hsub = 2, .vsub = 2 },
-               { .format = DRM_FORMAT_YVU420,          .depth = 0,  
.num_planes = 3, .cpp = { 1, 1, 1 }, .hsub = 2, .vsub = 2 },
-               { .format = DRM_FORMAT_YUV422,          .depth = 0,  
.num_planes = 3, .cpp = { 1, 1, 1 }, .hsub = 2, .vsub = 1 },
-               { .format = DRM_FORMAT_YVU422,          .depth = 0,  
.num_planes = 3, .cpp = { 1, 1, 1 }, .hsub = 2, .vsub = 1 },
-               { .format = DRM_FORMAT_YUV444,          .depth = 0,  
.num_planes = 3, .cpp = { 1, 1, 1 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_YVU444,          .depth = 0,  
.num_planes = 3, .cpp = { 1, 1, 1 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_NV12,            .depth = 0,  
.num_planes = 2, .cpp = { 1, 2, 0 }, .hsub = 2, .vsub = 2 },
-               { .format = DRM_FORMAT_NV21,            .depth = 0,  
.num_planes = 2, .cpp = { 1, 2, 0 }, .hsub = 2, .vsub = 2 },
-               { .format = DRM_FORMAT_NV16,            .depth = 0,  
.num_planes = 2, .cpp = { 1, 2, 0 }, .hsub = 2, .vsub = 1 },
-               { .format = DRM_FORMAT_NV61,            .depth = 0,  
.num_planes = 2, .cpp = { 1, 2, 0 }, .hsub = 2, .vsub = 1 },
-               { .format = DRM_FORMAT_NV24,            .depth = 0,  
.num_planes = 2, .cpp = { 1, 2, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_NV42,            .depth = 0,  
.num_planes = 2, .cpp = { 1, 2, 0 }, .hsub = 1, .vsub = 1 },
-               { .format = DRM_FORMAT_YUYV,            .depth = 0,  
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 2, .vsub = 1 },
-               { .format = DRM_FORMAT_YVYU,            .depth = 0,  
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 2, .vsub = 1 },
-               { .format = DRM_FORMAT_UYVY,            .depth = 0,  
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 2, .vsub = 1 },
-               { .format = DRM_FORMAT_VYUY,            .depth = 0,  
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 2, .vsub = 1 },
-               { .format = DRM_FORMAT_AYUV,            .depth = 0,  
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1 },
+               { .format = DRM_FORMAT_C8,              .depth = 8,  
.num_planes = 1, .cpp = { 1, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_RGB332,          .depth = 8,  
.num_planes = 1, .cpp = { 1, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_BGR233,          .depth = 8,  
.num_planes = 1, .cpp = { 1, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_XRGB4444,        .depth = 0,  
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_XBGR4444,        .depth = 0,  
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_RGBX4444,        .depth = 0,  
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_BGRX4444,        .depth = 0,  
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_ARGB4444,        .depth = 0,  
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 4 },
+               { .format = DRM_FORMAT_ABGR4444,        .depth = 0,  
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 4 },
+               { .format = DRM_FORMAT_RGBA4444,        .depth = 0,  
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 4 },
+               { .format = DRM_FORMAT_BGRA4444,        .depth = 0,  
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 4 },
+               { .format = DRM_FORMAT_XRGB1555,        .depth = 15, 
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_XBGR1555,        .depth = 15, 
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_RGBX5551,        .depth = 15, 
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_BGRX5551,        .depth = 15, 
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_ARGB1555,        .depth = 15, 
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 1 },
+               { .format = DRM_FORMAT_ABGR1555,        .depth = 15, 
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 1 },
+               { .format = DRM_FORMAT_RGBA5551,        .depth = 15, 
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 1 },
+               { .format = DRM_FORMAT_BGRA5551,        .depth = 15, 
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 1 },
+               { .format = DRM_FORMAT_RGB565,          .depth = 16, 
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_BGR565,          .depth = 16, 
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_RGB888,          .depth = 24, 
.num_planes = 1, .cpp = { 3, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_BGR888,          .depth = 24, 
.num_planes = 1, .cpp = { 3, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_XRGB8888,        .depth = 24, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_XBGR8888,        .depth = 24, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_RGBX8888,        .depth = 24, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_BGRX8888,        .depth = 24, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_RGB565_A8,       .depth = 24, 
.num_planes = 2, .cpp = { 2, 1, 0 }, .hsub = 1, .vsub = 1, .alpha = 8 },
+               { .format = DRM_FORMAT_BGR565_A8,       .depth = 24, 
.num_planes = 2, .cpp = { 2, 1, 0 }, .hsub = 1, .vsub = 1, .alpha = 8 },
+               { .format = DRM_FORMAT_XRGB2101010,     .depth = 30, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_XBGR2101010,     .depth = 30, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_RGBX1010102,     .depth = 30, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_BGRX1010102,     .depth = 30, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_ARGB2101010,     .depth = 30, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 2 },
+               { .format = DRM_FORMAT_ABGR2101010,     .depth = 30, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 2 },
+               { .format = DRM_FORMAT_RGBA1010102,     .depth = 30, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 2 },
+               { .format = DRM_FORMAT_BGRA1010102,     .depth = 30, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 2 },
+               { .format = DRM_FORMAT_ARGB8888,        .depth = 32, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 8 },
+               { .format = DRM_FORMAT_ABGR8888,        .depth = 32, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 8 },
+               { .format = DRM_FORMAT_RGBA8888,        .depth = 32, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 8 },
+               { .format = DRM_FORMAT_BGRA8888,        .depth = 32, 
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 8 },
+               { .format = DRM_FORMAT_RGB888_A8,       .depth = 32, 
.num_planes = 2, .cpp = { 3, 1, 0 }, .hsub = 1, .vsub = 1, .alpha = 8 },
+               { .format = DRM_FORMAT_BGR888_A8,       .depth = 32, 
.num_planes = 2, .cpp = { 3, 1, 0 }, .hsub = 1, .vsub = 1, .alpha = 8 },
+               { .format = DRM_FORMAT_XRGB8888_A8,     .depth = 32, 
.num_planes = 2, .cpp = { 4, 1, 0 }, .hsub = 1, .vsub = 1, .alpha = 8 },
+               { .format = DRM_FORMAT_XBGR8888_A8,     .depth = 32, 
.num_planes = 2, .cpp = { 4, 1, 0 }, .hsub = 1, .vsub = 1, .alpha = 8 },
+               { .format = DRM_FORMAT_RGBX8888_A8,     .depth = 32, 
.num_planes = 2, .cpp = { 4, 1, 0 }, .hsub = 1, .vsub = 1, .alpha = 8 },
+               { .format = DRM_FORMAT_BGRX8888_A8,     .depth = 32, 
.num_planes = 2, .cpp = { 4, 1, 0 }, .hsub = 1, .vsub = 1, .alpha = 8 },
+               { .format = DRM_FORMAT_YUV410,          .depth = 0,  
.num_planes = 3, .cpp = { 1, 1, 1 }, .hsub = 4, .vsub = 4, .alpha = 0 },
+               { .format = DRM_FORMAT_YVU410,          .depth = 0,  
.num_planes = 3, .cpp = { 1, 1, 1 }, .hsub = 4, .vsub = 4, .alpha = 0 },
+               { .format = DRM_FORMAT_YUV411,          .depth = 0,  
.num_planes = 3, .cpp = { 1, 1, 1 }, .hsub = 4, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_YVU411,          .depth = 0,  
.num_planes = 3, .cpp = { 1, 1, 1 }, .hsub = 4, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_YUV420,          .depth = 0,  
.num_planes = 3, .cpp = { 1, 1, 1 }, .hsub = 2, .vsub = 2, .alpha = 0 },
+               { .format = DRM_FORMAT_YVU420,          .depth = 0,  
.num_planes = 3, .cpp = { 1, 1, 1 }, .hsub = 2, .vsub = 2, .alpha = 0 },
+               { .format = DRM_FORMAT_YUV422,          .depth = 0,  
.num_planes = 3, .cpp = { 1, 1, 1 }, .hsub = 2, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_YVU422,          .depth = 0,  
.num_planes = 3, .cpp = { 1, 1, 1 }, .hsub = 2, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_YUV444,          .depth = 0,  
.num_planes = 3, .cpp = { 1, 1, 1 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_YVU444,          .depth = 0,  
.num_planes = 3, .cpp = { 1, 1, 1 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_NV12,            .depth = 0,  
.num_planes = 2, .cpp = { 1, 2, 0 }, .hsub = 2, .vsub = 2, .alpha = 0 },
+               { .format = DRM_FORMAT_NV21,            .depth = 0,  
.num_planes = 2, .cpp = { 1, 2, 0 }, .hsub = 2, .vsub = 2, .alpha = 0 },
+               { .format = DRM_FORMAT_NV16,            .depth = 0,  
.num_planes = 2, .cpp = { 1, 2, 0 }, .hsub = 2, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_NV61,            .depth = 0,  
.num_planes = 2, .cpp = { 1, 2, 0 }, .hsub = 2, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_NV24,            .depth = 0,  
.num_planes = 2, .cpp = { 1, 2, 0 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_NV42,            .depth = 0,  
.num_planes = 2, .cpp = { 1, 2, 0 }, .hsub = 1, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_YUYV,            .depth = 0,  
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 2, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_YVYU,            .depth = 0,  
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 2, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_UYVY,            .depth = 0,  
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 2, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_VYUY,            .depth = 0,  
.num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 2, .vsub = 1, .alpha = 0 },
+               { .format = DRM_FORMAT_AYUV,            .depth = 0,  
.num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1, .alpha = 8 },
        };
 
        unsigned int i;
@@ -348,3 +348,21 @@ int drm_format_plane_height(int height, uint32_t format, 
int plane)
        return height / info->vsub;
 }
 EXPORT_SYMBOL(drm_format_plane_height);
+
+/**
+ * drm_format_alpha_bits - get the number of bits per pixel
+ * representing alpha for format
+ * @format: pixel format (DRM_FORMAT_*)
+ *
+ * Returns:
+ * The number of bits per pixel representing alpha used by the
+ * specified pixel format.
+ */
+int drm_format_alpha_bits(uint32_t format)
+{
+       const struct drm_format_info *info;
+
+       info = drm_format_info(format);
+       return info ? info->alpha : 0;
+}
+EXPORT_SYMBOL(drm_format_alpha_bits);
diff --git a/include/drm/drm_fourcc.h b/include/drm/drm_fourcc.h
index 6942e84..5513510 100644
--- a/include/drm/drm_fourcc.h
+++ b/include/drm/drm_fourcc.h
@@ -38,6 +38,7 @@ struct drm_mode_fb_cmd2;
  * @cpp: Number of bytes per pixel (per plane)
  * @hsub: Horizontal chroma subsampling factor
  * @vsub: Vertical chroma subsampling factor
+ * @alpha: Number of bits per pixel representing alpha
  */
 struct drm_format_info {
        u32 format;
@@ -46,6 +47,7 @@ struct drm_format_info {
        u8 cpp[3];
        u8 hsub;
        u8 vsub;
+       u8 alpha;
 };
 
 /**
@@ -57,6 +59,7 @@ struct drm_format_name_buf {
 };
 
 const struct drm_format_info *__drm_format_info(u32 format);
+int drm_format_alpha_bits(u32 format);
 const struct drm_format_info *drm_format_info(u32 format);
 const struct drm_format_info *
 drm_get_format_info(struct drm_device *dev,
-- 
2.7.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to