From: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
To: Allan Siriani <allan@fatecpompeia.edu.br>,
Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Loic Poulain <loic.poulain@oss.qualcomm.com>,
Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>,
Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>,
Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>,
Todor Tomov <todor.too@gmail.com>,
Hans Verkuil <hverkuil@kernel.org>,
linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 2/4] media: qcom: camss: vfe-4-1: program the RDI write master buffer size
Date: Mon, 9 Nov 2026 12:57:51 +0000 [thread overview]
Message-ID: <7f8e0938-2b35-43df-afe7-18b0ad917698@linaro.org> (raw)
In-Reply-To: <20261109112611.94010-3-allan@fatecpompeia.edu.br>
On 09/11/2026 11:26, Allan Siriani wrote:
> .../media/platform/qcom/camss/camss-vfe-4-1.c | 34 ++++++++++++++++---
> .../media/platform/qcom/camss/camss-vfe-4-7.c | 3 +-
> .../media/platform/qcom/camss/camss-vfe-4-8.c | 3 +-
> .../platform/qcom/camss/camss-vfe-gen1.c | 5 +--
> .../platform/qcom/camss/camss-vfe-gen1.h | 3 +-
> 5 files changed, 39 insertions(+), 9 deletions(-)
Requires a Fixes: tag
> diff --git a/drivers/media/platform/qcom/camss/camss-vfe-4-1.c b/drivers/media/platform/qcom/camss/camss-vfe-4-1.c
> index 9cf1ccdb2..53ebc12c4 100644
> --- a/drivers/media/platform/qcom/camss/camss-vfe-4-1.c
> +++ b/drivers/media/platform/qcom/camss/camss-vfe-4-1.c
> @@ -107,6 +107,7 @@
> #define VFE_0_BUS_IMAGE_MASTER_n_WR_UB_CFG_OFFSET_SHIFT 16
> #define VFE_0_BUS_IMAGE_MASTER_n_WR_IMAGE_SIZE(n) (0x080 + 0x24 * (n))
> #define VFE_0_BUS_IMAGE_MASTER_n_WR_BUFFER_CFG(n) (0x084 + 0x24 * (n))
> +#define VFE_0_BUS_IMAGE_MASTER_n_WR_BUFFER_CFG_BURST_LEN 0x3
> #define VFE_0_BUS_IMAGE_MASTER_n_WR_FRAMEDROP_PATTERN(n) \
> (0x088 + 0x24 * (n))
> #define VFE_0_BUS_IMAGE_MASTER_n_WR_IRQ_SUBSAMPLE_PATTERN(n) \
> @@ -269,14 +270,39 @@ static void vfe_wm_enable(struct vfe_device *vfe, u8 wm, u8 enable)
> 1 << VFE_0_BUS_IMAGE_MASTER_n_WR_CFG_WR_PATH_SHIFT);
> }
>
> -static void vfe_wm_frame_based(struct vfe_device *vfe, u8 wm, u8 enable)
> +/*
> + * In frame based mode (RDI) the write master stores the incoming data as is,
> + * with no line structure. Program its buffer size in WR_BUFFER_CFG (words per
> + * line, lines, burst length) as the downstream msm_vfe40_axi_cfg_wm_reg()
> + * does, and clear WR_IMAGE_SIZE, which may hold a stale line based setup,
> + * so that the write master is bounded by the size of the V4L2 buffer.
> + */
> +static void vfe_wm_frame_based(struct vfe_device *vfe, u8 wm,
> + struct v4l2_pix_format_mplane *pix, u8 enable)
> {
> - if (enable)
> + u32 reg;
> +
> + if (enable) {
> + /*
> + * bytesperline is aligned to 8 bytes (one bus word) on the RDI
> + * outputs, and sizeimage >= bytesperline * height.
> + */
and sizeimage >= bytesperline * height ?
Which sizeimage => pix_mp->plane_fmt[i].sizeimage ?
This feels like a slop-comment which is no bueno - please read this
stuff before posting and make sure it actually makes sense...
> + reg = VFE_0_BUS_IMAGE_MASTER_n_WR_BUFFER_CFG_BURST_LEN;
> + reg |= (min(pix->height, 4096U) - 1) << 4;
I don't agree with this clamp lets just have a consistent logic albeit
flawed with vfe_wm_line_based()
=>
(pix->height - 1) << 4
Silently truncating here is incorrect. If we need additional validation
it should happen in try_fmt(). For this patch just stuff into the
bit-fields the value given.
---
bod
next prev parent reply other threads:[~2026-11-09 12:57 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-09 11:26 [PATCH v2 0/4] media: qcom: camss: contiguous buffers, RDI and CSID1 streaming fixes Allan Siriani
2026-11-09 11:26 ` [PATCH v2 1/4] media: qcom: camss: Use contiguous DMA buffers Allan Siriani
2026-11-09 11:26 ` [PATCH v2 2/4] media: qcom: camss: vfe-4-1: program the RDI write master buffer size Allan Siriani
2026-11-09 12:57 ` Bryan O'Donoghue [this message]
2026-11-09 11:26 ` [PATCH v2 3/4] media: qcom: camss: always stop the pipeline in stop_streaming Allan Siriani
2026-11-09 12:56 ` Loic Poulain
2026-11-09 13:02 ` Bryan O'Donoghue
2026-11-09 11:26 ` [PATCH v2 4/4] media: qcom: camss: do not fail CSID power up without a matching VFE Allan Siriani
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=7f8e0938-2b35-43df-afe7-18b0ad917698@linaro.org \
--to=bryan.odonoghue@linaro.org \
--cc=allan@fatecpompeia.edu.br \
--cc=dmitry.baryshkov@oss.qualcomm.com \
--cc=hverkuil@kernel.org \
--cc=konrad.dybcio@oss.qualcomm.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=loic.poulain@oss.qualcomm.com \
--cc=mchehab@kernel.org \
--cc=todor.too@gmail.com \
--cc=vladimir.zapolskiy@linaro.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
all inboxes | Powered by JetHome®