linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Marco Felsch <m.felsch@pengutronix.de>
To: mchehab@kernel.org, sakari.ailus@linux.intel.com,
	hans.verkuil@cisco.com, jacopo+renesas@jmondi.org,
	robh+dt@kernel.org, laurent.pinchart@ideasonboard.com
Cc: devicetree@vger.kernel.org, kernel@pengutronix.de,
	linux-media@vger.kernel.org
Subject: [PATCH v11 11/15] media: tvp5150: add s_power callback
Date: Mon, 30 Sep 2019 11:38:56 +0200	[thread overview]
Message-ID: <20190930093900.16524-12-m.felsch@pengutronix.de> (raw)
In-Reply-To: <20190930093900.16524-1-m.felsch@pengutronix.de>

Don't en-/disable the interrupts during s_stream because someone can
disable the stream but wants to get informed if the stream is locked
again. So keep the interrupts enabled the whole time the pipeline is
opened.

Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
---
 drivers/media/i2c/tvp5150.c | 23 +++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)

diff --git a/drivers/media/i2c/tvp5150.c b/drivers/media/i2c/tvp5150.c
index dda9f0a2995f..4afe2093b950 100644
--- a/drivers/media/i2c/tvp5150.c
+++ b/drivers/media/i2c/tvp5150.c
@@ -1356,11 +1356,26 @@ static const struct media_entity_operations tvp5150_sd_media_ops = {
 /****************************************************************************
 			I2C Command
  ****************************************************************************/
+static int tvp5150_s_power(struct  v4l2_subdev *sd, int on)
+{
+	struct tvp5150 *decoder = to_tvp5150(sd);
+	unsigned int val = 0;
+
+	if (on)
+		val = TVP5150_INT_A_LOCK;
+
+	if (decoder->irq)
+		/* Enable / Disable lock interrupt */
+		regmap_update_bits(decoder->regmap, TVP5150_INT_ENABLE_REG_A,
+				   TVP5150_INT_A_LOCK, val);
+
+	return 0;
+}
 
 static int tvp5150_s_stream(struct v4l2_subdev *sd, int enable)
 {
 	struct tvp5150 *decoder = to_tvp5150(sd);
-	unsigned int mask, val = 0, int_val = 0;
+	unsigned int mask, val = 0;
 
 	mask = TVP5150_MISC_CTL_YCBCR_OE | TVP5150_MISC_CTL_SYNC_OE |
 	       TVP5150_MISC_CTL_CLOCK_OE;
@@ -1373,15 +1388,10 @@ static int tvp5150_s_stream(struct v4l2_subdev *sd, int enable)
 			val = decoder->lock ? decoder->oe : 0;
 		else
 			val = decoder->oe;
-		int_val = TVP5150_INT_A_LOCK;
 		v4l2_subdev_notify_event(&decoder->sd, &tvp5150_ev_fmt);
 	}
 
 	regmap_update_bits(decoder->regmap, TVP5150_MISC_CTL, mask, val);
-	if (decoder->irq)
-		/* Enable / Disable lock interrupt */
-		regmap_update_bits(decoder->regmap, TVP5150_INT_ENABLE_REG_A,
-				   TVP5150_INT_A_LOCK, int_val);
 
 	return 0;
 }
@@ -1580,6 +1590,7 @@ static const struct v4l2_subdev_core_ops tvp5150_core_ops = {
 	.g_register = tvp5150_g_register,
 	.s_register = tvp5150_s_register,
 #endif
+	.s_power = tvp5150_s_power,
 };
 
 static const struct v4l2_subdev_tuner_ops tvp5150_tuner_ops = {
-- 
2.20.1


  parent reply	other threads:[~2019-09-30  9:39 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-30  9:38 [PATCH v11 00/15] TVP5150 Features and fixes Marco Felsch
2019-09-30  9:38 ` [PATCH v11 01/15] dt-bindings: connector: analog: add sdtv standards property Marco Felsch
2019-09-30  9:38 ` [PATCH v11 02/15] media: v4l: link dt-bindings and uapi Marco Felsch
2019-09-30  9:38 ` [PATCH v11 03/15] media: v4l2-fwnode: add v4l2_fwnode_connector Marco Felsch
2019-09-30  9:38 ` [PATCH v11 04/15] media: v4l2-fwnode: add initial connector parsing support Marco Felsch
2019-11-15 23:34   ` Sakari Ailus
2019-11-19 11:37     ` Marco Felsch
2019-11-27  8:17       ` Marco Felsch
2020-01-08 15:36     ` Marco Felsch
2020-01-09  7:07       ` Marco Felsch
2020-01-15 17:06     ` Marco Felsch
2020-02-18 12:18       ` Sakari Ailus
2019-09-30  9:38 ` [PATCH v11 05/15] partial revert of "[media] tvp5150: add HW input connectors support" Marco Felsch
2019-09-30  9:38 ` [PATCH v11 06/15] media: tvp5150: add input source selection of_graph support Marco Felsch
2019-09-30  9:38 ` [PATCH v11 07/15] media: dt-bindings: tvp5150: Add input port connectors DT bindings Marco Felsch
2019-09-30  9:38 ` [PATCH v11 08/15] media: tvp5150: fix set_selection rectangle handling Marco Felsch
2019-09-30  9:38 ` [PATCH v11 09/15] media: tvp5150: add FORMAT_TRY support for get/set selection handlers Marco Felsch
2019-09-30  9:38 ` [PATCH v11 10/15] media: tvp5150: initialize subdev before parsing device tree Marco Felsch
2019-09-30  9:38 ` Marco Felsch [this message]
2019-10-24 11:59   ` [PATCH v11 11/15] media: tvp5150: add s_power callback Sakari Ailus
2019-11-08 10:25     ` Marco Felsch
2019-11-08 10:38       ` Sakari Ailus
2019-09-30  9:38 ` [PATCH v11 12/15] media: dt-bindings: tvp5150: cleanup bindings stlye Marco Felsch
2019-09-30  9:38 ` [PATCH v11 13/15] media: dt-bindings: tvp5150: add optional sdtv standards documentation Marco Felsch
2019-09-30  9:38 ` [PATCH v11 14/15] media: tvp5150: add support to limit sdtv standards Marco Felsch
2019-09-30  9:39 ` [PATCH v11 15/15] media: tvp5150: make debug output more readable Marco Felsch

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=20190930093900.16524-12-m.felsch@pengutronix.de \
    --to=m.felsch@pengutronix.de \
    --cc=devicetree@vger.kernel.org \
    --cc=hans.verkuil@cisco.com \
    --cc=jacopo+renesas@jmondi.org \
    --cc=kernel@pengutronix.de \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=robh+dt@kernel.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).