Re: [PATCH 5/8] media: Add LE version of RGB LVDS formats

2018-04-24 Thread jacopo mondi
HI Laurent,

On Mon, Apr 23, 2018 at 04:06:01PM +0300, Laurent Pinchart wrote:
> Hi Jacopo,
>
> Thank you for the patch.
>
> On Thursday, 19 April 2018 12:31:06 EEST Jacopo Mondi wrote:
> > Some LVDS controller can output swapped versions of LVDS RGB formats.
> > Define and document them in the list of supported media bus formats
>
> I wouldn't introduce those new formats as we don't need them. As a general
> rule we would like to have at least one user for any new format added to the
> API.

I was about to point you to patch [8/8], as the newly introduced
formats allow replacing the DRM_BUS_FLAG_DATA_ flags, defined in
drm_connector.h and which I struggled to find a more appropiate place
where to move them. Or I either duplicate them for bridges, but I
prefer not to, or we remove them, and defining some dedicated formats,
seems more natural to me...

I'll reply to your comment on [8/8] on the format names and other
details.

Thanks
   j

>
> > Signed-off-by: Jacopo Mondi 
> > ---
> >  Documentation/media/uapi/v4l/subdev-formats.rst | 174 +
> >  include/uapi/linux/media-bus-format.h   |   5 +-
> >  2 files changed, 178 insertions(+), 1 deletion(-)
> >
> > diff --git a/Documentation/media/uapi/v4l/subdev-formats.rst
> > b/Documentation/media/uapi/v4l/subdev-formats.rst index 9fcabe7..9a5263c
> > 100644
> > --- a/Documentation/media/uapi/v4l/subdev-formats.rst
> > +++ b/Documentation/media/uapi/v4l/subdev-formats.rst
> > @@ -1669,6 +1669,64 @@ JEIDA defined bit mapping will be named
> >- b\ :sub:`2`
> >- g\ :sub:`1`
> >- r\ :sub:`0`
> > +* .. _MEDIA-BUS-FMT-RGB666-1X7X3-SPWG_LE:
> > +
> > +  - MEDIA_BUS_FMT_RGB666_1X7X3_SPWG_LE
> > +  - 0x101b
> > +  - 0
> > +  -
> > +  -
> > +  - b\ :sub:`2`
> > +  - g\ :sub:`1`
> > +  - r\ :sub:`0`
> > +* -
> > +  -
> > +  - 1
> > +  -
> > +  -
> > +  - b\ :sub:`3`
> > +  - g\ :sub:`2`
> > +  - r\ :sub:`1`
> > +* -
> > +  -
> > +  - 2
> > +  -
> > +  -
> > +  - b\ :sub:`4`
> > +  - g\ :sub:`3`
> > +  - r\ :sub:`2`
> > +* -
> > +  -
> > +  - 3
> > +  -
> > +  -
> > +  - b\ :sub:`5`
> > +  - g\ :sub:`4`
> > +  - r\ :sub:`3`
> > +* -
> > +  -
> > +  - 4
> > +  -
> > +  -
> > +  - d
> > +  - g\ :sub:`5`
> > +  - r\ :sub:`4`
> > +* -
> > +  -
> > +  - 5
> > +  -
> > +  -
> > +  - d
> > +  - b\ :sub:`0`
> > +  - r\ :sub:`5`
> > +* -
> > +  -
> > +  - 6
> > +  -
> > +  -
> > +  - d
> > +  - b\ :sub:`1`
> > +  - g\ :sub:`0`
> >  * .. _MEDIA-BUS-FMT-RGB888-1X7X4-SPWG:
> >
> >- MEDIA_BUS_FMT_RGB888_1X7X4_SPWG
> > @@ -1727,6 +1785,64 @@ JEIDA defined bit mapping will be named
> >- b\ :sub:`2`
> >- g\ :sub:`1`
> >- r\ :sub:`0`
> > +* .. _MEDIA-BUS-FMT-RGB888-1X7X4-SPWG_LE:
> > +
> > +  - MEDIA_BUS_FMT_RGB888_1X7X4_SPWG_LE
> > +  - 0x101c
> > +  - 0
> > +  -
> > +  - r\ :sub:`6`
> > +  - b\ :sub:`2`
> > +  - g\ :sub:`1`
> > +  - r\ :sub:`0`
> > +* -
> > +  -
> > +  - 1
> > +  -
> > +  - r\ :sub:`7`
> > +  - b\ :sub:`3`
> > +  - g\ :sub:`2`
> > +  - r\ :sub:`1`
> > +* -
> > +  -
> > +  - 2
> > +  -
> > +  - g\ :sub:`6`
> > +  - b\ :sub:`4`
> > +  - g\ :sub:`3`
> > +  - r\ :sub:`2`
> > +* -
> > +  -
> > +  - 3
> > +  -
> > +  - g\ :sub:`7`
> > +  - b\ :sub:`5`
> > +  - g\ :sub:`4`
> > +  - r\ :sub:`3`
> > +* -
> > +  -
> > +  - 4
> > +  -
> > +  - b\ :sub:`6`
> > +  - d
> > +  - g\ :sub:`5`
> > +  - r\ :sub:`4`
> > +* -
> > +  -
> > +  - 5
> > +  -
> > +  - b\ :sub:`7`
> > +  - d
> > +  - b\ :sub:`0`
> > +  - r\ :sub:`5`
> > +* -
> > +  -
> > +  - 6
> > +  -
> > +  - d
> > +  - d
> > +  - b\ :sub:`1`
> > +  - g\ :sub:`0`
> >  * .. _MEDIA-BUS-FMT-RGB888-1X7X4-JEIDA:
> >
> >- MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA
> > @@ -1785,6 +1901,64 @@ JEIDA defined bit mapping will be named
> >- b\ :sub:`4`
> >- g\ :sub:`3`
> >- r\ :sub:`2`
> > +* .. _MEDIA-BUS-FMT-RGB888-1X7X4-JEIDA_LE:
> > +
> > +  - MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA_LE
> > +  - 0x101d
> > +  - 0
> > +  -
> > +  - r\ :sub:`0`
> > +  - b\ :sub:`4`
> > +  - g\ :sub:`3`
> > +  - r\ :sub:`2`
> > +* -
> > +  -
> > +  - 1
> > +  -
> > +  - r\ :sub:`1`
> > +  - b\ :sub:`5`
> > +  - g\ :sub:`4`
> > +  - r\ :sub:`3`
> > +* -
> > +  -
> > +  - 2
> > +  -
> > +  - g\ :sub:`0`
> > +  - b\ :sub:`6`
> > +  - g\ :sub:`5`
> > +  - r\ :sub:`4`
> > +* -
> > +  -
> > +  - 3
> > +  -
> > +  - g\ :sub:`1`
> > +  - b\ :sub:`7`
> > +  - g\ 

Re: [PATCH 5/8] media: Add LE version of RGB LVDS formats

2018-04-23 Thread Laurent Pinchart
Hi Jacopo,

Thank you for the patch.

On Thursday, 19 April 2018 12:31:06 EEST Jacopo Mondi wrote:
> Some LVDS controller can output swapped versions of LVDS RGB formats.
> Define and document them in the list of supported media bus formats

I wouldn't introduce those new formats as we don't need them. As a general 
rule we would like to have at least one user for any new format added to the 
API.

> Signed-off-by: Jacopo Mondi 
> ---
>  Documentation/media/uapi/v4l/subdev-formats.rst | 174 +
>  include/uapi/linux/media-bus-format.h   |   5 +-
>  2 files changed, 178 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/media/uapi/v4l/subdev-formats.rst
> b/Documentation/media/uapi/v4l/subdev-formats.rst index 9fcabe7..9a5263c
> 100644
> --- a/Documentation/media/uapi/v4l/subdev-formats.rst
> +++ b/Documentation/media/uapi/v4l/subdev-formats.rst
> @@ -1669,6 +1669,64 @@ JEIDA defined bit mapping will be named
>- b\ :sub:`2`
>- g\ :sub:`1`
>- r\ :sub:`0`
> +* .. _MEDIA-BUS-FMT-RGB666-1X7X3-SPWG_LE:
> +
> +  - MEDIA_BUS_FMT_RGB666_1X7X3_SPWG_LE
> +  - 0x101b
> +  - 0
> +  -
> +  -
> +  - b\ :sub:`2`
> +  - g\ :sub:`1`
> +  - r\ :sub:`0`
> +* -
> +  -
> +  - 1
> +  -
> +  -
> +  - b\ :sub:`3`
> +  - g\ :sub:`2`
> +  - r\ :sub:`1`
> +* -
> +  -
> +  - 2
> +  -
> +  -
> +  - b\ :sub:`4`
> +  - g\ :sub:`3`
> +  - r\ :sub:`2`
> +* -
> +  -
> +  - 3
> +  -
> +  -
> +  - b\ :sub:`5`
> +  - g\ :sub:`4`
> +  - r\ :sub:`3`
> +* -
> +  -
> +  - 4
> +  -
> +  -
> +  - d
> +  - g\ :sub:`5`
> +  - r\ :sub:`4`
> +* -
> +  -
> +  - 5
> +  -
> +  -
> +  - d
> +  - b\ :sub:`0`
> +  - r\ :sub:`5`
> +* -
> +  -
> +  - 6
> +  -
> +  -
> +  - d
> +  - b\ :sub:`1`
> +  - g\ :sub:`0`
>  * .. _MEDIA-BUS-FMT-RGB888-1X7X4-SPWG:
> 
>- MEDIA_BUS_FMT_RGB888_1X7X4_SPWG
> @@ -1727,6 +1785,64 @@ JEIDA defined bit mapping will be named
>- b\ :sub:`2`
>- g\ :sub:`1`
>- r\ :sub:`0`
> +* .. _MEDIA-BUS-FMT-RGB888-1X7X4-SPWG_LE:
> +
> +  - MEDIA_BUS_FMT_RGB888_1X7X4_SPWG_LE
> +  - 0x101c
> +  - 0
> +  -
> +  - r\ :sub:`6`
> +  - b\ :sub:`2`
> +  - g\ :sub:`1`
> +  - r\ :sub:`0`
> +* -
> +  -
> +  - 1
> +  -
> +  - r\ :sub:`7`
> +  - b\ :sub:`3`
> +  - g\ :sub:`2`
> +  - r\ :sub:`1`
> +* -
> +  -
> +  - 2
> +  -
> +  - g\ :sub:`6`
> +  - b\ :sub:`4`
> +  - g\ :sub:`3`
> +  - r\ :sub:`2`
> +* -
> +  -
> +  - 3
> +  -
> +  - g\ :sub:`7`
> +  - b\ :sub:`5`
> +  - g\ :sub:`4`
> +  - r\ :sub:`3`
> +* -
> +  -
> +  - 4
> +  -
> +  - b\ :sub:`6`
> +  - d
> +  - g\ :sub:`5`
> +  - r\ :sub:`4`
> +* -
> +  -
> +  - 5
> +  -
> +  - b\ :sub:`7`
> +  - d
> +  - b\ :sub:`0`
> +  - r\ :sub:`5`
> +* -
> +  -
> +  - 6
> +  -
> +  - d
> +  - d
> +  - b\ :sub:`1`
> +  - g\ :sub:`0`
>  * .. _MEDIA-BUS-FMT-RGB888-1X7X4-JEIDA:
> 
>- MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA
> @@ -1785,6 +1901,64 @@ JEIDA defined bit mapping will be named
>- b\ :sub:`4`
>- g\ :sub:`3`
>- r\ :sub:`2`
> +* .. _MEDIA-BUS-FMT-RGB888-1X7X4-JEIDA_LE:
> +
> +  - MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA_LE
> +  - 0x101d
> +  - 0
> +  -
> +  - r\ :sub:`0`
> +  - b\ :sub:`4`
> +  - g\ :sub:`3`
> +  - r\ :sub:`2`
> +* -
> +  -
> +  - 1
> +  -
> +  - r\ :sub:`1`
> +  - b\ :sub:`5`
> +  - g\ :sub:`4`
> +  - r\ :sub:`3`
> +* -
> +  -
> +  - 2
> +  -
> +  - g\ :sub:`0`
> +  - b\ :sub:`6`
> +  - g\ :sub:`5`
> +  - r\ :sub:`4`
> +* -
> +  -
> +  - 3
> +  -
> +  - g\ :sub:`1`
> +  - b\ :sub:`7`
> +  - g\ :sub:`6`
> +  - r\ :sub:`5`
> +* -
> +  -
> +  - 4
> +  -
> +  - b\ :sub:`0`
> +  - d
> +  - g\ :sub:`7`
> +  - r\ :sub:`6`
> +* -
> +  -
> +  - 5
> +  -
> +  - b\ :sub:`1`
> +  - d
> +  - b\ :sub:`2`
> +  - r\ :sub:`7`
> +* -
> +  -
> +  - 6
> +  -
> +  - d
> +  - d
> +  - b\ :sub:`3`
> +  - g\ :sub:`2`
> 
>  .. raw:: latex
> 
> diff --git a/include/uapi/linux/media-bus-format.h
> b/include/uapi/linux/media-bus-format.h index 9e35117..5bea7c0 100644
> --- a/include/uapi/linux/media-bus-format.h
> +++ b/include/uapi/linux/media-bus-format.h
> @@ -34,7 +34,7 @@
> 
>  #define MEDIA_BUS_FMT_FIXED  0x0001
> 
> -/* RGB - next is 0x101b */
> +/* RGB - next is 0x101f */
>  #define MEDIA_BUS_FMT_RGB444_1X120x1016
>  #define MEDIA_BUS_FMT_RGB444_2X8_PADHI_BE0x1001

