On Thu, Sep 08, 2016 at 05:44:16PM +0300, Laurent Pinchart wrote: > Turn the drm_format_*() helpers into wrappers around the drm_format_info > lookup function to centralize all format information in a single place. > > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/drm_fourcc.c | 186 +++++++++---------------------------------- > 1 file changed, 37 insertions(+), 149 deletions(-) > > diff --git a/drivers/gpu/drm/drm_fourcc.c b/drivers/gpu/drm/drm_fourcc.c > index 6b91bd8a510d..bf91c5044d84 100644 > --- a/drivers/gpu/drm/drm_fourcc.c > +++ b/drivers/gpu/drm/drm_fourcc.c > @@ -198,69 +198,22 @@ EXPORT_SYMBOL(drm_format_info); > void drm_fb_get_bpp_depth(uint32_t format, unsigned int *depth, > int *bpp) > { > - char *format_name; > - > - switch (format) { > - case DRM_FORMAT_C8: > - case DRM_FORMAT_RGB332: > - case DRM_FORMAT_BGR233: > - *depth = 8; > - *bpp = 8; > - break; > - case DRM_FORMAT_XRGB1555: > - case DRM_FORMAT_XBGR1555: > - case DRM_FORMAT_RGBX5551: > - case DRM_FORMAT_BGRX5551: > - case DRM_FORMAT_ARGB1555: > - case DRM_FORMAT_ABGR1555: > - case DRM_FORMAT_RGBA5551: > - case DRM_FORMAT_BGRA5551: > - *depth = 15; > - *bpp = 16; > - break; > - case DRM_FORMAT_RGB565: > - case DRM_FORMAT_BGR565: > - *depth = 16; > - *bpp = 16; > - break; > - case DRM_FORMAT_RGB888: > - case DRM_FORMAT_BGR888: > - *depth = 24; > - *bpp = 24; > - break; > - case DRM_FORMAT_XRGB8888: > - case DRM_FORMAT_XBGR8888: > - case DRM_FORMAT_RGBX8888: > - case DRM_FORMAT_BGRX8888: > - *depth = 24; > - *bpp = 32; > - break; > - case DRM_FORMAT_XRGB2101010: > - case DRM_FORMAT_XBGR2101010: > - case DRM_FORMAT_RGBX1010102: > - case DRM_FORMAT_BGRX1010102: > - case DRM_FORMAT_ARGB2101010: > - case DRM_FORMAT_ABGR2101010: > - case DRM_FORMAT_RGBA1010102: > - case DRM_FORMAT_BGRA1010102: > - *depth = 30; > - *bpp = 32; > - break; > - case DRM_FORMAT_ARGB8888: > - case DRM_FORMAT_ABGR8888: > - case DRM_FORMAT_RGBA8888: > - case DRM_FORMAT_BGRA8888: > - *depth = 32; > - *bpp = 32; > - break; > - default: > - format_name = drm_get_format_name(format); > + const struct drm_format_info *info; > + > + info = drm_format_info(format); > + if (!info || !info->depth) { > + char *format_name = drm_get_format_name(format); > + > DRM_DEBUG_KMS("unsupported pixel format %s\n", format_name); > kfree(format_name); > + > *depth = 0; > *bpp = 0; > - break; > + return; > } > + > + *depth = info->depth; > + *bpp = info->cpp[0] << 3; Bikeshed: This is a funny way to write * 8 ... Would be nice to fix imo. Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel