diff mbox series

[2/3] drm: rcar-du: Add pixel format support

Message ID 20180831181259.29529-3-kieran.bingham+renesas@ideasonboard.com (mailing list archive)
State Not Applicable
Delegated to: Geert Uytterhoeven
Headers show
Series drm: rcar-du: Update DU support | expand

Commit Message

Kieran Bingham Aug. 31, 2018, 6:12 p.m. UTC
From: Koji Matsuoka <koji.matsuoka.xm@renesas.com>

This patch supports pixel format of RGB332, ARGB4444, XRGB4444,
BGR888, RGB888, BGRA8888, BGRX8888 and YVYU.
VYUY pixel format is not supported by H/W specification.

Signed-off-by: Koji Matsuoka <koji.matsuoka.xm@renesas.com>
Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>

---

This patch does not remove existing support for multiplanar YVUY, even
though the hardware does not explicitly provide it, because we support
it through software by swapping the plane buffers.

 drivers/gpu/drm/rcar-du/rcar_du_kms.c | 32 +++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

Comments

Laurent Pinchart Sept. 14, 2018, 11:11 a.m. UTC | #1
Hi Kieran,

Thank you for the patch.

How about renaming the subject line to "Add support for missing pixel formats" 
?

On Friday, 31 August 2018 21:12:58 EEST Kieran Bingham wrote:
> From: Koji Matsuoka <koji.matsuoka.xm@renesas.com>
> 
> This patch supports pixel format of RGB332, ARGB4444, XRGB4444,
> BGR888, RGB888, BGRA8888, BGRX8888 and YVYU.
> VYUY pixel format is not supported by H/W specification.
> 
> Signed-off-by: Koji Matsuoka <koji.matsuoka.xm@renesas.com>
> Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
> 
> ---
> 
> This patch does not remove existing support for multiplanar YVUY, even
> though the hardware does not explicitly provide it, because we support
> it through software by swapping the plane buffers.
> 
>  drivers/gpu/drm/rcar-du/rcar_du_kms.c | 32 +++++++++++++++++++++++++++
>  1 file changed, 32 insertions(+)
> 
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_kms.c
> b/drivers/gpu/drm/rcar-du/rcar_du_kms.c index 7c7aff8cdf77..d1bd174ec893
> 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_kms.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_kms.c
> @@ -124,6 +124,38 @@ static const struct rcar_du_format_info
> rcar_du_format_infos[] = { .fourcc = DRM_FORMAT_YVU444,
>  		.bpp = 24,
>  		.planes = 3,
> +	}, {
> +		.fourcc = DRM_FORMAT_RGB332,
> +		.bpp = 8,
> +		.planes = 1,
> +	}, {
> +		.fourcc = DRM_FORMAT_ARGB4444,
> +		.bpp = 16,
> +		.planes = 1,
> +	}, {
> +		.fourcc = DRM_FORMAT_XRGB4444,
> +		.bpp = 16,
> +		.planes = 1,
> +	}, {
> +		.fourcc = DRM_FORMAT_BGR888,
> +		.bpp = 24,
> +		.planes = 1,
> +	}, {
> +		.fourcc = DRM_FORMAT_RGB888,
> +		.bpp = 24,
> +		.planes = 1,
> +	}, {
> +		.fourcc = DRM_FORMAT_BGRA8888,
> +		.bpp = 32,
> +		.planes = 1,
> +	}, {
> +		.fourcc = DRM_FORMAT_BGRX8888,
> +		.bpp = 32,
> +		.planes = 1,
> +	}, {
> +		.fourcc = DRM_FORMAT_YVYU,
> +		.bpp = 16,
> +		.planes = 1,
>  	},
>  };

I would list the RGB formats first, followed by the packed YUV format, and 
then the multiplanar YUV formats. With this changed,

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

If you're fine with the changes there's no need to resubmit.
Laurent Pinchart Sept. 14, 2018, 11:17 a.m. UTC | #2
Hi Kieran,

On Friday, 31 August 2018 21:12:58 EEST Kieran Bingham wrote:
> From: Koji Matsuoka <koji.matsuoka.xm@renesas.com>
> 
> This patch supports pixel format of RGB332, ARGB4444, XRGB4444,
> BGR888, RGB888, BGRA8888, BGRX8888 and YVYU.
> VYUY pixel format is not supported by H/W specification.

Should VYUY be removed from rcar_du_vsp.c ? This can be done in a separate 
patch.

