[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <wi7ccmxg3gmqw7j5khl2hxrhht4iw2i6u3bozeb4smo6eg4ppg@md6yjasbbzi6>
Date: Mon, 30 Jun 2025 12:12:04 +0200
From: Mehdi Djait <mehdi.djait@...ux.intel.com>
To: michael.riesch@...labora.com
Cc: Maxime Chevallier <maxime.chevallier@...tlin.com>,
Théo Lebrun <theo.lebrun@...tlin.com>, Thomas Petazzoni <thomas.petazzoni@...tlin.com>,
Gerald Loacker <gerald.loacker@...fvision.net>, Bryan O'Donoghue <bryan.odonoghue@...aro.org>,
Markus Elfring <Markus.Elfring@....de>, Laurent Pinchart <laurent.pinchart@...asonboard.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>, Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>,
Heiko Stuebner <heiko@...ech.de>, Kever Yang <kever.yang@...k-chips.com>,
Nicolas Dufresne <nicolas.dufresne@...labora.com>, Sebastian Reichel <sebastian.reichel@...labora.com>,
Collabora Kernel Team <kernel@...labora.com>, Paul Kocialkowski <paulk@...-base.io>,
Alexander Shiyan <eagle.alexander923@...il.com>, Val Packett <val@...kett.cool>, Rob Herring <robh@...nel.org>,
Philipp Zabel <p.zabel@...gutronix.de>, Sakari Ailus <sakari.ailus@...ux.intel.com>,
linux-media@...r.kernel.org, devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-rockchip@...ts.infradead.org,
Mehdi Djait <mehdi.djait@...tlin.com>
Subject: Re: [PATCH v9 06/13] media: rockchip: add a driver for the rockchip
camera interface
Hello Michael,
I think this is the last missing detail :) The series looks good! Thank you
for the all the work!
On Wed, Jun 18, 2025 at 05:38:01PM +0200, Michael Riesch via B4 Relay wrote:
> From: Michael Riesch <michael.riesch@...labora.com>
[...]
> +static void rkcif_stream_stop_streaming(struct vb2_queue *queue)
> +{
> + struct rkcif_stream *stream = queue->drv_priv;
> + struct rkcif_device *rkcif = stream->rkcif;
> + u64 mask;
> + int ret;
> +
> + mask = BIT_ULL(stream->id);
> + v4l2_subdev_disable_streams(&stream->interface->sd, RKCIF_IF_PAD_SRC,
> + mask);
> +
> + stream->stopping = true;
> + ret = wait_event_timeout(stream->wq_stopped, !stream->stopping,
> + msecs_to_jiffies(1000));
Checking for stream->stopping is TRUE then waking up wq_stopped
wait_queue is being handled in rkcif_dvp_isr().
It is not the case of rkcif_mipi_isr() so we are always waiting for the
timeout when stopping the stream with the mipi interface.
> +
> + if (!ret && stream->stop_streaming)
> + stream->stop_streaming(stream);
> +
> + pm_runtime_put(rkcif->dev);
> +
> + rkcif_stream_return_all_buffers(stream, VB2_BUF_STATE_ERROR);
> +
> + video_device_pipeline_stop(&stream->vdev);
> +}
--
Kind Regards
Mehdi Djait
Powered by blists - more mailing lists