[PATCH 5/8] media: Add LE version of RGB LVDS formats

2018-04-19 Thread Jacopo Mondi
Some LVDS controller can output swapped versions of LVDS RGB formats.
Define and document them in the list of supported media bus formats

Signed-off-by: Jacopo Mondi 
---
 Documentation/media/uapi/v4l/subdev-formats.rst | 174 
 include/uapi/linux/media-bus-format.h   |   5 +-
 2 files changed, 178 insertions(+), 1 deletion(-)

diff --git a/Documentation/media/uapi/v4l/subdev-formats.rst 
b/Documentation/media/uapi/v4l/subdev-formats.rst
index 9fcabe7..9a5263c 100644
--- a/Documentation/media/uapi/v4l/subdev-formats.rst
+++ b/Documentation/media/uapi/v4l/subdev-formats.rst
@@ -1669,6 +1669,64 @@ JEIDA defined bit mapping will be named
   - b\ :sub:`2`
   - g\ :sub:`1`
   - r\ :sub:`0`
+* .. _MEDIA-BUS-FMT-RGB666-1X7X3-SPWG_LE:
+
+  - MEDIA_BUS_FMT_RGB666_1X7X3_SPWG_LE
+  - 0x101b
+  - 0
+  -
+  -
+  - b\ :sub:`2`
+  - g\ :sub:`1`
+  - r\ :sub:`0`
+* -
+  -
+  - 1
+  -
+  -
+  - b\ :sub:`3`
+  - g\ :sub:`2`
+  - r\ :sub:`1`
+* -
+  -
+  - 2
+  -
+  -
+  - b\ :sub:`4`
+  - g\ :sub:`3`
+  - r\ :sub:`2`
+* -
+  -
+  - 3
+  -
+  -
+  - b\ :sub:`5`
+  - g\ :sub:`4`
+  - r\ :sub:`3`
+* -
+  -
+  - 4
+  -
+  -
+  - d
+  - g\ :sub:`5`
+  - r\ :sub:`4`
+* -
+  -
+  - 5
+  -
+  -
+  - d
+  - b\ :sub:`0`
+  - r\ :sub:`5`
+* -
+  -
+  - 6
+  -
+  -
+  - d
+  - b\ :sub:`1`
+  - g\ :sub:`0`
 * .. _MEDIA-BUS-FMT-RGB888-1X7X4-SPWG:
 
   - MEDIA_BUS_FMT_RGB888_1X7X4_SPWG
