From: Jai Luthra <j-luthra@ti.com>
To: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Sakari Ailus <sakari.ailus@linux.intel.com>,
Hans Verkuil <hverkuil-cisco@xs4all.nl>,
Vaishnav Achath <vaishnav.a@ti.com>,
Maxime Ripard <mripard@kernel.org>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>
Cc: <linux-media@vger.kernel.org>, <devicetree@vger.kernel.org>,
Vignesh Raghavendra <vigneshr@ti.com>,
Aradhya Bhatia <a-bhatia1@ti.com>,
Devarsh Thakkar <devarsht@ti.com>,
Changhuang Liang <changhuang.liang@starfivetech.com>,
Jack Zhu <jack.zhu@starfivetech.com>,
Julien Massot <julien.massot@collabora.com>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Jai Luthra <j-luthra@ti.com>
Subject: [PATCH v2 08/13] media: cadence: csi2rx: add get_frame_desc wrapper
Date: Thu, 27 Jun 2024 18:40:03 +0530 [thread overview]
Message-ID: <20240627-multistream-v2-8-6ae96c54c1c3@ti.com> (raw)
In-Reply-To: <20240627-multistream-v2-0-6ae96c54c1c3@ti.com>
From: Pratyush Yadav <p.yadav@ti.com>
J721E wrapper CSI2RX driver needs to get the frame descriptor from the
source to find out info about virtual channel. This driver itself does
not touch the routing or virtual channels in any way. So simply pass the
descriptor through from the source.
Signed-off-by: Pratyush Yadav <p.yadav@ti.com>
Signed-off-by: Jai Luthra <j-luthra@ti.com>
---
drivers/media/platform/cadence/cdns-csi2rx.c | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/drivers/media/platform/cadence/cdns-csi2rx.c b/drivers/media/platform/cadence/cdns-csi2rx.c
index 751eadbe61ef..b6054d62c799 100644
--- a/drivers/media/platform/cadence/cdns-csi2rx.c
+++ b/drivers/media/platform/cadence/cdns-csi2rx.c
@@ -135,6 +135,21 @@ static const struct csi2rx_fmt *csi2rx_get_fmt_by_code(u32 code)
return NULL;
}
+static int csi2rx_get_frame_desc_from_source(struct csi2rx_priv *csi2rx,
+ struct v4l2_mbus_frame_desc *fd)
+{
+ struct media_pad *remote_pad;
+
+ remote_pad = media_entity_remote_source_pad_unique(&csi2rx->subdev.entity);
+ if (!remote_pad) {
+ dev_err(csi2rx->dev, "No remote pad found for sink\n");
+ return -ENODEV;
+ }
+
+ return v4l2_subdev_call(csi2rx->source_subdev, pad, get_frame_desc,
+ remote_pad->index, fd);
+}
+
static inline
struct csi2rx_priv *v4l2_subdev_to_csi2rx(struct v4l2_subdev *subdev)
{
@@ -466,10 +481,19 @@ static int csi2rx_init_state(struct v4l2_subdev *subdev,
return csi2rx_set_fmt(subdev, state, &format);
}
+static int csi2rx_get_frame_desc(struct v4l2_subdev *subdev, unsigned int pad,
+ struct v4l2_mbus_frame_desc *fd)
+{
+ struct csi2rx_priv *csi2rx = v4l2_subdev_to_csi2rx(subdev);
+
+ return csi2rx_get_frame_desc_from_source(csi2rx, fd);
+}
+
static const struct v4l2_subdev_pad_ops csi2rx_pad_ops = {
.enum_mbus_code = csi2rx_enum_mbus_code,
.get_fmt = v4l2_subdev_get_fmt,
.set_fmt = csi2rx_set_fmt,
+ .get_frame_desc = csi2rx_get_frame_desc,
};
static const struct v4l2_subdev_video_ops csi2rx_video_ops = {
--
2.43.0
next prev parent reply other threads:[~2024-06-27 13:10 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-27 13:09 [PATCH v2 00/13] media: cadence,ti: CSI2RX Multistream Support Jai Luthra
2024-06-27 13:09 ` [PATCH v2 01/13] media: cadence: csi2rx: Support runtime PM Jai Luthra
2024-06-28 8:14 ` Tomi Valkeinen
2024-06-28 8:45 ` 回复: " Changhuang Liang
2024-06-28 9:39 ` Jai Luthra
2024-06-28 10:02 ` 回复: " Changhuang Liang
2024-06-28 9:38 ` Jai Luthra
2024-06-27 13:09 ` [PATCH v2 02/13] dt-bindings: media: ti,j721e-csi2rx-shim: Support 32 dma chans Jai Luthra
2024-06-28 10:42 ` Tomi Valkeinen
2024-07-01 7:49 ` Jai Luthra
2024-07-01 9:30 ` Krzysztof Kozlowski
2024-07-01 12:33 ` Jai Luthra
2024-06-27 13:09 ` [PATCH v2 03/13] media: ti: j721e-csi2rx: separate out device and context Jai Luthra
2024-07-12 13:35 ` Jacopo Mondi
2024-07-16 9:18 ` Jai Luthra
2024-06-27 13:09 ` [PATCH v2 04/13] media: ti: j721e-csi2rx: prepare SHIM code for multiple contexts Jai Luthra
2024-07-12 13:42 ` Jacopo Mondi
2024-06-27 13:10 ` [PATCH v2 05/13] media: ti: j721e-csi2rx: allocate DMA channel based on context index Jai Luthra
2024-07-12 13:48 ` Jacopo Mondi
2024-06-27 13:10 ` [PATCH v2 06/13] media: ti: j721e-csi2rx: add a subdev for the core device Jai Luthra
2024-07-12 14:18 ` Jacopo Mondi
2024-07-16 9:32 ` Jai Luthra
2024-07-16 9:43 ` Jacopo Mondi
2024-06-27 13:10 ` [PATCH v2 07/13] media: ti: j721e-csi2rx: get number of contexts from device tree Jai Luthra
2024-07-12 14:43 ` Jacopo Mondi
2024-07-16 9:33 ` Jai Luthra
2024-06-27 13:10 ` Jai Luthra [this message]
2024-07-12 14:48 ` [PATCH v2 08/13] media: cadence: csi2rx: add get_frame_desc wrapper Jacopo Mondi
2024-07-16 9:33 ` Jai Luthra
2024-06-27 13:10 ` [PATCH v2 09/13] media: ti: j721e-csi2rx: add support for processing virtual channels Jai Luthra
2024-07-12 15:01 ` Jacopo Mondi
2024-07-16 9:33 ` Jai Luthra
2024-07-19 9:21 ` Tomi Valkeinen
2024-06-27 13:10 ` [PATCH v2 10/13] media: cadence: csi2rx: Use new enable stream APIs Jai Luthra
2024-06-27 13:10 ` [PATCH v2 11/13] media: cadence: csi2rx: Enable multi-stream support Jai Luthra
2024-07-12 16:09 ` Jacopo Mondi
2024-07-16 9:34 ` Jai Luthra
2024-07-16 9:55 ` Jacopo Mondi
2024-07-19 9:15 ` Tomi Valkeinen
2024-06-27 13:10 ` [PATCH v2 12/13] media: ti: j721e-csi2rx: add multistream support Jai Luthra
2024-07-19 10:09 ` Tomi Valkeinen
2024-06-27 13:10 ` [PATCH v2 13/13] media: ti: j721e-csi2rx: Submit all available buffers Jai Luthra
2024-07-19 10:17 ` Tomi Valkeinen
2024-06-28 8:26 ` [PATCH v2 00/13] media: cadence,ti: CSI2RX Multistream Support Tomi Valkeinen
2024-06-28 9:35 ` Jai Luthra
2024-06-28 9:53 ` Tomi Valkeinen
2024-06-28 10:29 ` Jai Luthra
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=20240627-multistream-v2-8-6ae96c54c1c3@ti.com \
--to=j-luthra@ti.com \
--cc=a-bhatia1@ti.com \
--cc=changhuang.liang@starfivetech.com \
--cc=conor+dt@kernel.org \
--cc=devarsht@ti.com \
--cc=devicetree@vger.kernel.org \
--cc=hverkuil-cisco@xs4all.nl \
--cc=jack.zhu@starfivetech.com \
--cc=julien.massot@collabora.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=mripard@kernel.org \
--cc=robh@kernel.org \
--cc=sakari.ailus@linux.intel.com \
--cc=tomi.valkeinen@ideasonboard.com \
--cc=vaishnav.a@ti.com \
--cc=vigneshr@ti.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;
as well as URLs for NNTP newsgroup(s).