All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steve Longerbeam <slongerbeam@gmail.com>
To: robh+dt@kernel.org, mark.rutland@arm.com, shawnguo@kernel.org,
	kernel@pengutronix.de, fabio.estevam@nxp.com,
	linux@armlinux.org.uk, mchehab@kernel.org, hverkuil@xs4all.nl,
	nick@shmanahar.org, markus.heiser@darmarIT.de,
	p.zabel@pengutronix.de,
	laurent.pinchart+renesas@ideasonboard.com, bparrot@ti.com,
	geert@linux-m68k.org, arnd@arndb.de, sudipm.mukherjee@gmail.com,
	minghsiu.tsai@mediatek.com, tiffany.lin@mediatek.com,
	jean-christophe.trotin@st.com, horms+renesas@verge.net.au,
	niklas.soderlund+renesas@ragnatech.se, robert.jarzmik@free.fr,
	songjun.wu@microchip.com, andrew-ct.chen@mediatek.com,
	gregkh@linuxfoundation.org, shuah@kernel.org,
	sakari.ailus@linux.intel.com, pavel@ucw.cz
Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-media@vger.kernel.org, devel@driverdev.osuosl.org,
	Steve Longerbeam <steve_longerbeam@mentor.com>,
	Russell King <rmk+kernel@armlinux.org.uk>
Subject: [PATCH v4 32/36] media: imx: csi/fim: add support for frame intervals
Date: Wed, 15 Feb 2017 18:19:34 -0800	[thread overview]
Message-ID: <1487211578-11360-33-git-send-email-steve_longerbeam@mentor.com> (raw)
In-Reply-To: <1487211578-11360-1-git-send-email-steve_longerbeam@mentor.com>

Add support to CSI for negotiation of frame intervals, and use this
information to configure the frame interval monitor.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>
---
 drivers/staging/media/imx/imx-media-csi.c | 36 ++++++++++++++++++++++++++++---
 drivers/staging/media/imx/imx-media-fim.c | 28 +++++++++---------------
 drivers/staging/media/imx/imx-media.h     |  2 +-
 3 files changed, 44 insertions(+), 22 deletions(-)

diff --git a/drivers/staging/media/imx/imx-media-csi.c b/drivers/staging/media/imx/imx-media-csi.c
index b0aac82..040cca6 100644
--- a/drivers/staging/media/imx/imx-media-csi.c
+++ b/drivers/staging/media/imx/imx-media-csi.c
@@ -56,6 +56,7 @@ struct csi_priv {
 
 	struct v4l2_mbus_framefmt format_mbus[CSI_NUM_PADS];
 	const struct imx_media_pixfmt *cc[CSI_NUM_PADS];
+	struct v4l2_fract frame_interval;
 	struct v4l2_rect crop;
 
 	/* the video device at IDMAC output pad */
@@ -565,7 +566,8 @@ static int csi_start(struct csi_priv *priv)
 
 	/* start the frame interval monitor */
 	if (priv->fim) {
-		ret = imx_media_fim_set_stream(priv->fim, priv->sensor, true);
+		ret = imx_media_fim_set_stream(priv->fim,
+					       &priv->frame_interval, true);
 		if (ret)
 			goto idmac_stop;
 	}
@@ -580,7 +582,8 @@ static int csi_start(struct csi_priv *priv)
 
 fim_off:
 	if (priv->fim)
-		imx_media_fim_set_stream(priv->fim, priv->sensor, false);
+		imx_media_fim_set_stream(priv->fim,
+					 &priv->frame_interval, false);
 idmac_stop:
 	if (priv->dest == IPU_CSI_DEST_IDMAC)
 		csi_idmac_stop(priv);
@@ -594,11 +597,36 @@ static void csi_stop(struct csi_priv *priv)
 
 	/* stop the frame interval monitor */
 	if (priv->fim)
-		imx_media_fim_set_stream(priv->fim, priv->sensor, false);
+		imx_media_fim_set_stream(priv->fim,
+					 &priv->frame_interval, false);
 
 	ipu_csi_disable(priv->csi);
 }
 
+static int csi_g_frame_interval(struct v4l2_subdev *sd,
+				struct v4l2_subdev_frame_interval *fi)
+{
+	struct csi_priv *priv = v4l2_get_subdevdata(sd);
+
+	fi->interval = priv->frame_interval;
+
+	return 0;
+}
+
+static int csi_s_frame_interval(struct v4l2_subdev *sd,
+				struct v4l2_subdev_frame_interval *fi)
+{
+	struct csi_priv *priv = v4l2_get_subdevdata(sd);
+
+	/* Output pads mirror active input pad, no limits on input pads */
+	if (fi->pad == CSI_SRC_PAD_IDMAC || fi->pad == CSI_SRC_PAD_DIRECT)
+		fi->interval = priv->frame_interval;
+
+	priv->frame_interval = fi->interval;
+
+	return 0;
+}
+
 static int csi_s_stream(struct v4l2_subdev *sd, int enable)
 {
 	struct csi_priv *priv = v4l2_get_subdevdata(sd);
@@ -1187,6 +1215,8 @@ static struct v4l2_subdev_core_ops csi_core_ops = {
 };
 
 static struct v4l2_subdev_video_ops csi_video_ops = {
+	.g_frame_interval = csi_g_frame_interval,
+	.s_frame_interval = csi_s_frame_interval,
 	.s_stream = csi_s_stream,
 };
 
diff --git a/drivers/staging/media/imx/imx-media-fim.c b/drivers/staging/media/imx/imx-media-fim.c
index acc7e39..a6ed57e 100644
--- a/drivers/staging/media/imx/imx-media-fim.c
+++ b/drivers/staging/media/imx/imx-media-fim.c
@@ -67,26 +67,18 @@ struct imx_media_fim {
 };
 
 static void update_fim_nominal(struct imx_media_fim *fim,
-			       struct imx_media_subdev *sensor)
+			       const struct v4l2_fract *fi)
 {
-	struct v4l2_streamparm parm;
-	struct v4l2_fract tpf;
-	int ret;
-
-	parm.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
-	ret = v4l2_subdev_call(sensor->sd, video, g_parm, &parm);
-	tpf = parm.parm.capture.timeperframe;
-
-	if (ret || tpf.denominator == 0) {
-		dev_dbg(fim->sd->dev, "no tpf from sensor, FIM disabled\n");
+	if (fi->denominator == 0) {
+		dev_dbg(fim->sd->dev, "no frame interval, FIM disabled\n");
 		fim->enabled = false;
 		return;
 	}
 
-	fim->nominal = DIV_ROUND_CLOSEST(1000 * 1000 * tpf.numerator,
-					 tpf.denominator);
+	fim->nominal = DIV_ROUND_CLOSEST_ULL(1000000ULL * (u64)fi->numerator,
+					     fi->denominator);
 
-	dev_dbg(fim->sd->dev, "sensor FI=%lu usec\n", fim->nominal);
+	dev_dbg(fim->sd->dev, "FI=%lu usec\n", fim->nominal);
 }
 
 static void reset_fim(struct imx_media_fim *fim, bool curval)
@@ -130,8 +122,8 @@ static void send_fim_event(struct imx_media_fim *fim, unsigned long error)
 
 /*
  * Monitor an averaged frame interval. If the average deviates too much
- * from the sensor's nominal frame rate, send the frame interval error
- * event. The frame intervals are averaged in order to quiet noise from
+ * from the nominal frame rate, send the frame interval error event. The
+ * frame intervals are averaged in order to quiet noise from
  * (presumably random) interrupt latency.
  */
 static void frame_interval_monitor(struct imx_media_fim *fim,
@@ -422,12 +414,12 @@ EXPORT_SYMBOL_GPL(imx_media_fim_set_power);
 
 /* Called by the subdev in its s_stream callback */
 int imx_media_fim_set_stream(struct imx_media_fim *fim,
-			     struct imx_media_subdev *sensor,
+			     const struct v4l2_fract *fi,
 			     bool on)
 {
 	if (on) {
 		reset_fim(fim, true);
-		update_fim_nominal(fim, sensor);
+		update_fim_nominal(fim, fi);
 
 		if (fim->icap_channel >= 0)
 			fim_acquire_first_ts(fim);
diff --git a/drivers/staging/media/imx/imx-media.h b/drivers/staging/media/imx/imx-media.h
index ae3af0d..7f19739 100644
--- a/drivers/staging/media/imx/imx-media.h
+++ b/drivers/staging/media/imx/imx-media.h
@@ -259,7 +259,7 @@ struct imx_media_fim;
 void imx_media_fim_eof_monitor(struct imx_media_fim *fim, struct timespec *ts);
 int imx_media_fim_set_power(struct imx_media_fim *fim, bool on);
 int imx_media_fim_set_stream(struct imx_media_fim *fim,
-			     struct imx_media_subdev *sensor,
+			     const struct v4l2_fract *frame_interval,
 			     bool on);
 struct imx_media_fim *imx_media_fim_init(struct v4l2_subdev *sd);
 void imx_media_fim_free(struct imx_media_fim *fim);
-- 
2.7.4

WARNING: multiple messages have this Message-ID (diff)
From: Steve Longerbeam <slongerbeam-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	mark.rutland-5wv7dgnIgG8@public.gmane.org,
	shawnguo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
	fabio.estevam-3arQi8VN3Tc@public.gmane.org,
	linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org,
	mchehab-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	hverkuil-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org,
	nick-gcszYUEDH4VrovVCs/uTlw@public.gmane.org,
	markus.heiser-O6JHGLzbNUwb1SvskN2V4Q@public.gmane.org,
	p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
	laurent.pinchart+renesas-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org,
	bparrot-l0cyMroinI0@public.gmane.org,
	geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org,
	arnd-r2nGTMty4D4@public.gmane.org,
	sudipm.mukherjee-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	minghsiu.tsai-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org,
	tiffany.lin-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org,
	jean-christophe.trotin-qxv4g6HH51o@public.gmane.org,
	horms+renesas-/R6kz+dDXgpPR4JQBCEnsQ@public.gmane.org,
	niklas.soderlund+renesas-1zkq55x86MTxsAP9Fp7wbw@public.gmane.org,
	robert.jarzmik-GANU6spQydw@public.gmane.org,
	songjun.wu-UWL1GkI3JZL3oGB3hsPCZA@public.gmane.org,
	andrew-ct.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org,
	gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org,
	shuah-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	sakari.ailus-VuQAYsv1563Yd54FQh9/CA@public.gmane.org,
	pavel-+ZI9xUNit7I@public.gmane.org
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	devel-gWbeCf7V1WCQmaza687I9mD2FQJk+8+b@public.gmane.org,
	Steve Longerbeam
	<steve_longerbeam-nmGgyN9QBj3QT0dZR+AlfA@public.gmane.org>,
	Russell King <rmk+kernel-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org>
Subject: [PATCH v4 32/36] media: imx: csi/fim: add support for frame intervals
Date: Wed, 15 Feb 2017 18:19:34 -0800	[thread overview]
Message-ID: <1487211578-11360-33-git-send-email-steve_longerbeam@mentor.com> (raw)
In-Reply-To: <1487211578-11360-1-git-send-email-steve_longerbeam-nmGgyN9QBj3QT0dZR+AlfA@public.gmane.org>

Add support to CSI for negotiation of frame intervals, and use this
information to configure the frame interval monitor.

Signed-off-by: Russell King <rmk+kernel-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org>
Signed-off-by: Steve Longerbeam <steve_longerbeam-nmGgyN9QBj3QT0dZR+AlfA@public.gmane.org>
---
 drivers/staging/media/imx/imx-media-csi.c | 36 ++++++++++++++++++++++++++++---
 drivers/staging/media/imx/imx-media-fim.c | 28 +++++++++---------------
 drivers/staging/media/imx/imx-media.h     |  2 +-
 3 files changed, 44 insertions(+), 22 deletions(-)

diff --git a/drivers/staging/media/imx/imx-media-csi.c b/drivers/staging/media/imx/imx-media-csi.c
index b0aac82..040cca6 100644
--- a/drivers/staging/media/imx/imx-media-csi.c
+++ b/drivers/staging/media/imx/imx-media-csi.c
@@ -56,6 +56,7 @@ struct csi_priv {
 
 	struct v4l2_mbus_framefmt format_mbus[CSI_NUM_PADS];
 	const struct imx_media_pixfmt *cc[CSI_NUM_PADS];
+	struct v4l2_fract frame_interval;
 	struct v4l2_rect crop;
 
 	/* the video device at IDMAC output pad */
@@ -565,7 +566,8 @@ static int csi_start(struct csi_priv *priv)
 
 	/* start the frame interval monitor */
 	if (priv->fim) {
-		ret = imx_media_fim_set_stream(priv->fim, priv->sensor, true);
+		ret = imx_media_fim_set_stream(priv->fim,
+					       &priv->frame_interval, true);
 		if (ret)
 			goto idmac_stop;
 	}
@@ -580,7 +582,8 @@ static int csi_start(struct csi_priv *priv)
 
 fim_off:
 	if (priv->fim)
-		imx_media_fim_set_stream(priv->fim, priv->sensor, false);
+		imx_media_fim_set_stream(priv->fim,
+					 &priv->frame_interval, false);
 idmac_stop:
 	if (priv->dest == IPU_CSI_DEST_IDMAC)
 		csi_idmac_stop(priv);
@@ -594,11 +597,36 @@ static void csi_stop(struct csi_priv *priv)
 
 	/* stop the frame interval monitor */
 	if (priv->fim)
-		imx_media_fim_set_stream(priv->fim, priv->sensor, false);
+		imx_media_fim_set_stream(priv->fim,
+					 &priv->frame_interval, false);
 
 	ipu_csi_disable(priv->csi);
 }
 
+static int csi_g_frame_interval(struct v4l2_subdev *sd,
+				struct v4l2_subdev_frame_interval *fi)
+{
+	struct csi_priv *priv = v4l2_get_subdevdata(sd);
+
+	fi->interval = priv->frame_interval;
+
+	return 0;
+}
+
+static int csi_s_frame_interval(struct v4l2_subdev *sd,
+				struct v4l2_subdev_frame_interval *fi)
+{
+	struct csi_priv *priv = v4l2_get_subdevdata(sd);
+
+	/* Output pads mirror active input pad, no limits on input pads */
+	if (fi->pad == CSI_SRC_PAD_IDMAC || fi->pad == CSI_SRC_PAD_DIRECT)
+		fi->interval = priv->frame_interval;
+
+	priv->frame_interval = fi->interval;
+
+	return 0;
+}
+
 static int csi_s_stream(struct v4l2_subdev *sd, int enable)
 {
 	struct csi_priv *priv = v4l2_get_subdevdata(sd);
@@ -1187,6 +1215,8 @@ static struct v4l2_subdev_core_ops csi_core_ops = {
 };
 
 static struct v4l2_subdev_video_ops csi_video_ops = {
+	.g_frame_interval = csi_g_frame_interval,
+	.s_frame_interval = csi_s_frame_interval,
 	.s_stream = csi_s_stream,
 };
 
diff --git a/drivers/staging/media/imx/imx-media-fim.c b/drivers/staging/media/imx/imx-media-fim.c
index acc7e39..a6ed57e 100644
--- a/drivers/staging/media/imx/imx-media-fim.c
+++ b/drivers/staging/media/imx/imx-media-fim.c
@@ -67,26 +67,18 @@ struct imx_media_fim {
 };
 
 static void update_fim_nominal(struct imx_media_fim *fim,
-			       struct imx_media_subdev *sensor)
+			       const struct v4l2_fract *fi)
 {
-	struct v4l2_streamparm parm;
-	struct v4l2_fract tpf;
-	int ret;
-
-	parm.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
-	ret = v4l2_subdev_call(sensor->sd, video, g_parm, &parm);
-	tpf = parm.parm.capture.timeperframe;
-
-	if (ret || tpf.denominator == 0) {
-		dev_dbg(fim->sd->dev, "no tpf from sensor, FIM disabled\n");
+	if (fi->denominator == 0) {
+		dev_dbg(fim->sd->dev, "no frame interval, FIM disabled\n");
 		fim->enabled = false;
 		return;
 	}
 
-	fim->nominal = DIV_ROUND_CLOSEST(1000 * 1000 * tpf.numerator,
-					 tpf.denominator);
+	fim->nominal = DIV_ROUND_CLOSEST_ULL(1000000ULL * (u64)fi->numerator,
+					     fi->denominator);
 
-	dev_dbg(fim->sd->dev, "sensor FI=%lu usec\n", fim->nominal);
+	dev_dbg(fim->sd->dev, "FI=%lu usec\n", fim->nominal);
 }
 
 static void reset_fim(struct imx_media_fim *fim, bool curval)
@@ -130,8 +122,8 @@ static void send_fim_event(struct imx_media_fim *fim, unsigned long error)
 
 /*
  * Monitor an averaged frame interval. If the average deviates too much
- * from the sensor's nominal frame rate, send the frame interval error
- * event. The frame intervals are averaged in order to quiet noise from
+ * from the nominal frame rate, send the frame interval error event. The
+ * frame intervals are averaged in order to quiet noise from
  * (presumably random) interrupt latency.
  */
 static void frame_interval_monitor(struct imx_media_fim *fim,
@@ -422,12 +414,12 @@ EXPORT_SYMBOL_GPL(imx_media_fim_set_power);
 
 /* Called by the subdev in its s_stream callback */
 int imx_media_fim_set_stream(struct imx_media_fim *fim,
-			     struct imx_media_subdev *sensor,
+			     const struct v4l2_fract *fi,
 			     bool on)
 {
 	if (on) {
 		reset_fim(fim, true);
-		update_fim_nominal(fim, sensor);
+		update_fim_nominal(fim, fi);
 
 		if (fim->icap_channel >= 0)
 			fim_acquire_first_ts(fim);
diff --git a/drivers/staging/media/imx/imx-media.h b/drivers/staging/media/imx/imx-media.h
index ae3af0d..7f19739 100644
--- a/drivers/staging/media/imx/imx-media.h
+++ b/drivers/staging/media/imx/imx-media.h
@@ -259,7 +259,7 @@ struct imx_media_fim;
 void imx_media_fim_eof_monitor(struct imx_media_fim *fim, struct timespec *ts);
 int imx_media_fim_set_power(struct imx_media_fim *fim, bool on);
 int imx_media_fim_set_stream(struct imx_media_fim *fim,
-			     struct imx_media_subdev *sensor,
+			     const struct v4l2_fract *frame_interval,
 			     bool on);
 struct imx_media_fim *imx_media_fim_init(struct v4l2_subdev *sd);
 void imx_media_fim_free(struct imx_media_fim *fim);
-- 
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: slongerbeam@gmail.com (Steve Longerbeam)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 32/36] media: imx: csi/fim: add support for frame intervals
Date: Wed, 15 Feb 2017 18:19:34 -0800	[thread overview]
Message-ID: <1487211578-11360-33-git-send-email-steve_longerbeam@mentor.com> (raw)
In-Reply-To: <1487211578-11360-1-git-send-email-steve_longerbeam@mentor.com>

Add support to CSI for negotiation of frame intervals, and use this
information to configure the frame interval monitor.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>
---
 drivers/staging/media/imx/imx-media-csi.c | 36 ++++++++++++++++++++++++++++---
 drivers/staging/media/imx/imx-media-fim.c | 28 +++++++++---------------
 drivers/staging/media/imx/imx-media.h     |  2 +-
 3 files changed, 44 insertions(+), 22 deletions(-)

diff --git a/drivers/staging/media/imx/imx-media-csi.c b/drivers/staging/media/imx/imx-media-csi.c
index b0aac82..040cca6 100644
--- a/drivers/staging/media/imx/imx-media-csi.c
+++ b/drivers/staging/media/imx/imx-media-csi.c
@@ -56,6 +56,7 @@ struct csi_priv {
 
 	struct v4l2_mbus_framefmt format_mbus[CSI_NUM_PADS];
 	const struct imx_media_pixfmt *cc[CSI_NUM_PADS];
+	struct v4l2_fract frame_interval;
 	struct v4l2_rect crop;
 
 	/* the video device at IDMAC output pad */
@@ -565,7 +566,8 @@ static int csi_start(struct csi_priv *priv)
 
 	/* start the frame interval monitor */
 	if (priv->fim) {
-		ret = imx_media_fim_set_stream(priv->fim, priv->sensor, true);
+		ret = imx_media_fim_set_stream(priv->fim,
+					       &priv->frame_interval, true);
 		if (ret)
 			goto idmac_stop;
 	}
@@ -580,7 +582,8 @@ static int csi_start(struct csi_priv *priv)
 
 fim_off:
 	if (priv->fim)
-		imx_media_fim_set_stream(priv->fim, priv->sensor, false);
+		imx_media_fim_set_stream(priv->fim,
+					 &priv->frame_interval, false);
 idmac_stop:
 	if (priv->dest == IPU_CSI_DEST_IDMAC)
 		csi_idmac_stop(priv);
@@ -594,11 +597,36 @@ static void csi_stop(struct csi_priv *priv)
 
 	/* stop the frame interval monitor */
 	if (priv->fim)
-		imx_media_fim_set_stream(priv->fim, priv->sensor, false);
+		imx_media_fim_set_stream(priv->fim,
+					 &priv->frame_interval, false);
 
 	ipu_csi_disable(priv->csi);
 }
 
+static int csi_g_frame_interval(struct v4l2_subdev *sd,
+				struct v4l2_subdev_frame_interval *fi)
+{
+	struct csi_priv *priv = v4l2_get_subdevdata(sd);
+
+	fi->interval = priv->frame_interval;
+
+	return 0;
+}
+
+static int csi_s_frame_interval(struct v4l2_subdev *sd,
+				struct v4l2_subdev_frame_interval *fi)
+{
+	struct csi_priv *priv = v4l2_get_subdevdata(sd);
+
+	/* Output pads mirror active input pad, no limits on input pads */
+	if (fi->pad == CSI_SRC_PAD_IDMAC || fi->pad == CSI_SRC_PAD_DIRECT)
+		fi->interval = priv->frame_interval;
+
+	priv->frame_interval = fi->interval;
+
+	return 0;
+}
+
 static int csi_s_stream(struct v4l2_subdev *sd, int enable)
 {
 	struct csi_priv *priv = v4l2_get_subdevdata(sd);
@@ -1187,6 +1215,8 @@ static struct v4l2_subdev_core_ops csi_core_ops = {
 };
 
 static struct v4l2_subdev_video_ops csi_video_ops = {
+	.g_frame_interval = csi_g_frame_interval,
+	.s_frame_interval = csi_s_frame_interval,
 	.s_stream = csi_s_stream,
 };
 
diff --git a/drivers/staging/media/imx/imx-media-fim.c b/drivers/staging/media/imx/imx-media-fim.c
index acc7e39..a6ed57e 100644
--- a/drivers/staging/media/imx/imx-media-fim.c
+++ b/drivers/staging/media/imx/imx-media-fim.c
@@ -67,26 +67,18 @@ struct imx_media_fim {
 };
 
 static void update_fim_nominal(struct imx_media_fim *fim,
-			       struct imx_media_subdev *sensor)
+			       const struct v4l2_fract *fi)
 {
-	struct v4l2_streamparm parm;
-	struct v4l2_fract tpf;
-	int ret;
-
-	parm.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
-	ret = v4l2_subdev_call(sensor->sd, video, g_parm, &parm);
-	tpf = parm.parm.capture.timeperframe;
-
-	if (ret || tpf.denominator == 0) {
-		dev_dbg(fim->sd->dev, "no tpf from sensor, FIM disabled\n");
+	if (fi->denominator == 0) {
+		dev_dbg(fim->sd->dev, "no frame interval, FIM disabled\n");
 		fim->enabled = false;
 		return;
 	}
 
-	fim->nominal = DIV_ROUND_CLOSEST(1000 * 1000 * tpf.numerator,
-					 tpf.denominator);
+	fim->nominal = DIV_ROUND_CLOSEST_ULL(1000000ULL * (u64)fi->numerator,
+					     fi->denominator);
 
-	dev_dbg(fim->sd->dev, "sensor FI=%lu usec\n", fim->nominal);
+	dev_dbg(fim->sd->dev, "FI=%lu usec\n", fim->nominal);
 }
 
 static void reset_fim(struct imx_media_fim *fim, bool curval)
@@ -130,8 +122,8 @@ static void send_fim_event(struct imx_media_fim *fim, unsigned long error)
 
 /*
  * Monitor an averaged frame interval. If the average deviates too much
- * from the sensor's nominal frame rate, send the frame interval error
- * event. The frame intervals are averaged in order to quiet noise from
+ * from the nominal frame rate, send the frame interval error event. The
+ * frame intervals are averaged in order to quiet noise from
  * (presumably random) interrupt latency.
  */
 static void frame_interval_monitor(struct imx_media_fim *fim,
@@ -422,12 +414,12 @@ EXPORT_SYMBOL_GPL(imx_media_fim_set_power);
 
 /* Called by the subdev in its s_stream callback */
 int imx_media_fim_set_stream(struct imx_media_fim *fim,
-			     struct imx_media_subdev *sensor,
+			     const struct v4l2_fract *fi,
 			     bool on)
 {
 	if (on) {
 		reset_fim(fim, true);
-		update_fim_nominal(fim, sensor);
+		update_fim_nominal(fim, fi);
 
 		if (fim->icap_channel >= 0)
 			fim_acquire_first_ts(fim);
diff --git a/drivers/staging/media/imx/imx-media.h b/drivers/staging/media/imx/imx-media.h
index ae3af0d..7f19739 100644
--- a/drivers/staging/media/imx/imx-media.h
+++ b/drivers/staging/media/imx/imx-media.h
@@ -259,7 +259,7 @@ struct imx_media_fim;
 void imx_media_fim_eof_monitor(struct imx_media_fim *fim, struct timespec *ts);
 int imx_media_fim_set_power(struct imx_media_fim *fim, bool on);
 int imx_media_fim_set_stream(struct imx_media_fim *fim,
-			     struct imx_media_subdev *sensor,
+			     const struct v4l2_fract *frame_interval,
 			     bool on);
 struct imx_media_fim *imx_media_fim_init(struct v4l2_subdev *sd);
 void imx_media_fim_free(struct imx_media_fim *fim);
-- 
2.7.4

  parent reply	other threads:[~2017-02-16  2:23 UTC|newest]

Thread overview: 672+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-16  2:19 [PATCH v4 00/36] i.MX Media Driver Steve Longerbeam
2017-02-16  2:19 ` Steve Longerbeam
2017-02-16  2:19 ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 01/36] [media] dt-bindings: Add bindings for i.MX media driver Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16 11:54   ` Philipp Zabel
2017-02-16 11:54     ` Philipp Zabel
2017-02-16 11:54     ` Philipp Zabel
2017-02-16 19:20     ` Steve Longerbeam
2017-02-16 19:20       ` Steve Longerbeam
2017-02-16 19:20       ` Steve Longerbeam
2017-02-27 14:38   ` Rob Herring
2017-02-27 14:38     ` Rob Herring
2017-02-27 14:38     ` Rob Herring
2017-03-01  0:00     ` Steve Longerbeam
2017-03-01  0:00       ` Steve Longerbeam
2017-03-01  0:00       ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 02/36] ARM: dts: imx6qdl: Add compatible, clocks, irqs to MIPI CSI-2 node Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 03/36] ARM: dts: imx6qdl: Add mipi_ipu1/2 multiplexers, mipi_csi, and their connections Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 04/36] ARM: dts: imx6qdl: add capture-subsystem device Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 05/36] ARM: dts: imx6qdl-sabrelite: remove erratum ERR006687 workaround Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 06/36] ARM: dts: imx6-sabrelite: add OV5642 and OV5640 camera sensors Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 07/36] ARM: dts: imx6-sabresd: " Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-17  0:51   ` Fabio Estevam
2017-02-17  0:51     ` Fabio Estevam
2017-02-17  0:51     ` Fabio Estevam
2017-02-17  0:51     ` Fabio Estevam
2017-02-17  0:56     ` Steve Longerbeam
2017-02-17  0:56       ` Steve Longerbeam
2017-02-17  0:56       ` Steve Longerbeam
2017-02-17  0:56       ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 08/36] ARM: dts: imx6-sabreauto: create i2cmux for i2c3 Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 09/36] ARM: dts: imx6-sabreauto: add reset-gpios property for max7310_b Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 10/36] ARM: dts: imx6-sabreauto: add pinctrl for gpt input capture Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 11/36] ARM: dts: imx6-sabreauto: add the ADV7180 video decoder Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 12/36] add mux and video interface bridge entity functions Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-19 21:28   ` Pavel Machek
2017-02-19 21:28     ` Pavel Machek
2017-02-19 21:28     ` Pavel Machek
2017-02-22 17:19     ` Steve Longerbeam
2017-02-22 17:19       ` Steve Longerbeam
2017-02-22 17:19       ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 13/36] [media] v4l2: add a frame timeout event Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-03-02 15:53   ` Sakari Ailus
2017-03-02 15:53     ` Sakari Ailus
2017-03-02 15:53     ` Sakari Ailus
2017-03-02 23:07     ` Steve Longerbeam
2017-03-02 23:07       ` Steve Longerbeam
2017-03-02 23:07       ` Steve Longerbeam
2017-03-03 11:45       ` Sakari Ailus
2017-03-03 11:45         ` Sakari Ailus
2017-03-03 11:45         ` Sakari Ailus
2017-03-03 22:43         ` Steve Longerbeam
2017-03-03 22:43           ` Steve Longerbeam
2017-03-03 22:43           ` Steve Longerbeam
2017-03-04 10:56           ` Sakari Ailus
2017-03-04 10:56             ` Sakari Ailus
2017-03-04 10:56             ` Sakari Ailus
2017-03-05  0:37             ` Steve Longerbeam
2017-03-05  0:37               ` Steve Longerbeam
2017-03-05  0:37               ` Steve Longerbeam
2017-03-05 21:31               ` Sakari Ailus
2017-03-05 21:31                 ` Sakari Ailus
2017-03-05 21:31                 ` Sakari Ailus
2017-03-05 22:41               ` Russell King - ARM Linux
2017-03-05 22:41                 ` Russell King - ARM Linux
2017-03-05 22:41                 ` Russell King - ARM Linux
2017-03-10  2:38                 ` Steve Longerbeam
2017-03-10  2:38                   ` Steve Longerbeam
2017-03-10  2:38                   ` Steve Longerbeam
2017-03-10  9:33                   ` Russell King - ARM Linux
2017-03-10  9:33                     ` Russell King - ARM Linux
2017-03-10  9:33                     ` Russell King - ARM Linux
2017-02-16  2:19 ` [PATCH v4 14/36] [media] v4l2-mc: add a function to inherit controls from a pipeline Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-19 21:44   ` Pavel Machek
2017-02-19 21:44     ` Pavel Machek
2017-02-19 21:44     ` Pavel Machek
2017-03-02 16:02   ` Sakari Ailus
2017-03-02 16:02     ` Sakari Ailus
2017-03-02 16:02     ` Sakari Ailus
2017-03-02 23:48     ` Steve Longerbeam
2017-03-02 23:48       ` Steve Longerbeam
2017-03-02 23:48       ` Steve Longerbeam
2017-03-03  0:46       ` Steve Longerbeam
2017-03-03  0:46         ` Steve Longerbeam
2017-03-03  0:46         ` Steve Longerbeam
2017-03-03  2:12       ` Steve Longerbeam
2017-03-03  2:12         ` Steve Longerbeam
2017-03-03  2:12         ` Steve Longerbeam
2017-03-03 19:17         ` Sakari Ailus
2017-03-03 19:17           ` Sakari Ailus
2017-03-03 19:17           ` Sakari Ailus
2017-03-03 22:47           ` Steve Longerbeam
2017-03-03 22:47             ` Steve Longerbeam
2017-03-03 22:47             ` Steve Longerbeam
2017-03-03 23:06     ` Russell King - ARM Linux
2017-03-03 23:06       ` Russell King - ARM Linux
2017-03-03 23:06       ` Russell King - ARM Linux
2017-03-04  0:36       ` Steve Longerbeam
2017-03-04  0:36         ` Steve Longerbeam
2017-03-04  0:36         ` Steve Longerbeam
2017-03-04 13:13       ` Sakari Ailus
2017-03-04 13:13         ` Sakari Ailus
2017-03-04 13:13         ` Sakari Ailus
2017-03-10 12:54         ` Hans Verkuil
2017-03-10 12:54           ` Hans Verkuil
2017-03-10 12:54           ` Hans Verkuil
2017-03-10 13:07           ` Russell King - ARM Linux
2017-03-10 13:07             ` Russell King - ARM Linux
2017-03-10 13:07             ` Russell King - ARM Linux
2017-03-10 13:22             ` Hans Verkuil
2017-03-10 13:22               ` Hans Verkuil
2017-03-10 13:22               ` Hans Verkuil
2017-03-10 14:01               ` Russell King - ARM Linux
2017-03-10 14:01                 ` Russell King - ARM Linux
2017-03-10 14:01                 ` Russell King - ARM Linux
2017-03-10 14:20                 ` Hans Verkuil
2017-03-10 14:20                   ` Hans Verkuil
2017-03-10 14:20                   ` Hans Verkuil
2017-03-10 15:53                   ` Mauro Carvalho Chehab
2017-03-10 15:53                     ` Mauro Carvalho Chehab
2017-03-10 15:53                     ` Mauro Carvalho Chehab
2017-03-10 22:37                     ` Sakari Ailus
2017-03-10 22:37                       ` Sakari Ailus
2017-03-10 22:37                       ` Sakari Ailus
2017-03-11 11:25                       ` Mauro Carvalho Chehab
2017-03-11 11:25                         ` Mauro Carvalho Chehab
2017-03-11 11:25                         ` Mauro Carvalho Chehab
2017-03-11 21:52                         ` Pavel Machek
2017-03-11 21:52                           ` Pavel Machek
2017-03-11 21:52                           ` Pavel Machek
2017-03-11 23:14                         ` Russell King - ARM Linux
2017-03-11 23:14                           ` Russell King - ARM Linux
2017-03-11 23:14                           ` Russell King - ARM Linux
2017-03-12  0:19                           ` Steve Longerbeam
2017-03-12  0:19                             ` Steve Longerbeam
2017-03-12  0:19                             ` Steve Longerbeam
2017-03-12 21:29                           ` Pavel Machek
2017-03-12 21:29                             ` Pavel Machek
2017-03-12 21:29                             ` Pavel Machek
2017-03-12 22:37                             ` Mauro Carvalho Chehab
2017-03-12 22:37                               ` Mauro Carvalho Chehab
2017-03-12 22:37                               ` Mauro Carvalho Chehab
2017-03-14 18:26                               ` Pavel Machek
2017-03-14 18:26                                 ` Pavel Machek
2017-03-14 18:26                                 ` Pavel Machek
2017-03-26 16:41                                 ` Laurent Pinchart
2017-03-13 12:46                         ` Sakari Ailus
2017-03-13 12:46                           ` Sakari Ailus
2017-03-13 12:46                           ` Sakari Ailus
2017-03-14  3:45                           ` Mauro Carvalho Chehab
2017-03-14  3:45                             ` Mauro Carvalho Chehab
2017-03-14  3:45                             ` Mauro Carvalho Chehab
2017-03-14  7:55                             ` Hans Verkuil
2017-03-14  7:55                               ` Hans Verkuil
2017-03-14  7:55                               ` Hans Verkuil
2017-03-14 10:21                               ` Mauro Carvalho Chehab
2017-03-14 10:21                                 ` Mauro Carvalho Chehab
2017-03-14 10:21                                 ` Mauro Carvalho Chehab
2017-03-14 22:32                                 ` media / v4l2-mc: wishlist for complex cameras (was Re: [PATCH v4 14/36] [media] v4l2-mc: add a function to inherit controls from a pipeline) Pavel Machek
2017-03-14 22:32                                   ` Pavel Machek
2017-03-14 22:32                                   ` Pavel Machek
2017-03-15  0:54                                   ` Mauro Carvalho Chehab
2017-03-15  0:54                                     ` Mauro Carvalho Chehab
2017-03-15  0:54                                     ` Mauro Carvalho Chehab
2017-03-15 10:50                                     ` Philippe De Muyter
2017-03-15 10:50                                       ` Philippe De Muyter
2017-03-15 10:50                                       ` Philippe De Muyter
2017-03-15 18:55                                       ` Nicolas Dufresne
2017-03-15 18:55                                         ` Nicolas Dufresne
2017-03-15 18:55                                         ` Nicolas Dufresne
2017-03-16  9:26                                         ` Philipp Zabel
2017-03-16  9:26                                           ` Philipp Zabel
2017-03-16  9:26                                           ` Philipp Zabel
2017-03-16  9:47                                           ` Philippe De Muyter
2017-03-16  9:47                                             ` Philippe De Muyter
2017-03-16  9:47                                             ` Philippe De Muyter
2017-03-16 10:01                                             ` Philipp Zabel
2017-03-16 10:01                                               ` Philipp Zabel
2017-03-16 10:01                                               ` Philipp Zabel
2017-03-16 10:19                                               ` Philippe De Muyter
2017-03-16 10:19                                                 ` Philippe De Muyter
2017-03-16 10:19                                                 ` Philippe De Muyter
2017-03-15 18:04                                     ` Pavel Machek
2017-03-15 18:04                                       ` Pavel Machek
2017-03-15 18:04                                       ` Pavel Machek
2017-03-15 20:26                                       ` Mauro Carvalho Chehab
2017-03-15 20:26                                         ` Mauro Carvalho Chehab
2017-03-15 20:26                                         ` Mauro Carvalho Chehab
2017-03-16 22:11                                         ` Pavel Machek
2017-03-16 22:11                                           ` Pavel Machek
2017-03-16 22:11                                           ` Pavel Machek
2017-03-20 13:24                                 ` [PATCH v4 14/36] [media] v4l2-mc: add a function to inherit controls from a pipeline Hans Verkuil
2017-03-20 13:24                                   ` Hans Verkuil
2017-03-20 13:24                                   ` Hans Verkuil
2017-03-20 15:39                                   ` Mauro Carvalho Chehab
2017-03-20 15:39                                     ` Mauro Carvalho Chehab
2017-03-20 15:39                                     ` Mauro Carvalho Chehab
2017-03-20 16:10                                     ` Russell King - ARM Linux
2017-03-20 16:10                                       ` Russell King - ARM Linux
2017-03-20 16:10                                       ` Russell King - ARM Linux
2017-03-20 17:37                                       ` Mauro Carvalho Chehab
2017-03-20 17:37                                         ` Mauro Carvalho Chehab
2017-03-20 17:37                                         ` Mauro Carvalho Chehab
2017-03-17 11:42                               ` Russell King - ARM Linux
2017-03-17 11:42                                 ` Russell King - ARM Linux
2017-03-17 11:42                                 ` Russell King - ARM Linux
2017-03-17 11:55                                 ` Sakari Ailus
2017-03-17 11:55                                   ` Sakari Ailus
2017-03-17 11:55                                   ` Sakari Ailus
2017-03-17 13:24                                   ` Mauro Carvalho Chehab
2017-03-17 13:24                                     ` Mauro Carvalho Chehab
2017-03-17 13:24                                     ` Mauro Carvalho Chehab
2017-03-17 13:51                                     ` Philipp Zabel
2017-03-17 13:51                                       ` Philipp Zabel
2017-03-17 13:51                                       ` Philipp Zabel
2017-03-17 14:37                                       ` Russell King - ARM Linux
2017-03-17 14:37                                         ` Russell King - ARM Linux
2017-03-17 14:37                                         ` Russell King - ARM Linux
2017-03-20 13:10                                         ` Hans Verkuil
2017-03-20 13:10                                           ` Hans Verkuil
2017-03-20 13:10                                           ` Hans Verkuil
2017-03-20 15:06                                           ` Mauro Carvalho Chehab
2017-03-20 15:06                                             ` Mauro Carvalho Chehab
2017-03-20 15:06                                             ` Mauro Carvalho Chehab
2017-03-21 11:11                                     ` Pavel Machek
2017-03-21 11:11                                       ` Pavel Machek
2017-03-21 11:11                                       ` Pavel Machek
2017-03-20 11:16                                   ` Hans Verkuil
2017-03-20 11:16                                     ` Hans Verkuil
2017-03-20 11:16                                     ` Hans Verkuil
2017-03-17 12:02                                 ` Philipp Zabel
2017-03-17 12:02                                   ` Philipp Zabel
2017-03-17 12:02                                   ` Philipp Zabel
2017-03-17 12:16                                   ` Russell King - ARM Linux
2017-03-17 12:16                                     ` Russell King - ARM Linux
2017-03-17 12:16                                     ` Russell King - ARM Linux
2017-03-17 17:49                                     ` Mauro Carvalho Chehab
2017-03-17 17:49                                       ` Mauro Carvalho Chehab
2017-03-17 17:49                                       ` Mauro Carvalho Chehab
2017-03-19 13:25                                 ` Pavel Machek
2017-03-19 13:25                                   ` Pavel Machek
2017-03-19 13:25                                   ` Pavel Machek
2017-03-26 16:44                               ` Laurent Pinchart
2017-03-26 16:44                                 ` Laurent Pinchart
2017-03-26 16:44                                 ` Laurent Pinchart
2017-03-10 15:26             ` Mauro Carvalho Chehab
2017-03-10 15:26               ` Mauro Carvalho Chehab
2017-03-10 15:26               ` Mauro Carvalho Chehab
2017-03-10 15:57               ` Russell King - ARM Linux
2017-03-10 15:57                 ` Russell King - ARM Linux
2017-03-10 15:57                 ` Russell King - ARM Linux
2017-03-10 17:06                 ` Russell King - ARM Linux
2017-03-10 17:06                   ` Russell King - ARM Linux
2017-03-10 17:06                   ` Russell King - ARM Linux
2017-03-10 20:42                 ` Mauro Carvalho Chehab
2017-03-10 20:42                   ` Mauro Carvalho Chehab
2017-03-10 20:42                   ` Mauro Carvalho Chehab
2017-03-10 21:55                   ` Pavel Machek
2017-03-10 21:55                     ` Pavel Machek
2017-03-10 21:55                     ` Pavel Machek
2017-03-10 15:09           ` Mauro Carvalho Chehab
2017-03-10 15:09             ` Mauro Carvalho Chehab
2017-03-10 15:09             ` Mauro Carvalho Chehab
2017-03-11 11:32             ` Hans Verkuil
2017-03-11 11:32               ` Hans Verkuil
2017-03-11 11:32               ` Hans Verkuil
2017-03-11 13:14               ` Mauro Carvalho Chehab
2017-03-11 13:14                 ` Mauro Carvalho Chehab
2017-03-11 13:14                 ` Mauro Carvalho Chehab
2017-03-11 15:32                 ` Sakari Ailus
2017-03-11 15:32                   ` Sakari Ailus
2017-03-11 15:32                   ` Sakari Ailus
2017-03-11 17:32                   ` Russell King - ARM Linux
2017-03-11 17:32                     ` Russell King - ARM Linux
2017-03-11 17:32                     ` Russell King - ARM Linux
2017-03-11 18:08                   ` Steve Longerbeam
2017-03-11 18:08                     ` Steve Longerbeam
2017-03-11 18:08                     ` Steve Longerbeam
2017-03-11 18:45                     ` Russell King - ARM Linux
2017-03-11 18:45                       ` Russell King - ARM Linux
2017-03-11 18:45                       ` Russell King - ARM Linux
2017-03-11 18:54                       ` Steve Longerbeam
2017-03-11 18:54                         ` Steve Longerbeam
2017-03-11 18:54                         ` Steve Longerbeam
2017-03-11 18:59                         ` Russell King - ARM Linux
2017-03-11 18:59                           ` Russell King - ARM Linux
2017-03-11 18:59                           ` Russell King - ARM Linux
2017-03-11 19:06                           ` Steve Longerbeam
2017-03-11 19:06                             ` Steve Longerbeam
2017-03-11 19:06                             ` Steve Longerbeam
2017-03-11 20:41                             ` Russell King - ARM Linux
2017-03-11 20:41                               ` Russell King - ARM Linux
2017-03-11 20:41                               ` Russell King - ARM Linux
2017-03-12  3:31                           ` Steve Longerbeam
2017-03-12  3:31                             ` Steve Longerbeam
2017-03-12  3:31                             ` Steve Longerbeam
2017-03-12  7:37                             ` Russell King - ARM Linux
2017-03-12  7:37                               ` Russell King - ARM Linux
2017-03-12  7:37                               ` Russell King - ARM Linux
2017-03-12 17:56                               ` Steve Longerbeam
2017-03-12 17:56                                 ` Steve Longerbeam
2017-03-12 17:56                                 ` Steve Longerbeam
2017-03-12 21:58                                 ` Mauro Carvalho Chehab
2017-03-12 21:58                                   ` Mauro Carvalho Chehab
2017-03-12 21:58                                   ` Mauro Carvalho Chehab
2017-03-26  9:12                                   ` script to setup pipeline was " Pavel Machek
2017-03-26  9:12                                     ` Pavel Machek
2017-03-26  9:12                                     ` Pavel Machek
2017-03-13 10:44                                 ` Hans Verkuil
2017-03-13 10:44                                   ` Hans Verkuil
2017-03-13 10:44                                   ` Hans Verkuil
2017-03-13 10:58                                   ` Russell King - ARM Linux
2017-03-13 10:58                                     ` Russell King - ARM Linux
2017-03-13 10:58                                     ` Russell King - ARM Linux
2017-03-13 11:08                                     ` Hans Verkuil
2017-03-13 11:08                                       ` Hans Verkuil
2017-03-13 11:08                                       ` Hans Verkuil
2017-03-13 11:42                                     ` Mauro Carvalho Chehab
2017-03-13 11:42                                       ` Mauro Carvalho Chehab
2017-03-13 11:42                                       ` Mauro Carvalho Chehab
2017-03-13 12:35                                       ` Russell King - ARM Linux
2017-03-13 12:35                                         ` Russell King - ARM Linux
2017-03-13 12:35                                         ` Russell King - ARM Linux
2017-03-12 18:14                               ` Pavel Machek
2017-03-12 18:14                                 ` Pavel Machek
2017-03-12 18:14                                 ` Pavel Machek
2017-03-11 20:26                     ` Pavel Machek
2017-03-11 20:26                       ` Pavel Machek
2017-03-11 20:26                       ` Pavel Machek
2017-03-11 20:33                       ` Steve Longerbeam
2017-03-11 20:33                         ` Steve Longerbeam
2017-03-11 20:33                         ` Steve Longerbeam
2017-03-11 21:30                 ` Pavel Machek
2017-03-11 21:30                   ` Pavel Machek
2017-03-11 21:30                   ` Pavel Machek
2017-02-16  2:19 ` [PATCH v4 15/36] platform: add video-multiplexer subdevice driver Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-19 22:02   ` Pavel Machek
2017-02-19 22:02     ` Pavel Machek
2017-02-19 22:02     ` Pavel Machek
2017-02-21  9:11     ` Philipp Zabel
2017-02-21  9:11       ` Philipp Zabel
2017-02-21  9:11       ` Philipp Zabel
2017-02-24 20:09       ` Pavel Machek
2017-02-24 20:09         ` Pavel Machek
2017-02-24 20:09         ` Pavel Machek
2017-02-27 14:41   ` Rob Herring
2017-02-27 14:41     ` Rob Herring
2017-02-27 14:41     ` Rob Herring
2017-03-01  0:20     ` Steve Longerbeam
2017-03-01  0:20       ` Steve Longerbeam
2017-03-01  0:20       ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 16/36] UAPI: Add media UAPI Kbuild file Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 17/36] media: Add userspace header file for i.MX Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16 11:33   ` Philipp Zabel
2017-02-16 11:33     ` Philipp Zabel
2017-02-16 11:33     ` Philipp Zabel
2017-02-22 23:54     ` Steve Longerbeam
2017-02-22 23:54       ` Steve Longerbeam
2017-02-22 23:54       ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 18/36] media: Add i.MX media core driver Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16 10:27   ` Russell King - ARM Linux
2017-02-16 10:27     ` Russell King - ARM Linux
2017-02-16 10:27     ` Russell King - ARM Linux
2017-02-16 17:53     ` Steve Longerbeam
2017-02-16 17:53       ` Steve Longerbeam
2017-02-16 17:53       ` Steve Longerbeam
2017-02-16 13:02   ` Philipp Zabel
2017-02-16 13:02     ` Philipp Zabel
2017-02-16 13:02     ` Philipp Zabel
2017-02-16 13:44     ` Russell King - ARM Linux
2017-02-16 13:44       ` Russell King - ARM Linux
2017-02-16 13:44       ` Russell King - ARM Linux
2017-02-17  1:33     ` Steve Longerbeam
2017-02-17  1:33       ` Steve Longerbeam
2017-02-17  1:33       ` Steve Longerbeam
2017-02-17  8:34       ` Philipp Zabel
2017-02-17  8:34         ` Philipp Zabel
2017-02-17  8:34         ` Philipp Zabel
2017-02-16  2:19 ` [PATCH v4 19/36] media: imx: Add Capture Device Interface Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 20/36] media: imx: Add CSI subdev driver Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16 11:52   ` Russell King - ARM Linux
2017-02-16 11:52     ` Russell King - ARM Linux
2017-02-16 11:52     ` Russell King - ARM Linux
2017-02-16 12:40     ` Russell King - ARM Linux
2017-02-16 12:40       ` Russell King - ARM Linux
2017-02-16 12:40       ` Russell King - ARM Linux
2017-02-16 13:09       ` Russell King - ARM Linux
2017-02-16 13:09         ` Russell King - ARM Linux
2017-02-16 13:09         ` Russell King - ARM Linux
2017-02-16 14:20         ` Russell King - ARM Linux
2017-02-16 14:20           ` Russell King - ARM Linux
2017-02-16 14:20           ` Russell King - ARM Linux
2017-02-16 19:07           ` Steve Longerbeam
2017-02-16 19:07             ` Steve Longerbeam
2017-02-16 19:07             ` Steve Longerbeam
2017-02-16 18:44       ` Steve Longerbeam
2017-02-16 18:44         ` Steve Longerbeam
2017-02-16 18:44         ` Steve Longerbeam
2017-02-16 19:09         ` Russell King - ARM Linux
2017-02-16 19:09           ` Russell King - ARM Linux
2017-02-16 19:09           ` Russell King - ARM Linux
2017-02-16  2:19 ` [PATCH v4 21/36] media: imx: Add VDIC " Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 22/36] media: imx: Add IC subdev drivers Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 23/36] media: imx: Add MIPI CSI-2 Receiver subdev driver Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16 10:28   ` Russell King - ARM Linux
2017-02-16 10:28     ` Russell King - ARM Linux
2017-02-16 10:28     ` Russell King - ARM Linux
2017-02-16 17:54     ` Steve Longerbeam
2017-02-16 17:54       ` Steve Longerbeam
2017-02-16 17:54       ` Steve Longerbeam
2017-02-17 10:47   ` Philipp Zabel
2017-02-17 10:47     ` Philipp Zabel
2017-02-17 10:47     ` Philipp Zabel
2017-02-17 11:06     ` Russell King - ARM Linux
2017-02-17 11:06       ` Russell King - ARM Linux
2017-02-17 11:06       ` Russell King - ARM Linux
2017-02-17 11:38       ` Philipp Zabel
2017-02-17 11:38         ` Philipp Zabel
2017-02-17 11:38         ` Philipp Zabel
2017-02-22 23:38         ` Steve Longerbeam
2017-02-22 23:38           ` Steve Longerbeam
2017-02-22 23:38           ` Steve Longerbeam
2017-02-22 23:41           ` Steve Longerbeam
2017-02-22 23:41             ` Steve Longerbeam
2017-02-22 23:41             ` Steve Longerbeam
2017-02-23  0:06       ` Steve Longerbeam
2017-02-23  0:06         ` Steve Longerbeam
2017-02-23  0:06         ` Steve Longerbeam
2017-02-23  0:09         ` Steve Longerbeam
2017-02-23  0:09           ` Steve Longerbeam
2017-02-23  0:09           ` Steve Longerbeam
2017-02-17 14:16     ` Philipp Zabel
2017-02-17 14:16       ` Philipp Zabel
2017-02-17 14:16       ` Philipp Zabel
2017-02-17 18:27       ` Steve Longerbeam
2017-02-17 18:27         ` Steve Longerbeam
2017-02-17 18:27         ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 24/36] [media] add Omnivision OV5640 sensor driver Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-27 14:45   ` Rob Herring
2017-02-27 14:45     ` Rob Herring
2017-02-27 14:45     ` Rob Herring
2017-03-01  0:43     ` Steve Longerbeam
2017-03-01  0:43       ` Steve Longerbeam
2017-03-01  0:43       ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 25/36] ARM: imx_v6_v7_defconfig: Enable staging video4linux drivers Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 26/36] media: imx: add support for bayer formats Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 27/36] media: imx: csi: " Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 28/36] media: imx: csi: fix crop rectangle changes in set_fmt Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16 11:05   ` Russell King - ARM Linux
2017-02-16 11:05     ` Russell King - ARM Linux
2017-02-16 11:05     ` Russell King - ARM Linux
2017-02-16 18:16     ` Steve Longerbeam
2017-02-16 18:16       ` Steve Longerbeam
2017-02-16 18:16       ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 29/36] media: imx: mipi-csi2: enable setting and getting of frame rates Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-18  1:11   ` Steve Longerbeam
2017-02-18  1:11     ` Steve Longerbeam
2017-02-18  1:11     ` Steve Longerbeam
2017-02-18  1:12   ` Steve Longerbeam
2017-02-18  1:12     ` Steve Longerbeam
2017-02-18  1:12     ` Steve Longerbeam
2017-02-18  9:23     ` Russell King - ARM Linux
2017-02-18  9:23       ` Russell King - ARM Linux
2017-02-18  9:23       ` Russell King - ARM Linux
2017-02-18 17:29       ` Steve Longerbeam
2017-02-18 17:29         ` Steve Longerbeam
2017-02-18 17:29         ` Steve Longerbeam
2017-02-18 18:08         ` Russell King - ARM Linux
2017-02-18 18:08           ` Russell King - ARM Linux
2017-02-18 18:08           ` Russell King - ARM Linux
2017-02-20 22:04   ` Sakari Ailus
2017-02-20 22:04     ` Sakari Ailus
2017-02-20 22:04     ` Sakari Ailus
2017-02-20 22:56     ` Steve Longerbeam
2017-02-20 22:56       ` Steve Longerbeam
2017-02-20 22:56       ` Steve Longerbeam
2017-02-20 23:47       ` Steve Longerbeam
2017-02-20 23:47         ` Steve Longerbeam
2017-02-20 23:47         ` Steve Longerbeam
2017-02-21 12:15       ` Sakari Ailus
2017-02-21 12:15         ` Sakari Ailus
2017-02-21 12:15         ` Sakari Ailus
2017-02-21 22:21         ` Steve Longerbeam
2017-02-21 22:21           ` Steve Longerbeam
2017-02-21 22:21           ` Steve Longerbeam
2017-02-21 23:34           ` Steve Longerbeam
2017-02-21 23:34             ` Steve Longerbeam
2017-02-21 23:34             ` Steve Longerbeam
2017-02-21  0:13     ` Russell King - ARM Linux
2017-02-21  0:13       ` Russell King - ARM Linux
2017-02-21  0:13       ` Russell King - ARM Linux
2017-02-21  0:18       ` Steve Longerbeam
2017-02-21  0:18         ` Steve Longerbeam
2017-02-21  0:18         ` Steve Longerbeam
2017-02-21  8:50         ` Philipp Zabel
2017-02-21  8:50           ` Philipp Zabel
2017-02-21  8:50           ` Philipp Zabel
2017-03-13 13:16           ` Sakari Ailus
2017-03-13 13:16             ` Sakari Ailus
2017-03-13 13:16             ` Sakari Ailus
2017-03-13 13:27             ` Russell King - ARM Linux
2017-03-13 13:27               ` Russell King - ARM Linux
2017-03-13 13:27               ` Russell King - ARM Linux
2017-03-13 13:55               ` Philipp Zabel
2017-03-13 13:55                 ` Philipp Zabel
2017-03-13 13:55                 ` Philipp Zabel
2017-03-13 18:06                 ` Steve Longerbeam
2017-03-13 18:06                   ` Steve Longerbeam
2017-03-13 18:06                   ` Steve Longerbeam
2017-03-13 21:03                   ` Sakari Ailus
2017-03-13 21:03                     ` Sakari Ailus
2017-03-13 21:03                     ` Sakari Ailus
2017-03-13 21:29                     ` Russell King - ARM Linux
2017-03-13 21:29                       ` Russell King - ARM Linux
2017-03-13 21:29                       ` Russell King - ARM Linux
2017-03-14  7:34                     ` Hans Verkuil
2017-03-14  7:34                       ` Hans Verkuil
2017-03-14  7:34                       ` Hans Verkuil
2017-03-14 10:43                       ` Philipp Zabel
2017-03-14 10:43                         ` Philipp Zabel
2017-03-14 10:43                         ` Philipp Zabel
2017-03-13 20:56               ` Sakari Ailus
2017-03-13 20:56                 ` Sakari Ailus
2017-03-13 20:56                 ` Sakari Ailus
2017-03-13 21:07                 ` Russell King - ARM Linux
2017-03-13 21:07                   ` Russell King - ARM Linux
2017-03-13 21:07                   ` Russell King - ARM Linux
2017-02-21 12:37       ` Sakari Ailus
2017-02-21 12:37         ` Sakari Ailus
2017-02-21 12:37         ` Sakari Ailus
2017-02-21 13:21         ` Russell King - ARM Linux
2017-02-21 13:21           ` Russell King - ARM Linux
2017-02-21 13:21           ` Russell King - ARM Linux
2017-02-21 15:38           ` Sakari Ailus
2017-02-21 15:38             ` Sakari Ailus
2017-02-21 15:38             ` Sakari Ailus
2017-02-21 16:03             ` Russell King - ARM Linux
2017-02-21 16:03               ` Russell King - ARM Linux
2017-02-21 16:03               ` Russell King - ARM Linux
2017-02-21 16:15               ` Sakari Ailus
2017-02-21 16:15                 ` Sakari Ailus
2017-02-21 16:15                 ` Sakari Ailus
2017-02-16  2:19 ` [PATCH v4 30/36] media: imx: update capture dev format on IDMAC output pad set_fmt Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16 11:29   ` Philipp Zabel
2017-02-16 11:29     ` Philipp Zabel
2017-02-16 11:29     ` Philipp Zabel
2017-02-16  2:19 ` [PATCH v4 31/36] media: imx: csi: add __csi_get_fmt Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19 ` Steve Longerbeam [this message]
2017-02-16  2:19   ` [PATCH v4 32/36] media: imx: csi/fim: add support for frame intervals Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:38   ` Steve Longerbeam
2017-02-16  2:38     ` Steve Longerbeam
2017-02-16  2:38     ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 33/36] media: imx: redo pixel format enumeration and negotiation Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16 11:32   ` Philipp Zabel
2017-02-16 11:32     ` Philipp Zabel
2017-02-16 11:32     ` Philipp Zabel
2017-02-22 23:52     ` Steve Longerbeam
2017-02-22 23:52       ` Steve Longerbeam
2017-02-22 23:52       ` Steve Longerbeam
2017-02-23  9:10       ` Philipp Zabel
2017-02-23  9:10         ` Philipp Zabel
2017-02-23  9:10         ` Philipp Zabel
2017-02-24  1:30         ` Steve Longerbeam
2017-02-24  1:30           ` Steve Longerbeam
2017-02-24  1:30           ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 34/36] media: imx: csi: add frame skipping support Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 35/36] media: imx: csi: fix crop rectangle reset in sink set_fmt Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16  2:19 ` [PATCH v4 36/36] media: imx: propagate sink pad formats to source pads Steve Longerbeam
2017-02-16  2:19   ` Steve Longerbeam
2017-02-16 11:29   ` Philipp Zabel
2017-02-16 11:29     ` Philipp Zabel
2017-02-16 11:29     ` Philipp Zabel
2017-02-16 18:19     ` Steve Longerbeam
2017-02-16 18:19       ` Steve Longerbeam
2017-02-16 18:19       ` Steve Longerbeam
2017-02-16 11:37 ` [PATCH v4 00/36] i.MX Media Driver Russell King - ARM Linux
2017-02-16 11:37   ` Russell King - ARM Linux
2017-02-16 11:37   ` Russell King - ARM Linux
2017-02-16 18:30   ` Steve Longerbeam
2017-02-16 18:30     ` Steve Longerbeam
2017-02-16 18:30     ` Steve Longerbeam
2017-02-16 22:20 ` Russell King - ARM Linux
2017-02-16 22:20   ` Russell King - ARM Linux
2017-02-16 22:20   ` Russell King - ARM Linux
2017-02-16 22:27   ` Steve Longerbeam
2017-02-16 22:27     ` Steve Longerbeam
2017-02-16 22:27     ` Steve Longerbeam
2017-02-16 22:57     ` Russell King - ARM Linux
2017-02-16 22:57       ` Russell King - ARM Linux
2017-02-16 22:57       ` Russell King - ARM Linux
2017-02-17 10:39       ` Philipp Zabel
2017-02-17 10:39         ` Philipp Zabel
2017-02-17 10:39         ` Philipp Zabel
2017-02-17 10:56         ` Russell King - ARM Linux
2017-02-17 10:56           ` Russell King - ARM Linux
2017-02-17 10:56           ` Russell King - ARM Linux
2017-02-17 11:21           ` Philipp Zabel
2017-02-17 11:21             ` Philipp Zabel
2017-02-17 11:21             ` Philipp Zabel
2017-02-18 17:21       ` Steve Longerbeam
2017-02-18 17:21         ` Steve Longerbeam
2017-02-18 17:21         ` Steve Longerbeam
2017-02-17 11:43     ` Philipp Zabel
2017-02-17 11:43       ` Philipp Zabel
2017-02-17 11:43       ` Philipp Zabel
2017-02-17 12:22       ` Sakari Ailus
2017-02-17 12:22         ` Sakari Ailus
2017-02-17 12:22         ` Sakari Ailus
2017-02-17 12:31         ` Russell King - ARM Linux
2017-02-17 12:31           ` Russell King - ARM Linux
2017-02-17 12:31           ` Russell King - ARM Linux
2017-02-17 15:04         ` Philipp Zabel
2017-02-17 15:04           ` Philipp Zabel
2017-02-17 15:04           ` Philipp Zabel
2017-02-18 11:58           ` Sakari Ailus
2017-02-18 11:58             ` Sakari Ailus
2017-02-18 11:58             ` Sakari Ailus

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=1487211578-11360-33-git-send-email-steve_longerbeam@mentor.com \
    --to=slongerbeam@gmail.com \
    --cc=andrew-ct.chen@mediatek.com \
    --cc=arnd@arndb.de \
    --cc=bparrot@ti.com \
    --cc=devel@driverdev.osuosl.org \
    --cc=devicetree@vger.kernel.org \
    --cc=fabio.estevam@nxp.com \
    --cc=geert@linux-m68k.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=horms+renesas@verge.net.au \
    --cc=hverkuil@xs4all.nl \
    --cc=jean-christophe.trotin@st.com \
    --cc=kernel@pengutronix.de \
    --cc=laurent.pinchart+renesas@ideasonboard.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=markus.heiser@darmarIT.de \
    --cc=mchehab@kernel.org \
    --cc=minghsiu.tsai@mediatek.com \
    --cc=nick@shmanahar.org \
    --cc=niklas.soderlund+renesas@ragnatech.se \
    --cc=p.zabel@pengutronix.de \
    --cc=pavel@ucw.cz \
    --cc=rmk+kernel@armlinux.org.uk \
    --cc=robert.jarzmik@free.fr \
    --cc=robh+dt@kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=shawnguo@kernel.org \
    --cc=shuah@kernel.org \
    --cc=songjun.wu@microchip.com \
    --cc=steve_longerbeam@mentor.com \
    --cc=sudipm.mukherjee@gmail.com \
    --cc=tiffany.lin@mediatek.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.