From: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
To: quic_mmitkov@quicinc.com, linux-media@vger.kernel.org,
linux-arm-msm@vger.kernel.org, robert.foss@linaro.org,
akapatra@quicinc.com, jzala@quicinc.com, todor.too@gmail.com
Cc: agross@kernel.org, konrad.dybcio@somainline.org,
mchehab@kernel.org, cgera@qti.qualcomm.com, gchinnab@quicinc.com,
ayasan@qti.qualcomm.com, laurent.pinchart@ideasonboard.com
Subject: Re: [PATCH v4 0/4] media: camss: sm8250: Virtual channels support for SM8250
Date: Mon, 17 Oct 2022 01:16:05 +0100 [thread overview]
Message-ID: <1a7ab9da-e7fb-9077-5d6e-705629bb2b10@linaro.org> (raw)
In-Reply-To: <20221013121255.1977-1-quic_mmitkov@quicinc.com>
On 13/10/2022 13:12, quic_mmitkov@quicinc.com wrote:
> From: Milen Mitkov <quic_mmitkov@quicinc.com>
>
> For v4:
> - fixes the warning reported by the kernel test robot
> - tiny code change to enable the vc functionality with the partially-applied
> multistream patches on linux-next (tested on tag:next-20221010)
>
> For v3:
> - setting the sink pad format on the CSID entity will now propagate the
> format to the source pads to keep the subdev in a valid internal state.
> - code syntax improvements
>
> For v2:
> - code syntax improvements
> - The info print for the enabled VCs was demoted to a dbg print. Can be
> enabled with dynamic debug, e.g.:
> echo "file drivers/media/platform/qcom/camss/* +p" > /sys/kernel/debug/dynamic_debug/control
>
> NOTE: These changes depend on the multistream series, that as of yet
> is still not merged upstream. However, part of the
> multistream patches are merged in linux-next (tested on
> tag:next-20221010), including the patch that introduces the
> video_device_pipeline_alloc_start() functionality. This allows
> applying and using this series on linux-next without applying the
> complete multistream set.
>
> The CSID hardware on SM8250 can demux the input data stream into
> maximum of 4 multiple streams depending on virtual channel (vc)
> or data type (dt) configuration.
>
> Situations in which demuxing is useful:
> - HDR sensors that produce a 2-frame HDR output, e.g. a light and a dark frame
> (the setup we used for testing, with the imx412 sensor),
> or a 3-frame HDR output - light, medium-lit, dark frame.
> - sensors with additional metadata that is streamed over a different
> virtual channel/datatype.
> - sensors that produce frames with multiple resolutions in the same pixel
> data stream
>
> With these changes, the CSID entity has, as it did previously, a single
> sink port (0), and always exposes 4 source ports (1, 2,3, 4). The
> virtual channel configuration is determined by which of the source ports
> are linked to an output VFE line. For example, the link below will
> configure the CSID driver to enable vc 0 and vc 1:
>
> media-ctl -l '"msm_csid0":1->"msm_vfe0_rdi0":0[1]'
> media-ctl -l '"msm_csid0":2->"msm_vfe0_rdi1":0[1]'
>
> which will be demuxed and propagated into /dev/video0
> and /dev/video1 respectively. With this, the userspace can use
> any normal V4L2 client app to start/stop/queue/dequeue from these
> video nodes. Tested with the yavta app.
>
> The format of each RDI channel of the used VFE(s) (msm_vfe0_rdi0,
> msm_vfe0_rdi1,...) must also be configured explicitly.
>
> Note that in order to keep a valid internal subdevice state,
> setting the sink pad format of the CSID subdevice will propagate
> this format to the source pads. However, since the CSID hardware
> can demux the input stream into several streams each of which can
> be a different format, in that case each source pad's
> format must be set individually, e.g.:
>
> media-ctl -V '"msm_csid0":1[fmt:SRGGB10/3840x2160]'
> media-ctl -V '"msm_csid0":2[fmt:SRGGB10/960x540]'
>
> Milen Mitkov (4):
> media: camss: sm8250: Virtual channels for CSID
> media: camss: vfe: Reserve VFE lines on stream start and link to CSID
> media: camss: vfe-480: Multiple outputs support for SM8250
> media: camss: sm8250: Pipeline starting and stopping for multiple
> virtual channels
>
> .../platform/qcom/camss/camss-csid-gen2.c | 54 ++++++++++------
> .../media/platform/qcom/camss/camss-csid.c | 44 +++++++++----
> .../media/platform/qcom/camss/camss-csid.h | 11 +++-
> .../media/platform/qcom/camss/camss-vfe-480.c | 61 ++++++++++++-------
> drivers/media/platform/qcom/camss/camss-vfe.c | 7 +++
> .../media/platform/qcom/camss/camss-video.c | 21 ++++++-
> drivers/media/platform/qcom/camss/camss.c | 2 +-
> 7 files changed, 140 insertions(+), 60 deletions(-)
>
Hi Milen
The set applies to next-20221013 including patch#4.
I can confirm it doesn't break anything for me - though my sensor is a
bog-standard imx577 so it doesn't have any VC support.
Before I give you a tested-by for the series .. is this normal ?
[ 90.535909] qcom-camss ac6a000.camss: VFE HW Version = 2.0.1
[ 90.545756] qcom-camss ac6a000.camss: CSIPHY 3PH HW Version = 0x40010000
[ 90.546358] qcom-camss ac6a000.camss: CSID HW Version = 2.0.1
[ 90.546365] qcom-camss ac6a000.camss: csid_link_setup: Enabled CSID
virtual channels mask 0x1
[ 90.547675] qcom-camss ac6a000.camss: csid_link_setup: Enabled CSID
virtual channels mask 0x0
I have
- ov9282 on cam1
- imx577 on cam2
i.e. why do I see this message twice if I only have the one sensor
active, with no VCs and one operable camera ?
---
bod
next prev parent reply other threads:[~2022-10-17 0:16 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-13 12:12 [PATCH v4 0/4] media: camss: sm8250: Virtual channels support for SM8250 quic_mmitkov
2022-10-13 12:12 ` [PATCH v4 1/4] media: camss: sm8250: Virtual channels for CSID quic_mmitkov
2022-10-13 12:12 ` [PATCH v4 2/4] media: camss: vfe: Reserve VFE lines on stream start and link to CSID quic_mmitkov
2022-10-13 12:12 ` [PATCH v4 3/4] media: camss: vfe-480: Multiple outputs support for SM8250 quic_mmitkov
2022-10-13 12:12 ` [PATCH v4 4/4] media: camss: sm8250: Pipeline starting and stopping for multiple virtual channels quic_mmitkov
2022-11-24 13:22 ` Hans Verkuil
2022-10-13 12:38 ` [PATCH v4 0/4] media: camss: sm8250: Virtual channels support for SM8250 Bryan O'Donoghue
2022-10-16 1:45 ` Laurent Pinchart
2022-10-17 0:16 ` Bryan O'Donoghue [this message]
2022-10-17 11:47 ` Milen Mitkov (Consultant)
2022-10-17 12:05 ` Bryan O'Donoghue
[not found] ` <166601200198.3760285.1520904024668899853@Monstersaurus>
2022-10-17 14:22 ` Bryan O'Donoghue
2022-10-17 15:23 ` Kieran Bingham
2022-10-18 7:48 ` Milen Mitkov (Consultant)
2022-10-27 12:49 ` Tomi Valkeinen
2022-11-08 0:12 ` Bryan O'Donoghue
2022-11-08 10:35 ` Robert Foss
2022-11-14 17:18 ` Milen Mitkov (Consultant)
2022-11-15 0:18 ` Bryan O'Donoghue
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=1a7ab9da-e7fb-9077-5d6e-705629bb2b10@linaro.org \
--to=bryan.odonoghue@linaro.org \
--cc=agross@kernel.org \
--cc=akapatra@quicinc.com \
--cc=ayasan@qti.qualcomm.com \
--cc=cgera@qti.qualcomm.com \
--cc=gchinnab@quicinc.com \
--cc=jzala@quicinc.com \
--cc=konrad.dybcio@somainline.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=quic_mmitkov@quicinc.com \
--cc=robert.foss@linaro.org \
--cc=todor.too@gmail.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