All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
To: Hans Verkuil <hverkuil@xs4all.nl>
Cc: Linux Media Mailing List <linux-media@vger.kernel.org>,
	Mauro Carvalho Chehab <mchehab@infradead.org>
Subject: Re: [PATCH v7 18/44] [media] media: make media_link more generic to handle interace links
Date: Tue, 25 Aug 2015 06:53:43 -0300	[thread overview]
Message-ID: <20150825065343.5829158d@recife.lan> (raw)
In-Reply-To: <55DC1B91.70302@xs4all.nl>

Em Tue, 25 Aug 2015 09:38:57 +0200
Hans Verkuil <hverkuil@xs4all.nl> escreveu:

> On 08/23/2015 10:17 PM, Mauro Carvalho Chehab wrote:
> > By adding an union at media_link, we get for free a way to
> > represent interface->entity links.
> > 
> > No need to change anything at the code, just at the internal
> > header file.
> > 
> > Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
> > 
> > diff --git a/include/media/media-entity.h b/include/media/media-entity.h
> > index 17bb5cbbd67d..f6e8fa801cf9 100644
> > --- a/include/media/media-entity.h
> > +++ b/include/media/media-entity.h
> > @@ -75,14 +75,20 @@ struct media_pipeline {
> >  struct media_link {
> >  	struct media_gobj graph_obj;
> >  	struct list_head list;
> > -	struct media_pad *source;	/* Source pad */
> > -	struct media_pad *sink;		/* Sink pad  */
> > +	union {
> > +		struct media_gobj *port0;
> > +		struct media_pad *source;
> > +	};
> > +	union {
> > +		struct media_gobj *port1;
> 
> Why add port0 and port1 here instead of intf and entity (now added in patch 20)?
> port0/port1 isn't used, so I'd postpone adding that until it is needed.

Because we need to use it to be able to identify the object type.
This is used (actually, it should be used - see my comments for 19/44)
on the next patch.

> Part of the reason is also that I am not convinced about the 'port' name, so
> let's not add this yet.

I'm not bound to "port" name. If you have a better suggestion, this could
easily be fixed.

However, we can't use here source/sink, as this means something
directional, but the interface<->entity link is bidirectional.

I chose "port" because it is the ITU-T name for the graph element that
represents the connection points at the entities.

> 
> Regards,
> 
> 	Hans
> 
> > +		struct media_pad *sink;
> > +	};
> >  	struct media_link *reverse;	/* Link in the reverse direction */
> >  	unsigned long flags;		/* Link flags (MEDIA_LNK_FL_*) */
> >  };
> >  
> >  struct media_pad {
> > -	struct media_gobj graph_obj;
> > +	struct media_gobj graph_obj;	/* should be the first object */
> >  	struct media_entity *entity;	/* Entity this pad belongs to */
> >  	u16 index;			/* Pad index in the entity pads array */
> >  	unsigned long flags;		/* Pad flags (MEDIA_PAD_FL_*) */
> > @@ -105,7 +111,7 @@ struct media_entity_operations {
> >  };
> >  
> >  struct media_entity {
> > -	struct media_gobj graph_obj;
> > +	struct media_gobj graph_obj;	/* should be the first object */
> >  	struct list_head list;
> >  	const char *name;		/* Entity name */
> >  	u32 type;			/* Entity type (MEDIA_ENT_T_*) */
> > @@ -119,7 +125,7 @@ struct media_entity {
> >  	u16 num_backlinks;		/* Number of backlinks */
> >  
> >  	struct media_pad *pads;		/* Pads array (num_pads objects) */
> > -	struct list_head links;		/* Links list */
> > +	struct list_head links;		/* Pad-to-pad links list */
> >  
> >  	const struct media_entity_operations *ops;	/* Entity operations */
> >  
> > 
> 

  reply	other threads:[~2015-08-25  9:53 UTC|newest]

Thread overview: 156+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-23 20:17 [PATCH v7 00/44] MC next generation patches Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 01/44] [media] media: create a macro to get entity ID Mauro Carvalho Chehab
2015-08-23 20:17   ` Mauro Carvalho Chehab
2015-08-24 17:24   ` Shuah Khan
2015-08-24 17:24     ` Shuah Khan
2015-08-24 18:00     ` Mauro Carvalho Chehab
2015-08-24 18:00       ` Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 02/44] [media] staging: omap4iss: get entity ID using media_entity_id() Mauro Carvalho Chehab
2015-08-24 17:53   ` Shuah Khan
2015-08-25  6:34   ` Hans Verkuil
2015-08-23 20:17 ` [PATCH v7 03/44] [media] omap3isp: " Mauro Carvalho Chehab
2015-08-24 18:14   ` Shuah Khan
2015-08-24 18:34     ` Javier Martinez Canillas
2015-08-25  6:35   ` Hans Verkuil
2015-08-23 20:17 ` [PATCH v7 04/44] [media] media: add a common struct to be embed on media graph objects Mauro Carvalho Chehab
2015-08-24 20:07   ` Shuah Khan
2015-08-28 13:01     ` Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 05/44] [media] media: use media_gobj inside entities Mauro Carvalho Chehab
2015-08-24 22:13   ` Shuah Khan
2015-08-28 13:02     ` Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 06/44] [media] media: use media_gobj inside pads Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 07/44] [media] media: use media_gobj inside links Mauro Carvalho Chehab
2015-08-25  0:13   ` Shuah Khan
2015-08-28 12:54     ` Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 08/44] [media] media: add messages when media device gets (un)registered Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 09/44] [media] media: add a debug message to warn about gobj creation/removal Mauro Carvalho Chehab
2015-08-25 17:51   ` Shuah Khan
2015-08-26 14:51     ` Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 10/44] [media] media: rename the function that create pad links Mauro Carvalho Chehab
2015-08-23 20:17   ` Mauro Carvalho Chehab
2015-08-23 20:17   ` Mauro Carvalho Chehab
2015-08-23 20:17   ` Mauro Carvalho Chehab
2015-08-25 18:55   ` Shuah Khan
2015-08-25 18:55     ` Shuah Khan
2015-08-25 18:55     ` Shuah Khan
2015-08-25 18:55     ` Shuah Khan
2015-08-26 14:54     ` Mauro Carvalho Chehab
2015-08-26 14:54       ` Mauro Carvalho Chehab
2015-08-26 14:54       ` Mauro Carvalho Chehab
2015-08-26 14:54       ` Mauro Carvalho Chehab
2015-08-28 13:08       ` Mauro Carvalho Chehab
2015-08-28 13:08         ` Mauro Carvalho Chehab
2015-08-28 13:08         ` Mauro Carvalho Chehab
2015-08-28 13:08         ` Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 11/44] [media] media: use entity.graph_obj.mdev instead of .parent Mauro Carvalho Chehab
2015-08-23 20:17   ` Mauro Carvalho Chehab
2015-08-23 20:17   ` Mauro Carvalho Chehab
2015-08-25  6:36   ` Hans Verkuil
2015-08-25  6:36     ` Hans Verkuil
2015-08-25  6:36     ` Hans Verkuil
2015-08-25 19:25     ` Shuah Khan
2015-08-25 19:25       ` Shuah Khan
2015-08-25 19:25       ` Shuah Khan
2015-08-26 14:59       ` Mauro Carvalho Chehab
2015-08-26 14:59         ` Mauro Carvalho Chehab
2015-08-26 14:59         ` Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 12/44] [media] media: remove media entity .parent field Mauro Carvalho Chehab
2015-08-25  6:37   ` Hans Verkuil
2015-08-23 20:17 ` [PATCH v7 13/44] [media] uapi/media.h: Declare interface types Mauro Carvalho Chehab
2015-08-23 20:17   ` Mauro Carvalho Chehab
2015-08-25  6:46   ` Hans Verkuil
2015-08-25 20:34   ` Shuah Khan
2015-08-25 20:34     ` Shuah Khan
2015-08-26 14:59     ` Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 14/44] [media] media: add functions to allow creating interfaces Mauro Carvalho Chehab
2015-08-25  7:09   ` Hans Verkuil
2015-08-25  9:26     ` Mauro Carvalho Chehab
2015-08-25 13:41       ` Hans Verkuil
2015-08-25  7:42   ` Hans Verkuil
2015-08-25  9:57     ` Mauro Carvalho Chehab
2015-08-25 10:00       ` Mauro Carvalho Chehab
2015-08-25  8:29   ` Hans Verkuil
2015-08-25 10:16     ` Mauro Carvalho Chehab
2015-08-25 21:44       ` Shuah Khan
2015-08-23 20:17 ` [PATCH v7 15/44] [media] media: get rid of an unused code Mauro Carvalho Chehab
2015-08-25  7:10   ` Hans Verkuil
2015-08-25 10:10     ` Mauro Carvalho Chehab
2015-08-25 22:32       ` Shuah Khan
2015-08-26 15:17         ` Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 16/44] [media] media: convert links from array to list Mauro Carvalho Chehab
2015-08-25 22:48   ` Shuah Khan
2015-08-26 15:28     ` Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 17/44] [media] media: make add link more generic Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 18/44] [media] media: make media_link more generic to handle interace links Mauro Carvalho Chehab
2015-08-25  7:28   ` Hans Verkuil
2015-08-25  9:41     ` Mauro Carvalho Chehab
2015-08-25  7:38   ` Hans Verkuil
2015-08-25  9:53     ` Mauro Carvalho Chehab [this message]
2015-08-25 13:30       ` Hans Verkuil
2015-08-23 20:17 ` [PATCH v7 19/44] [media] media: make link debug printk more generic Mauro Carvalho Chehab
2015-08-25  7:33   ` Hans Verkuil
2015-08-25  9:45     ` Mauro Carvalho Chehab
2015-08-25  9:48     ` Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 20/44] [media] media: add support to link interfaces and entities Mauro Carvalho Chehab
2015-08-25  7:44   ` Hans Verkuil
2015-08-25 10:01     ` Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 21/44] [media] dvbdev: add support for interfaces Mauro Carvalho Chehab
2015-08-25  7:50   ` Hans Verkuil
2015-08-25 10:04     ` Mauro Carvalho Chehab
2015-08-25 13:44       ` Hans Verkuil
2015-08-23 20:17 ` [PATCH v7 22/44] [media] media: add a linked list to track interfaces by mdev Mauro Carvalho Chehab
2015-08-25  7:54   ` Hans Verkuil
2015-08-25 10:12     ` Mauro Carvalho Chehab
2015-08-25 13:48       ` Hans Verkuil
2015-08-23 20:17 ` [PATCH v7 23/44] [media] dvbdev: add support for indirect interface links Mauro Carvalho Chehab
2015-08-25  8:39   ` Hans Verkuil
2015-08-25 10:17     ` Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 24/44] [media] uapi/media.h: Fix entity namespace Mauro Carvalho Chehab
2015-08-23 20:17   ` Mauro Carvalho Chehab
2015-08-25  8:58   ` Hans Verkuil
2015-08-25  8:58     ` Hans Verkuil
2015-08-25 11:25     ` Mauro Carvalho Chehab
2015-08-25 11:25       ` Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 25/44] [media] replace all occurrences of MEDIA_ENT_T_DEVNODE_V4L Mauro Carvalho Chehab
2015-08-23 20:17   ` Mauro Carvalho Chehab
2015-08-25  9:23   ` Hans Verkuil
2015-08-25  9:23     ` Hans Verkuil
2015-08-25 11:32     ` Mauro Carvalho Chehab
2015-08-25 11:32       ` Mauro Carvalho Chehab
2015-08-25 13:54       ` Hans Verkuil
2015-08-25 13:54         ` Hans Verkuil
2015-08-25 15:12         ` Mauro Carvalho Chehab
2015-08-25 15:12           ` Mauro Carvalho Chehab
2015-08-25 15:22           ` Hans Verkuil
2015-08-25 15:22             ` Hans Verkuil
2015-08-23 20:17 ` [PATCH v7 26/44] [media] replace all occurrences of MEDIA_ENT_T_DEVNODE_DVB Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 27/44] [media] media: add macros to check if subdev or V4L2 DMA Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 28/44] [media] media: use macros to check for V4L2 subdev entities Mauro Carvalho Chehab
2015-08-23 20:17   ` Mauro Carvalho Chehab
2015-08-23 20:17   ` Mauro Carvalho Chehab
2015-08-23 20:17   ` Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 29/44] [media] omap3/omap4/davinci: get rid of MEDIA_ENT_T_V4L2_SUBDEV abuse Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 30/44] [media] s5c73m3: fix subdev type Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 31/44] [media] s5k5baf: " Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 32/44] [media] davinci_vbpe: stop MEDIA_ENT_T_V4L2_SUBDEV abuse Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 33/44] [media] omap4iss: " Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 34/44] [media] v4l2-subdev: use MEDIA_ENT_T_UNKNOWN for new subdevs Mauro Carvalho Chehab
2015-08-23 20:17   ` Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 35/44] [media] media controller: get rid of entity subtype on Kernel Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 36/44] [media] DocBook: update descriptions for the media controller entities Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 37/44] [media] dvb: modify core to implement interfaces/entities at MC new gen Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 38/44] [media] media: report if a pad is sink or source at debug msg Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 39/44] [media] uapi/media.h: Add MEDIA_IOC_G_TOPOLOGY ioctl Mauro Carvalho Chehab
2015-08-25  9:33   ` Hans Verkuil
2015-08-25 11:36     ` Mauro Carvalho Chehab
2015-08-25 11:36       ` Mauro Carvalho Chehab
2015-08-23 20:17 ` [PATCH v7 40/44] [media] media: Use a macro to interate between all interfaces Mauro Carvalho Chehab
2015-08-25  9:26   ` Hans Verkuil
2015-08-23 20:17 ` [PATCH v7 41/44] [media] media: move mdev list init to gobj Mauro Carvalho Chehab
2015-08-25  9:28   ` Hans Verkuil
2015-08-23 20:17 ` [PATCH v7 42/44] [media] media-device: add pads and links to media_device Mauro Carvalho Chehab
2015-08-25  9:29   ` Hans Verkuil
2015-08-23 20:18 ` [PATCH v7 43/44] [media] media_device: add a topology version field Mauro Carvalho Chehab
2015-08-23 20:18 ` [PATCH v7 44/44] [media] media-device: add support for MEDIA_IOC_G_TOPOLOGY ioctl Mauro Carvalho Chehab
2015-08-25 19:11 ` [PATCH v7 00/44] MC next generation patches Shuah Khan
2015-08-25 20:02   ` Mauro Carvalho Chehab

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150825065343.5829158d@recife.lan \
    --to=mchehab@osg.samsung.com \
    --cc=hverkuil@xs4all.nl \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.