diff mbox series

[v2,2/3] media: vimc: Add missing {RGB,BGR,GBR}888 media bus codes

Message ID 20200326214730.2449707-3-nfraprado@protonmail.com (mailing list archive)
State New, archived
Headers show
Series media: vimc: Add support for {RGB,BGR,GBR}888 bus formats on debayer source pad | expand

Commit Message

Nícolas F. R. A. Prado March 26, 2020, 9:47 p.m. UTC
Add missing RGB888_*, BGR888_* and GBR888_* media bus codes in the
vimc_pix_map_list. Since there is no GBR24 pixelformat, use the RGB24
pixelformat for MEDIA_BUS_FMT_GBR888_1X24.

Co-developed-by: Vitor Massaru Iha <vitor@massaru.org>
Signed-off-by: Vitor Massaru Iha <vitor@massaru.org>
Signed-off-by: Nícolas F. R. A. Prado <nfraprado@protonmail.com>
---

Changes in v2:
- Fix array formatting
- Change commit message to reflect v2 changes
- Change code array size
- Add other BGR888 and RGB888 formats to BGR24 and RGB24 pixelformats

 drivers/media/platform/vimc/vimc-common.c | 16 ++++++++++++++--
 drivers/media/platform/vimc/vimc-common.h |  2 +-
 2 files changed, 15 insertions(+), 3 deletions(-)

Comments

