mbox series

[v7,0/4] DCMI bridge support

Message ID 1566204081-19051-1-git-send-email-hugues.fruchet@st.com (mailing list archive)
Headers show
Series DCMI bridge support | expand

Message

Hugues FRUCHET Aug. 19, 2019, 8:41 a.m. UTC
This patch serie allows to connect non-parallel camera sensor to
DCMI thanks to a bridge connected in between such as STMIPID02 [1].

Media controller support is introduced first, then support of
several sub-devices within pipeline with dynamic linking
between them.
In order to keep backward compatibility with applications
relying on V4L2 interface only, format set on video node
is propagated to all sub-devices connected to camera interface.

[1] https://www.spinics.net/lists/devicetree/msg278002.html

===========
= history =
===========
version 7:
  - minor fix on 80 char trace message

version 6:
  - As per Sakari remark: add a FIXME explaining that this
    version only supports subdevices which expose RGB & YUV
    "parallel form" mbus code (_2X8)
  - Add some trace around subdev_call(s_fmt) error & format
    changes to debug subdev which only expose serial mbus code
  - Conform to "<name>":<pad index> when tracing subdev infos

version 5:
  - Remove remaining Change-Id
  - Add Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>

version 4:
  - Also drop subdev nodes registry as suggested by Hans:
    https://www.spinics.net/lists/arm-kernel/msg743375.html

version 3:
  - Drop media device registry to not expose media controller
    interface to userspace as per Laurent' suggestion:
    https://www.spinics.net/lists/linux-media/msg153417.html
  - Prefer "source" instead of "sensor" and keep it in 
    dcmi_graph_entity struct, move asd as first member
    of struct as per Sakari' suggestion:
    https://www.spinics.net/lists/linux-media/msg153119.html
  - Drop dcmi_graph_deinit() as per Sakari' suggestion:
    https://www.spinics.net/lists/linux-media/msg153417.html

version 2:
  - Fix bus_info not consistent between media and V4L:
    https://www.spinics.net/lists/arm-kernel/msg717676.html
  - Propagation of format set on video node to the sub-devices
    chain connected on camera interface

version 1:
  - Initial submission

Hugues Fruchet (4):
  media: stm32-dcmi: improve sensor subdev naming
  media: stm32-dcmi: trace the supported fourcc/mbus_code
  media: stm32-dcmi: add media controller support
  media: stm32-dcmi: add support of several sub-devices

 drivers/media/platform/Kconfig            |   2 +-
 drivers/media/platform/stm32/stm32-dcmi.c | 318 +++++++++++++++++++++++++-----
 2 files changed, 268 insertions(+), 52 deletions(-)

Comments

Hans Verkuil Aug. 19, 2019, 8:43 a.m. UTC | #1
On 8/19/19 10:41 AM, Hugues Fruchet wrote:
> This patch serie allows to connect non-parallel camera sensor to
> DCMI thanks to a bridge connected in between such as STMIPID02 [1].
> 
> Media controller support is introduced first, then support of
> several sub-devices within pipeline with dynamic linking
> between them.
> In order to keep backward compatibility with applications
> relying on V4L2 interface only, format set on video node
> is propagated to all sub-devices connected to camera interface.
> 
> [1] https://www.spinics.net/lists/devicetree/msg278002.html
> 
> ===========
> = history =
> ===========
> version 7:
>   - minor fix on 80 char trace message

v6 is already in a pending PR. I don't really want to make a new
PR just for a 80 char warning.

It can always be done in a follow-up patch.

Regards,

	Hans

