[PATCH 1/5] drm/tinydrm: Add tinydrm_rgb565_buf_copy()

Daniel Vetter daniel at ffwll.ch
Sun Mar 12 18:00:35 UTC 2017


On Sat, Mar 11, 2017 at 10:35:32PM +0100, Noralf Trønnes wrote:
> Add tinydrm_rgb565_buf_copy() function that copies buffer rectangle to
> destination buffer and also handles XRGB8888 and byte swap conversions.
> Useful for displays that only support RGB565 and can do partial updates.
> 
> Signed-off-by: Noralf Trønnes <noralf at tronnes.org>
> ---
>  drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c | 56 +++++++++++++++++++++++++-
>  include/drm/tinydrm/tinydrm-helpers.h          |  2 +
>  2 files changed, 56 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c b/drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c
> index d4cda33..e639453 100644
> --- a/drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c
> +++ b/drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c
> @@ -7,13 +7,15 @@
>   * (at your option) any later version.
>   */
>  
> -#include <drm/tinydrm/tinydrm.h>
> -#include <drm/tinydrm/tinydrm-helpers.h>
>  #include <linux/backlight.h>
> +#include <linux/dma-buf.h>
>  #include <linux/pm.h>
>  #include <linux/spi/spi.h>
>  #include <linux/swab.h>
>  
> +#include <drm/tinydrm/tinydrm.h>
> +#include <drm/tinydrm/tinydrm-helpers.h>
> +
>  static unsigned int spi_max;
>  module_param(spi_max, uint, 0400);
>  MODULE_PARM_DESC(spi_max, "Set a lower SPI max transfer size");
> @@ -181,6 +183,56 @@ void tinydrm_xrgb8888_to_rgb565(u16 *dst, void *vaddr,
>  EXPORT_SYMBOL(tinydrm_xrgb8888_to_rgb565);

So I noticed that we already have the xrgb8888 to rgb565 function, so I'm
a bit late on this, but: DRM doesn't do format conversions, with the
single exception that the legacy cursor interface is specced to be
argb8888.

Imo this should be removed (and preferrably before we ship tinydrm in a
stable kernel). Why did you add it?
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list