All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 00/22] media: imx: Create media links in bound notifiers
@ 2020-05-01 17:15 Steve Longerbeam
  2020-05-01 17:15 ` [PATCH v6 01/22] media: entity: Pass entity to get_fwnode_pad operation Steve Longerbeam
                   ` (21 more replies)
  0 siblings, 22 replies; 28+ messages in thread
From: Steve Longerbeam @ 2020-05-01 17:15 UTC (permalink / raw)
  To: linux-media
  Cc: Sakari Ailus, Mauro Carvalho Chehab, Hans Verkuil,
	Rui Miguel Silva, Laurent Pinchart, Philipp Zabel,
	Steve Longerbeam

Move media link creation into the notifier bound callbacks in the
set of subdevices required by imx (imx5/6/7 CSI, imx6/7 MIPI CSI-2
receivers, and video-mux).

Rui, Laurent:

AFAICT the i.MX7 CSI can only ever connect to a CSI mux, which really
makes the function imx7_csi_get_upstream_endpoint() unnecessary. See
patches 17/22 and 18/22, and let me know if that makes sense.


History:

v6:
- Renamed v4l2_subdev_get_fwnode_pad_default() to
  v4l2_subdev_get_fwnode_pad_1_to_1().
- Instead of verifying the endpoint itself is owned by the subdevice,
  it's sufficient and more efficient to verify the endpoint's port parent
  is the subdevice, in v4l2_subdev_get_fwnode_pad_1_to_1().
  Suggested by Sakari.
- Dropped patch "media: entity: Modify default behavior of
  media_entity_get_fwnode_pad" again. It's not strictly needed for
  this patchset and can be revisited later.

v5:
- Revived patch "media: entity: Modify default behavior of
  media_entity_get_fwnode_pad" from v2.
- Added a v4l2_subdev_get_fwnode_pad_default, which can be used as
  a subdev's .get_fwnode_pad() operation if the subdev maps fwnode
  port id's and pad indexes 1:1. Used by video-mux, imx6/7 MIPI
  CSI-2 receivers, and imx7 CSI.
- Exported imx_media_create_fwnode_pad_link(s) to v4l2-core as
  v4l2_create_fwnode_links_to_pad() and v4l2_create_fwnode_links().
  Used by the video-mux, imx5/6/7 CSI's, and imx6/7 MIPI CSI-2
  receivers in their bound notifiers.
- Introduced a new group id IMX_MEDIA_GRP_ID_CSI_MUX, the imx6/7 CSI's
  will set the bound subdev grp_id to this if the bound subdev is a
  video mux.
- Removed imx7_csi_get_upstream_endpoint(), replacing with simpler
  code, see above.

v4:
- Removed the endpoint parsing callback APIs from video-mux and imx drivers
  as suggested by Sakari, replacing with endpoint parsing local to the
  drivers and the use of v4l2_async_notifier_add_fwnode_remote_subdev().
  As a result convenience function v4l2_async_register_fwnode_subdev()
  is no longer used and is reverted.

v3:
- The changes to the default behaviour in media_entity_get_fwnode_pad(),
  and the fixes to current media drivers that call it inconsistently, have
  been put-off to another time. Instead this version implements the
  get_fwnode_pad operation where required in the imx and video-mux
  subdevices to make media link creation work correctly. The
  improvements to media_entity_get_fwnode_pad() can wait to another
  patch series.

v2:
- rename/move the notifier-to-state inlines in imx7-mipi-csis.c and
  imx7-media-csi.c, suggested by Rui Silva.
- rewrite imx_media_create_links() to only add the missing media links
  from the imx6 MIPI CSI-2 receiver.


