[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5e00444a-683f-b4fa-9156-4450ca4edaf6@ideasonboard.com>
Date: Thu, 27 May 2021 16:29:57 +0300
From: Tomi Valkeinen <tomi.valkeinen@...asonboard.com>
To: Pratyush Yadav <p.yadav@...com>,
Maxime Ripard <mripard@...nel.org>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Rob Herring <robh+dt@...nel.org>,
Kishon Vijay Abraham I <kishon@...com>,
Vinod Koul <vkoul@...nel.org>,
Peter Ujfalusi <peter.ujfalusi@...il.com>,
Steve Longerbeam <slongerbeam@...il.com>,
Benoit Parrot <bparrot@...com>, linux-media@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-phy@...ts.infradead.org, dmaengine@...r.kernel.org
Cc: Vignesh Raghavendra <vigneshr@...com>,
Chunfeng Yun <chunfeng.yun@...iatek.com>,
Laurent Pinchart <laurent.pinchart@...asonboard.com>
Subject: Re: [PATCH v2 13/18] media: ti: Add CSI2RX support for J721E
Hi Pratyush,
On 26/05/2021 18:23, Pratyush Yadav wrote:
> TI's J721E uses the Cadence CSI2RX and DPHY peripherals to facilitate
> capture over a CSI-2 bus.
>
> The Cadence CSI2RX IP acts as a bridge between the TI specific parts and
> the CSI-2 protocol parts. TI then has a wrapper on top of this bridge
> called the SHIM layer. It takes in data from stream 0, repacks it, and
> sends it to memory over PSI-L DMA.
>
> This driver acts as the "front end" to V4L2 client applications. It
> implements the required ioctls and buffer operations, passes the
> necessary calls on to the bridge, programs the SHIM layer, and performs
> DMA via the dmaengine API to finally return the data to a buffer
> supplied by the application.
>
> Signed-off-by: Pratyush Yadav <p.yadav@...com>
I noticed that my test app didn't work at all with this, and I also
wasn't able to use v4l2-ctl to set the format.
At least for my test app the problem was that this driver doesn't
initialize the format at all. My app first calls VIDIOC_G_FMT with
v4l2_format.type == V4L2_BUF_TYPE_VIDEO_CAPTURE, then after the call
modifies the fields it wants to change and calls VIDIOC_S_FMT. This
failed, as G_FMT returned uninitialized fmt, i.e. type was 0, which my
app didn't set again.
I believe the driver should have an initial format, something that it
will accept if an app calls G_FMT and then S_FMT.
Tomi
Powered by blists - more mailing lists