On 08/10/2016 04:12 PM, Daniel Vetter wrote: > On Wed, Aug 10, 2016 at 01:04:54PM +0200, Fabien DESSENNE wrote: >> On 08/10/2016 12:35 PM, Daniel Vetter wrote: >>> On Wed, Aug 10, 2016 at 11:21:56AM +0200, Fabien Dessenne wrote: >>>> These pixel formats are supported by format_check() from drm_crtc.c, so >>>> provide there depth and bpp. >>>> >>>> Signed-off-by: Fabien Dessenne <fabien.dessenne@xxxxxx> >>> Why? >> At least for consistency between format_check() and drm_fb_get_bpp_depth(). > fb_get_bpp_depth is kinda legacy, the recommended way is to have a switch > statement in your driver that directly decodes DRM_FORMAT_* into driver > register values. The inconsistency is intentional since just looking at > bpp and depth removes a lot of information. I can understand that fb_get_bpp_depth() shall not be called by (new) drivers. But it is also called by the core part through drm_format_plane_cpp() which is not a legacy interface and is used across many drivers (I think that this is a recent change initiated by Ville). > Probably a better patch would be to update the kerneldoc for these > functions. For the time being we have an issue with the current drivers that use the 4444 DRM formats and updating kerneldoc won't fix them > Also Laurent is working on a complete reorg of all this. Looping Laurent who may have a different opinion, or plan to consider the 4444 DRM formats in its rework. Fabien > -Daniel > >>> Who's going to use this? >> For the time being, I can see 9 drivers that make more or less use of >> this format (amd, atmel-hlcdc, exynos, fsl-dcu, imx, omapdrm, radeon, >> rcar-du, sti). >> In top of that I am working on a new driver that actually needs this >> format, and that does not work without this patch. >>> -Daniel >>> >>>> --- >>>> drivers/gpu/drm/drm_fourcc.c | 11 +++++++++++ >>>> 1 file changed, 11 insertions(+) >>>> >>>> diff --git a/drivers/gpu/drm/drm_fourcc.c b/drivers/gpu/drm/drm_fourcc.c >>>> index 0645c85..aa8c909 100644 >>>> --- a/drivers/gpu/drm/drm_fourcc.c >>>> +++ b/drivers/gpu/drm/drm_fourcc.c >>>> @@ -80,6 +80,17 @@ void drm_fb_get_bpp_depth(uint32_t format, unsigned int *depth, >>>> *depth = 8; >>>> *bpp = 8; >>>> break; >>>> + case DRM_FORMAT_XRGB4444: >>>> + case DRM_FORMAT_XBGR4444: >>>> + case DRM_FORMAT_RGBX4444: >>>> + case DRM_FORMAT_BGRX4444: >>>> + case DRM_FORMAT_ARGB4444: >>>> + case DRM_FORMAT_ABGR4444: >>>> + case DRM_FORMAT_RGBA4444: >>>> + case DRM_FORMAT_BGRA4444: >>>> + *depth = 12; >>>> + *bpp = 16; >>>> + break; >>>> case DRM_FORMAT_XRGB1555: >>>> case DRM_FORMAT_XBGR1555: >>>> case DRM_FORMAT_RGBX5551: >>>> -- >>>> 1.9.1 >>>> >>>> _______________________________________________ >>>> dri-devel mailing list >>>> dri-devel@xxxxxxxxxxxxxxxxxxxxx >>>> https://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel