Message ID | 20211126001603.41148-1-djrscally@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | Introduce ancillary links | expand |
On Fri, Nov 26, 2021 at 12:16:01AM +0000, Daniel Scally wrote: > Hello all > > This series is not yet ready to merge, but I wanted to share it as I know some > other folks are working in similar areas at the moment (and I am including the > libcamera devel list for the same reason) Seems you forgot to CC libcamera-devel :-) Let's fix that on v2. > 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. Further work would be needed to document it properly, and > there may be ramifications within the v4l2-core which I have not yet discovered > (a lot of places seem to assume that media_entity->links means pad-2-pad links, > so some extra work might be needed to validate the link type before doing any > thing to them). > > 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 - checking the entity.function of both notifier and subdev to make sure > that's appropriate. 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. > > Thoughts and comments very welcome :) > > Dan > > Daniel Scally (2): > media: entity: Add support for ancillary links > media: v4l2-async: Create links during v4l2_async_match_notify() > > drivers/media/mc/mc-entity.c | 30 ++++++++++++++++ > drivers/media/v4l2-core/v4l2-async.c | 51 ++++++++++++++++++++++++++++ > include/media/media-entity.h | 30 ++++++++++++++++ > include/uapi/linux/media.h | 1 + > 4 files changed, 112 insertions(+) >
On 26/11/2021 02:59, Laurent Pinchart wrote: > On Fri, Nov 26, 2021 at 12:16:01AM +0000, Daniel Scally wrote: >> Hello all >> >> This series is not yet ready to merge, but I wanted to share it as I know some >> other folks are working in similar areas at the moment (and I am including the >> libcamera devel list for the same reason) > Seems you forgot to CC libcamera-devel :-) Let's fix that on v2. Argh! Sorry, will do >> 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. Further work would be needed to document it properly, and >> there may be ramifications within the v4l2-core which I have not yet discovered >> (a lot of places seem to assume that media_entity->links means pad-2-pad links, >> so some extra work might be needed to validate the link type before doing any >> thing to them). >> >> 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 - checking the entity.function of both notifier and subdev to make sure >> that's appropriate. 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. >> >> Thoughts and comments very welcome :) >> >> Dan >> >> Daniel Scally (2): >> media: entity: Add support for ancillary links >> media: v4l2-async: Create links during v4l2_async_match_notify() >> >> drivers/media/mc/mc-entity.c | 30 ++++++++++++++++ >> drivers/media/v4l2-core/v4l2-async.c | 51 ++++++++++++++++++++++++++++ >> include/media/media-entity.h | 30 ++++++++++++++++ >> include/uapi/linux/media.h | 1 + >> 4 files changed, 112 insertions(+) >>
Hi Daniel, On 11/26/21 08:58, Daniel Scally wrote: > > On 26/11/2021 02:59, Laurent Pinchart wrote: >> On Fri, Nov 26, 2021 at 12:16:01AM +0000, Daniel Scally wrote: >>> Hello all >>> >>> This series is not yet ready to merge, but I wanted to share it as I know some >>> other folks are working in similar areas at the moment (and I am including the >>> libcamera devel list for the same reason) >> Seems you forgot to CC libcamera-devel :-) Let's fix that on v2. > > > Argh! Sorry, will do First of all, thank you very much for this RFC series as well as for the matching libcamera series. For v2 of the series can you please also add Kate Hsuan to the Cc (I've added there to the To of this email). Kate is a colleague of me working on adding auto-focus support for IPU3 based setups to libcamera. Regards, Hans
Hi Hans On 26/11/2021 09:41, Hans de Goede wrote: > Hi Daniel, > > On 11/26/21 08:58, Daniel Scally wrote: >> On 26/11/2021 02:59, Laurent Pinchart wrote: >>> On Fri, Nov 26, 2021 at 12:16:01AM +0000, Daniel Scally wrote: >>>> Hello all >>>> >>>> This series is not yet ready to merge, but I wanted to share it as I know some >>>> other folks are working in similar areas at the moment (and I am including the >>>> libcamera devel list for the same reason) >>> Seems you forgot to CC libcamera-devel :-) Let's fix that on v2. >> >> Argh! Sorry, will do > First of all, thank you very much for this RFC series as well > as for the matching libcamera series. My pleasure > For v2 of the series can you please also add Kate Hsuan to the > Cc (I've added there to the To of this email). Kate is a colleague > of me working on adding auto-focus support for IPU3 based setups > to libcamera. Oops again; I had intended to do that as well...sorry Kate! I'll be more careful with the CC list next time > > Regards, > > Hans >
On Fri, Nov 26, 2021 at 5:46 PM Daniel Scally <djrscally@gmail.com> wrote: > > Hi Hans > > On 26/11/2021 09:41, Hans de Goede wrote: > > Hi Daniel, > > > > On 11/26/21 08:58, Daniel Scally wrote: > >> On 26/11/2021 02:59, Laurent Pinchart wrote: > >>> On Fri, Nov 26, 2021 at 12:16:01AM +0000, Daniel Scally wrote: > >>>> Hello all > >>>> > >>>> This series is not yet ready to merge, but I wanted to share it as I know some > >>>> other folks are working in similar areas at the moment (and I am including the > >>>> libcamera devel list for the same reason) > >>> Seems you forgot to CC libcamera-devel :-) Let's fix that on v2. > >> > >> Argh! Sorry, will do > > First of all, thank you very much for this RFC series as well > > as for the matching libcamera series. > > > My pleasure > > > For v2 of the series can you please also add Kate Hsuan to the > > Cc (I've added there to the To of this email). Kate is a colleague > > of me working on adding auto-focus support for IPU3 based setups > > to libcamera. > > > Oops again; I had intended to do that as well...sorry Kate! I'll be more > careful with the CC list next time It's OK. Thank you :) > > > > > Regards, > > > > Hans > > >