[PATCH 1/2] gpu: ipu-v3: enable remaining 32-bit RGB V4L2 pixel formats
Marco Felsch
m.felsch at pengutronix.de
Thu Aug 15 06:36:53 UTC 2019
Hi Philipp,
On 19-08-14 17:10, Philipp Zabel wrote:
> Support is already implemented for the corresponding DRM formats,
> just hook up the remaining V4L2 pixel formats.
>
> Signed-off-by: Philipp Zabel <p.zabel at pengutronix.de>
> ---
> drivers/gpu/ipu-v3/ipu-common.c | 16 ++++++++++------
> drivers/gpu/ipu-v3/ipu-cpmem.c | 26 +++++++++++++++++++++++++-
> 2 files changed, 35 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/ipu-v3/ipu-common.c b/drivers/gpu/ipu-v3/ipu-common.c
> index 6386e2fe2ff7..ee2a025e54cf 100644
> --- a/drivers/gpu/ipu-v3/ipu-common.c
> +++ b/drivers/gpu/ipu-v3/ipu-common.c
> @@ -113,13 +113,17 @@ enum ipu_color_space ipu_pixelformat_to_colorspace(u32 pixelformat)
> case V4L2_PIX_FMT_NV16:
> case V4L2_PIX_FMT_NV61:
> return IPUV3_COLORSPACE_YUV;
> - case V4L2_PIX_FMT_XRGB32:
> - case V4L2_PIX_FMT_XBGR32:
> - case V4L2_PIX_FMT_RGB32:
> - case V4L2_PIX_FMT_BGR32:
> - case V4L2_PIX_FMT_RGB24:
> - case V4L2_PIX_FMT_BGR24:
> case V4L2_PIX_FMT_RGB565:
> + case V4L2_PIX_FMT_BGR24:
Nitpick:
Should we add '/* fall through */' comments?
Feel free to add my
Reviewed-by: Marco Felsch <m.felsch at pengutronix.de>
> + case V4L2_PIX_FMT_RGB24:
> + case V4L2_PIX_FMT_ABGR32:
> + case V4L2_PIX_FMT_XBGR32:
> + case V4L2_PIX_FMT_BGRA32:
> + case V4L2_PIX_FMT_BGRX32:
> + case V4L2_PIX_FMT_RGBA32:
> + case V4L2_PIX_FMT_RGBX32:
> + case V4L2_PIX_FMT_ARGB32:
> + case V4L2_PIX_FMT_XRGB32:
> return IPUV3_COLORSPACE_RGB;
> default:
> return IPUV3_COLORSPACE_UNKNOWN;
> diff --git a/drivers/gpu/ipu-v3/ipu-cpmem.c b/drivers/gpu/ipu-v3/ipu-cpmem.c
> index be1226ce28cd..a1c85d1521f5 100644
> --- a/drivers/gpu/ipu-v3/ipu-cpmem.c
> +++ b/drivers/gpu/ipu-v3/ipu-cpmem.c
> @@ -182,9 +182,27 @@ static int v4l2_pix_fmt_to_drm_fourcc(u32 pixelformat)
> case V4L2_PIX_FMT_RGB32:
> /* R G B A <=> [32:0] A:B:G:R */
> return DRM_FORMAT_XBGR8888;
> + case V4L2_PIX_FMT_ABGR32:
> + /* B G R A <=> [32:0] A:R:G:B */
> + return DRM_FORMAT_ARGB8888;
> case V4L2_PIX_FMT_XBGR32:
> /* B G R X <=> [32:0] X:R:G:B */
> return DRM_FORMAT_XRGB8888;
> + case V4L2_PIX_FMT_BGRA32:
> + /* A B G R <=> [32:0] R:G:B:A */
> + return DRM_FORMAT_RGBA8888;
> + case V4L2_PIX_FMT_BGRX32:
> + /* X B G R <=> [32:0] R:G:B:X */
> + return DRM_FORMAT_RGBX8888;
> + case V4L2_PIX_FMT_RGBA32:
> + /* R G B A <=> [32:0] A:B:G:R */
> + return DRM_FORMAT_ABGR8888;
> + case V4L2_PIX_FMT_RGBX32:
> + /* R G B X <=> [32:0] X:B:G:R */
> + return DRM_FORMAT_XBGR8888;
> + case V4L2_PIX_FMT_ARGB32:
> + /* A R G B <=> [32:0] B:G:R:A */
> + return DRM_FORMAT_BGRA8888;
> case V4L2_PIX_FMT_XRGB32:
> /* X R G B <=> [32:0] B:G:R:X */
> return DRM_FORMAT_BGRX8888;
> @@ -823,8 +841,14 @@ int ipu_cpmem_set_image(struct ipuv3_channel *ch, struct ipu_image *image)
> break;
> case V4L2_PIX_FMT_RGB32:
> case V4L2_PIX_FMT_BGR32:
> - case V4L2_PIX_FMT_XRGB32:
> + case V4L2_PIX_FMT_ABGR32:
> case V4L2_PIX_FMT_XBGR32:
> + case V4L2_PIX_FMT_BGRA32:
> + case V4L2_PIX_FMT_BGRX32:
> + case V4L2_PIX_FMT_RGBA32:
> + case V4L2_PIX_FMT_RGBX32:
> + case V4L2_PIX_FMT_ARGB32:
> + case V4L2_PIX_FMT_XRGB32:
> offset = image->rect.left * 4 +
> image->rect.top * pix->bytesperline;
> break;
> --
> 2.20.1
>
>
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the dri-devel
mailing list