All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steve Longerbeam <slongerbeam@gmail.com>
To: linux-media@vger.kernel.org
Cc: "Steve Longerbeam" <slongerbeam@gmail.com>,
	"Niklas Söderlund" <niklas.soderlund@ragnatech.se>,
	"Mauro Carvalho Chehab" <mchehab@kernel.org>,
	linux-renesas-soc@vger.kernel.org (open list:MEDIA DRIVERS FOR
	RENESAS - VIN), linux-kernel@vger.kernel.org (open list)
Subject: [RFC PATCH] media: rcar-vin: Allow independent VIN link enablement
Date: Tue, 25 Dec 2018 15:27:25 -0800	[thread overview]
Message-ID: <20181225232725.15935-1-slongerbeam@gmail.com> (raw)

There is a block of code in rvin_group_link_notify() that prevents
enabling a link to a VIN node if any entity in the media graph is
in use. This prevents enabling a VIN link even if there is an in-use
entity somewhere in the graph that is independent of the link's
pipeline.

For example, the code block will prevent enabling a link from
the first rcar-csi2 receiver to a VIN node even if there is an
enabled link somewhere far upstream on the second independent
rcar-csi2 receiver pipeline.

If this code block is meant to prevent modifying a link if the
link is actively involved in streaming, there is already such a
check in __media_entity_setup_link() that verifies the stream_count
of the link's source and sink entities are both zero.

Remove the code block so that VIN node links can be enabled even if
there are other independent in-use entities.

Fixes: c0cc5aef31 ("media: rcar-vin: add link notify for Gen3")

Signed-off-by: Steve Longerbeam <slongerbeam@gmail.com>
---
 drivers/media/platform/rcar-vin/rcar-core.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/media/platform/rcar-vin/rcar-core.c b/drivers/media/platform/rcar-vin/rcar-core.c
index f0719ce24b97..b2c9a876969e 100644
--- a/drivers/media/platform/rcar-vin/rcar-core.c
+++ b/drivers/media/platform/rcar-vin/rcar-core.c
@@ -116,7 +116,6 @@ static int rvin_group_link_notify(struct media_link *link, u32 flags,
 						struct rvin_group, mdev);
 	unsigned int master_id, channel, mask_new, i;
 	unsigned int mask = ~0;
-	struct media_entity *entity;
 	struct video_device *vdev;
 	struct media_pad *csi_pad;
 	struct rvin_dev *vin = NULL;
@@ -131,11 +130,6 @@ static int rvin_group_link_notify(struct media_link *link, u32 flags,
 	    !is_media_entity_v4l2_video_device(link->sink->entity))
 		return 0;
 
-	/* If any entity is in use don't allow link changes. */
-	media_device_for_each_entity(entity, &group->mdev)
-		if (entity->use_count)
-			return -EBUSY;
-
 	mutex_lock(&group->lock);
 
 	/* Find the master VIN that controls the routes. */
-- 
2.17.1


             reply	other threads:[~2018-12-25 23:27 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-25 23:27 Steve Longerbeam [this message]
2018-12-27  0:51 ` [RFC PATCH] media: rcar-vin: Allow independent VIN link enablement Niklas Söderlund
2018-12-29 23:37   ` Steve Longerbeam
2019-01-05  0:48     ` Steve Longerbeam

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=20181225232725.15935-1-slongerbeam@gmail.com \
    --to=slongerbeam@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=niklas.soderlund@ragnatech.se \
    /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.