[PATCH v5 00/13] Centralize format information

Archit Taneja architt at codeaurora.org
Tue Oct 18 10:33:54 UTC 2016


Hi,

On 10/18/2016 04:11 AM, Laurent Pinchart wrote:
> Hello,
>
> Various pieces of information about DRM formats (number of planes, color
> depth, chroma subsampling, ...) are scattered across different helper
> functions in the DRM core. Callers of those functions often need to access
> more than a single parameter of the format, leading to inefficiencies due to
> multiple lookups.
>
> This patch series addresses this issue by centralizing all format information
> in a single data structure (01/13). It reimplements the existing format helper
> functions based on that structure (02/13) and converts the DRM core code to
> use the new structure (03/13). The DRM core now WARNs when a driver tries to
> query information about an unsupported format (04/13).
>
> The second part of the patch series removes the drm_fb_get_bpp_depth() legacy
> function that shouldn't be used directly by drivers. It modifies all its users
> to use the appropriate API instead (05/13 to 12/13) and finally merges the
> function into its only caller in the DRM core (13/13).
>
> The new API is also useful for drivers as shown by the "[PATCH v2 00/20] OMAP
> DRM fixes and improvements" patch series previously posted.
>
> All patches have been acked, the series is ready to be merged for v4.10.

Queued all patches to drm-misc.

Thanks,
Archit

>
> Changes since v4:
>
> - Rebased on top of latest drm/master branch
> - Collected acks
> - Fixed depth value of DRM_FORMAT_[AXRGB]{4}4444 formats to match current code
> - Added support for DRM_FORMAT_BGR565, DRM_FORMAT_XBGR8888 and
>   DRM_FORMAT_BGR888 to tilcdc
> - Documented the depth field as legacy
>
> Changes since v3:
>
> - Rebased on top of latest drm/master branch
> - Collected acks
> - Dropped "drm: Move format-related helpers to drm_fourcc.c" and
>   "drm/msm: Replace drm_fb_get_bpp_depth() with drm_format_plane_cpp()" that
>   have been merged already
> - Added new "drm/arm: mali-dp: Replace drm_fb_get_bpp_depth() with
>   drm_format_plane_cpp()" patch
> - Coding style fixes and variable renames
>
> Changes since v2:
>
> - Remove bpp field from drm_format_info structure
> - Replace all users of drm_fb_get_bpp_depth() with the appropriate API
> - Merge drm_fb_get_bpp_depth() into its only caller
>
> Changes since v1:
>
> - Move format-related helpers to drm_fourcc.c
> - Use named initializers for the formats array
> - WARN when calling drm_format_info() for an unsupported format
> - Don't drop the drm_format_plane_width() and drm_format_plane_height()
>   helpers
>
> Laurent Pinchart (13):
>   drm: Centralize format information
>   drm: Implement the drm_format_*() helpers as drm_format_info()
>     wrappers
>   drm: Use drm_format_info() in DRM core code
>   drm: WARN when calling drm_format_info() for an unsupported format
>   drm: hdlcd: Replace drm_fb_get_bpp_depth() with drm_format_plane_cpp()
>   drm: tilcdc: Replace drm_fb_get_bpp_depth() with
>     drm_format_plane_cpp()
>   drm: cirrus: Replace drm_fb_get_bpp_depth() with
>     drm_format_plane_cpp()
>   drm: gma500: Replace drm_fb_get_bpp_depth() with drm_format_info()
>   drm: amdgpu: Replace drm_fb_get_bpp_depth() with
>     drm_format_plane_cpp()
>   drm: radeon: Replace drm_fb_get_bpp_depth() with
>     drm_format_plane_cpp()
>   drm: vmwgfx: Replace drm_fb_get_bpp_depth() with drm_format_info()
>   drm/arm: mali-dp: Replace drm_fb_get_bpp_depth() with
>     drm_format_plane_cpp()
>   drm: Don't export the drm_fb_get_bpp_depth() function
>
>  Documentation/gpu/drm-kms.rst           |   3 +
>  drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c  |  14 +-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c |   3 +-
>  drivers/gpu/drm/arm/hdlcd_crtc.c        |   5 +-
>  drivers/gpu/drm/arm/malidp_hw.c         |   7 +-
>  drivers/gpu/drm/cirrus/cirrus_fbdev.c   |   6 +-
>  drivers/gpu/drm/cirrus/cirrus_main.c    |   4 +-
>  drivers/gpu/drm/drm_fb_cma_helper.c     |  23 +--
>  drivers/gpu/drm/drm_fourcc.c            | 281 ++++++++++++++------------------
>  drivers/gpu/drm/drm_framebuffer.c       | 102 ++----------
>  drivers/gpu/drm/drm_modeset_helper.c    |  17 +-
>  drivers/gpu/drm/gma500/framebuffer.c    |  20 +--
>  drivers/gpu/drm/radeon/radeon_fb.c      |  20 +--
>  drivers/gpu/drm/radeon/radeon_gem.c     |   3 +-
>  drivers/gpu/drm/tilcdc/tilcdc_crtc.c    |  18 +-
>  drivers/gpu/drm/tilcdc/tilcdc_plane.c   |   7 +-
>  drivers/gpu/drm/vmwgfx/vmwgfx_kms.c     |  12 +-
>  include/drm/drm_fourcc.h                |  23 ++-
>  18 files changed, 244 insertions(+), 324 deletions(-)
>

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project


More information about the dri-devel mailing list