> 
> version 6:
>   - As per Sakari remark: add a FIXME explaining that this
>     version only supports subdevices which expose RGB & YUV
>     "parallel form" mbus code (_2X8)
>   - Add some trace around subdev_call(s_fmt) error & format
>     changes to debug subdev which only expose serial mbus code
>   - Conform to "<name>":<pad index> when tracing subdev infos
> 
> version 5:
>   - Remove remaining Change-Id
>   - Add Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> 
> version 4:
>   - Also drop subdev nodes registry as suggested by Hans:
>     https://www.spinics.net/lists/arm-kernel/msg743375.html
> 
> version 3:
>   - Drop media device registry to not expose media controller
>     interface to userspace as per Laurent' suggestion:
>     https://www.spinics.net/lists/linux-media/msg153417.html
>   - Prefer "source" instead of "sensor" and keep it in 
>     dcmi_graph_entity struct, move asd as first member
>     of struct as per Sakari' suggestion:
>     https://www.spinics.net/lists/linux-media/msg153119.html
>   - Drop dcmi_graph_deinit() as per Sakari' suggestion:
>     https://www.spinics.net/lists/linux-media/msg153417.html
> 
> version 2:
>   - Fix bus_info not consistent between media and V4L:
>     https://www.spinics.net/lists/arm-kernel/msg717676.html
>   - Propagation of format set on video node to the sub-devices
>     chain connected on camera interface
> 
> version 1:
>   - Initial submission
> 
> Hugues Fruchet (4):
>   media: stm32-dcmi: improve sensor subdev naming
>   media: stm32-dcmi: trace the supported fourcc/mbus_code
>   media: stm32-dcmi: add media controller support
>   media: stm32-dcmi: add support of several sub-devices
> 
>  drivers/media/platform/Kconfig            |   2 +-
>  drivers/media/platform/stm32/stm32-dcmi.c | 318 +++++++++++++++++++++++++-----
>  2 files changed, 268 insertions(+), 52 deletions(-)
>
Hugues FRUCHET Aug. 19, 2019, 9:13 a.m. UTC | #2
Hi Hans, Sakari,

OK to push separately the 80 char fix.

There was pending related changes on st-mipid02 and ov5640 (listed 
below), do you think it's possible to take them also ?


media: st-mipid02: add support of V4L2_CID_LINK_FREQ 
https://patchwork.linuxtv.org/patch/56969/
State	Accepted

[v2,1/3] media: st-mipid02: add support of RGB565
https://patchwork.linuxtv.org/patch/56970/
State	Accepted

[v2,2/3] media: st-mipid02: add support of YUYV8 and UYVY8
https://patchwork.linuxtv.org/patch/56971/
State	Accepted

[v2,3/3] media: st-mipid02: add support of JPEG 
https://patchwork.linuxtv.org/patch/56973/
State	Accepted


[v2] media: ov5640: add support of V4L2_CID_LINK_FREQ
https://patchwork.linuxtv.org/patch/57215/
State	Changes Requested
=> This change is needed to make it work the whole setup.
=> I don't know what to change here, even if this 384MHz fixed value 
seems strange, it works fine on my setup, on my opinion it's better than 
nothing. We could come back on this later on when other OV5640 CSI 
interfaces will require V4L2_CID_LINK_FREQ value.

Sakari, what do you think about this ?


BR,
Hugues.

