diff mbox

media: imx: add 8-bit grayscale support

Message ID 20180122161632.16915-1-p.zabel@pengutronix.de (mailing list archive)
State New, archived
Headers show

Commit Message

Philipp Zabel Jan. 22, 2018, 4:16 p.m. UTC
The IPUv3 code has 8-bit grayscale capture support.
Enable imx-media to use it.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
This patch depends on https://patchwork.kernel.org/patch/10178777/
to work, otherwise STREAMON will fail with -EINVAL.
---
 drivers/staging/media/imx/imx-media-csi.c   | 1 +
 drivers/staging/media/imx/imx-media-utils.c | 8 +++++++-
 2 files changed, 8 insertions(+), 1 deletion(-)

Comments

Hans Verkuil Feb. 15, 2018, 2:43 p.m. UTC | #1
Hi Philipp,

Can you let me know if/when I can merge this? It looks good, so when the other
patch is merged, then this can be merged as well.

Regards,

	Hans

On 22/01/18 17:16, Philipp Zabel wrote:
> The IPUv3 code has 8-bit grayscale capture support.
> Enable imx-media to use it.
> 
> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
> ---
> This patch depends on https://patchwork.kernel.org/patch/10178777/
> to work, otherwise STREAMON will fail with -EINVAL.
> ---
>  drivers/staging/media/imx/imx-media-csi.c   | 1 +
>  drivers/staging/media/imx/imx-media-utils.c | 8 +++++++-
>  2 files changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/staging/media/imx/imx-media-csi.c b/drivers/staging/media/imx/imx-media-csi.c
> index eb7be5093a9d5..e280ba31262a8 100644
> --- a/drivers/staging/media/imx/imx-media-csi.c
> +++ b/drivers/staging/media/imx/imx-media-csi.c
> @@ -400,6 +400,7 @@ static int csi_idmac_setup_channel(struct csi_priv *priv)
>  	case V4L2_PIX_FMT_SGBRG8:
>  	case V4L2_PIX_FMT_SGRBG8:
>  	case V4L2_PIX_FMT_SRGGB8:
> +	case V4L2_PIX_FMT_GREY:
>  		burst_size = 16;
>  		passthrough = true;
>  		passthrough_bits = 8;
> diff --git a/drivers/staging/media/imx/imx-media-utils.c b/drivers/staging/media/imx/imx-media-utils.c
> index 13dafa77a2eba..5f61eecb81f1e 100644
> --- a/drivers/staging/media/imx/imx-media-utils.c
> +++ b/drivers/staging/media/imx/imx-media-utils.c
> @@ -93,7 +93,7 @@ static const struct imx_media_pixfmt rgb_formats[] = {
>  		.bpp    = 32,
>  		.ipufmt = true,
>  	},
> -	/*** raw bayer formats start here ***/
> +	/*** raw bayer and grayscale formats start here ***/
>  	{
>  		.fourcc = V4L2_PIX_FMT_SBGGR8,
>  		.codes  = {MEDIA_BUS_FMT_SBGGR8_1X8},
> @@ -162,6 +162,12 @@ static const struct imx_media_pixfmt rgb_formats[] = {
>  		.cs     = IPUV3_COLORSPACE_RGB,
>  		.bpp    = 16,
>  		.bayer  = true,
> +	}, {
> +		.fourcc = V4L2_PIX_FMT_GREY,
> +		.codes = {MEDIA_BUS_FMT_Y8_1X8},
> +		.cs     = IPUV3_COLORSPACE_RGB,
> +		.bpp    = 8,
> +		.bayer  = true,
>  	},
>  	/***
>  	 * non-mbus RGB formats start here. NOTE! when adding non-mbus
>
Philipp Zabel Feb. 27, 2018, 8:35 a.m. UTC | #2
Hi Hans,

On Thu, 2018-02-15 at 15:43 +0100, Hans Verkuil wrote:
> Hi Philipp,
> 
> Can you let me know if/when I can merge this? It looks good, so when the other
> patch is merged, then this can be merged as well.

Thank you for the reminder, the required patch is now merged into
v4.16-rc3, commit 6d36b7fec60e ("gpu: ipu-cpmem: add 8-bit grayscale
support to ipu_cpmem_set_image").

regards
Philipp
diff mbox

Patch

diff --git a/drivers/staging/media/imx/imx-media-csi.c b/drivers/staging/media/imx/imx-media-csi.c
index eb7be5093a9d5..e280ba31262a8 100644
--- a/drivers/staging/media/imx/imx-media-csi.c
+++ b/drivers/staging/media/imx/imx-media-csi.c
@@ -400,6 +400,7 @@  static int csi_idmac_setup_channel(struct csi_priv *priv)
 	case V4L2_PIX_FMT_SGBRG8:
 	case V4L2_PIX_FMT_SGRBG8:
 	case V4L2_PIX_FMT_SRGGB8:
+	case V4L2_PIX_FMT_GREY:
 		burst_size = 16;
 		passthrough = true;
 		passthrough_bits = 8;
diff --git a/drivers/staging/media/imx/imx-media-utils.c b/drivers/staging/media/imx/imx-media-utils.c
index 13dafa77a2eba..5f61eecb81f1e 100644
--- a/drivers/staging/media/imx/imx-media-utils.c
+++ b/drivers/staging/media/imx/imx-media-utils.c
@@ -93,7 +93,7 @@  static const struct imx_media_pixfmt rgb_formats[] = {
 		.bpp    = 32,
 		.ipufmt = true,
 	},
-	/*** raw bayer formats start here ***/
+	/*** raw bayer and grayscale formats start here ***/
 	{
 		.fourcc = V4L2_PIX_FMT_SBGGR8,
 		.codes  = {MEDIA_BUS_FMT_SBGGR8_1X8},
@@ -162,6 +162,12 @@  static const struct imx_media_pixfmt rgb_formats[] = {
 		.cs     = IPUV3_COLORSPACE_RGB,
 		.bpp    = 16,
 		.bayer  = true,
+	}, {
+		.fourcc = V4L2_PIX_FMT_GREY,
+		.codes = {MEDIA_BUS_FMT_Y8_1X8},
+		.cs     = IPUV3_COLORSPACE_RGB,
+		.bpp    = 8,
+		.bayer  = true,
 	},
 	/***
 	 * non-mbus RGB formats start here. NOTE! when adding non-mbus