[libcamera-devel,v3,0/5] Introduce ancillary links
mbox series

Message ID 20220302220304.1327896-1-djrscally@gmail.com
Headers show
Series
  • Introduce ancillary links
Related show

Message

Daniel Scally March 2, 2022, 10:02 p.m. UTC
Hello all

At present there's no means in the kernel of describing the supporting
relationship between subdevices that work together to form an effective single
unit - the type example in this case being a camera sensor and its
corresponding vcm. To attempt to solve that, this series adds a new type of
media link called MEDIA_LNK_FL_ANCILLARY_LINK, which connects two instances of
struct media_entity.

The mechanism of connection I have modelled as a notifier and async subdev,
which seemed the best route since sensor drivers already typically will call
v4l2_async_register_subdev_sensor() on probe, and that function already looks
for a reference to a firmware node with the reference named "lens-focus". To
avoid boilerplate in the sensor drivers, I added some new functions in
v4l2-async that are called in v4l2_async_match_notify() to create the ancillary
links. I haven't gone further than that yet, but I suspect we could cut down on
code elsewhere by, for example, also creating pad-to-pad links in the same place

Series level changes since v2:

  - Squashed #2 and #3

Series-level changes since v1:

	- New patch adding some documentation to the uAPI pages.

Dan


Daniel Scally (5):
  media: entity: Skip non-data links in graph iteration
  media: media.h: Add new media link type
  media: entity: Add link_type_name() helper
  media: entity: Add support for ancillary links
  media: v4l2-async: Create links during v4l2_async_match_notify()

 .../media/mediactl/media-controller-model.rst |  6 +++
 .../media/mediactl/media-types.rst            | 17 +++++--
 drivers/media/mc/mc-entity.c                  | 46 +++++++++++++++++--
 drivers/media/v4l2-core/v4l2-async.c          | 31 +++++++++++++
 include/media/media-entity.h                  | 19 ++++++++
 include/uapi/linux/media.h                    |  1 +
 6 files changed, 112 insertions(+), 8 deletions(-)

Comments

Daniel Scally March 22, 2022, 10:08 p.m. UTC | #1
Hello everyone


Any more comments on this series?


Thanks

Dan

On 02/03/2022 22:02, Daniel Scally wrote:
> Hello all
>
> At present there's no means in the kernel of describing the supporting
> relationship between subdevices that work together to form an effective single
> unit - the type example in this case being a camera sensor and its
> corresponding vcm. To attempt to solve that, this series adds a new type of
> media link called MEDIA_LNK_FL_ANCILLARY_LINK, which connects two instances of
> struct media_entity.
>
> The mechanism of connection I have modelled as a notifier and async subdev,
> which seemed the best route since sensor drivers already typically will call
> v4l2_async_register_subdev_sensor() on probe, and that function already looks
> for a reference to a firmware node with the reference named "lens-focus". To
> avoid boilerplate in the sensor drivers, I added some new functions in
> v4l2-async that are called in v4l2_async_match_notify() to create the ancillary
> links. I haven't gone further than that yet, but I suspect we could cut down on
> code elsewhere by, for example, also creating pad-to-pad links in the same place
>
> Series level changes since v2:
>
>   - Squashed #2 and #3
>
> Series-level changes since v1:
>
> 	- New patch adding some documentation to the uAPI pages.
>
> Dan
>
>
> Daniel Scally (5):
>   media: entity: Skip non-data links in graph iteration
>   media: media.h: Add new media link type
>   media: entity: Add link_type_name() helper
>   media: entity: Add support for ancillary links
>   media: v4l2-async: Create links during v4l2_async_match_notify()
>
>  .../media/mediactl/media-controller-model.rst |  6 +++
>  .../media/mediactl/media-types.rst            | 17 +++++--
>  drivers/media/mc/mc-entity.c                  | 46 +++++++++++++++++--
>  drivers/media/v4l2-core/v4l2-async.c          | 31 +++++++++++++
>  include/media/media-entity.h                  | 19 ++++++++
>  include/uapi/linux/media.h                    |  1 +
>  6 files changed, 112 insertions(+), 8 deletions(-)
>
Sakari Ailus March 22, 2022, 10:12 p.m. UTC | #2
Hi Daniel,

On Tue, Mar 22, 2022 at 10:08:07PM +0000, Daniel Scally wrote:
> Hello everyone
> 
> 
> Any more comments on this series?

I hope people are happy with them. They've been out for review for quite
some time.

The patches are in my tree waiting for having rc1 in master.
Tomasz Figa April 12, 2022, 5:31 a.m. UTC | #3
Hi Sakari,

On Wed, Mar 23, 2022 at 7:13 AM Sakari Ailus
<sakari.ailus@linux.intel.com> wrote:
>
> Hi Daniel,
>
> On Tue, Mar 22, 2022 at 10:08:07PM +0000, Daniel Scally wrote:
> > Hello everyone
> >
> >
> > Any more comments on this series?
>
> I hope people are happy with them. They've been out for review for quite
> some time.
>
> The patches are in my tree waiting for having rc1 in master.

Thanks for picking this series. Do you think you could add your tree
to linux-next, so we could easily test changes that you pick?

Best regards,
Tomasz

>
> --
> Kind regards,
>
> Sakari Ailus