On 8/19/19 10:43 AM, Hans Verkuil wrote:
> On 8/19/19 10:41 AM, Hugues Fruchet wrote:
>> This patch serie allows to connect non-parallel camera sensor to
>> DCMI thanks to a bridge connected in between such as STMIPID02 [1].
>>
>> Media controller support is introduced first, then support of
>> several sub-devices within pipeline with dynamic linking
>> between them.
>> In order to keep backward compatibility with applications
>> relying on V4L2 interface only, format set on video node
>> is propagated to all sub-devices connected to camera interface.
>>
>> [1] https://www.spinics.net/lists/devicetree/msg278002.html
>>
>> ===========
>> = history =
>> ===========
>> version 7:
>>    - minor fix on 80 char trace message
> 
> v6 is already in a pending PR. I don't really want to make a new
> PR just for a 80 char warning.
> 
> It can always be done in a follow-up patch.
> 
> Regards,
> 
> 	Hans
> 
>>
>> version 6:
>>    - As per Sakari remark: add a FIXME explaining that this
>>      version only supports subdevices which expose RGB & YUV
>>      "parallel form" mbus code (_2X8)
>>    - Add some trace around subdev_call(s_fmt) error & format
>>      changes to debug subdev which only expose serial mbus code
>>    - Conform to "<name>":<pad index> when tracing subdev infos
>>
>> version 5:
>>    - Remove remaining Change-Id
>>    - Add Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
>>
>> version 4:
>>    - Also drop subdev nodes registry as suggested by Hans:
>>      https://www.spinics.net/lists/arm-kernel/msg743375.html
>>
>> version 3:
>>    - Drop media device registry to not expose media controller
>>      interface to userspace as per Laurent' suggestion:
>>      https://www.spinics.net/lists/linux-media/msg153417.html
>>    - Prefer "source" instead of "sensor" and keep it in
>>      dcmi_graph_entity struct, move asd as first member
>>      of struct as per Sakari' suggestion:
>>      https://www.spinics.net/lists/linux-media/msg153119.html
>>    - Drop dcmi_graph_deinit() as per Sakari' suggestion:
>>      https://www.spinics.net/lists/linux-media/msg153417.html
>>
>> version 2:
>>    - Fix bus_info not consistent between media and V4L:
>>      https://www.spinics.net/lists/arm-kernel/msg717676.html
>>    - Propagation of format set on video node to the sub-devices
>>      chain connected on camera interface
>>
>> version 1:
>>    - Initial submission
>>
>> Hugues Fruchet (4):
>>    media: stm32-dcmi: improve sensor subdev naming
>>    media: stm32-dcmi: trace the supported fourcc/mbus_code
>>    media: stm32-dcmi: add media controller support
>>    media: stm32-dcmi: add support of several sub-devices
>>
>>   drivers/media/platform/Kconfig            |   2 +-
>>   drivers/media/platform/stm32/stm32-dcmi.c | 318 +++++++++++++++++++++++++-----
>>   2 files changed, 268 insertions(+), 52 deletions(-)
>>
>
Hugues FRUCHET Aug. 20, 2019, 8:09 a.m. UTC | #3
Hi Sakari, Hans,

st-mipid02 changes are already merged, thanks Sakari and sorry for 
disturbance.

Still remain the V4L2_CID_LINK_FREQ for OV5640.


On 8/19/19 11:13 AM, Hugues FRUCHET wrote:
> Hi Hans, Sakari,
> 
> OK to push separately the 80 char fix.
> 
> There was pending related changes on st-mipid02 and ov5640 (listed 
> below), do you think it's possible to take them also ?
> 
> 
> media: st-mipid02: add support of V4L2_CID_LINK_FREQ 
> https://patchwork.linuxtv.org/patch/56969/
> State    Accepted
> 
> [v2,1/3] media: st-mipid02: add support of RGB565
> https://patchwork.linuxtv.org/patch/56970/
> State    Accepted
> 
> [v2,2/3] media: st-mipid02: add support of YUYV8 and UYVY8
> https://patchwork.linuxtv.org/patch/56971/
> State    Accepted
> 
> [v2,3/3] media: st-mipid02: add support of JPEG 
> https://patchwork.linuxtv.org/patch/56973/
> State    Accepted
> 
> 
> [v2] media: ov5640: add support of V4L2_CID_LINK_FREQ
> https://patchwork.linuxtv.org/patch/57215/
> State    Changes Requested
> => This change is needed to make it work the whole setup.
> => I don't know what to change here, even if this 384MHz fixed value 
> seems strange, it works fine on my setup, on my opinion it's better than 
> nothing. We could come back on this later on when other OV5640 CSI 
> interfaces will require V4L2_CID_LINK_FREQ value.
> 
> Sakari, what do you think about this ?
> 
> 
> BR,
> Hugues.

BR,
Hugues.