Re: [PATCH RFC v5 0/8] MC preparation patches

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Em Tue, 18 Aug 2015 17:04:13 -0300
Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> escreveu:

Hmm... I forgot to remove the "RFC" prefix. For me, this patch series is
OK to be merged at the media-controller topic branch.


> Those are the initial patches from my RFCv3 series of MC changes,
> plus one additional renaming patch and two debug ones. They address
> the comments received on PATCH v4 series.
> 
> The first 5 patches on this series ensures that all existing object
> types (entities, pads and links) will have an unique ID, as agreed
> at the MC workshop.
> 
> The next two patches add two debug functions, that helps with the
> tests of the MC changes. Both are enabled only if DEBUG or dynamic
> debug is enabled.
> 
> The first one just help to identify when the media_device register,
> remove and unregister functions are called. It helps to identify if
> those events happen before or after object creation.
> 
> The second one is more interesting: it hooks at the object init and
> remove functions and dump what's there at the new object when it
> got created. This is very useful to test the future patches, as we'll
> be able to track any topology changes.
> 
> Also, it demonstates the capability of the functions
> media_gobj_init() and media_gobj_remove() to track topology
> changes. Tracking topology changes is fundamental for the new API,
> in order to implement G_TOPOLOGY ioctl. They should contain, in
> the future, a callback to warn the several drivers envolved at the
> MC topology build about topology changes.
> 
> The last patch on this preparation series is just a renaming patch,
> that will avoid mess when future patches introduce the
> entity->interface links.
> 
> They're tested using the cx231xx V4L2 support.
> 
> Those are the new debug messages when the device is probed:
> 
> [ 2684.265619] cx231xx 3-2.4:1.1: Media device registered
> [ 2684.357670] cx231xx 3-2.4:1.1: media_gobj_init: id 0x00000001 entity#1 'cx25840 19-0044'
> [ 2684.359191] cx231xx 3-2.4:1.1: media_gobj_init: id 0x01000001 cx25840 19-0044 pad#1
> [ 2684.360693] cx231xx 3-2.4:1.1: media_gobj_init: id 0x01000002 cx25840 19-0044 pad#2
> [ 2684.362208] cx231xx 3-2.4:1.1: media_gobj_init: id 0x01000003 cx25840 19-0044 pad#3
> 
> [ 2686.437870] cx231xx 3-2.4:1.1: media_gobj_init: id 0x00000002 entity#2 '(tuner unset)'
> [ 2686.439474] cx231xx 3-2.4:1.1: media_gobj_init: id 0x01000004 (tuner unset) pad#4
> 
> [ 2688.450710] cx231xx 3-2.4:1.1: media_gobj_init: id 0x00000003 entity#3 'cx231xx #0 video'
> [ 2688.452395] cx231xx 3-2.4:1.1: media_gobj_init: id 0x01000005 cx231xx #0 video pad#5
> 
> [ 2688.455892] cx231xx 3-2.4:1.1: media_gobj_init: id 0x00000004 entity#4 'cx231xx #0 vbi'
> [ 2688.457632] cx231xx 3-2.4:1.1: media_gobj_init: id 0x01000006 cx231xx #0 vbi pad#6
> 
> [ 2688.500233] cx231xx 3-2.4:1.1: media_gobj_init: id 0x02000001 link#1: 'NXP TDA18271HD' pad#4 ==> 'cx25840 19-0044' pad#1
> [ 2688.501830] cx231xx 3-2.4:1.1: media_gobj_init: id 0x02000002 link#2: 'NXP TDA18271HD' pad#4 ==> 'cx25840 19-0044' pad#1
> [ 2688.503415] cx231xx 3-2.4:1.1: media_gobj_init: id 0x02000003 link#3: 'cx25840 19-0044' pad#2 ==> 'cx231xx #0 video' pad#5
> [ 2688.504977] cx231xx 3-2.4:1.1: media_gobj_init: id 0x02000004 link#4: 'cx25840 19-0044' pad#2 ==> 'cx231xx #0 video' pad#5
> [ 2688.506505] cx231xx 3-2.4:1.1: media_gobj_init: id 0x02000005 link#5: 'cx25840 19-0044' pad#3 ==> 'cx231xx #0 vbi' pad#6
> [ 2688.508074] cx231xx 3-2.4:1.1: media_gobj_init: id 0x02000006 link#6: 'cx25840 19-0044' pad#3 ==> 'cx231xx #0 vbi' pad#6
> 
> Those are the new debug messages when the device is removed:
> 
> [ 2953.872780] cx231xx 3-2.4:1.1: media_gobj_remove: id 0x02000002 link#2: 'NXP TDA18271HD' pad#4 ==> 'cx25840 19-0044' pad#1
> [ 2953.874470] cx231xx 3-2.4:1.1: media_gobj_remove: id 0x02000003 link#3: 'cx25840 19-0044' pad#2 ==> 'cx231xx #0 video' pad#5
> [ 2953.876199] cx231xx 3-2.4:1.1: media_gobj_remove: id 0x02000005 link#5: 'cx25840 19-0044' pad#3 ==> 'cx231xx #0 vbi' pad#6
> [ 2953.877830] cx231xx 3-2.4:1.1: media_gobj_remove: id 0x01000001 cx25840 19-0044 pad#1
> [ 2953.879454] cx231xx 3-2.4:1.1: media_gobj_remove: id 0x01000002 cx25840 19-0044 pad#2
> [ 2953.881020] cx231xx 3-2.4:1.1: media_gobj_remove: id 0x01000003 cx25840 19-0044 pad#3
> [ 2953.882569] cx231xx 3-2.4:1.1: media_gobj_remove: id 0x00000001 entity#1 'cx25840 19-0044'
> 
> [ 2953.884093] cx231xx 3-2.4:1.1: media_gobj_remove: id 0x02000001 link#1: 'NXP TDA18271HD' pad#4 ==> 'cx25840 19-0044' pad#1
> [ 2953.885611] cx231xx 3-2.4:1.1: media_gobj_remove: id 0x01000004 NXP TDA18271HD pad#4
> [ 2953.887200] cx231xx 3-2.4:1.1: media_gobj_remove: id 0x00000002 entity#2 'NXP TDA18271HD'
> 
> [ 2953.888638] cx231xx 3-2.4:1.1: media_gobj_remove: id 0x02000004 link#4: 'cx25840 19-0044' pad#2 ==> 'cx231xx #0 video' pad#5
> [ 2953.890093] cx231xx 3-2.4:1.1: media_gobj_remove: id 0x01000005 cx231xx #0 video pad#5
> [ 2953.891549] cx231xx 3-2.4:1.1: media_gobj_remove: id 0x00000003 entity#3 'cx231xx #0 video'
> 
> [ 2953.893006] cx231xx 3-2.4:1.1: media_gobj_remove: id 0x02000006 link#6: 'cx25840 19-0044' pad#3 ==> 'cx231xx #0 vbi' pad#6
> [ 2953.894471] cx231xx 3-2.4:1.1: media_gobj_remove: id 0x01000006 cx231xx #0 vbi pad#6
> [ 2953.895955] cx231xx 3-2.4:1.1: media_gobj_remove: id 0x00000004 entity#4 'cx231xx #0 vbi'
> [ 2953.897505] cx231xx 3-2.4:1.1: Media device released
> [ 2953.898924] cx231xx 3-2.4:1.1: Media device unregistered
> 
> It should be noticed that both links and backlinks are reported
> on the above. That's because now they're implemented as two separate
> links right now.
> 
> Mauro Carvalho Chehab (8):
>   [media] media: create a macro to get entity ID
>   [media] media: add a common struct to be embed on media graph objects
>   [media] media: use media_gobj inside entities
>   [media] media: use media_gobj inside pads
>   [media] media: use media_gobj inside links
>   [media] media: add messages when media device gets (un)registered
>   [media] media: add a debug message to warn about gobj creation/removal
>   [media] media: rename the function that create pad links
> 
>  Documentation/media-framework.txt                  |   2 +-
>  drivers/media/dvb-core/dvbdev.c                    |   8 +-
>  drivers/media/i2c/s5c73m3/s5c73m3-core.c           |   4 +-
>  drivers/media/i2c/s5k5baf.c                        |   2 +-
>  drivers/media/i2c/smiapp/smiapp-core.c             |   4 +-
>  drivers/media/media-device.c                       |  41 +++++--
>  drivers/media/media-entity.c                       | 123 ++++++++++++++++++++-
>  drivers/media/platform/exynos4-is/media-dev.c      |  16 +--
>  drivers/media/platform/omap3isp/isp.c              |  18 +--
>  drivers/media/platform/omap3isp/ispccdc.c          |   2 +-
>  drivers/media/platform/omap3isp/ispccp2.c          |   2 +-
>  drivers/media/platform/omap3isp/ispcsi2.c          |   2 +-
>  drivers/media/platform/omap3isp/isppreview.c       |   4 +-
>  drivers/media/platform/omap3isp/ispresizer.c       |   4 +-
>  drivers/media/platform/s3c-camif/camif-core.c      |   4 +-
>  drivers/media/platform/vsp1/vsp1_drv.c             |   4 +-
>  drivers/media/platform/vsp1/vsp1_rpf.c             |   2 +-
>  drivers/media/platform/vsp1/vsp1_video.c           |   4 +-
>  drivers/media/platform/vsp1/vsp1_wpf.c             |   2 +-
>  drivers/media/platform/xilinx/xilinx-vipp.c        |   4 +-
>  drivers/media/usb/cx231xx/cx231xx-cards.c          |   6 +-
>  drivers/media/usb/uvc/uvc_entity.c                 |   2 +-
>  drivers/staging/media/davinci_vpfe/dm365_ipipeif.c |   2 +-
>  drivers/staging/media/davinci_vpfe/dm365_isif.c    |   2 +-
>  drivers/staging/media/davinci_vpfe/dm365_resizer.c |   8 +-
>  .../staging/media/davinci_vpfe/vpfe_mc_capture.c   |  10 +-
>  drivers/staging/media/omap4iss/iss.c               |  12 +-
>  drivers/staging/media/omap4iss/iss_csi2.c          |   2 +-
>  drivers/staging/media/omap4iss/iss_ipipeif.c       |   2 +-
>  drivers/staging/media/omap4iss/iss_resizer.c       |   2 +-
>  include/media/media-device.h                       |   7 +-
>  include/media/media-entity.h                       |  82 +++++++++++++-
>  32 files changed, 302 insertions(+), 87 deletions(-)
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux