[PATCH 0/9] media: imx: Add better OF graph support

Steve Longerbeam slongerbeam at gmail.com
Thu Dec 7 23:23:20 UTC 2017


Hi Hans,


On 12/04/2017 05:44 AM, Hans Verkuil wrote:
> Hi Steve,
>
> On 10/28/2017 10:36 PM, Steve Longerbeam wrote:
>> This is a set of patches that improve support for more complex OF
>> graphs. Currently the imx-media driver only supports a single device
>> with a single port connected directly to either the CSI muxes or the
>> MIPI CSI-2 receiver input ports. There can't be a multi-port device in
>> between. This patch set removes those limitations.
>>
>> For an example taken from automotive, a camera sensor or decoder could
>> be literally a remote device accessible over a FPD-III link, via TI
>> DS90Ux9xx deserializer/serializer pairs. This patch set would support
>> such OF graphs.
>>
>> There are still some assumptions and restrictions, regarding the equivalence
>> of device-tree ports, port parents, and endpoints to media pads, entities,
>> and links that have been enumerated in the TODO file.
> Before I merge this patch series I wanted to know if Sakari's async work
> that has now been merged (see https://www.spinics.net/lists/linux-media/msg124082.html)
> affects this patch series.
>
> It still applies cleanly, but I wondered if the subnotifier improvements
> would simplify this driver.

Indeed it does, it negates the need to recursively walk the OF graph to 
discover
and register the fwnodes with the async notifier, as imx-media is 
currently doing.

Of course it does require adding some code to the sub-devices, to call
v4l2_async_notifier_parse_fwnode_endpoints_by_port() to register remote
fwnodes attached to the sub-device's ports, and then
v4l2_async_subdev_notifier_register() to register a sub-notifier.


>
> Of course, any such simplification can also be done after this series has
> been applied, but I don't know what your thoughts are on this.

I do prefer the sub-notifier approach to discovering fwnodes, so yes I would
like to switch to this.

Since it is a distinct change (using sub-notifiers instead of recursive 
graph
walk), I would prefer to get this series applied first, and then switch to
sub-notifiers as distinct patches afterwards.

Let me submit a v2 of this series first however. There are some minor 
changes I
would like to make so that the up-coming sub-notifier patches are cleaner.

Steve

>
>> This patch set supersedes the following patches submitted earlier:
>>
>> "[PATCH v2] media: staging/imx: do not return error in link_notify for unknown sources"
>> "[PATCH RFC] media: staging/imx: fix complete handler"
>>
>> Tested by: Steve Longerbeam <steve_longerbeam at mentor.com>
>> on SabreLite with the OV5640
>>
>> Tested-by: Philipp Zabel <p.zabel at pengutronix.de>
>> on Nitrogen6X with the TC358743.
>>
>> Tested-by: Russell King <rmk+kernel at armlinux.org.uk>
>> with the IMX219
>>
>>
>> Steve Longerbeam (9):
>>    media: staging/imx: get CSI bus type from nearest upstream entity
>>    media: staging/imx: remove static media link arrays
>>    media: staging/imx: of: allow for recursing downstream
>>    media: staging/imx: remove devname string from imx_media_subdev
>>    media: staging/imx: pass fwnode handle to find/add async subdev
>>    media: staging/imx: remove static subdev arrays
>>    media: staging/imx: convert static vdev lists to list_head
>>    media: staging/imx: reorder function prototypes
>>    media: staging/imx: update TODO
>>
>>   drivers/staging/media/imx/TODO                    |  63 +++-
>>   drivers/staging/media/imx/imx-ic-prp.c            |   4 +-
>>   drivers/staging/media/imx/imx-media-capture.c     |   2 +
>>   drivers/staging/media/imx/imx-media-csi.c         | 187 +++++-----
>>   drivers/staging/media/imx/imx-media-dev.c         | 400 ++++++++++------------
>>   drivers/staging/media/imx/imx-media-internal-sd.c | 253 +++++++-------
>>   drivers/staging/media/imx/imx-media-of.c          | 278 ++++++++-------
>>   drivers/staging/media/imx/imx-media-utils.c       | 122 +++----
>>   drivers/staging/media/imx/imx-media.h             | 187 ++++------
>>   9 files changed, 722 insertions(+), 774 deletions(-)
>>



More information about the devel mailing list