diff mbox series

[v5,17/24] v4l: Add stream to frame descriptor

Message ID 20210415130450.421168-18-tomi.valkeinen@ideasonboard.com (mailing list archive)
State New, archived
Headers show
Series v4l: subdev internal routing | expand

Commit Message

Tomi Valkeinen April 15, 2021, 1:04 p.m. UTC
From: Sakari Ailus <sakari.ailus@linux.intel.com>

The stream field identifies the stream this frame descriptor applies to in
routing configuration across a multiplexed link.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Reviewed-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
---
 include/media/v4l2-subdev.h | 2 ++
 1 file changed, 2 insertions(+)

Comments

Laurent Pinchart April 18, 2021, 7:27 p.m. UTC | #1
Hi Tomi and Sakari,

Thank you for the patch.

On Thu, Apr 15, 2021 at 04:04:43PM +0300, Tomi Valkeinen wrote:
> From: Sakari Ailus <sakari.ailus@linux.intel.com>
> 
> The stream field identifies the stream this frame descriptor applies to in
> routing configuration across a multiplexed link.
> 
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> Reviewed-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
> ---
>  include/media/v4l2-subdev.h | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h
> index 30ec011d31e3..436d0445aafd 100644
> --- a/include/media/v4l2-subdev.h
> +++ b/include/media/v4l2-subdev.h
> @@ -338,6 +338,7 @@ enum v4l2_mbus_frame_desc_flags {
>   * struct v4l2_mbus_frame_desc_entry - media bus frame description structure
>   *
>   * @flags:	bitmask flags, as defined by &enum v4l2_mbus_frame_desc_flags.
> + * @stream:	stream in routing configuration
>   * @pixelcode:	media bus pixel code, valid if @flags
>   *		%FRAME_DESC_FL_BLOB is not set.
>   * @length:	number of octets per frame, valid if @flags
> @@ -347,6 +348,7 @@ enum v4l2_mbus_frame_desc_flags {
>   */
>  struct v4l2_mbus_frame_desc_entry {
>  	enum v4l2_mbus_frame_desc_flags flags;
> +	u32 stream;

As this isn't used in this series, I can't really tell how it will be
used, so it's hard to review the patch. Should we postpone it to the
next patch series ?

>  	u32 pixelcode;
>  	u32 length;
>  	union {
Tomi Valkeinen April 22, 2021, 12:47 p.m. UTC | #2
On 18/04/2021 22:27, Laurent Pinchart wrote:
> Hi Tomi and Sakari,
> 
> Thank you for the patch.
> 
> On Thu, Apr 15, 2021 at 04:04:43PM +0300, Tomi Valkeinen wrote:
>> From: Sakari Ailus <sakari.ailus@linux.intel.com>
>>
>> The stream field identifies the stream this frame descriptor applies to in
>> routing configuration across a multiplexed link.
>>
>> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
>> Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
>> Reviewed-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
>> ---
>>   include/media/v4l2-subdev.h | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h
>> index 30ec011d31e3..436d0445aafd 100644
>> --- a/include/media/v4l2-subdev.h
>> +++ b/include/media/v4l2-subdev.h
>> @@ -338,6 +338,7 @@ enum v4l2_mbus_frame_desc_flags {
>>    * struct v4l2_mbus_frame_desc_entry - media bus frame description structure
>>    *
>>    * @flags:	bitmask flags, as defined by &enum v4l2_mbus_frame_desc_flags.
>> + * @stream:	stream in routing configuration
>>    * @pixelcode:	media bus pixel code, valid if @flags
>>    *		%FRAME_DESC_FL_BLOB is not set.
>>    * @length:	number of octets per frame, valid if @flags
>> @@ -347,6 +348,7 @@ enum v4l2_mbus_frame_desc_flags {
>>    */
>>   struct v4l2_mbus_frame_desc_entry {
>>   	enum v4l2_mbus_frame_desc_flags flags;
>> +	u32 stream;
> 
> As this isn't used in this series, I can't really tell how it will be
> used, so it's hard to review the patch. Should we postpone it to the
> next patch series ?

It's not used here, but it is needed allow the drivers use the features 
introduced in this series. It is used to match routes to frame_descs.

Its usage is quite simple: e.g. when a driver has a route 
(v4l2_subdev_route), it can get the frame_descs from the entity behind 
v4l2_subdev_route.source_pad, and then find the matching frame_desc by 
searching for

v4l2_subdev_route.source_stream == v4l2_mbus_frame_desc_entry.stream

  Tomi
Laurent Pinchart April 22, 2021, 4:18 p.m. UTC | #3
Hi Tomi,

On Thu, Apr 22, 2021 at 03:47:05PM +0300, Tomi Valkeinen wrote:
> On 18/04/2021 22:27, Laurent Pinchart wrote:
> > On Thu, Apr 15, 2021 at 04:04:43PM +0300, Tomi Valkeinen wrote:
> >> From: Sakari Ailus <sakari.ailus@linux.intel.com>
> >>
> >> The stream field identifies the stream this frame descriptor applies to in
> >> routing configuration across a multiplexed link.
> >>
> >> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> >> Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> >> Reviewed-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
> >> ---
> >>   include/media/v4l2-subdev.h | 2 ++
> >>   1 file changed, 2 insertions(+)
> >>
> >> diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h
> >> index 30ec011d31e3..436d0445aafd 100644
> >> --- a/include/media/v4l2-subdev.h
> >> +++ b/include/media/v4l2-subdev.h
> >> @@ -338,6 +338,7 @@ enum v4l2_mbus_frame_desc_flags {
> >>    * struct v4l2_mbus_frame_desc_entry - media bus frame description structure
> >>    *
> >>    * @flags:	bitmask flags, as defined by &enum v4l2_mbus_frame_desc_flags.
> >> + * @stream:	stream in routing configuration
> >>    * @pixelcode:	media bus pixel code, valid if @flags
> >>    *		%FRAME_DESC_FL_BLOB is not set.
> >>    * @length:	number of octets per frame, valid if @flags
> >> @@ -347,6 +348,7 @@ enum v4l2_mbus_frame_desc_flags {
> >>    */
> >>   struct v4l2_mbus_frame_desc_entry {
> >>   	enum v4l2_mbus_frame_desc_flags flags;
> >> +	u32 stream;
> > 
> > As this isn't used in this series, I can't really tell how it will be
> > used, so it's hard to review the patch. Should we postpone it to the
> > next patch series ?
> 
> It's not used here, but it is needed allow the drivers use the features 
> introduced in this series. It is used to match routes to frame_descs.

Sure, I'm not saying it should be dropped, but it would be easier to
review it in the context of the next series, while the rest of this
series bring a self-contained feature that is already useful without
streams support.

> Its usage is quite simple: e.g. when a driver has a route 
> (v4l2_subdev_route), it can get the frame_descs from the entity behind 
> v4l2_subdev_route.source_pad, and then find the matching frame_desc by 
> searching for
> 
> v4l2_subdev_route.source_stream == v4l2_mbus_frame_desc_entry.stream
diff mbox series

Patch

diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h
index 30ec011d31e3..436d0445aafd 100644
--- a/include/media/v4l2-subdev.h
+++ b/include/media/v4l2-subdev.h
@@ -338,6 +338,7 @@  enum v4l2_mbus_frame_desc_flags {
  * struct v4l2_mbus_frame_desc_entry - media bus frame description structure
  *
  * @flags:	bitmask flags, as defined by &enum v4l2_mbus_frame_desc_flags.
+ * @stream:	stream in routing configuration
  * @pixelcode:	media bus pixel code, valid if @flags
  *		%FRAME_DESC_FL_BLOB is not set.
  * @length:	number of octets per frame, valid if @flags
@@ -347,6 +348,7 @@  enum v4l2_mbus_frame_desc_flags {
  */
 struct v4l2_mbus_frame_desc_entry {
 	enum v4l2_mbus_frame_desc_flags flags;
+	u32 stream;
 	u32 pixelcode;
 	u32 length;
 	union {