[PATCH v2 00/14] drm/format-helper: Move to struct iosys_map

Thomas Zimmermann tzimmermann at suse.de
Wed Aug 10 07:07:54 UTC 2022


Thanks everyone for reviewing and testing.

Am 08.08.22 um 14:53 schrieb Thomas Zimmermann:
> Change format-conversion helpers to use struct iosys_map for source
> and destination buffers. Update all users. Also prepare interface for
> multi-plane color formats.
> 
> The format-conversion helpers mostly used to convert to I/O memory
> or system memory. To actual memory type depended on the usecase. We
> now have drivers upcomming that do the conversion entirely in system
> memory. It's a good opportunity to stream-line the interface of the
> conversion helpers to use struct iosys_map. Source and destination
> buffers can now be either in system or in I/O memory. Note that the
> implementation still only supports source buffers in system memory.
> 
> This patchset also changes the interface to support multi-plane
> color formats, where the values for each component are stored in
> distinct memory locations. Converting from RGBRGBRGB to RRRGGGBBB
> would require a single source buffer with RGB values and 3 destination
> buffers for the R, G and B values. Conversion-helper interfaces now
> support this.
> 
> v2:
> 	* add IOSYS_MAP_INIT_VADDR_IOMEM (Sam)
> 	* use drm_format_info_bpp() (Sam)
> 	* update documentation (Sam)
> 	* rename 'vmap' to 'src' (Sam)
> 	* many smaller cleanups and fixes (Sam, Jose)
> 
> Thomas Zimmermann (14):
>    iosys-map: Add IOSYS_MAP_INIT_VADDR_IOMEM()
>    drm/format-helper: Provide drm_fb_blit()
>    drm/format-helper: Merge drm_fb_memcpy() and drm_fb_memcpy_toio()
>    drm/format-helper: Convert drm_fb_swab() to struct iosys_map
>    drm/format-helper: Rework XRGB8888-to-RGBG332 conversion
>    drm/format-helper: Rework XRGB8888-to-RGBG565 conversion
>    drm/format-helper: Rework XRGB8888-to-RGB888 conversion
>    drm/format-helper: Rework RGB565-to-XRGB8888 conversion
>    drm/format-helper: Rework RGB888-to-XRGB8888 conversion
>    drm/format-helper: Rework XRGB8888-to-XRGB2101010 conversion
>    drm/format-helper: Rework XRGB8888-to-GRAY8 conversion
>    drm/format-helper: Rework XRGB8888-to-MONO conversion
>    drm/format-helper: Move destination-buffer handling into internal
>      helper
>    drm/format-helper: Rename parameter vmap to src
> 
>   drivers/gpu/drm/drm_format_helper.c           | 509 ++++++++++--------
>   drivers/gpu/drm/drm_mipi_dbi.c                |   9 +-
>   drivers/gpu/drm/gud/gud_pipe.c                |  20 +-
>   drivers/gpu/drm/hyperv/hyperv_drm_modeset.c   |   9 +-
>   drivers/gpu/drm/mgag200/mgag200_mode.c        |   9 +-
>   drivers/gpu/drm/solomon/ssd130x.c             |   7 +-
>   .../gpu/drm/tests/drm_format_helper_test.c    |  45 +-
>   drivers/gpu/drm/tiny/cirrus.c                 |  19 +-
>   drivers/gpu/drm/tiny/repaper.c                |   6 +-
>   drivers/gpu/drm/tiny/simpledrm.c              |   8 +-
>   drivers/gpu/drm/tiny/st7586.c                 |   5 +-
>   include/drm/drm_format_helper.h               |  56 +-
>   include/linux/iosys-map.h                     |  15 +-
>   13 files changed, 416 insertions(+), 301 deletions(-)
> 
> 
> base-commit: 2bdae66c9988dd0f07633629c0a85383cfc05940
> prerequisite-patch-id: c2b2f08f0eccc9f5df0c0da49fa1d36267deb11d
> prerequisite-patch-id: c67e5d886a47b7d0266d81100837557fda34cb24
> prerequisite-patch-id: 3f204510fcbf9530d6540bd8e6128cce598988b6

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20220810/afc47f89/attachment.sig>


More information about the dri-devel mailing list