@@ -1727,6 +1785,64 @@ JEIDA defined bit mapping will be named
   - b\ :sub:`2`
   - g\ :sub:`1`
   - r\ :sub:`0`
+* .. _MEDIA-BUS-FMT-RGB888-1X7X4-SPWG_LE:
+
+  - MEDIA_BUS_FMT_RGB888_1X7X4_SPWG_LE
+  - 0x101c
+  - 0
+  -
+  - r\ :sub:`6`
+  - b\ :sub:`2`
+  - g\ :sub:`1`
+  - r\ :sub:`0`
+* -
+  -
+  - 1
+  -
+  - r\ :sub:`7`
+  - b\ :sub:`3`
+  - g\ :sub:`2`
+  - r\ :sub:`1`
+* -
+  -
+  - 2
+  -
+  - g\ :sub:`6`
+  - b\ :sub:`4`
+  - g\ :sub:`3`
+  - r\ :sub:`2`
+* -
+  -
+  - 3
+  -
+  - g\ :sub:`7`
+  - b\ :sub:`5`
+  - g\ :sub:`4`
+  - r\ :sub:`3`
+* -
+  -
+  - 4
+  -
+  - b\ :sub:`6`
+  - d
+  - g\ :sub:`5`
+  - r\ :sub:`4`
+* -
+  -
+  - 5
+  -
+  - b\ :sub:`7`
+  - d
+  - b\ :sub:`0`
+  - r\ :sub:`5`
+* -
+  -
+  - 6
+  -
+  - d
+  - d
+  - b\ :sub:`1`
+  - g\ :sub:`0`
 * .. _MEDIA-BUS-FMT-RGB888-1X7X4-JEIDA:
 
   - MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA
