From: Jacopo Mondi <jacopo+renesas@jmondi.org>
To: sakari.ailus@linux.intel.com, laurent.pinchart@ideasonboard.com,
niklas.soderlund+renesas@ragnatech.se
Cc: Jacopo Mondi <jacopo+renesas@jmondi.org>,
luca@lucaceresoli.net, ian.arkver.dev@gmail.com,
linux-media@vger.kernel.org, linux-renesas-soc@vger.kernel.org
Subject: [PATCH v4 00/31] v4l: add support for multiplexed streams
Date: Thu, 28 Mar 2019 21:05:37 +0100 [thread overview]
Message-ID: <20190328200608.9463-1-jacopo+renesas@jmondi.org> (raw)
Hello,
new iteration of multiplexed stream support patch series.
V3 available at:
https://patchwork.kernel.org/cover/10839889/
V2 sent by Niklas is available at:
https://patchwork.kernel.org/cover/10573817/
Series available at:
git://jmondi.org/linux v4l2-mux/media-master/v4
Few changes compared to v3:
- Rebased on latest media master
- Include Sakari's and Luca's comments on documentation patch
- Improve connected pad operator as suggested by Ian and Sakari
- Fix a bogus -EINVAL return in 31/31 as suggested by Sakari
- Improve adv748x afe has_route as suggested by Luca and Sakari
- Closed some checkpatch warnings (there are still a few though)
v2 -> v3
- Added IOCTLs documentation, and a section to describe multiplexed media links
to the v4l2-subdevice interface chapter and expanded functions documentation
- Re-worked the IOCTLs so that they don't need a compat version
- Sort pads to be passed to has_route() by their index values
- Drop indirect routes support from this initial version. Might be considered
later to simplify subdevice drivers implementations
- Add has_route() operations to adv748x and rcar-csi2 subdevice drivers
Jacopo Mondi (4):
media: entity: Add iterator helper for entity pads
media: Documentation: Add GS_ROUTING documentation
adv748x: afe: Implement has_route()
media: rcar-csi2: Implement has_route()
Laurent Pinchart (4):
media: entity: Add has_route entity operation
media: entity: Add media_entity_has_route() function
media: entity: Use routing information during graph traversal
v4l: subdev: Add [GS]_ROUTING subdev ioctls and operations
Niklas Söderlund (7):
adv748x: csi2: add translation from pixelcode to CSI-2 datatype
adv748x: csi2: only allow formats on sink pads
adv748x: csi2: describe the multiplexed stream
adv748x: csi2: add internal routing configuration
adv748x: afe: add routing support
rcar-csi2: use frame description information to configure CSI-2 bus
rcar-csi2: expose the subdevice internal routing
Sakari Ailus (16):
media: entity: Use pad as a starting point for graph walk
media: entity: Use pads instead of entities in the media graph walk
stack
media: entity: Walk the graph based on pads
v4l: mc: Start walk from a specific pad in use count calculation
media: entity: Move the pipeline from entity to pads
media: entity: Use pad as the starting point for a pipeline
media: entity: Skip link validation for pads to which there is no
route to
media: entity: Add an iterator helper for connected pads
media: entity: Add only connected pads to the pipeline
media: entity: Add debug information in graph walk route check
v4l: Add bus type to frame descriptors
v4l: Add CSI-2 bus configuration to frame descriptors
v4l: Add stream to frame descriptor
v4l: subdev: Take routing information into account in link validation
v4l: subdev: Improve link format validation debug messages
v4l: mc: Add an S_ROUTING helper function for power state changes
Documentation/media/kapi/mc-core.rst | 15 +-
Documentation/media/uapi/v4l/dev-subdev.rst | 92 ++++++
Documentation/media/uapi/v4l/user-func.rst | 1 +
.../uapi/v4l/vidioc-subdev-g-routing.rst | 139 ++++++++
drivers/media/i2c/adv748x/adv748x-afe.c | 91 ++++++
drivers/media/i2c/adv748x/adv748x-csi2.c | 136 +++++++-
drivers/media/i2c/adv748x/adv748x.h | 1 +
drivers/media/media-device.c | 13 +-
drivers/media/media-entity.c | 238 ++++++++------
drivers/media/pci/intel/ipu3/ipu3-cio2.c | 6 +-
.../media/platform/exynos4-is/fimc-capture.c | 8 +-
.../platform/exynos4-is/fimc-isp-video.c | 8 +-
drivers/media/platform/exynos4-is/fimc-isp.c | 2 +-
drivers/media/platform/exynos4-is/fimc-lite.c | 10 +-
drivers/media/platform/exynos4-is/media-dev.c | 20 +-
drivers/media/platform/omap3isp/isp.c | 2 +-
drivers/media/platform/omap3isp/ispvideo.c | 25 +-
drivers/media/platform/omap3isp/ispvideo.h | 2 +-
.../media/platform/qcom/camss/camss-video.c | 6 +-
drivers/media/platform/rcar-vin/rcar-core.c | 16 +-
drivers/media/platform/rcar-vin/rcar-csi2.c | 220 ++++++++++---
drivers/media/platform/rcar-vin/rcar-dma.c | 8 +-
.../media/platform/s3c-camif/camif-capture.c | 6 +-
drivers/media/platform/vimc/vimc-capture.c | 5 +-
drivers/media/platform/vsp1/vsp1_video.c | 18 +-
drivers/media/platform/xilinx/xilinx-dma.c | 20 +-
drivers/media/platform/xilinx/xilinx-dma.h | 2 +-
drivers/media/usb/au0828/au0828-core.c | 4 +-
drivers/media/v4l2-core/v4l2-ioctl.c | 25 +-
drivers/media/v4l2-core/v4l2-mc.c | 76 +++--
drivers/media/v4l2-core/v4l2-subdev.c | 296 ++++++++++++++++--
.../staging/media/davinci_vpfe/vpfe_video.c | 47 +--
drivers/staging/media/imx/imx-media-utils.c | 8 +-
drivers/staging/media/omap4iss/iss.c | 2 +-
drivers/staging/media/omap4iss/iss_video.c | 38 +--
drivers/staging/media/omap4iss/iss_video.h | 2 +-
include/media/media-entity.h | 143 ++++++---
include/media/v4l2-mc.h | 22 ++
include/media/v4l2-subdev.h | 49 +++
include/uapi/linux/v4l2-subdev.h | 40 +++
40 files changed, 1492 insertions(+), 370 deletions(-)
create mode 100644 Documentation/media/uapi/v4l/vidioc-subdev-g-routing.rst
--
2.21.0
next reply other threads:[~2019-03-28 20:05 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-28 20:05 Jacopo Mondi [this message]
2019-03-28 20:05 ` [PATCH v4 01/31] media: entity: Use pad as a starting point for graph walk Jacopo Mondi
2019-03-28 20:05 ` [PATCH v4 02/31] media: entity: Use pads instead of entities in the media graph walk stack Jacopo Mondi
2019-03-28 20:05 ` [PATCH v4 03/31] media: entity: Walk the graph based on pads Jacopo Mondi
2019-03-28 20:05 ` [PATCH v4 04/31] v4l: mc: Start walk from a specific pad in use count calculation Jacopo Mondi
2019-03-28 20:05 ` [PATCH v4 05/31] media: entity: Add iterator helper for entity pads Jacopo Mondi
2019-03-28 20:05 ` [PATCH v4 06/31] media: entity: Move the pipeline from entity to pads Jacopo Mondi
2019-03-28 20:05 ` [PATCH v4 07/31] media: entity: Use pad as the starting point for a pipeline Jacopo Mondi
2019-03-28 20:05 ` [PATCH v4 08/31] media: entity: Add has_route entity operation Jacopo Mondi
2019-03-28 20:05 ` [PATCH v4 09/31] media: entity: Add media_entity_has_route() function Jacopo Mondi
2019-03-28 20:05 ` [PATCH v4 10/31] media: entity: Use routing information during graph traversal Jacopo Mondi
2019-03-28 20:05 ` [PATCH v4 11/31] media: entity: Skip link validation for pads to which there is no route to Jacopo Mondi
2019-03-28 20:05 ` [PATCH v4 12/31] media: entity: Add an iterator helper for connected pads Jacopo Mondi
2019-03-28 20:05 ` [PATCH v4 13/31] media: entity: Add only connected pads to the pipeline Jacopo Mondi
2019-03-28 20:05 ` [PATCH v4 14/31] media: entity: Add debug information in graph walk route check Jacopo Mondi
2019-03-28 20:05 ` [PATCH v4 15/31] v4l: Add bus type to frame descriptors Jacopo Mondi
2019-03-28 20:05 ` [PATCH v4 16/31] v4l: Add CSI-2 bus configuration " Jacopo Mondi
2019-03-28 20:05 ` [PATCH v4 17/31] v4l: Add stream to frame descriptor Jacopo Mondi
2019-03-28 20:05 ` [PATCH v4 18/31] v4l: subdev: Add [GS]_ROUTING subdev ioctls and operations Jacopo Mondi
2019-04-01 12:35 ` Sakari Ailus
2019-03-28 20:05 ` [PATCH v4 19/31] media: Documentation: Add GS_ROUTING documentation Jacopo Mondi
2019-03-28 20:05 ` [PATCH v4 20/31] v4l: subdev: Take routing information into account in link validation Jacopo Mondi
2019-03-28 20:05 ` [PATCH v4 21/31] v4l: subdev: Improve link format validation debug messages Jacopo Mondi
2019-03-28 20:05 ` [PATCH v4 22/31] v4l: mc: Add an S_ROUTING helper function for power state changes Jacopo Mondi
2019-03-28 20:06 ` [PATCH v4 23/31] adv748x: csi2: add translation from pixelcode to CSI-2 datatype Jacopo Mondi
2019-03-28 20:06 ` [PATCH v4 24/31] adv748x: csi2: only allow formats on sink pads Jacopo Mondi
2019-03-28 20:06 ` [PATCH v4 25/31] adv748x: csi2: describe the multiplexed stream Jacopo Mondi
2019-03-28 20:06 ` [PATCH v4 26/31] adv748x: csi2: add internal routing configuration Jacopo Mondi
2019-03-28 20:06 ` [PATCH v4 27/31] adv748x: afe: add routing support Jacopo Mondi
2019-03-28 20:06 ` [PATCH v4 28/31] adv748x: afe: Implement has_route() Jacopo Mondi
2019-03-28 20:06 ` [PATCH v4 29/31] rcar-csi2: use frame description information to configure CSI-2 bus Jacopo Mondi
2019-03-28 20:06 ` [PATCH v4 30/31] rcar-csi2: expose the subdevice internal routing Jacopo Mondi
2019-03-28 20:06 ` [PATCH v4 31/31] media: rcar-csi2: Implement has_route() Jacopo Mondi
2019-03-29 1:17 ` [PATCH v4 00/31] v4l: add support for multiplexed streams Sakari Ailus
2019-03-29 8:32 ` Jacopo Mondi
2019-04-01 12:32 ` Sakari Ailus
2021-02-11 13:44 ` Tomi Valkeinen
2022-10-06 11:20 ` Sakari Ailus
2022-10-07 11:58 ` Tomi Valkeinen
2022-10-07 12:14 ` Laurent Pinchart
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=20190328200608.9463-1-jacopo+renesas@jmondi.org \
--to=jacopo+renesas@jmondi.org \
--cc=ian.arkver.dev@gmail.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=luca@lucaceresoli.net \
--cc=niklas.soderlund+renesas@ragnatech.se \
--cc=sakari.ailus@linux.intel.com \
/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.