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,
Russell King <rmk+kernel@armlinux.org.uk>,
Steve Longerbeam <steve_longerbeam@mentor.com>
Subject: [PATCH v5 35/39] media: imx: csi/fim: add support for frame intervals
Date: Thu, 9 Mar 2017 20:53:15 -0800 [thread overview]
Message-ID: <1489121599-23206-36-git-send-email-steve_longerbeam@mentor.com> (raw)
In-Reply-To: <1489121599-23206-1-git-send-email-steve_longerbeam@mentor.com>
From: Russell King <rmk+kernel@armlinux.org.uk>
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 | 46 +++++++++++++++++++++++++++++--
drivers/staging/media/imx/imx-media-fim.c | 28 +++++++------------
drivers/staging/media/imx/imx-media.h | 2 +-
3 files changed, 54 insertions(+), 22 deletions(-)
diff --git a/drivers/staging/media/imx/imx-media-csi.c b/drivers/staging/media/imx/imx-media-csi.c
index 6640869..b556fa4 100644
--- a/drivers/staging/media/imx/imx-media-csi.c
+++ b/drivers/staging/media/imx/imx-media-csi.c
@@ -63,6 +63,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;
/* active vb2 buffers to send to video dev sink */
@@ -570,7 +571,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;
}
@@ -585,7 +587,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);
@@ -599,7 +602,8 @@ 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);
}
@@ -608,6 +612,36 @@ static void csi_stop(struct csi_priv *priv)
* V4L2 subdev operations.
*/
+static int csi_g_frame_interval(struct v4l2_subdev *sd,
+ struct v4l2_subdev_frame_interval *fi)
+{
+ struct csi_priv *priv = v4l2_get_subdevdata(sd);
+
+ mutex_lock(&priv->lock);
+ fi->interval = priv->frame_interval;
+ mutex_unlock(&priv->lock);
+
+ 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);
+
+ mutex_lock(&priv->lock);
+
+ /* 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;
+
+ mutex_unlock(&priv->lock);
+
+ return 0;
+}
+
static int csi_s_stream(struct v4l2_subdev *sd, int enable)
{
struct csi_priv *priv = v4l2_get_subdevdata(sd);
@@ -1204,6 +1238,10 @@ static int csi_registered(struct v4l2_subdev *sd)
goto put_csi;
}
+ /* init default frame interval */
+ priv->frame_interval.numerator = 1;
+ priv->frame_interval.denominator = 30;
+
priv->fim = imx_media_fim_init(&priv->sd);
if (IS_ERR(priv->fim)) {
ret = PTR_ERR(priv->fim);
@@ -1254,6 +1292,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 824d257..4fe5ffc 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 9e865fa..a67ee14 100644
--- a/drivers/staging/media/imx/imx-media.h
+++ b/drivers/staging/media/imx/imx-media.h
@@ -262,7 +262,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
next prev parent reply other threads:[~2017-03-10 4:55 UTC|newest]
Thread overview: 175+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-10 4:52 [PATCH v5 00/39] i.MX Media Driver Steve Longerbeam
2017-03-10 4:52 ` [PATCH v5 01/39] [media] dt-bindings: Add bindings for video-multiplexer device Steve Longerbeam
2017-03-16 21:21 ` Rob Herring
2017-03-10 4:52 ` [PATCH v5 02/39] [media] dt-bindings: Add bindings for i.MX media driver Steve Longerbeam
2017-03-20 15:02 ` Rob Herring
2017-03-10 4:52 ` [PATCH v5 03/39] [media] dt/bindings: Add bindings for OV5640 Steve Longerbeam
2017-03-20 15:03 ` Rob Herring
2017-03-10 4:52 ` [PATCH v5 04/39] ARM: dts: imx6qdl: Add compatible, clocks, irqs to MIPI CSI-2 node Steve Longerbeam
2017-03-10 4:52 ` [PATCH v5 05/39] ARM: dts: imx6qdl: Add mipi_ipu1/2 multiplexers, mipi_csi, and their connections Steve Longerbeam
2017-03-10 4:52 ` [PATCH v5 06/39] ARM: dts: imx6qdl: add capture-subsystem device Steve Longerbeam
2017-03-10 4:52 ` [PATCH v5 07/39] ARM: dts: imx6qdl-sabrelite: remove erratum ERR006687 workaround Steve Longerbeam
2017-03-10 18:59 ` Troy Kisky
2017-03-10 19:17 ` Fabio Estevam
2017-03-10 21:57 ` Pavel Machek
2017-03-10 22:05 ` Fabio Estevam
2017-03-15 18:49 ` Steve Longerbeam
2017-03-10 4:52 ` [PATCH v5 08/39] ARM: dts: imx6-sabrelite: add OV5642 and OV5640 camera sensors Steve Longerbeam
2017-03-10 4:52 ` [PATCH v5 09/39] ARM: dts: imx6-sabresd: " Steve Longerbeam
2017-03-10 4:52 ` [PATCH v5 10/39] ARM: dts: imx6-sabreauto: create i2cmux for i2c3 Steve Longerbeam
2017-03-10 4:52 ` [PATCH v5 11/39] ARM: dts: imx6-sabreauto: add reset-gpios property for max7310_b Steve Longerbeam
2017-03-10 4:52 ` [PATCH v5 12/39] ARM: dts: imx6-sabreauto: add pinctrl for gpt input capture Steve Longerbeam
2017-03-10 4:52 ` [PATCH v5 13/39] ARM: dts: imx6-sabreauto: add the ADV7180 video decoder Steve Longerbeam
2017-03-10 4:52 ` [PATCH v5 14/39] add mux and video interface bridge entity functions Steve Longerbeam
2017-03-10 4:52 ` [PATCH v5 15/39] [media] v4l2: add a frame interval error event Steve Longerbeam
2017-03-10 12:03 ` Hans Verkuil
2017-03-10 18:37 ` Steve Longerbeam
2017-03-10 23:30 ` Pavel Machek
2017-03-10 23:42 ` Steve Longerbeam
2017-03-11 11:39 ` Hans Verkuil
2017-03-11 18:14 ` Steve Longerbeam
2017-03-11 18:51 ` Russell King - ARM Linux
2017-03-11 18:58 ` Steve Longerbeam
2017-03-11 19:00 ` Steve Longerbeam
2017-03-13 10:02 ` Hans Verkuil
2017-03-13 10:45 ` Russell King - ARM Linux
2017-03-13 10:53 ` Hans Verkuil
2017-03-13 17:06 ` Steve Longerbeam
2017-03-13 17:10 ` Hans Verkuil
2017-03-13 21:47 ` Steve Longerbeam
2017-03-14 16:21 ` Nicolas Dufresne
2017-03-14 16:43 ` Steve Longerbeam
2017-03-16 22:15 ` Sakari Ailus
2017-03-14 16:47 ` Russell King - ARM Linux
2017-03-14 16:50 ` Steve Longerbeam
2017-03-14 18:26 ` Pavel Machek
2017-03-10 4:52 ` [PATCH v5 16/39] [media] v4l2: add a new-frame before end-of-frame event Steve Longerbeam
2017-03-10 12:07 ` Hans Verkuil
2017-03-10 4:52 ` [PATCH v5 17/39] [media] v4l2-mc: add a function to inherit controls from a pipeline Steve Longerbeam
2017-03-10 11:45 ` Hans Verkuil
2017-03-10 4:52 ` [PATCH v5 18/39] [media] v4l: subdev: Add function to validate frame interval Steve Longerbeam
2017-03-11 13:41 ` Sakari Ailus
2017-03-11 20:31 ` Steve Longerbeam
2017-03-16 22:17 ` Sakari Ailus
2017-03-10 4:52 ` [PATCH v5 19/39] [media] add Omnivision OV5640 sensor driver Steve Longerbeam
2017-03-10 4:53 ` [PATCH v5 20/39] platform: add video-multiplexer subdevice driver Steve Longerbeam
2017-03-10 4:53 ` [PATCH v5 21/39] UAPI: Add media UAPI Kbuild file Steve Longerbeam
2017-03-11 13:49 ` Sakari Ailus
2017-03-11 18:20 ` Steve Longerbeam
2017-03-13 9:55 ` Hans Verkuil
2017-03-10 4:53 ` [PATCH v5 22/39] media: Add userspace header file for i.MX Steve Longerbeam
2017-03-10 11:49 ` Hans Verkuil
2017-03-10 23:32 ` Pavel Machek
2017-03-10 4:53 ` [PATCH v5 23/39] media: Add i.MX media core driver Steve Longerbeam
2017-03-10 4:53 ` [PATCH v5 24/39] media: imx: Add Capture Device Interface Steve Longerbeam
2017-03-10 4:53 ` [PATCH v5 25/39] media: imx: Add CSI subdev driver Steve Longerbeam
2017-03-10 4:53 ` [PATCH v5 26/39] media: imx: Add VDIC " Steve Longerbeam
2017-03-10 4:53 ` [PATCH v5 27/39] media: imx: Add IC subdev drivers Steve Longerbeam
2017-03-10 4:53 ` [PATCH v5 28/39] media: imx: Add MIPI CSI-2 Receiver subdev driver Steve Longerbeam
2017-03-10 4:53 ` [PATCH v5 29/39] ARM: imx_v6_v7_defconfig: Enable staging video4linux drivers Steve Longerbeam
2017-03-10 4:53 ` [PATCH v5 30/39] media: imx: add support for bayer formats Steve Longerbeam
2017-03-10 4:53 ` [PATCH v5 31/39] media: imx: csi: " Steve Longerbeam
2017-03-10 4:53 ` [PATCH v5 32/39] media: imx: csi: fix crop rectangle changes in set_fmt Steve Longerbeam
2017-03-10 4:53 ` [PATCH v5 33/39] media: imx: mipi-csi2: enable setting and getting of frame rates Steve Longerbeam
2017-03-10 4:53 ` [PATCH v5 34/39] media: imx: csi: add __csi_get_fmt Steve Longerbeam
2017-03-10 4:53 ` Steve Longerbeam [this message]
2017-03-10 4:53 ` [PATCH v5 36/39] media: imx: redo pixel format enumeration and negotiation Steve Longerbeam
2017-03-10 4:53 ` [PATCH v5 37/39] media: imx: csi: add frame skipping support Steve Longerbeam
2017-03-10 4:53 ` [PATCH v5 38/39] media: imx: csi: fix crop rectangle reset in sink set_fmt Steve Longerbeam
2017-03-19 15:22 ` Russell King - ARM Linux
2017-03-19 19:08 ` Steve Longerbeam
2017-03-20 11:55 ` Philipp Zabel
2017-03-20 12:08 ` Russell King - ARM Linux
2017-03-20 14:00 ` Philipp Zabel
2017-03-20 14:17 ` Russell King - ARM Linux
2017-03-20 17:16 ` Russell King - ARM Linux
2017-03-20 17:23 ` Philipp Zabel
2017-03-20 20:47 ` Russell King - ARM Linux
2017-03-21 4:03 ` Steve Longerbeam
2017-03-21 11:27 ` Russell King - ARM Linux
2017-03-21 23:56 ` Steve Longerbeam
2017-03-21 23:33 ` Steve Longerbeam
2017-03-20 17:40 ` Philipp Zabel
2017-03-20 17:59 ` Russell King - ARM Linux
2017-03-20 19:48 ` Steve Longerbeam
2017-03-10 4:53 ` [PATCH v5 39/39] media: imx: propagate sink pad formats to source pads Steve Longerbeam
2017-03-10 20:13 ` [PATCH v5 00/39] i.MX Media Driver Russell King - ARM Linux
2017-03-10 23:20 ` Steve Longerbeam
2017-03-12 17:47 ` Russell King - ARM Linux
2017-03-12 0:30 ` Steve Longerbeam
2017-03-12 19:57 ` Russell King - ARM Linux
2017-03-12 20:05 ` Steve Longerbeam
2017-03-12 20:22 ` Russell King - ARM Linux
2017-03-13 4:26 ` Steve Longerbeam
2017-03-13 8:16 ` Russell King - ARM Linux
2017-03-13 9:30 ` Russell King - ARM Linux
2017-03-13 23:39 ` Steve Longerbeam
2017-03-13 23:37 ` Steve Longerbeam
2017-03-12 17:51 ` Russell King - ARM Linux
2017-03-12 19:21 ` Steve Longerbeam
2017-03-12 19:29 ` Russell King - ARM Linux
2017-03-12 19:44 ` Steve Longerbeam
2017-03-12 20:16 ` Steve Longerbeam
2017-03-12 20:36 ` Steve Longerbeam
2017-03-12 20:39 ` Steve Longerbeam
2017-03-12 20:40 ` Russell King - ARM Linux
2017-03-12 21:09 ` Russell King - ARM Linux
2017-03-14 17:29 ` Steve Longerbeam
2017-03-18 20:02 ` Steve Longerbeam
2017-03-12 19:47 ` Russell King - ARM Linux
2017-03-12 20:00 ` Steve Longerbeam
2017-03-12 20:59 ` Mauro Carvalho Chehab
2017-03-12 21:13 ` Russell King - ARM Linux
2017-03-12 22:10 ` Mauro Carvalho Chehab
2017-03-14 17:02 ` Steve Longerbeam
2017-03-18 19:22 ` Russell King - ARM Linux
2017-03-18 19:58 ` Steve Longerbeam
2017-03-18 20:43 ` Russell King - ARM Linux
2017-03-19 0:41 ` Nicolas Dufresne
2017-03-19 0:54 ` Russell King - ARM Linux
2017-03-19 14:33 ` Nicolas Dufresne
2017-03-19 14:51 ` Russell King - ARM Linux
2017-03-19 9:55 ` Russell King - ARM Linux
2017-03-19 14:45 ` Nicolas Dufresne
2017-03-19 13:57 ` Vladimir Zapolskiy
2017-03-19 14:21 ` Russell King - ARM Linux
2017-03-19 14:22 ` Russell King - ARM Linux
2017-03-19 15:00 ` Vladimir Zapolskiy
2017-03-19 15:09 ` Russell King - ARM Linux
2017-03-19 14:47 ` Nicolas Dufresne
2017-03-19 10:38 ` Russell King - ARM Linux
2017-03-19 10:48 ` [PATCH 1/4] media: imx-media-csi: fix v4l2-compliance check Russell King
2017-03-19 22:00 ` Steve Longerbeam
2017-03-19 10:48 ` [PATCH 2/4] media: imx: allow bayer pixel formats to be looked up Russell King
2017-03-19 22:02 ` Steve Longerbeam
2017-03-19 10:49 ` [PATCH 3/4] media: imx-csi: add frame size/interval enumeration Russell King
2017-03-19 22:18 ` Steve Longerbeam
2017-03-21 23:46 ` Steve Longerbeam
2017-03-19 10:49 ` [PATCH 4/4] media: imx-media-capture: add frame sizes/interval enumeration Russell King
2017-03-19 22:21 ` Steve Longerbeam
2017-03-19 22:39 ` Russell King - ARM Linux
2017-03-20 8:55 ` Philippe De Muyter
2017-03-20 9:05 ` Russell King - ARM Linux
2017-03-20 9:23 ` Philippe De Muyter
2017-03-20 10:41 ` Russell King - ARM Linux
2017-03-19 17:54 ` [PATCH v5 00/39] i.MX Media Driver Steve Longerbeam
2017-03-19 18:04 ` Russell King - ARM Linux
2017-03-20 13:01 ` Hans Verkuil
2017-03-20 13:29 ` Russell King - ARM Linux
2017-03-20 13:57 ` Hans Verkuil
2017-03-20 14:11 ` Russell King - ARM Linux
2017-03-20 15:57 ` Hans Verkuil
2017-03-21 10:42 ` Niklas Söderlund
2017-03-21 10:59 ` Hans Verkuil
2017-03-21 11:36 ` Russell King - ARM Linux
2017-03-22 18:10 ` Nicolas Dufresne
2017-03-19 12:14 ` Russell King - ARM Linux
2017-03-19 18:37 ` Steve Longerbeam
2017-03-19 18:51 ` Russell King - ARM Linux
2017-03-19 18:56 ` Steve Longerbeam
2017-03-20 12:49 ` Hans Verkuil
2017-03-20 13:20 ` Philipp Zabel
2017-03-20 15:43 ` Russell King - ARM Linux
2017-03-20 16:29 ` Philipp Zabel
2017-03-20 16:35 ` Russell King - ARM Linux
2017-03-20 13:15 ` Philipp Zabel
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=1489121599-23206-36-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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®