linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org,
	"Lucas A .  M .  Magalhães" <lucmaga@gmail.com>,
	"Helen Koike" <helen.koike@collabora.com>,
	"Hans Verkuil" <hverkuil-cisco@xs4all.nl>,
	"Mauro Carvalho Chehab" <mchehab+samsung@kernel.org>
Subject: [PATCH 4.19 266/280] media: vimc: Add vimc-streamer for stream control
Date: Fri, 22 Mar 2019 12:16:59 +0100	[thread overview]
Message-ID: <20190322111345.086276141@linuxfoundation.org> (raw)
In-Reply-To: <20190322111306.356185024@linuxfoundation.org>

4.19-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Lucas A. M. Magalhães <lucmaga@gmail.com>

commit adc589d2a20808fb99d46a78175cd023f2040338 upstream.

Add a linear pipeline logic for the stream control. It's created by
walking backwards on the entity graph. When the stream starts it will
simply loop through the pipeline calling the respective process_frame
function of each entity.

Fixes: f2fe89061d797 ("vimc: Virtual Media Controller core, capture
and sensor")

Cc: stable@vger.kernel.org # for v4.20
Signed-off-by: Lucas A. M. Magalhães <lucmaga@gmail.com>
Acked-by: Helen Koike <helen.koike@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
[hverkuil-cisco@xs4all.nl: fixed small space-after-tab issue in the patch]
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/media/platform/vimc/Makefile        |    3 
 drivers/media/platform/vimc/vimc-capture.c  |   18 +-
 drivers/media/platform/vimc/vimc-common.c   |   35 -----
 drivers/media/platform/vimc/vimc-common.h   |   15 --
 drivers/media/platform/vimc/vimc-debayer.c  |   26 ---
 drivers/media/platform/vimc/vimc-scaler.c   |   28 ----
 drivers/media/platform/vimc/vimc-sensor.c   |   56 +-------
 drivers/media/platform/vimc/vimc-streamer.c |  188 ++++++++++++++++++++++++++++
 drivers/media/platform/vimc/vimc-streamer.h |   38 +++++
 9 files changed, 260 insertions(+), 147 deletions(-)

--- a/drivers/media/platform/vimc/Makefile
+++ b/drivers/media/platform/vimc/Makefile
@@ -5,6 +5,7 @@ vimc_common-objs := vimc-common.o
 vimc_debayer-objs := vimc-debayer.o
 vimc_scaler-objs := vimc-scaler.o
 vimc_sensor-objs := vimc-sensor.o
+vimc_streamer-objs := vimc-streamer.o
 
 obj-$(CONFIG_VIDEO_VIMC) += vimc.o vimc_capture.o vimc_common.o vimc-debayer.o \
-				vimc_scaler.o vimc_sensor.o
+			    vimc_scaler.o vimc_sensor.o vimc_streamer.o
--- a/drivers/media/platform/vimc/vimc-capture.c
+++ b/drivers/media/platform/vimc/vimc-capture.c
@@ -24,6 +24,7 @@
 #include <media/videobuf2-vmalloc.h>
 
 #include "vimc-common.h"
+#include "vimc-streamer.h"
 
 #define VIMC_CAP_DRV_NAME "vimc-capture"
 
@@ -44,7 +45,7 @@ struct vimc_cap_device {
 	spinlock_t qlock;
 	struct mutex lock;
 	u32 sequence;
-	struct media_pipeline pipe;
+	struct vimc_stream stream;
 };
 
 static const struct v4l2_pix_format fmt_default = {
@@ -248,14 +249,13 @@ static int vimc_cap_start_streaming(stru
 	vcap->sequence = 0;
 
 	/* Start the media pipeline */
-	ret = media_pipeline_start(entity, &vcap->pipe);
+	ret = media_pipeline_start(entity, &vcap->stream.pipe);
 	if (ret) {
 		vimc_cap_return_all_buffers(vcap, VB2_BUF_STATE_QUEUED);
 		return ret;
 	}
 
-	/* Enable streaming from the pipe */
-	ret = vimc_pipeline_s_stream(&vcap->vdev.entity, 1);
+	ret = vimc_streamer_s_stream(&vcap->stream, &vcap->ved, 1);
 	if (ret) {
 		media_pipeline_stop(entity);
 		vimc_cap_return_all_buffers(vcap, VB2_BUF_STATE_QUEUED);
@@ -273,8 +273,7 @@ static void vimc_cap_stop_streaming(stru
 {
 	struct vimc_cap_device *vcap = vb2_get_drv_priv(vq);
 
-	/* Disable streaming from the pipe */
-	vimc_pipeline_s_stream(&vcap->vdev.entity, 0);
+	vimc_streamer_s_stream(&vcap->stream, &vcap->ved, 0);
 
 	/* Stop the media pipeline */
 	media_pipeline_stop(&vcap->vdev.entity);
@@ -355,8 +354,8 @@ static void vimc_cap_comp_unbind(struct
 	kfree(vcap);
 }
 
-static void vimc_cap_process_frame(struct vimc_ent_device *ved,
-				   struct media_pad *sink, const void *frame)
+static void *vimc_cap_process_frame(struct vimc_ent_device *ved,
+				    const void *frame)
 {
 	struct vimc_cap_device *vcap = container_of(ved, struct vimc_cap_device,
 						    ved);
@@ -370,7 +369,7 @@ static void vimc_cap_process_frame(struc
 					    typeof(*vimc_buf), list);
 	if (!vimc_buf) {
 		spin_unlock(&vcap->qlock);
-		return;
+		return ERR_PTR(-EAGAIN);
 	}
 
 	/* Remove this entry from the list */
@@ -391,6 +390,7 @@ static void vimc_cap_process_frame(struc
 	vb2_set_plane_payload(&vimc_buf->vb2.vb2_buf, 0,
 			      vcap->format.sizeimage);
 	vb2_buffer_done(&vimc_buf->vb2.vb2_buf, VB2_BUF_STATE_DONE);
+	return NULL;
 }
 
 static int vimc_cap_comp_bind(struct device *comp, struct device *master,
--- a/drivers/media/platform/vimc/vimc-common.c
+++ b/drivers/media/platform/vimc/vimc-common.c
@@ -207,41 +207,6 @@ const struct vimc_pix_map *vimc_pix_map_
 }
 EXPORT_SYMBOL_GPL(vimc_pix_map_by_pixelformat);
 
-int vimc_propagate_frame(struct media_pad *src, const void *frame)
-{
-	struct media_link *link;
-
-	if (!(src->flags & MEDIA_PAD_FL_SOURCE))
-		return -EINVAL;
-
-	/* Send this frame to all sink pads that are direct linked */
-	list_for_each_entry(link, &src->entity->links, list) {
-		if (link->source == src &&
-		    (link->flags & MEDIA_LNK_FL_ENABLED)) {
-			struct vimc_ent_device *ved = NULL;
-			struct media_entity *entity = link->sink->entity;
-
-			if (is_media_entity_v4l2_subdev(entity)) {
-				struct v4l2_subdev *sd =
-					container_of(entity, struct v4l2_subdev,
-						     entity);
-				ved = v4l2_get_subdevdata(sd);
-			} else if (is_media_entity_v4l2_video_device(entity)) {
-				struct video_device *vdev =
-					container_of(entity,
-						     struct video_device,
-						     entity);
-				ved = video_get_drvdata(vdev);
-			}
-			if (ved && ved->process_frame)
-				ved->process_frame(ved, link->sink, frame);
-		}
-	}
-
-	return 0;
-}
-EXPORT_SYMBOL_GPL(vimc_propagate_frame);
-
 /* Helper function to allocate and initialize pads */
 struct media_pad *vimc_pads_init(u16 num_pads, const unsigned long *pads_flag)
 {
--- a/drivers/media/platform/vimc/vimc-common.h
+++ b/drivers/media/platform/vimc/vimc-common.h
@@ -113,24 +113,13 @@ struct vimc_pix_map {
 struct vimc_ent_device {
 	struct media_entity *ent;
 	struct media_pad *pads;
-	void (*process_frame)(struct vimc_ent_device *ved,
-			      struct media_pad *sink, const void *frame);
+	void * (*process_frame)(struct vimc_ent_device *ved,
+				const void *frame);
 	void (*vdev_get_format)(struct vimc_ent_device *ved,
 			      struct v4l2_pix_format *fmt);
 };
 
 /**
- * vimc_propagate_frame - propagate a frame through the topology
- *
- * @src:	the source pad where the frame is being originated
- * @frame:	the frame to be propagated
- *
- * This function will call the process_frame callback from the vimc_ent_device
- * struct of the nodes directly connected to the @src pad
- */
-int vimc_propagate_frame(struct media_pad *src, const void *frame);
-
-/**
  * vimc_pads_init - initialize pads
  *
  * @num_pads:	number of pads to initialize
--- a/drivers/media/platform/vimc/vimc-debayer.c
+++ b/drivers/media/platform/vimc/vimc-debayer.c
@@ -321,7 +321,6 @@ static void vimc_deb_set_rgb_mbus_fmt_rg
 static int vimc_deb_s_stream(struct v4l2_subdev *sd, int enable)
 {
 	struct vimc_deb_device *vdeb = v4l2_get_subdevdata(sd);
-	int ret;
 
 	if (enable) {
 		const struct vimc_pix_map *vpix;
@@ -351,22 +350,10 @@ static int vimc_deb_s_stream(struct v4l2
 		if (!vdeb->src_frame)
 			return -ENOMEM;
 
-		/* Turn the stream on in the subdevices directly connected */
-		ret = vimc_pipeline_s_stream(&vdeb->sd.entity, 1);
-		if (ret) {
-			vfree(vdeb->src_frame);
-			vdeb->src_frame = NULL;
-			return ret;
-		}
 	} else {
 		if (!vdeb->src_frame)
 			return 0;
 
-		/* Disable streaming from the pipe */
-		ret = vimc_pipeline_s_stream(&vdeb->sd.entity, 0);
-		if (ret)
-			return ret;
-
 		vfree(vdeb->src_frame);
 		vdeb->src_frame = NULL;
 	}
@@ -480,9 +467,8 @@ static void vimc_deb_calc_rgb_sink(struc
 	}
 }
 
-static void vimc_deb_process_frame(struct vimc_ent_device *ved,
-				   struct media_pad *sink,
-				   const void *sink_frame)
+static void *vimc_deb_process_frame(struct vimc_ent_device *ved,
+				    const void *sink_frame)
 {
 	struct vimc_deb_device *vdeb = container_of(ved, struct vimc_deb_device,
 						    ved);
@@ -491,7 +477,7 @@ static void vimc_deb_process_frame(struc
 
 	/* If the stream in this node is not active, just return */
 	if (!vdeb->src_frame)
-		return;
+		return ERR_PTR(-EINVAL);
 
 	for (i = 0; i < vdeb->sink_fmt.height; i++)
 		for (j = 0; j < vdeb->sink_fmt.width; j++) {
@@ -499,12 +485,8 @@ static void vimc_deb_process_frame(struc
 			vdeb->set_rgb_src(vdeb, i, j, rgb);
 		}
 
-	/* Propagate the frame through all source pads */
-	for (i = 1; i < vdeb->sd.entity.num_pads; i++) {
-		struct media_pad *pad = &vdeb->sd.entity.pads[i];
+	return vdeb->src_frame;
 
-		vimc_propagate_frame(pad, vdeb->src_frame);
-	}
 }
 
 static void vimc_deb_comp_unbind(struct device *comp, struct device *master,
--- a/drivers/media/platform/vimc/vimc-scaler.c
+++ b/drivers/media/platform/vimc/vimc-scaler.c
@@ -217,7 +217,6 @@ static const struct v4l2_subdev_pad_ops
 static int vimc_sca_s_stream(struct v4l2_subdev *sd, int enable)
 {
 	struct vimc_sca_device *vsca = v4l2_get_subdevdata(sd);
-	int ret;
 
 	if (enable) {
 		const struct vimc_pix_map *vpix;
@@ -245,22 +244,10 @@ static int vimc_sca_s_stream(struct v4l2
 		if (!vsca->src_frame)
 			return -ENOMEM;
 
-		/* Turn the stream on in the subdevices directly connected */
-		ret = vimc_pipeline_s_stream(&vsca->sd.entity, 1);
-		if (ret) {
-			vfree(vsca->src_frame);
-			vsca->src_frame = NULL;
-			return ret;
-		}
 	} else {
 		if (!vsca->src_frame)
 			return 0;
 
-		/* Disable streaming from the pipe */
-		ret = vimc_pipeline_s_stream(&vsca->sd.entity, 0);
-		if (ret)
-			return ret;
-
 		vfree(vsca->src_frame);
 		vsca->src_frame = NULL;
 	}
@@ -346,26 +333,19 @@ static void vimc_sca_fill_src_frame(cons
 			vimc_sca_scale_pix(vsca, i, j, sink_frame);
 }
 
-static void vimc_sca_process_frame(struct vimc_ent_device *ved,
-				   struct media_pad *sink,
-				   const void *sink_frame)
+static void *vimc_sca_process_frame(struct vimc_ent_device *ved,
+				    const void *sink_frame)
 {
 	struct vimc_sca_device *vsca = container_of(ved, struct vimc_sca_device,
 						    ved);
-	unsigned int i;
 
 	/* If the stream in this node is not active, just return */
 	if (!vsca->src_frame)
-		return;
+		return ERR_PTR(-EINVAL);
 
 	vimc_sca_fill_src_frame(vsca, sink_frame);
 
-	/* Propagate the frame through all source pads */
-	for (i = 1; i < vsca->sd.entity.num_pads; i++) {
-		struct media_pad *pad = &vsca->sd.entity.pads[i];
-
-		vimc_propagate_frame(pad, vsca->src_frame);
-	}
+	return vsca->src_frame;
 };
 
 static void vimc_sca_comp_unbind(struct device *comp, struct device *master,
--- a/drivers/media/platform/vimc/vimc-sensor.c
+++ b/drivers/media/platform/vimc/vimc-sensor.c
@@ -16,8 +16,6 @@
  */
 
 #include <linux/component.h>
-#include <linux/freezer.h>
-#include <linux/kthread.h>
 #include <linux/module.h>
 #include <linux/mod_devicetable.h>
 #include <linux/platform_device.h>
@@ -201,38 +199,27 @@ static const struct v4l2_subdev_pad_ops
 	.set_fmt		= vimc_sen_set_fmt,
 };
 
-static int vimc_sen_tpg_thread(void *data)
+static void *vimc_sen_process_frame(struct vimc_ent_device *ved,
+				    const void *sink_frame)
 {
-	struct vimc_sen_device *vsen = data;
-	unsigned int i;
-
-	set_freezable();
-	set_current_state(TASK_UNINTERRUPTIBLE);
-
-	for (;;) {
-		try_to_freeze();
-		if (kthread_should_stop())
-			break;
-
-		tpg_fill_plane_buffer(&vsen->tpg, 0, 0, vsen->frame);
-
-		/* Send the frame to all source pads */
-		for (i = 0; i < vsen->sd.entity.num_pads; i++)
-			vimc_propagate_frame(&vsen->sd.entity.pads[i],
-					     vsen->frame);
+	struct vimc_sen_device *vsen = container_of(ved, struct vimc_sen_device,
+						    ved);
+	const struct vimc_pix_map *vpix;
+	unsigned int frame_size;
 
-		/* 60 frames per second */
-		schedule_timeout(HZ/60);
-	}
+	/* Calculate the frame size */
+	vpix = vimc_pix_map_by_code(vsen->mbus_format.code);
+	frame_size = vsen->mbus_format.width * vpix->bpp *
+		     vsen->mbus_format.height;
 
-	return 0;
+	tpg_fill_plane_buffer(&vsen->tpg, 0, 0, vsen->frame);
+	return vsen->frame;
 }
 
 static int vimc_sen_s_stream(struct v4l2_subdev *sd, int enable)
 {
 	struct vimc_sen_device *vsen =
 				container_of(sd, struct vimc_sen_device, sd);
-	int ret;
 
 	if (enable) {
 		const struct vimc_pix_map *vpix;
@@ -258,26 +245,8 @@ static int vimc_sen_s_stream(struct v4l2
 		/* configure the test pattern generator */
 		vimc_sen_tpg_s_format(vsen);
 
-		/* Initialize the image generator thread */
-		vsen->kthread_sen = kthread_run(vimc_sen_tpg_thread, vsen,
-					"%s-sen", vsen->sd.v4l2_dev->name);
-		if (IS_ERR(vsen->kthread_sen)) {
-			dev_err(vsen->dev, "%s: kernel_thread() failed\n",
-				vsen->sd.name);
-			vfree(vsen->frame);
-			vsen->frame = NULL;
-			return PTR_ERR(vsen->kthread_sen);
-		}
 	} else {
-		if (!vsen->kthread_sen)
-			return 0;
-
-		/* Stop image generator */
-		ret = kthread_stop(vsen->kthread_sen);
-		if (ret)
-			return ret;
 
-		vsen->kthread_sen = NULL;
 		vfree(vsen->frame);
 		vsen->frame = NULL;
 		return 0;
@@ -393,6 +362,7 @@ static int vimc_sen_comp_bind(struct dev
 	if (ret)
 		goto err_free_hdl;
 
+	vsen->ved.process_frame = vimc_sen_process_frame;
 	dev_set_drvdata(comp, &vsen->ved);
 	vsen->dev = comp;
 
--- /dev/null
+++ b/drivers/media/platform/vimc/vimc-streamer.c
@@ -0,0 +1,188 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * vimc-streamer.c Virtual Media Controller Driver
+ *
+ * Copyright (C) 2018 Lucas A. M. Magalhães <lucmaga@gmail.com>
+ *
+ */
+
+#include <linux/init.h>
+#include <linux/module.h>
+#include <linux/freezer.h>
+#include <linux/kthread.h>
+
+#include "vimc-streamer.h"
+
+/**
+ * vimc_get_source_entity - get the entity connected with the first sink pad
+ *
+ * @ent:	reference media_entity
+ *
+ * Helper function that returns the media entity containing the source pad
+ * linked with the first sink pad from the given media entity pad list.
+ */
+static struct media_entity *vimc_get_source_entity(struct media_entity *ent)
+{
+	struct media_pad *pad;
+	int i;
+
+	for (i = 0; i < ent->num_pads; i++) {
+		if (ent->pads[i].flags & MEDIA_PAD_FL_SOURCE)
+			continue;
+		pad = media_entity_remote_pad(&ent->pads[i]);
+		return pad ? pad->entity : NULL;
+	}
+	return NULL;
+}
+
+/*
+ * vimc_streamer_pipeline_terminate - Disable stream in all ved in stream
+ *
+ * @stream: the pointer to the stream structure with the pipeline to be
+ *	    disabled.
+ *
+ * Calls s_stream to disable the stream in each entity of the pipeline
+ *
+ */
+static void vimc_streamer_pipeline_terminate(struct vimc_stream *stream)
+{
+	struct media_entity *entity;
+	struct v4l2_subdev *sd;
+
+	while (stream->pipe_size) {
+		stream->pipe_size--;
+		entity = stream->ved_pipeline[stream->pipe_size]->ent;
+		entity = vimc_get_source_entity(entity);
+		stream->ved_pipeline[stream->pipe_size] = NULL;
+
+		if (!is_media_entity_v4l2_subdev(entity))
+			continue;
+
+		sd = media_entity_to_v4l2_subdev(entity);
+		v4l2_subdev_call(sd, video, s_stream, 0);
+	}
+}
+
+/*
+ * vimc_streamer_pipeline_init - initializes the stream structure
+ *
+ * @stream: the pointer to the stream structure to be initialized
+ * @ved:    the pointer to the vimc entity initializing the stream
+ *
+ * Initializes the stream structure. Walks through the entity graph to
+ * construct the pipeline used later on the streamer thread.
+ * Calls s_stream to enable stream in all entities of the pipeline.
+ */
+static int vimc_streamer_pipeline_init(struct vimc_stream *stream,
+				       struct vimc_ent_device *ved)
+{
+	struct media_entity *entity;
+	struct video_device *vdev;
+	struct v4l2_subdev *sd;
+	int ret = 0;
+
+	stream->pipe_size = 0;
+	while (stream->pipe_size < VIMC_STREAMER_PIPELINE_MAX_SIZE) {
+		if (!ved) {
+			vimc_streamer_pipeline_terminate(stream);
+			return -EINVAL;
+		}
+		stream->ved_pipeline[stream->pipe_size++] = ved;
+
+		entity = vimc_get_source_entity(ved->ent);
+		/* Check if the end of the pipeline was reached*/
+		if (!entity)
+			return 0;
+
+		if (is_media_entity_v4l2_subdev(entity)) {
+			sd = media_entity_to_v4l2_subdev(entity);
+			ret = v4l2_subdev_call(sd, video, s_stream, 1);
+			if (ret && ret != -ENOIOCTLCMD) {
+				vimc_streamer_pipeline_terminate(stream);
+				return ret;
+			}
+			ved = v4l2_get_subdevdata(sd);
+		} else {
+			vdev = container_of(entity,
+					    struct video_device,
+					    entity);
+			ved = video_get_drvdata(vdev);
+		}
+	}
+
+	vimc_streamer_pipeline_terminate(stream);
+	return -EINVAL;
+}
+
+static int vimc_streamer_thread(void *data)
+{
+	struct vimc_stream *stream = data;
+	int i;
+
+	set_freezable();
+	set_current_state(TASK_UNINTERRUPTIBLE);
+
+	for (;;) {
+		try_to_freeze();
+		if (kthread_should_stop())
+			break;
+
+		for (i = stream->pipe_size - 1; i >= 0; i--) {
+			stream->frame = stream->ved_pipeline[i]->process_frame(
+					stream->ved_pipeline[i],
+					stream->frame);
+			if (!stream->frame)
+				break;
+			if (IS_ERR(stream->frame))
+				break;
+		}
+		//wait for 60hz
+		schedule_timeout(HZ / 60);
+	}
+
+	return 0;
+}
+
+int vimc_streamer_s_stream(struct vimc_stream *stream,
+			   struct vimc_ent_device *ved,
+			   int enable)
+{
+	int ret;
+
+	if (!stream || !ved)
+		return -EINVAL;
+
+	if (enable) {
+		if (stream->kthread)
+			return 0;
+
+		ret = vimc_streamer_pipeline_init(stream, ved);
+		if (ret)
+			return ret;
+
+		stream->kthread = kthread_run(vimc_streamer_thread, stream,
+					      "vimc-streamer thread");
+
+		if (IS_ERR(stream->kthread))
+			return PTR_ERR(stream->kthread);
+
+	} else {
+		if (!stream->kthread)
+			return 0;
+
+		ret = kthread_stop(stream->kthread);
+		if (ret)
+			return ret;
+
+		stream->kthread = NULL;
+
+		vimc_streamer_pipeline_terminate(stream);
+	}
+
+	return 0;
+}
+EXPORT_SYMBOL_GPL(vimc_streamer_s_stream);
+
+MODULE_DESCRIPTION("Virtual Media Controller Driver (VIMC) Streamer");
+MODULE_AUTHOR("Lucas A. M. Magalhães <lucmaga@gmail.com>");
+MODULE_LICENSE("GPL");
--- /dev/null
+++ b/drivers/media/platform/vimc/vimc-streamer.h
@@ -0,0 +1,38 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * vimc-streamer.h Virtual Media Controller Driver
+ *
+ * Copyright (C) 2018 Lucas A. M. Magalhães <lucmaga@gmail.com>
+ *
+ */
+
+#ifndef _VIMC_STREAMER_H_
+#define _VIMC_STREAMER_H_
+
+#include <media/media-device.h>
+
+#include "vimc-common.h"
+
+#define VIMC_STREAMER_PIPELINE_MAX_SIZE 16
+
+struct vimc_stream {
+	struct media_pipeline pipe;
+	struct vimc_ent_device *ved_pipeline[VIMC_STREAMER_PIPELINE_MAX_SIZE];
+	unsigned int pipe_size;
+	u8 *frame;
+	struct task_struct *kthread;
+};
+
+/**
+ * vimc_streamer_s_streamer - start/stop the stream
+ *
+ * @stream:	the pointer to the stream to start or stop
+ * @ved:	The last entity of the streamer pipeline
+ * @enable:	any non-zero number start the stream, zero stop
+ *
+ */
+int vimc_streamer_s_stream(struct vimc_stream *stream,
+			   struct vimc_ent_device *ved,
+			   int enable);
+
+#endif  //_VIMC_STREAMER_H_



  parent reply	other threads:[~2019-03-22 12:36 UTC|newest]

Thread overview: 285+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-22 11:12 [PATCH 4.19 000/280] 4.19.31-stable review Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 001/280] media: videobuf2-v4l2: drop WARN_ON in vb2_warn_zero_bytesused() Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 002/280] 9p: use inode->i_lock to protect i_size_write() under 32-bit Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 003/280] 9p/net: fix memory leak in p9_client_create Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 004/280] ASoC: fsl_esai: fix register setting issue in RIGHT_J mode Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 005/280] ASoC: codecs: pcm186x: fix wrong usage of DECLARE_TLV_DB_SCALE() Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 006/280] ASoC: codecs: pcm186x: Fix energysense SLEEP bit Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 007/280] iio: adc: exynos-adc: Fix NULL pointer exception on unbind Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 008/280] mei: hbm: clean the feature flags on link reset Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 009/280] mei: bus: move hw module get/put to probe/release Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 010/280] stm class: Fix an endless loop in channel allocation Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 011/280] crypto: caam - fix hash context DMA unmap size Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 012/280] crypto: ccree - fix missing break in switch statement Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 013/280] crypto: caam - fixed handling of sg list Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 014/280] crypto: caam - fix DMA mapping of stack memory Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 015/280] crypto: ccree - fix free of unallocated mlli buffer Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 016/280] crypto: ccree - unmap buffer before copying IV Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 017/280] crypto: ccree - dont copy zero size ciphertext Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 018/280] crypto: cfb - add missing chunksize property Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 019/280] crypto: cfb - remove bogus memcpy() with src == dest Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 020/280] crypto: ahash - fix another early termination in hash walk Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 021/280] crypto: rockchip - fix scatterlist nents error Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 022/280] crypto: rockchip - update new iv to device in multiple operations Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 023/280] drm/imx: ignore plane updates on disabled crtcs Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 024/280] gpu: ipu-v3: Fix i.MX51 CSI control registers offset Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 025/280] drm/imx: imx-ldb: add missing of_node_puts Greg Kroah-Hartman
2019-03-22 11:12 ` [PATCH 4.19 026/280] gpu: ipu-v3: Fix CSI offsets for imx53 Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 027/280] ASoC: rt5682: Correct the setting while select ASRC clk for AD/DA filter Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 028/280] clocksource: timer-ti-dm: Fix pwm dmtimer usage of fck reparenting Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 029/280] KVM: arm/arm64: vgic: Make vgic_dist->lpi_list_lock a raw_spinlock Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 030/280] arm64: dts: rockchip: fix graph_port warning on rk3399 bob kevin and excavator Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 031/280] s390/dasd: fix using offset into zero size array error Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 032/280] Input: pwm-vibra - prevent unbalanced regulator Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 033/280] Input: pwm-vibra - stop regulator after disabling pwm, not before Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 034/280] ARM: dts: Configure clock parent for pwm vibra Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 035/280] ARM: OMAP2+: Variable "reg" in function omap4_dsi_mux_pads() could be uninitialized Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 036/280] ASoC: dapm: fix out-of-bounds accesses to DAPM lookup tables Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 037/280] ASoC: rsnd: fixup rsnd_ssi_master_clk_start() user count check Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 038/280] KVM: arm/arm64: Reset the VCPU without preemption and vcpu state loaded Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 039/280] arm/arm64: KVM: Allow a VCPU to fully reset itself Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 040/280] arm/arm64: KVM: Dont panic on failure to properly reset system registers Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 041/280] KVM: arm/arm64: vgic: Always initialize the group of private IRQs Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 042/280] KVM: arm64: Forbid kprobing of the VHE world-switch code Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 043/280] ASoC: samsung: Prevent clk_get_rate() calls in atomic context Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 044/280] ARM: OMAP2+: fix lack of timer interrupts on CPU1 after hotplug Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 045/280] Input: cap11xx - switch to using set_brightness_blocking() Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 046/280] Input: ps2-gpio - flush TX work when closing port Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 047/280] Input: matrix_keypad - use flush_delayed_work() Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 048/280] mac80211: call drv_ibss_join() on restart Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 049/280] mac80211: Fix Tx aggregation session tear down with ITXQs Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 050/280] netfilter: compat: initialize all fields in xt_init Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 051/280] blk-mq: insert rq with DONTPREP to hctx dispatch list when requeue Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 052/280] ipvs: fix dependency on nf_defrag_ipv6 Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 053/280] floppy: check_events callback should not return a negative number Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 054/280] xprtrdma: Make sure Send CQ is allocated on an existing compvec Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 055/280] NFS: Dont use page_file_mapping after removing the page Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 056/280] mm/gup: fix gup_pmd_range() for dax Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 057/280] Revert "mm: use early_pfn_to_nid in page_ext_init" Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 058/280] scsi: qla2xxx: Fix panic from use after free in qla2x00_async_tm_cmd Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 059/280] net: dsa: bcm_sf2: potential array overflow in bcm_sf2_sw_suspend() Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 060/280] x86/CPU: Add Icelake model number Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 061/280] mm: page_alloc: fix ref bias in page_frag_alloc() for 1-byte allocs Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 062/280] net: hns: Fix object reference leaks in hns_dsaf_roce_reset() Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 063/280] i2c: cadence: Fix the hold bit setting Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 064/280] i2c: bcm2835: Clear current buffer pointers and counts after a transfer Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 065/280] auxdisplay: ht16k33: fix potential user-after-free on module unload Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 066/280] Input: st-keyscan - fix potential zalloc NULL dereference Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 067/280] clk: sunxi-ng: v3s: Fix TCON reset de-assert bit Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 068/280] kallsyms: Handle too long symbols in kallsyms.c Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 069/280] clk: sunxi: A31: Fix wrong AHB gate number Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 070/280] esp: Skip TX bytes accounting when sending from a request socket Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 071/280] ARM: 8824/1: fix a migrating irq bug when hotplug cpu Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 072/280] bpf: only adjust gso_size on bytestream protocols Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 073/280] bpf: fix lockdep false positive in stackmap Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 074/280] af_key: unconditionally clone on broadcast Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 075/280] ARM: 8835/1: dma-mapping: Clear DMA ops on teardown Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 076/280] assoc_array: Fix shortcut creation Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 077/280] keys: Fix dependency loop between construction record and auth key Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 078/280] scsi: libiscsi: Fix race between iscsi_xmit_task and iscsi_complete_task Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 079/280] net: systemport: Fix reception of BPDUs Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 080/280] net: dsa: bcm_sf2: Do not assume DSA master supports WoL Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 081/280] pinctrl: meson: meson8b: fix the sdxc_a data 1..3 pins Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 082/280] qmi_wwan: apply SET_DTR quirk to Sierra WP7607 Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 083/280] net: mv643xx_eth: disable clk on error path in mv643xx_eth_shared_probe() Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 084/280] xfrm: Fix inbound traffic via XFRM interfaces across network namespaces Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 085/280] mailbox: bcm-flexrm-mailbox: Fix FlexRM ring flush timeout issue Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.19 086/280] ASoC: topology: free created components in tplg load error Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 087/280] qed: Fix iWARP buffer size provided for syn packet processing Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 088/280] qed: Fix iWARP syn packet mac address validation Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 089/280] ARM: dts: armada-xp: fix Armada XP boards NAND description Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 090/280] arm64: Relax GIC version check during early boot Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 091/280] ARM: tegra: Restore DT ABI on Tegra124 Chromebooks Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 092/280] net: marvell: mvneta: fix DMA debug warning Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 093/280] mm: handle lru_add_drain_all for UP properly Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 094/280] tmpfs: fix link accounting when a tmpfile is linked in Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 095/280] ixgbe: fix older devices that do not support IXGBE_MRQC_L3L4TXSWEN Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 096/280] ARCv2: lib: memcpy: fix doing prefetchw outside of buffer Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 097/280] ARC: uacces: remove lp_start, lp_end from clobber list Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 098/280] ARCv2: support manual regfile save on interrupts Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 099/280] ARCv2: dont assume core 0x54 has dual issue Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 100/280] phonet: fix building with clang Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 101/280] mac80211_hwsim: propagate genlmsg_reply return code Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 102/280] bpf, lpm: fix lookup bug in map_delete_elem Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 103/280] net: thunderx: make CFG_DONE message to run through generic send-ack sequence Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 104/280] net: thunderx: add nicvf_send_msg_to_pf result check for set_rx_mode_task Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 105/280] nfp: bpf: fix code-gen bug on BPF_ALU | BPF_XOR | BPF_K Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 106/280] nfp: bpf: fix ALU32 high bits clearance bug Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 107/280] bnxt_en: Fix typo in firmware message timeout logic Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 108/280] bnxt_en: Wait longer for the firmware message response to complete Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 109/280] net: set static variable an initial value in atl2_probe() Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 110/280] selftests: fib_tests: sleep after changing carrier. again Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 111/280] tmpfs: fix uninitialized return value in shmem_link Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 112/280] stm class: Prevent division by zero Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 113/280] nfit: acpi_nfit_ctl(): Check out_obj->type in the right place Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 114/280] acpi/nfit: Fix bus command validation Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 115/280] nfit/ars: Attempt a short-ARS whenever the ARS state is idle at boot Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 116/280] nfit/ars: Attempt short-ARS even in the no_init_ars case Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 117/280] libnvdimm/label: Clear updating flag after label-set update Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 118/280] libnvdimm, pfn: Fix over-trim in trim_pfn_device() Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 119/280] libnvdimm/pmem: Honor force_raw for legacy pmem regions Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 120/280] libnvdimm: Fix altmap reservation size calculation Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 121/280] fix cgroup_do_mount() handling of failure exits Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 122/280] crypto: aead - set CRYPTO_TFM_NEED_KEY if ->setkey() fails Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 123/280] crypto: aegis - fix handling chunked inputs Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 124/280] crypto: arm/crct10dif - revert to C code for short inputs Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 125/280] crypto: arm64/aes-neonbs - fix returning final keystream block Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 126/280] crypto: arm64/crct10dif - revert to C code for short inputs Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 127/280] crypto: hash - set CRYPTO_TFM_NEED_KEY if ->setkey() fails Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 128/280] crypto: morus - fix handling chunked inputs Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 129/280] crypto: pcbc - remove bogus memcpy()s with src == dest Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 130/280] crypto: skcipher - set CRYPTO_TFM_NEED_KEY if ->setkey() fails Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 131/280] crypto: testmgr - skip crc32c context test for ahash algorithms Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 132/280] crypto: x86/aegis - fix handling chunked inputs and MAY_SLEEP Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 133/280] crypto: x86/aesni-gcm - fix crash on empty plaintext Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 134/280] crypto: x86/morus - fix handling chunked inputs and MAY_SLEEP Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 135/280] crypto: arm64/aes-ccm - fix logical bug in AAD MAC handling Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 136/280] crypto: arm64/aes-ccm - fix bugs in non-NEON fallback routine Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 137/280] CIFS: Do not reset lease state to NONE on lease break Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 138/280] CIFS: Do not skip SMB2 message IDs on send failures Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 139/280] CIFS: Fix read after write for files with read caching Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 140/280] tracing: Use strncpy instead of memcpy for string keys in hist triggers Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 141/280] tracing: Do not free iter->trace in fail path of tracing_open_pipe() Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 142/280] tracing/perf: Use strndup_user() instead of buggy open-coded version Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 143/280] xen: fix dom0 boot on huge systems Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 144/280] ACPI / device_sysfs: Avoid OF modalias creation for removed device Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 145/280] mmc: sdhci-esdhc-imx: fix HS400 timing issue Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.19 146/280] mmc:fix a bug when max_discard is 0 Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 147/280] netfilter: ipt_CLUSTERIP: fix warning unused variable cn Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 148/280] spi: ti-qspi: Fix mmap read when more than one CS in use Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 149/280] spi: pxa2xx: Setup maximum supported DMA transfer length Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 150/280] regulator: s2mps11: Fix steps for buck7, buck8 and LDO35 Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 151/280] regulator: max77620: Initialize values for DT properties Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 152/280] regulator: s2mpa01: Fix step values for some LDOs Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 153/280] clocksource/drivers/exynos_mct: Move one-shot check from tick clear to ISR Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 154/280] clocksource/drivers/exynos_mct: Clear timer interrupt when shutdown Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 155/280] clocksource/drivers/arch_timer: Workaround for Allwinner A64 timer instability Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 156/280] s390/setup: fix early warning messages Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 157/280] s390/virtio: handle find on invalid queue gracefully Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 158/280] scsi: virtio_scsi: dont send sc payload with tmfs Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 159/280] scsi: aacraid: Fix performance issue on logical drives Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 160/280] scsi: sd: Optimal I/O size should be a multiple of physical block size Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 161/280] scsi: target/iscsi: Avoid iscsit_release_commands_from_conn() deadlock Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 162/280] scsi: qla2xxx: Fix LUN discovery if loop id is not assigned yet by firmware Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 163/280] fs/devpts: always delete dcache dentry-s in dput() Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 164/280] splice: dont merge into linked buffers Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 165/280] ovl: During copy up, first copy up data and then xattrs Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 166/280] ovl: Do not lose security.capability xattr over metadata file copy-up Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 167/280] m68k: Add -ffreestanding to CFLAGS Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 168/280] Btrfs: setup a nofs context for memory allocation at btrfs_create_tree() Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 169/280] Btrfs: setup a nofs context for memory allocation at __btrfs_set_acl Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 170/280] btrfs: ensure that a DUP or RAID1 block group has exactly two stripes Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 171/280] Btrfs: fix corruption reading shared and compressed extents after hole punching Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 172/280] soc: qcom: rpmh: Avoid accessing freed memory from batch API Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 173/280] libertas_tf: dont set URB_ZERO_PACKET on IN USB transfer Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 174/280] irqchip/gic-v3-its: Avoid parsing _indirect_ twice for Device table Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 175/280] irqchip/brcmstb-l2: Use _irqsave locking variants in non-interrupt code Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 176/280] x86/kprobes: Prohibit probing on optprobe template code Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 177/280] cpufreq: kryo: Release OPP tables on module removal Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 178/280] cpufreq: tegra124: add missing of_node_put() Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 179/280] cpufreq: pxa2xx: remove incorrect __init annotation Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 180/280] ext4: fix check of inode in swap_inode_boot_loader Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 181/280] ext4: cleanup pagecache before swap i_data Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 182/280] ext4: update quota information while swapping boot loader inode Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 183/280] ext4: add mask of ext4 flags to swap Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 184/280] ext4: fix crash during online resizing Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 185/280] PCI/ASPM: Use LTR if already enabled by platform Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 186/280] PCI/DPC: Fix print AER status in DPC event handling Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 187/280] PCI: dwc: skip MSI init if MSIs have been explicitly disabled Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 188/280] IB/hfi1: Close race condition on user context disable and close Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 189/280] cxl: Wrap iterations over afu slices inside afu_list_lock Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 190/280] ext2: Fix underflow in ext2_max_size() Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 191/280] clk: uniphier: Fix update register for CPU-gear Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 192/280] clk: clk-twl6040: Fix imprecise external abort for pdmclk Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 193/280] clk: samsung: exynos5: Fix possible NULL pointer exception on platform_device_alloc() failure Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 194/280] clk: samsung: exynos5: Fix kfree() of const memory on setting driver_override Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 195/280] clk: ingenic: Fix round_rate misbehaving with non-integer dividers Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 196/280] clk: ingenic: Fix doc of ingenic_cgu_div_info Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 197/280] usb: chipidea: tegra: Fix missed ci_hdrc_remove_device() Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 198/280] usb: typec: tps6598x: handle block writes separately with plain-I2C adapters Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 199/280] dmaengine: usb-dmac: Make DMAC system sleep callbacks explicit Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 200/280] mm: hwpoison: fix thp split handing in soft_offline_in_use_page() Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 201/280] mm/vmalloc: fix size check for remap_vmalloc_range_partial() Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 202/280] mm/memory.c: do_fault: avoid usage of stale vm_area_struct Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 203/280] kernel/sysctl.c: add missing range check in do_proc_dointvec_minmax_conv Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 204/280] device property: Fix the length used in PROPERTY_ENTRY_STRING() Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 205/280] intel_th: Dont reference unassigned outputs Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.19 206/280] parport_pc: fix find_superio io compare code, should use equal test Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 207/280] i2c: tegra: fix maximum transfer size Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 208/280] media: i2c: ov5640: Fix post-reset delay Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 209/280] gpio: pca953x: Fix dereference of irq data in shutdown Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 210/280] can: flexcan: FLEXCAN_IFLAG_MB: add () around macro argument Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 211/280] drm/i915: Relax mmap VMA check Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 212/280] bpf: only test gso type on gso packets Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 213/280] serial: uartps: Fix stuck ISR if RX disabled with non-empty FIFO Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 214/280] serial: 8250_of: assume reg-shift of 2 for mrvl,mmp-uart Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 215/280] serial: 8250_pci: Fix number of ports for ACCES serial cards Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 216/280] serial: 8250_pci: Have ACCES cards that use the four port Pericom PI7C9X7954 chip use the pci_pericom_setup() Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 217/280] jbd2: clear dirty flag when revoking a buffer from an older transaction Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 218/280] jbd2: fix compile warning when using JBUFFER_TRACE Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 219/280] selinux: add the missing walk_size + len check in selinux_sctp_bind_connect Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 220/280] security/selinux: fix SECURITY_LSM_NATIVE_LABELS on reused superblock Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 221/280] powerpc/32: Clear on-stack exception marker upon exception return Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 222/280] powerpc/wii: properly disable use of BATs when requested Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 223/280] powerpc/powernv: Make opal log only readable by root Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 224/280] powerpc/83xx: Also save/restore SPRG4-7 during suspend Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 225/280] powerpc/powernv: Dont reprogram SLW image on every KVM guest entry/exit Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 226/280] powerpc: Fix 32-bit KVM-PR lockup and host crash with MacOS guest Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 227/280] powerpc/ptrace: Simplify vr_get/set() to avoid GCC warning Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 228/280] powerpc/hugetlb: Dont do runtime allocation of 16G pages in LPAR configuration Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 229/280] powerpc/traps: fix recoverability of machine check handling on book3s/32 Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 230/280] powerpc/traps: Fix the message printed when stack overflows Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 231/280] ARM: s3c24xx: Fix boolean expressions in osiris_dvs_notify Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 232/280] arm64: Fix HCR.TGE status for NMI contexts Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 233/280] arm64: debug: Ensure debug handlers check triggering exception level Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 234/280] arm64: KVM: Fix architecturally invalid reset value for FPEXC32_EL2 Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 235/280] ipmi_si: fix use-after-free of resource->name Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 236/280] dm: fix to_sector() for 32bit Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 237/280] dm integrity: limit the rate of error messages Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 238/280] mfd: sm501: Fix potential NULL pointer dereference Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 239/280] cpcap-charger: generate events for userspace Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 240/280] NFS: Fix I/O request leakages Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 241/280] NFS: Fix an I/O request leakage in nfs_do_recoalesce Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 242/280] NFS: Dont recoalesce on error in nfs_pageio_complete_mirror() Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 243/280] nfsd: fix performance-limiting session calculation Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 244/280] nfsd: fix memory corruption caused by readdir Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 245/280] nfsd: fix wrong check in write_v4_end_grace() Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 246/280] NFSv4.1: Reinitialise sequence results before retransmitting a request Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 247/280] svcrpc: fix UDP on servers with lots of threads Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 248/280] PM / wakeup: Rework wakeup source timer cancellation Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 249/280] bcache: never writeback a discard operation Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 250/280] stable-kernel-rules.rst: add link to networking patch queue Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 251/280] vt: perform safe console erase in the right order Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 252/280] x86/unwind/orc: Fix ORC unwind table alignment Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 253/280] perf intel-pt: Fix CYC timestamp calculation after OVF Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 254/280] perf tools: Fix split_kallsyms_for_kcore() for trampoline symbols Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 255/280] perf auxtrace: Define auxtrace record alignment Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 256/280] perf intel-pt: Fix overlap calculation for padding Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 257/280] perf/x86/intel/uncore: Fix client IMC events return huge result Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 258/280] perf intel-pt: Fix divide by zero when TSC is not available Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 259/280] md: Fix failed allocation of md_register_thread Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 260/280] tpm/tpm_crb: Avoid unaligned reads in crb_recv() Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 261/280] tpm: Unify the send callback behaviour Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 262/280] rcu: Do RCU GP kthread self-wakeup from softirq and interrupt Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 263/280] media: imx: prpencvf: Stop upstream before disabling IDMA channel Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 264/280] media: lgdt330x: fix lock status reporting Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.19 265/280] media: uvcvideo: Avoid NULL pointer dereference at the end of streaming Greg Kroah-Hartman
2019-03-22 11:16 ` Greg Kroah-Hartman [this message]
2019-03-22 11:17 ` [PATCH 4.19 267/280] media: imx: csi: Disable CSI immediately after last EOF Greg Kroah-Hartman
2019-03-22 11:17 ` [PATCH 4.19 268/280] media: imx: csi: Stop upstream before disabling IDMA channel Greg Kroah-Hartman
2019-03-22 11:17 ` [PATCH 4.19 269/280] drm/fb-helper: generic: Fix drm_fbdev_client_restore() Greg Kroah-Hartman
2019-03-22 11:17 ` [PATCH 4.19 270/280] drm/radeon/evergreen_cs: fix missing break in switch statement Greg Kroah-Hartman
2019-03-22 11:17 ` [PATCH 4.19 271/280] drm/amd/powerplay: correct power reading on fiji Greg Kroah-Hartman
2019-03-22 11:17 ` [PATCH 4.19 272/280] drm/amd/display: dont call dm_pp_ function from an fpu block Greg Kroah-Hartman
2019-03-22 11:17 ` [PATCH 4.19 273/280] KVM: Call kvm_arch_memslots_updated() before updating memslots Greg Kroah-Hartman
2019-03-22 11:17 ` [PATCH 4.19 274/280] KVM: x86/mmu: Detect MMIO generation wrap in any address space Greg Kroah-Hartman
2019-03-22 11:17 ` [PATCH 4.19 275/280] KVM: x86/mmu: Do not cache MMIO accesses while memslots are in flux Greg Kroah-Hartman
2019-03-22 11:17 ` [PATCH 4.19 276/280] KVM: nVMX: Sign extend displacements of VMX instrs mem operands Greg Kroah-Hartman
2019-03-22 11:17 ` [PATCH 4.19 277/280] KVM: nVMX: Apply addr size mask to effective address for VMX instructions Greg Kroah-Hartman
2019-03-22 11:17 ` [PATCH 4.19 278/280] KVM: nVMX: Ignore limit checks on VMX instructions using flat segments Greg Kroah-Hartman
2019-03-22 11:17 ` [PATCH 4.19 279/280] bcache: use (REQ_META|REQ_PRIO) to indicate bio for metadata Greg Kroah-Hartman
2019-03-22 11:17 ` [PATCH 4.19 280/280] s390/setup: fix boot crash for machine without EDAT-1 Greg Kroah-Hartman
2019-03-22 23:02 ` [PATCH 4.19 000/280] 4.19.31-stable review kernelci.org bot
2019-03-23  4:47 ` Guenter Roeck
2019-03-23  5:38 ` Naresh Kamboju
2019-03-24 11:58 ` Jon Hunter

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=20190322111345.086276141@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=helen.koike@collabora.com \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lucmaga@gmail.com \
    --cc=mchehab+samsung@kernel.org \
    --cc=stable@vger.kernel.org \
    /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).