Steve Longerbeam (22):
  media: entity: Pass entity to get_fwnode_pad operation
  media: v4l2-subdev: add v4l2_subdev_get_fwnode_pad_1_to_1
  media: v4l2-mc: add v4l2_create_fwnode_links helpers
  media: video-mux: Parse information from firmware without using
    callbacks
  media: imx: Parse information from firmware without using callbacks
  Revert "media: v4l2-fwnode: Add a convenience function for registering
    subdevs with notifiers"
  media: imx: csi: Implement get_fwnode_pad op
  media: video-mux: Implement get_fwnode_pad op
  media: imx: mipi csi-2: Implement get_fwnode_pad op
  media: imx: imx7-mipi-csis: Implement get_fwnode_pad op
  media: imx: imx7-media-csi: Implement get_fwnode_pad op
  media: video-mux: Create media links in bound notifier
  media: imx: mipi csi-2: Create media links in bound notifier
  media: imx7: mipi csis: Create media links in bound notifier
  media: imx7: csi: Create media links in bound notifier
  media: imx: csi: Create media links in bound notifier
  media: imx7: csi: Remove imx7_csi_get_upstream_endpoint()
  media: imx5/6/7: csi: Mark a bound video mux as a CSI mux
  media: imx: csi: Lookup upstream endpoint with
    imx_media_get_pad_fwnode
  media: imx: Create missing links from CSI-2 receiver
  media: imx: silence a couple debug messages
  media: imx: TODO: Remove media link creation todos

 drivers/media/mc/mc-entity.c                  |   2 +-
 drivers/media/platform/video-mux.c            |  87 +++++++--
 drivers/media/v4l2-core/v4l2-fwnode.c         |  62 ------
 drivers/media/v4l2-core/v4l2-mc.c             |  95 +++++++++
 drivers/media/v4l2-core/v4l2-subdev.c         |  22 +++
 drivers/staging/media/imx/TODO                |  29 ---
 drivers/staging/media/imx/imx-media-csi.c     | 181 +++++++++++-------
 .../staging/media/imx/imx-media-dev-common.c  |  50 ++---
 drivers/staging/media/imx/imx-media-dev.c     |   2 +-
 .../staging/media/imx/imx-media-internal-sd.c |   6 +-
 drivers/staging/media/imx/imx-media-of.c      | 114 -----------
 drivers/staging/media/imx/imx-media-utils.c   |  33 ++++
 drivers/staging/media/imx/imx-media.h         |   6 +-
 drivers/staging/media/imx/imx6-mipi-csi2.c    |  93 +++++++--
 drivers/staging/media/imx/imx7-media-csi.c    | 160 +++++++++-------
 drivers/staging/media/imx/imx7-mipi-csis.c    | 107 ++++++++---
 include/media/media-entity.h                  |   3 +-
 include/media/v4l2-fwnode.h                   |  38 ----
 include/media/v4l2-mc.h                       |  48 +++++
 include/media/v4l2-subdev.h                   |  17 ++
 20 files changed, 660 insertions(+), 495 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2020-05-04  9:14 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-01 17:15 [PATCH v6 00/22] media: imx: Create media links in bound notifiers Steve Longerbeam
2020-05-01 17:15 ` [PATCH v6 01/22] media: entity: Pass entity to get_fwnode_pad operation Steve Longerbeam
2020-05-01 17:15 ` [PATCH v6 02/22] media: v4l2-subdev: add v4l2_subdev_get_fwnode_pad_1_to_1 Steve Longerbeam
2020-05-01 17:15 ` [PATCH v6 03/22] media: v4l2-mc: add v4l2_create_fwnode_links helpers Steve Longerbeam
2020-05-01 17:15 ` [PATCH v6 04/22] media: video-mux: Parse information from firmware without using callbacks Steve Longerbeam
2020-05-01 17:15 ` [PATCH v6 05/22] media: imx: " Steve Longerbeam
2020-05-01 17:15 ` [PATCH v6 06/22] Revert "media: v4l2-fwnode: Add a convenience function for registering subdevs with notifiers" Steve Longerbeam
2020-05-01 17:15 ` [PATCH v6 07/22] media: imx: csi: Implement get_fwnode_pad op Steve Longerbeam
2020-05-01 17:15 ` [PATCH v6 08/22] media: video-mux: " Steve Longerbeam
2020-05-01 17:15 ` [PATCH v6 09/22] media: imx: mipi csi-2: " Steve Longerbeam
2020-05-01 17:15 ` [PATCH v6 10/22] media: imx: imx7-mipi-csis: " Steve Longerbeam
2020-05-04  9:14   ` Rui Miguel Silva
2020-05-01 17:15 ` [PATCH v6 11/22] media: imx: imx7-media-csi: " Steve Longerbeam
2020-05-04  9:14   ` Rui Miguel Silva
2020-05-01 17:15 ` [PATCH v6 12/22] media: video-mux: Create media links in bound notifier Steve Longerbeam
2020-05-01 17:15 ` [PATCH v6 13/22] media: imx: mipi csi-2: " Steve Longerbeam
2020-05-01 17:15 ` [PATCH v6 14/22] media: imx7: mipi csis: " Steve Longerbeam
2020-05-04  9:12   ` Rui Miguel Silva
2020-05-01 17:15 ` [PATCH v6 15/22] media: imx7: csi: " Steve Longerbeam
2020-05-01 17:15 ` [PATCH v6 16/22] media: imx: " Steve Longerbeam
2020-05-01 17:15 ` [PATCH v6 17/22] media: imx7: csi: Remove imx7_csi_get_upstream_endpoint() Steve Longerbeam
2020-05-04  9:10   ` Rui Miguel Silva
2020-05-01 17:15 ` [PATCH v6 18/22] media: imx5/6/7: csi: Mark a bound video mux as a CSI mux Steve Longerbeam
2020-05-04  9:12   ` Rui Miguel Silva
2020-05-01 17:15 ` [PATCH v6 19/22] media: imx: csi: Lookup upstream endpoint with imx_media_get_pad_fwnode Steve Longerbeam
2020-05-01 17:15 ` [PATCH v6 20/22] media: imx: Create missing links from CSI-2 receiver Steve Longerbeam
2020-05-01 17:15 ` [PATCH v6 21/22] media: imx: silence a couple debug messages Steve Longerbeam
2020-05-01 17:15 ` [PATCH v6 22/22] media: imx: TODO: Remove media link creation todos Steve Longerbeam

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.