mbox series

[v3,0/9] media: vimc: Multiple stream support in vimc

Message ID 20200819180442.11630-1-kgupta@es.iitr.ac.in (mailing list archive)
Headers show
Series media: vimc: Multiple stream support in vimc | expand

Message

Kaaira Gupta Aug. 19, 2020, 6:04 p.m. UTC
This series adds supoort for two (or more) capture devices to be 
connected to the same sensors and run simultaneously.

Changes since v2:
	- This series introduces new patches, namely patch 1, 2, 4, 5,
	  7, and 9 to shift multiple captures to operate at a single
	  thread.

Kaaira Gupta (7):
  media: vimc: Move get_source_entity to vimc-common
  media: vimc: Add get_frame callback
  media: vimc: Separate starting stream from pipeline initialisation
  media: vimc: Separate closing of stream and thread
  media: vimc: Dynamically allocate stream struct
  media: vimc: Join pipeline if one already exists
  media: vimc: Run multiple captures on same thread

Niklas Söderlund (2):
  media: vimc: Add usage count to subdevices
  media: vimc: Serialize vimc_streamer_s_stream()

 .../media/test-drivers/vimc/vimc-capture.c    |  42 +++-
 drivers/media/test-drivers/vimc/vimc-common.c |  14 ++
 drivers/media/test-drivers/vimc/vimc-common.h |  21 +-
 .../media/test-drivers/vimc/vimc-debayer.c    |  26 ++-
 drivers/media/test-drivers/vimc/vimc-scaler.c |  25 +-
 drivers/media/test-drivers/vimc/vimc-sensor.c |  17 +-
 .../media/test-drivers/vimc/vimc-streamer.c   | 213 ++++++++++++------
 .../media/test-drivers/vimc/vimc-streamer.h   |   2 +
 8 files changed, 271 insertions(+), 89 deletions(-)

Comments

Kieran Bingham Sept. 2, 2020, 10:51 a.m. UTC | #1
Hi Kaaira,

Thank you for this series.

I have tested it, and indeed it works well, which is great work.
I know this has been hard to debug some of the code paths!

There are a few bits that are hard for me to understand, with the graph
walking/initialisation - so I think either some better comments or
refactoring might help there - and Dafna has suggested that there might
be a useful helper which will assist too. That needs to be checked
though, as I think your 'streamer' needs to have full visibility of the
whole pipeline, rather than just a single stream.

I wonder if it would help to rename it to make that clearer, as
'vimc_stream' sounds like it deals with only a single stream - but now
it deals with multiple - so the naming is a bit confusing.

--
Kieran

On 19/08/2020 19:04, Kaaira Gupta wrote:
> This series adds supoort for two (or more) capture devices to be 
> connected to the same sensors and run simultaneously.
> 
> Changes since v2:
> 	- This series introduces new patches, namely patch 1, 2, 4, 5,
> 	  7, and 9 to shift multiple captures to operate at a single
> 	  thread.
> 
> Kaaira Gupta (7):
>   media: vimc: Move get_source_entity to vimc-common
>   media: vimc: Add get_frame callback
>   media: vimc: Separate starting stream from pipeline initialisation
>   media: vimc: Separate closing of stream and thread
>   media: vimc: Dynamically allocate stream struct
>   media: vimc: Join pipeline if one already exists
>   media: vimc: Run multiple captures on same thread
> 
> Niklas Söderlund (2):
>   media: vimc: Add usage count to subdevices
>   media: vimc: Serialize vimc_streamer_s_stream()
> 
>  .../media/test-drivers/vimc/vimc-capture.c    |  42 +++-
>  drivers/media/test-drivers/vimc/vimc-common.c |  14 ++
>  drivers/media/test-drivers/vimc/vimc-common.h |  21 +-
>  .../media/test-drivers/vimc/vimc-debayer.c    |  26 ++-
>  drivers/media/test-drivers/vimc/vimc-scaler.c |  25 +-
>  drivers/media/test-drivers/vimc/vimc-sensor.c |  17 +-
>  .../media/test-drivers/vimc/vimc-streamer.c   | 213 ++++++++++++------
>  .../media/test-drivers/vimc/vimc-streamer.h   |   2 +
>  8 files changed, 271 insertions(+), 89 deletions(-)
>
Kaaira Gupta Sept. 12, 2020, 10:49 a.m. UTC | #2
On Wed, Sep 02, 2020 at 11:51:59AM +0100, Kieran Bingham wrote:
> Hi Kaaira,
> 
> Thank you for this series.
> 
> I have tested it, and indeed it works well, which is great work.
> I know this has been hard to debug some of the code paths!

Thanks for testing and helping! :D

> 
> There are a few bits that are hard for me to understand, with the graph
> walking/initialisation - so I think either some better comments or
> refactoring might help there - and Dafna has suggested that there might
> be a useful helper which will assist too. That needs to be checked
> though, as I think your 'streamer' needs to have full visibility of the
> whole pipeline, rather than just a single stream.
> 
> I wonder if it would help to rename it to make that clearer, as
> 'vimc_stream' sounds like it deals with only a single stream - but now
> it deals with multiple - so the naming is a bit confusing.

Hm, I too think that the name is confusing and doesn't show the correct
context..is vimc_streamer_referance a better name? What name do you
suggest?

Thanks, 
Kaaira

> 
> --
> Kieran
> 
> On 19/08/2020 19:04, Kaaira Gupta wrote:
> > This series adds supoort for two (or more) capture devices to be 
> > connected to the same sensors and run simultaneously.
> > 
> > Changes since v2:
> > 	- This series introduces new patches, namely patch 1, 2, 4, 5,
> > 	  7, and 9 to shift multiple captures to operate at a single
> > 	  thread.
> > 
> > Kaaira Gupta (7):
> >   media: vimc: Move get_source_entity to vimc-common
> >   media: vimc: Add get_frame callback
> >   media: vimc: Separate starting stream from pipeline initialisation
> >   media: vimc: Separate closing of stream and thread
> >   media: vimc: Dynamically allocate stream struct
> >   media: vimc: Join pipeline if one already exists
> >   media: vimc: Run multiple captures on same thread
> > 
> > Niklas Söderlund (2):
> >   media: vimc: Add usage count to subdevices
> >   media: vimc: Serialize vimc_streamer_s_stream()
> > 
> >  .../media/test-drivers/vimc/vimc-capture.c    |  42 +++-
> >  drivers/media/test-drivers/vimc/vimc-common.c |  14 ++
> >  drivers/media/test-drivers/vimc/vimc-common.h |  21 +-
> >  .../media/test-drivers/vimc/vimc-debayer.c    |  26 ++-
> >  drivers/media/test-drivers/vimc/vimc-scaler.c |  25 +-
> >  drivers/media/test-drivers/vimc/vimc-sensor.c |  17 +-
> >  .../media/test-drivers/vimc/vimc-streamer.c   | 213 ++++++++++++------
> >  .../media/test-drivers/vimc/vimc-streamer.h   |   2 +
> >  8 files changed, 271 insertions(+), 89 deletions(-)
> > 
> 
> -- 
> Regards
> --
> Kieran