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 Cc: laurent.pinchart@ideasonboard.com, linux-media@vger.kernel.org, devicetree@vger.kernel.org, kernel@pengutronix.de Subject: [PATCH v6 09/13] media: tvp5150: add s_power callback Date: Mon, 15 Apr 2019 14:44:09 +0200 Message-ID: <20190415124413.18456-10-m.felsch@pengutronix.de> (raw) In-Reply-To: <20190415124413.18456-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 305a5e256b31..cd54715eb641 100644 --- a/drivers/media/i2c/tvp5150.c +++ b/drivers/media/i2c/tvp5150.c @@ -1370,11 +1370,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; @@ -1387,15 +1402,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; } @@ -1586,6 +1596,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
next prev parent reply index Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-04-15 12:44 [PATCH v6 00/13] TVP5150 new features Marco Felsch 2019-04-15 12:44 ` [PATCH v6 01/13] dt-bindings: connector: analog: add tv norms property Marco Felsch 2019-05-06 10:01 ` Hans Verkuil 2019-05-06 10:06 ` Hans Verkuil 2019-05-14 18:11 ` Mauro Carvalho Chehab 2019-08-09 6:00 ` Marco Felsch 2019-05-16 16:27 ` Laurent Pinchart 2019-08-09 5:58 ` Marco Felsch 2019-08-15 12:33 ` Laurent Pinchart 2019-08-15 12:50 ` Marco Felsch 2019-08-15 13:02 ` Laurent Pinchart 2019-08-15 13:35 ` Marco Felsch 2019-04-15 12:44 ` [PATCH v6 02/13] media: v4l2-fwnode: add v4l2_fwnode_connector Marco Felsch 2019-05-06 9:50 ` Hans Verkuil 2019-05-14 18:17 ` Mauro Carvalho Chehab 2019-08-09 7:20 ` Marco Felsch 2019-05-16 16:36 ` Laurent Pinchart 2019-08-09 7:55 ` Marco Felsch 2019-08-15 12:38 ` Laurent Pinchart 2019-08-15 13:04 ` Marco Felsch 2019-08-15 13:10 ` Laurent Pinchart 2019-08-15 13:37 ` Marco Felsch 2019-04-15 12:44 ` [PATCH v6 03/13] media: v4l2-fwnode: add initial connector parsing support Marco Felsch 2019-05-06 10:10 ` Hans Verkuil 2019-05-14 18:20 ` Mauro Carvalho Chehab 2019-05-16 16:51 ` Laurent Pinchart 2019-08-09 12:16 ` Marco Felsch 2019-08-15 12:48 ` Laurent Pinchart 2019-08-15 13:14 ` Marco Felsch 2019-08-09 8:59 ` Marco Felsch 2019-04-15 12:44 ` [PATCH v6 04/13] partial revert of "[media] tvp5150: add HW input connectors support" Marco Felsch 2019-04-15 12:44 ` [PATCH v6 05/13] media: tvp5150: add input source selection of_graph support Marco Felsch 2019-05-06 10:09 ` Jacopo Mondi 2019-05-14 18:25 ` Mauro Carvalho Chehab 2019-05-16 18:03 ` Laurent Pinchart 2019-08-13 8:54 ` Marco Felsch 2019-08-15 12:51 ` Laurent Pinchart 2019-08-15 13:22 ` Marco Felsch 2019-08-15 13:26 ` Laurent Pinchart 2019-04-15 12:44 ` [PATCH v6 06/13] media: dt-bindings: tvp5150: Add input port connectors DT bindings Marco Felsch 2019-05-14 18:27 ` Mauro Carvalho Chehab 2019-05-16 18:05 ` Laurent Pinchart 2019-08-13 8:56 ` Marco Felsch 2019-04-15 12:44 ` [PATCH v6 07/13] media: tvp5150: add FORMAT_TRY support for get/set selection handlers Marco Felsch 2019-05-06 13:36 ` Jacopo Mondi 2019-08-09 5:33 ` Marco Felsch 2019-05-14 18:48 ` Mauro Carvalho Chehab 2019-08-09 5:34 ` Marco Felsch 2019-04-15 12:44 ` [PATCH v6 08/13] media: tvp5150: initialize subdev before parsing device tree Marco Felsch 2019-05-14 20:20 ` Mauro Carvalho Chehab 2019-08-09 5:42 ` Marco Felsch 2019-04-15 12:44 ` Marco Felsch [this message] 2019-05-14 20:13 ` [PATCH v6 09/13] media: tvp5150: add s_power callback Mauro Carvalho Chehab 2019-08-09 5:39 ` Marco Felsch 2019-04-15 12:44 ` [PATCH v6 10/13] media: dt-bindings: tvp5150: cleanup bindings stlye Marco Felsch 2019-04-15 12:44 ` [PATCH v6 11/13] media: dt-bindings: tvp5150: add optional tvnorms documentation Marco Felsch 2019-04-15 12:44 ` [PATCH v6 12/13] media: tvp5150: add support to limit tv norms on connector Marco Felsch 2019-05-16 18:07 ` Laurent Pinchart 2019-08-13 9:10 ` Marco Felsch 2019-08-15 12:53 ` Laurent Pinchart 2019-08-15 13:26 ` Marco Felsch 2019-04-15 12:44 ` [PATCH v6 13/13] media: tvp5150: make debug output more readable Marco Felsch 2019-05-06 13:39 ` Jacopo Mondi 2019-05-14 20:18 ` Mauro Carvalho Chehab 2019-08-09 5:42 ` Marco Felsch 2019-05-06 5:47 ` [PATCH v6 00/13] TVP5150 new features Marco Felsch 2019-05-14 17:18 ` Mauro Carvalho Chehab 2019-05-14 20:20 ` Mauro Carvalho Chehab 2019-05-14 20:58 ` Marco Felsch 2019-05-14 23:41 ` Mauro Carvalho Chehab
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=20190415124413.18456-10-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
Linux-Media Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-media/0 linux-media/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-media linux-media/ https://lore.kernel.org/linux-media \ linux-media@vger.kernel.org public-inbox-index linux-media Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-media AGPL code for this site: git clone https://public-inbox.org/public-inbox.git