Shuah Khan March 26, 2020, 9:56 p.m. UTC | #1
On 3/26/20 3:47 PM, Nícolas F. R. A. Prado wrote:
> Add missing RGB888_*, BGR888_* and GBR888_* media bus codes in the
> vimc_pix_map_list. Since there is no GBR24 pixelformat, use the RGB24
> pixelformat for MEDIA_BUS_FMT_GBR888_1X24.
> 
> Co-developed-by: Vitor Massaru Iha <vitor@massaru.org>
> Signed-off-by: Vitor Massaru Iha <vitor@massaru.org>
> Signed-off-by: Nícolas F. R. A. Prado <nfraprado@protonmail.com>
> ---
> 
> Changes in v2:
> - Fix array formatting
> - Change commit message to reflect v2 changes
> - Change code array size
> - Add other BGR888 and RGB888 formats to BGR24 and RGB24 pixelformats
> 
>   drivers/media/platform/vimc/vimc-common.c | 16 ++++++++++++++--
>   drivers/media/platform/vimc/vimc-common.h |  2 +-
>   2 files changed, 15 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/media/platform/vimc/vimc-common.c b/drivers/media/platform/vimc/vimc-common.c
> index 119846f3eaa5..11489334cff7 100644
> --- a/drivers/media/platform/vimc/vimc-common.c
> +++ b/drivers/media/platform/vimc/vimc-common.c
> @@ -19,13 +19,25 @@ static const struct vimc_pix_map vimc_pix_map_list[] = {
>   
>   	/* RGB formats */
>   	{
> -		.code = { MEDIA_BUS_FMT_BGR888_1X24 },
> +		.code = {
> +			MEDIA_BUS_FMT_BGR888_1X24,
> +			MEDIA_BUS_FMT_BGR888_3X8
> +		},
>   		.pixelformat = V4L2_PIX_FMT_BGR24,
>   		.bpp = 3,
>   		.bayer = false,
>   	},
>   	{
> -		.code = { MEDIA_BUS_FMT_RGB888_1X24 },
> +		.code = {
> +			MEDIA_BUS_FMT_RGB888_1X24,
> +			MEDIA_BUS_FMT_RGB888_2X12_BE,
> +			MEDIA_BUS_FMT_RGB888_2X12_LE,
> +			MEDIA_BUS_FMT_RGB888_3X8,
> +			MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
> +			MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA,
> +			MEDIA_BUS_FMT_RGB888_1X32_PADHI,
> +			MEDIA_BUS_FMT_GBR888_1X24
> +		},
>   		.pixelformat = V4L2_PIX_FMT_RGB24,
>   		.bpp = 3,
>   		.bayer = false,
> diff --git a/drivers/media/platform/vimc/vimc-common.h b/drivers/media/platform/vimc/vimc-common.h
> index 585441694c86..d5e0e8d32542 100644
> --- a/drivers/media/platform/vimc/vimc-common.h
> +++ b/drivers/media/platform/vimc/vimc-common.h
> @@ -69,7 +69,7 @@ do {									\
>    * V4L2_PIX_FMT_* fourcc pixelformat and its bytes per pixel (bpp)
>    */
>   struct vimc_pix_map {
> -	unsigned int code[1];

> +	unsigned int code[8];
Please add a define for this instead of hard coded value.


>   	unsigned int bpp;
>   	u32 pixelformat;
>   	bool bayer;
>
Helen Koike March 30, 2020, 7:37 p.m. UTC | #2
On 3/26/20 6:56 PM, Shuah Khan wrote:
> On 3/26/20 3:47 PM, Nícolas F. R. A. Prado wrote:
>> Add missing RGB888_*, BGR888_* and GBR888_* media bus codes in the
>> vimc_pix_map_list. Since there is no GBR24 pixelformat, use the RGB24
>> pixelformat for MEDIA_BUS_FMT_GBR888_1X24.
>>
>> Co-developed-by: Vitor Massaru Iha <vitor@massaru.org>
>> Signed-off-by: Vitor Massaru Iha <vitor@massaru.org>
>> Signed-off-by: Nícolas F. R. A. Prado <nfraprado@protonmail.com>
>> ---
>>
>> Changes in v2:
>> - Fix array formatting
>> - Change commit message to reflect v2 changes
>> - Change code array size
>> - Add other BGR888 and RGB888 formats to BGR24 and RGB24 pixelformats
>>
>>   drivers/media/platform/vimc/vimc-common.c | 16 ++++++++++++++--
>>   drivers/media/platform/vimc/vimc-common.h |  2 +-
>>   2 files changed, 15 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/media/platform/vimc/vimc-common.c b/drivers/media/platform/vimc/vimc-common.c
>> index 119846f3eaa5..11489334cff7 100644
>> --- a/drivers/media/platform/vimc/vimc-common.c
>> +++ b/drivers/media/platform/vimc/vimc-common.c
>> @@ -19,13 +19,25 @@ static const struct vimc_pix_map vimc_pix_map_list[] = {
>>         /* RGB formats */
>>       {
>> -        .code = { MEDIA_BUS_FMT_BGR888_1X24 },
>> +        .code = {
>> +            MEDIA_BUS_FMT_BGR888_1X24,
>> +            MEDIA_BUS_FMT_BGR888_3X8
>> +        },
>>           .pixelformat = V4L2_PIX_FMT_BGR24,
>>           .bpp = 3,
>>           .bayer = false,
>>       },
>>       {
>> -        .code = { MEDIA_BUS_FMT_RGB888_1X24 },
>> +        .code = {
>> +            MEDIA_BUS_FMT_RGB888_1X24,
>> +            MEDIA_BUS_FMT_RGB888_2X12_BE,
>> +            MEDIA_BUS_FMT_RGB888_2X12_LE,
>> +            MEDIA_BUS_FMT_RGB888_3X8,
>> +            MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
>> +            MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA,
>> +            MEDIA_BUS_FMT_RGB888_1X32_PADHI,
>> +            MEDIA_BUS_FMT_GBR888_1X24
>> +        },
>>           .pixelformat = V4L2_PIX_FMT_RGB24,
>>           .bpp = 3,
>>           .bayer = false,
>> diff --git a/drivers/media/platform/vimc/vimc-common.h b/drivers/media/platform/vimc/vimc-common.h
>> index 585441694c86..d5e0e8d32542 100644
>> --- a/drivers/media/platform/vimc/vimc-common.h
>> +++ b/drivers/media/platform/vimc/vimc-common.h
>> @@ -69,7 +69,7 @@ do {                                    \
>>    * V4L2_PIX_FMT_* fourcc pixelformat and its bytes per pixel (bpp)
>>    */
>>   struct vimc_pix_map {
>> -    unsigned int code[1];
> 
>> +    unsigned int code[8];
> Please add a define for this instead of hard coded value.

With this change suggested by Shuah:

Acked-by: Helen Koike <helen.koike@collabora.com>

Regards,
Helen

> 
> 
>>       unsigned int bpp;
>>       u32 pixelformat;
>>       bool bayer;
>>
>
diff mbox series

Patch

diff --git a/drivers/media/platform/vimc/vimc-common.c b/drivers/media/platform/vimc/vimc-common.c
index 119846f3eaa5..11489334cff7 100644
--- a/drivers/media/platform/vimc/vimc-common.c
+++ b/drivers/media/platform/vimc/vimc-common.c
@@ -19,13 +19,25 @@  static const struct vimc_pix_map vimc_pix_map_list[] = {
 
 	/* RGB formats */
 	{
-		.code = { MEDIA_BUS_FMT_BGR888_1X24 },
+		.code = {
+			MEDIA_BUS_FMT_BGR888_1X24,
+			MEDIA_BUS_FMT_BGR888_3X8
+		},
 		.pixelformat = V4L2_PIX_FMT_BGR24,
 		.bpp = 3,
 		.bayer = false,
 	},
 	{
-		.code = { MEDIA_BUS_FMT_RGB888_1X24 },
+		.code = {
+			MEDIA_BUS_FMT_RGB888_1X24,
+			MEDIA_BUS_FMT_RGB888_2X12_BE,
+			MEDIA_BUS_FMT_RGB888_2X12_LE,
+			MEDIA_BUS_FMT_RGB888_3X8,
+			MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
+			MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA,
+			MEDIA_BUS_FMT_RGB888_1X32_PADHI,
+			MEDIA_BUS_FMT_GBR888_1X24
+		},
 		.pixelformat = V4L2_PIX_FMT_RGB24,
 		.bpp = 3,
 		.bayer = false,
diff --git a/drivers/media/platform/vimc/vimc-common.h b/drivers/media/platform/vimc/vimc-common.h
index 585441694c86..d5e0e8d32542 100644
--- a/drivers/media/platform/vimc/vimc-common.h
+++ b/drivers/media/platform/vimc/vimc-common.h
@@ -69,7 +69,7 @@  do {									\
  * V4L2_PIX_FMT_* fourcc pixelformat and its bytes per pixel (bpp)
  */
 struct vimc_pix_map {
-	unsigned int code[1];
+	unsigned int code[8];
 	unsigned int bpp;
 	u32 pixelformat;
 	bool bayer;