> Signed-off-by: Koji Matsuoka <koji.matsuoka.xm@renesas.com>
> Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
> 
> ---
> 
> This patch does not remove existing support for multiplanar YVUY, even
> though the hardware does not explicitly provide it, because we support
> it through software by swapping the plane buffers.
> 
>  drivers/gpu/drm/rcar-du/rcar_du_kms.c | 32 +++++++++++++++++++++++++++
>  1 file changed, 32 insertions(+)
> 
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_kms.c
> b/drivers/gpu/drm/rcar-du/rcar_du_kms.c index 7c7aff8cdf77..d1bd174ec893
> 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_kms.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_kms.c
> @@ -124,6 +124,38 @@ static const struct rcar_du_format_info
> rcar_du_format_infos[] = { .fourcc = DRM_FORMAT_YVU444,
>  		.bpp = 24,
>  		.planes = 3,
> +	}, {
> +		.fourcc = DRM_FORMAT_RGB332,
> +		.bpp = 8,
> +		.planes = 1,
> +	}, {
> +		.fourcc = DRM_FORMAT_ARGB4444,
> +		.bpp = 16,
> +		.planes = 1,
> +	}, {
> +		.fourcc = DRM_FORMAT_XRGB4444,
> +		.bpp = 16,
> +		.planes = 1,
> +	}, {
> +		.fourcc = DRM_FORMAT_BGR888,
> +		.bpp = 24,
> +		.planes = 1,
> +	}, {
> +		.fourcc = DRM_FORMAT_RGB888,
> +		.bpp = 24,
> +		.planes = 1,
> +	}, {
> +		.fourcc = DRM_FORMAT_BGRA8888,
> +		.bpp = 32,
> +		.planes = 1,
> +	}, {
> +		.fourcc = DRM_FORMAT_BGRX8888,
> +		.bpp = 32,
> +		.planes = 1,
> +	}, {
> +		.fourcc = DRM_FORMAT_YVYU,
> +		.bpp = 16,
> +		.planes = 1,
>  	},
>  };
Kieran Bingham Sept. 14, 2018, 1:02 p.m. UTC | #3
Hi Laurent,

On 14/09/18 12:11, Laurent Pinchart wrote:
> Hi Kieran,
> 
> Thank you for the patch.
> 
> How about renaming the subject line to "Add support for missing pixel formats" 
> ?
> 

Ack.

> On Friday, 31 August 2018 21:12:58 EEST Kieran Bingham wrote:
>> From: Koji Matsuoka <koji.matsuoka.xm@renesas.com>
>>
>> This patch supports pixel format of RGB332, ARGB4444, XRGB4444,
>> BGR888, RGB888, BGRA8888, BGRX8888 and YVYU.
>> VYUY pixel format is not supported by H/W specification.
>>
>> Signed-off-by: Koji Matsuoka <koji.matsuoka.xm@renesas.com>
>> Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
>>
>> ---
>>
>> This patch does not remove existing support for multiplanar YVUY, even
>> though the hardware does not explicitly provide it, because we support
>> it through software by swapping the plane buffers.
>>
>>  drivers/gpu/drm/rcar-du/rcar_du_kms.c | 32 +++++++++++++++++++++++++++
>>  1 file changed, 32 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_kms.c
>> b/drivers/gpu/drm/rcar-du/rcar_du_kms.c index 7c7aff8cdf77..d1bd174ec893
>> 100644
>> --- a/drivers/gpu/drm/rcar-du/rcar_du_kms.c
>> +++ b/drivers/gpu/drm/rcar-du/rcar_du_kms.c
>> @@ -124,6 +124,38 @@ static const struct rcar_du_format_info
>> rcar_du_format_infos[] = { .fourcc = DRM_FORMAT_YVU444,
>>  		.bpp = 24,
>>  		.planes = 3,
>> +	}, {
>> +		.fourcc = DRM_FORMAT_RGB332,
>> +		.bpp = 8,
>> +		.planes = 1,
>> +	}, {
>> +		.fourcc = DRM_FORMAT_ARGB4444,
>> +		.bpp = 16,
>> +		.planes = 1,
>> +	}, {
>> +		.fourcc = DRM_FORMAT_XRGB4444,
>> +		.bpp = 16,
>> +		.planes = 1,
>> +	}, {
>> +		.fourcc = DRM_FORMAT_BGR888,
>> +		.bpp = 24,
>> +		.planes = 1,
>> +	}, {
>> +		.fourcc = DRM_FORMAT_RGB888,
>> +		.bpp = 24,
>> +		.planes = 1,
>> +	}, {
>> +		.fourcc = DRM_FORMAT_BGRA8888,
>> +		.bpp = 32,
>> +		.planes = 1,
>> +	}, {
>> +		.fourcc = DRM_FORMAT_BGRX8888,
>> +		.bpp = 32,
>> +		.planes = 1,
>> +	}, {
>> +		.fourcc = DRM_FORMAT_YVYU,
>> +		.bpp = 16,
>> +		.planes = 1,
>>  	},
>>  };
> 
> I would list the RGB formats first, followed by the packed YUV format, and 
> then the multiplanar YUV formats. With this changed,
> 
Ack.

> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> 
> If you're fine with the changes there's no need to resubmit.


That's fine by me.

Thanks

--
Kieran
Kieran Bingham Sept. 14, 2018, 1:20 p.m. UTC | #4
Hi Laurent,

On 14/09/18 12:17, Laurent Pinchart wrote:
> Hi Kieran,
> 
> On Friday, 31 August 2018 21:12:58 EEST Kieran Bingham wrote:
>> From: Koji Matsuoka <koji.matsuoka.xm@renesas.com>
>>
>> This patch supports pixel format of RGB332, ARGB4444, XRGB4444,
>> BGR888, RGB888, BGRA8888, BGRX8888 and YVYU.
>> VYUY pixel format is not supported by H/W specification.
> 
> Should VYUY be removed from rcar_du_vsp.c ? This can be done in a separate 
> patch.

On further consideration - yes, I believe it should.

Removal patch generated, and doesn't negatively affect the current
kms-tests, so expect it in your inbox imminently.

--
Regards

Kieran


> 
>> Signed-off-by: Koji Matsuoka <koji.matsuoka.xm@renesas.com>
>> Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
>>
>> ---
>>
>> This patch does not remove existing support for multiplanar YVUY, even
>> though the hardware does not explicitly provide it, because we support
>> it through software by swapping the plane buffers.
>>
>>  drivers/gpu/drm/rcar-du/rcar_du_kms.c | 32 +++++++++++++++++++++++++++
>>  1 file changed, 32 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_kms.c
>> b/drivers/gpu/drm/rcar-du/rcar_du_kms.c index 7c7aff8cdf77..d1bd174ec893
>> 100644
>> --- a/drivers/gpu/drm/rcar-du/rcar_du_kms.c
>> +++ b/drivers/gpu/drm/rcar-du/rcar_du_kms.c
>> @@ -124,6 +124,38 @@ static const struct rcar_du_format_info
>> rcar_du_format_infos[] = { .fourcc = DRM_FORMAT_YVU444,
>>  		.bpp = 24,
>>  		.planes = 3,
>> +	}, {
>> +		.fourcc = DRM_FORMAT_RGB332,
>> +		.bpp = 8,
>> +		.planes = 1,
>> +	}, {
>> +		.fourcc = DRM_FORMAT_ARGB4444,
>> +		.bpp = 16,
>> +		.planes = 1,
>> +	}, {
>> +		.fourcc = DRM_FORMAT_XRGB4444,
>> +		.bpp = 16,
>> +		.planes = 1,
>> +	}, {
>> +		.fourcc = DRM_FORMAT_BGR888,
>> +		.bpp = 24,
>> +		.planes = 1,
>> +	}, {
>> +		.fourcc = DRM_FORMAT_RGB888,
>> +		.bpp = 24,
>> +		.planes = 1,
>> +	}, {
>> +		.fourcc = DRM_FORMAT_BGRA8888,
>> +		.bpp = 32,
>> +		.planes = 1,
>> +	}, {
>> +		.fourcc = DRM_FORMAT_BGRX8888,
>> +		.bpp = 32,
>> +		.planes = 1,
>> +	}, {
>> +		.fourcc = DRM_FORMAT_YVYU,
>> +		.bpp = 16,
>> +		.planes = 1,
>>  	},
>>  };
> 
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/rcar-du/rcar_du_kms.c b/drivers/gpu/drm/rcar-du/rcar_du_kms.c
index 7c7aff8cdf77..d1bd174ec893 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_kms.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_kms.c
@@ -124,6 +124,38 @@  static const struct rcar_du_format_info rcar_du_format_infos[] = {
 		.fourcc = DRM_FORMAT_YVU444,
 		.bpp = 24,
 		.planes = 3,
+	}, {
+		.fourcc = DRM_FORMAT_RGB332,
+		.bpp = 8,
+		.planes = 1,
+	}, {
+		.fourcc = DRM_FORMAT_ARGB4444,
+		.bpp = 16,
+		.planes = 1,
+	}, {
+		.fourcc = DRM_FORMAT_XRGB4444,
+		.bpp = 16,
+		.planes = 1,
+	}, {
+		.fourcc = DRM_FORMAT_BGR888,
+		.bpp = 24,
+		.planes = 1,
+	}, {
+		.fourcc = DRM_FORMAT_RGB888,
+		.bpp = 24,
+		.planes = 1,
+	}, {
+		.fourcc = DRM_FORMAT_BGRA8888,
+		.bpp = 32,
+		.planes = 1,
+	}, {
+		.fourcc = DRM_FORMAT_BGRX8888,
+		.bpp = 32,
+		.planes = 1,
+	}, {
+		.fourcc = DRM_FORMAT_YVYU,
+		.bpp = 16,
+		.planes = 1,
 	},
 };