@@ -1785,6 +1901,64 @@ JEIDA defined bit mapping will be named
   - b\ :sub:`4`
   - g\ :sub:`3`
   - r\ :sub:`2`
+* .. _MEDIA-BUS-FMT-RGB888-1X7X4-JEIDA_LE:
+
+  - MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA_LE
+  - 0x101d
+  - 0
+  -
+  - r\ :sub:`0`
+  - b\ :sub:`4`
+  - g\ :sub:`3`
+  - r\ :sub:`2`
+* -
+  -
+  - 1
+  -
+  - r\ :sub:`1`
+  - b\ :sub:`5`
+  - g\ :sub:`4`
+  - r\ :sub:`3`
+* -
+  -
+  - 2
+  -
+  - g\ :sub:`0`
+  - b\ :sub:`6`
+  - g\ :sub:`5`
+  - r\ :sub:`4`
+* -
+  -
+  - 3
+  -
+  - g\ :sub:`1`
+  - b\ :sub:`7`
+  - g\ :sub:`6`
+  - r\ :sub:`5`
+* -
+  -
+  - 4
+  -
+  - b\ :sub:`0`
+  - d
+  - g\ :sub:`7`
+  - r\ :sub:`6`
+* -
+  -
+  - 5
+  -
+  - b\ :sub:`1`
+  - d
+  - b\ :sub:`2`
+  - r\ :sub:`7`
+* -
+  -
+  - 6
+  -
+  - d
+  - d
+  - b\ :sub:`3`
+  - g\ :sub:`2`
 
 .. raw:: latex
 
diff --git a/include/uapi/linux/media-bus-format.h 
b/include/uapi/linux/media-bus-format.h
index 9e35117..5bea7c0 100644
--- a/include/uapi/linux/media-bus-format.h
+++ b/include/uapi/linux/media-bus-format.h
@@ -34,7 +34,7 @@
 
 #define MEDIA_BUS_FMT_FIXED0x0001
 
-/* RGB - next is   0x101b */
+/* RGB - next is   0x101f */
 #define MEDIA_BUS_FMT_RGB444_1X12  0x1016
 #define MEDIA_BUS_FMT_RGB444_2X8_PADHI_BE  0x1001
 #define MEDIA_BUS_FMT_RGB444_2X8_PADHI_LE  0x1002
@@ -49,13 +49,16 @@
 #define MEDIA_BUS_FMT_RBG888_1X24  0x100e
 #define MEDIA_BUS_FMT_RGB666_1X24_CPADHI   0x1015
 #define MEDIA_BUS_FMT_RGB666_1X7X3_SPWG0x1010
+#define MEDIA_BUS_FMT_RGB666_1X7X3_SPWG_LE 0x101b
 #define MEDIA_BUS_FMT_BGR888_1X24  0x1013
 #define MEDIA_BUS_FMT_GBR888_1X24  0x1014
 #define MEDIA_BUS_FMT_RGB888_1X24  0x100a
 #define MEDIA_BUS_FMT_RGB888_2X12_BE   0x100b
 #define MEDIA_BUS_FMT_RGB888_2X12_LE   0x100c
 #define MEDIA_BUS_FMT_RGB888_1X7X4_SPWG0x1011
+#define