mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
To: "Gjorgji Rosikopulos (Consultant)"
	<gjorgji.rosikopulos@oss.qualcomm.com>,
	bod@kernel.org,
	Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>,
	Loic Poulain <loic.poulain@oss.qualcomm.com>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Jacopo Mondi <jacopo.mondi@ideasonboard.com>,
	Daniel Scally <dan.scally@ideasonboard.com>,
	Keke Li <keke.li@amlogic.com>,
	Richard Acayan <mailingradian@gmail.com>,
	Hans Verkuil <hverkuil@kernel.org>,
	Gjorgji Rosikopulos <quic_grosikop@quicinc.com>,
	Radoslav Tsvetkov <quic_rtsvetko@quicinc.com>,
	Robert Foss <rfoss@kernel.org>,
	Milen Mitkov <quic_mmitkov@quicinc.com>
Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 58/74] media: uapi: Add CAMSS ISP statistics definition
Date: Thu, 8 Oct 2026 14:40:19 +0100	[thread overview]
Message-ID: <c0d8ff20-ee5a-48b2-8cb4-3a837077e192@linaro.org> (raw)
In-Reply-To: <7cec7156-e85b-42e0-857a-e590b9e252b2@oss.qualcomm.com>

On 08/10/2026 12:23, Gjorgji Rosikopulos (Consultant) wrote:
>> +/* Number of bins in a Bayer histogram. */
>> +#define CAMSS_STATS_BHIST_BINS	1024
>> +
>> +/**
>> + * struct camss_stats_bhist - Bayer histogram
>> + *
>> + * Histogram of the luma of each 2x2 Bayer quad inside the histogram's region,
>> + * over CAMSS_STATS_BHIST_BINS equal bins spanning its input range. Quads
>> + * whose luma falls outside the input range are not counted.
>> + *
>> + * @header: block header; @header.type = CAMSS_STATS_AEC_BHIST
>> + * @bins:   number of quads per bin
>> + */
>> +struct camss_stats_bhist {
>> +	struct v4l2_isp_block_header header;
> I think that the whole format is not correct, having header is preventing address alignment
> of the buffer for the stats, as i have mentioned in the next patch copying the statistics
> on each frame is not correct, just to have generic statistics format in userspace.

Err no I'll disagree with you there.

Since we are introducing stats on the qcom side we get to be the first - 
or close to first - system to implement extensible self-describing stats 
which is the mirror to the params.

Extensible stats lands in 7.3 so IMO there's no reason not to use it.

Also I think its kind of a crap design to have extensible params but not 
extensible stats.

It should be all or nothing. I don't see a gigantic problem in copying 
in data and then looking at how to accommodate dma straight into the 
stats output with block alignments later.

The extensible header facilitates next-hopping anyway so userspace 
shouldn't have to change once we DMA to the aligned regions.

Also if that is not supported by extensible stats then it _should_ be 
supported by extensible stats - i.e. it should be possible to DMA 
directly into the output buffer and pad the blocks as much as you need.

---
bod

  reply	other threads:[~2026-10-08 13:40 UTC|newest]

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <2bmnjEGElR9T_ArfViwpYiEKTtnqkmH2Ly0MiZJCxhhVR_O0dZOW-Cl983_7fLBFoxMc_PBuNK6FsBbK1JLXQA==@protonmail.internalid>
2026-10-05 17:13 ` [PATCH 00/74] RFC: Switch on IFE YUV, Stats and Params support for sm8650 Bryan O'Donoghue
2026-10-05 17:13   ` [PATCH 01/74] media: qcom: camss: vfe: Rename gen3 back to vfe780 Bryan O'Donoghue
2026-10-05 17:13   ` [PATCH 02/74] media: qcom: camss: vfe: Separate VFE 690 from VFE 780/880 Bryan O'Donoghue
2026-10-07 11:07     ` Gjorgji Rosikopulos (Consultant)
2026-10-05 17:13   ` [PATCH 03/74] media: uapi: v4l2-isp: Add extensible statistics bod
2026-10-05 17:13   ` [PATCH 04/74] media: Documentation: uapi: Update V4L2 ISP for extensible stats bod
2026-10-05 17:13   ` [PATCH 05/74] media: v4l2-isp: Rename v4l2_isp_params_buffer_size bod
2026-10-05 17:13   ` [PATCH 06/74] media: v4l2-isp: Add per-block validation callback bod
2026-10-05 17:13   ` [PATCH 07/74] media: amlogic-c3: Implement per-block validation bod
2026-10-05 17:13   ` [PATCH 08/74] media: v4l2-isp: Add helpers for stats buffer bod
2026-10-05 17:13   ` [PATCH 09/74] media: uapi: Add CAMSS ISP configuration definition bod
2026-10-05 17:13   ` [PATCH 10/74] media: Documentation: uapi: Add qcom-camss ISP params documentation bod
2026-10-05 17:13   ` [PATCH 11/74] media: qcom: camss: Fix invalid declaration of PIX for SDM670 bod
2026-10-05 17:13   ` [PATCH 12/74] media: qcom: camss: Fix invalid declaration of PIX for SDM845 bod
2026-10-05 17:13   ` [PATCH 13/74] media: qcom: camss: Fix invalid declaration of PIX for sc8280xp bod
2026-10-05 17:13   ` [PATCH 14/74] media: qcom: camss: Fix invalid declaration of PIX for x1e80100 bod
2026-10-05 17:13   ` [PATCH 15/74] media: qcom: camss: csid: Configure the stream on every s_stream bod
2026-10-07  8:46     ` Bryan O'Donoghue
2026-10-05 17:13   ` [PATCH 16/74] media: qcom: camss: Switch existing vfe_formats_pix_845 to vfe_formats_rdi_845 Bryan O'Donoghue
2026-10-05 17:13   ` [PATCH 17/74] media: qcom: camss: Define PIX formats for x1e PIX interface Bryan O'Donoghue
2026-10-07  8:22     ` Bryan O'Donoghue
2026-10-05 17:13   ` [PATCH 18/74] media: qcom: camss: vfe: Add helper vfe_bus_v3_packer_fmt() Bryan O'Donoghue
2026-10-07 11:25     ` Gjorgji Rosikopulos (Consultant)
2026-10-05 17:13   ` [PATCH 19/74] media: qcom: camss: vfe: Represent output as an array instead of a singleton Bryan O'Donoghue
2026-10-05 17:13   ` [PATCH 20/74] media: qcom: camss: vfe: Move video_out from vfe_line to vfe_output Bryan O'Donoghue
2026-10-05 17:13   ` [PATCH 21/74] media: qcom: camss: vfe: Represent vfe wm inside of a struct Bryan O'Donoghue
2026-10-05 17:13   ` [PATCH 22/74] media: qcom: camss: vfe: Add is_pix to struct line Bryan O'Donoghue
2026-10-05 17:13   ` [PATCH 23/74] media: qcom: camss: vfe: Add comp_group to struct vfe_wm Bryan O'Donoghue
2026-10-05 17:13   ` [PATCH 24/74] media: qcom: camss: vfe: Define vfe v3 completion group enum Bryan O'Donoghue
2026-10-08  5:52     ` Gjorgji Rosikopulos (Consultant)
2026-10-05 17:13   ` [PATCH 25/74] media: qcom: camss: vfe: Define output based VFE controls Bryan O'Donoghue
2026-10-08  5:55     ` Gjorgji Rosikopulos (Consultant)
2026-10-08 11:17       ` Bryan O'Donoghue
2026-10-08 11:35         ` Gjorgji Rosikopulos (Consultant)
2026-10-08 15:16           ` Bryan O'Donoghue
2026-10-05 17:13   ` [PATCH 26/74] media: qcom: camss: vfe: Call vfe_subdev_init after not before significant enumeration Bryan O'Donoghue
2026-10-08  5:55     ` Gjorgji Rosikopulos (Consultant)
2026-10-05 17:13   ` [PATCH 27/74] media: qcom: camss: vfe: Move legacy VFE bus client assignment to msm_vfe_subdev_init Bryan O'Donoghue
2026-10-05 17:13   ` [PATCH 28/74] media: qcom: camss: vfe: Add planes identifier to struct wm Bryan O'Donoghue
2026-10-08  5:56     ` Gjorgji Rosikopulos (Consultant)
2026-10-08 13:08       ` Bryan O'Donoghue
2026-10-05 17:13   ` [PATCH 29/74] media: qcom: camss: vfe: Specify number of pads via line->num_pads Bryan O'Donoghue
2026-10-08  6:03     ` Gjorgji Rosikopulos (Consultant)
2026-10-05 17:14   ` [PATCH 30/74] media: qcom: camss: vfe: Add support for starting multiple write-masters in one output's group Bryan O'Donoghue
2026-10-08  6:09     ` Gjorgji Rosikopulos (Consultant)
2026-10-05 17:14   ` [PATCH 31/74] media: qcom: camss: vfe: Add support for updating multiple write-masters within an output group Bryan O'Donoghue
2026-10-08  6:10     ` Gjorgji Rosikopulos (Consultant)
2026-10-05 17:14   ` [PATCH 32/74] media: qcom: camss: vfe: Update an output group's write masters on buffer done bod
2026-10-05 17:14   ` [PATCH 33/74] media: qcom: camss: vfe: Add support for stopping outputs which contain multiple write masters Bryan O'Donoghue
2026-10-05 17:14   ` [PATCH 34/74] media: qcom: camss: vfe: Stop an output group once bod
2026-10-05 17:14   ` [PATCH 35/74] media: qcom: camss: vfe: Add helper __vfe_pix_format_is_raw Bryan O'Donoghue
2026-10-08  6:12     ` Gjorgji Rosikopulos (Consultant)
2026-10-05 17:14   ` [PATCH 36/74] media: qcom: camss: csid: Add helper function csid_ipp_bayer_pattern bod
2026-10-05 17:14   ` [PATCH 37/74] media: qcom: camss: vfe: Decompose repeated code down to __vfe_src_pad_default() Bryan O'Donoghue
2026-10-05 17:14   ` [PATCH 38/74] media: qcom: camss: vfe: Eliminate ever expanding src_pad_code switch logic Bryan O'Donoghue
2026-10-05 17:14   ` [PATCH 39/74] media: qcom: camss: vfe: Add Bayer to YUV conversion switch cases for PIX Bryan O'Donoghue
2026-10-05 17:14   ` [PATCH 40/74] media: qcom: camss: vfe-gen3: Define full array of write-masters Bryan O'Donoghue
2026-10-05 17:14   ` [PATCH 41/74] media: qcom: camss: vfe-gen3: Enable PIX formats on PIX interfaces Bryan O'Donoghue
2026-10-05 17:14   ` [PATCH 42/74] media: qcom: camss: vfe: Pass struct line to wm_stop Bryan O'Donoghue
2026-10-05 17:14   ` [PATCH 43/74] media: qcom: camss: vfe-780: Use bus-client to derive write master index Bryan O'Donoghue
2026-10-05 17:14   ` [PATCH 44/74] media: qcom: camss: vfe-780: Switch on YUV pix path Bryan O'Donoghue
2026-10-05 17:14   ` [PATCH 45/74] media: qcom: camss: vfe: Add support for pix pad data-types Bryan O'Donoghue
2026-10-05 17:14   ` [PATCH 46/74] media: qcom: camss: vfe: Add helper methods to enumerate output descriptors Bryan O'Donoghue
2026-10-05 17:14   ` [PATCH 47/74] media: qcom: camss: Pass new struct camss_buf_done_info to camss_buf_done bod
2026-10-05 17:14   ` [PATCH 48/74] media: qcom: camss: Add a status field to camss_buf_done_info bod
2026-10-05 17:14   ` [PATCH 49/74] media: qcom: camss: csid-gen3: Enable the IPP path bod
2026-10-05 17:14   ` [PATCH 50/74] media: qcom: camss: vfe: Pass the completion info to vfe_buf_done() bod
2026-10-05 17:14   ` [PATCH 51/74] media: qcom: camss: vfe: Pass the buffer to vfe_wm_update() bod
2026-10-05 17:14   ` [PATCH 52/74] media: qcom: camss: Add the SM8650 IFE pixel pipe configuration bod
2026-10-05 17:14   ` [PATCH 53/74] media: qcom: camss: csid-gen3: Define the IPP reg update port in the header bod
2026-10-05 17:14   ` [PATCH 54/74] media: qcom: camss: vfe-880: Program the pixel pipe outside output_lock Bryan O'Donoghue
2026-10-05 17:14   ` [PATCH 55/74] media: qcom: camss: vfe: Make is_pix the only test for the pixel path bod
2026-10-05 17:14   ` [PATCH 56/74] media: qcom: camss: csid-gen3: Route IPP completions to the port the IPP feeds bod
2026-10-05 17:14   ` [PATCH 57/74] media: qcom: camss: vfe-780: Add full-resolution YUV on the PIX line bod
2026-10-05 17:14   ` [PATCH 58/74] media: uapi: Add CAMSS ISP statistics definition bod
2026-10-08 11:23     ` Gjorgji Rosikopulos (Consultant)
2026-10-08 13:40       ` Bryan O'Donoghue [this message]
2026-10-08 15:18         ` Gjorgji Rosikopulos (Consultant)
2026-10-05 17:14   ` [PATCH 59/74] media: Documentation: uapi: Add qcom-camss ISP statistics bod
2026-10-05 17:14   ` [PATCH 60/74] media: qcom: camss: vfe: Select line-based mode for the pixel path's video node bod
2026-10-05 17:14   ` [PATCH 61/74] media: qcom: camss: vfe: Size the pixel path clock by its pixels per clock bod
2026-10-05 17:14   ` [PATCH 62/74] media: qcom: camss: vfe: Size the outputs for the PIX line and set up each one bod
2026-10-05 17:14   ` [PATCH 63/74] media: qcom: camss: video: Support metadata capture nodes bod
2026-10-05 17:14   ` [PATCH 64/74] media: qcom: camss: vfe: Register a statistics node for the pixel line bod
2026-10-05 17:14   ` [PATCH 65/74] media: qcom: camss: vfe: Complete pixel line outputs on their own completion group bod
2026-10-05 17:14   ` [PATCH 66/74] media: qcom: camss: vfe-780: Produce the AEC Bayer histogram statistics bod
2026-10-07  8:49     ` Bryan O'Donoghue
2026-10-08 11:17     ` Gjorgji Rosikopulos (Consultant)
2026-10-05 17:14   ` [PATCH 67/74] media: uapi: Add the CAMSS AEC Bayer histogram configuration bod
2026-10-05 17:14   ` [PATCH 68/74] media: v4l2: Add the Qualcomm CAMSS ISP parameters format bod
2026-10-05 17:14   ` [PATCH 69/74] media: Documentation: uapi: Add the CAMSS IFE parameters bod
2026-10-05 17:14   ` [PATCH 70/74] media: qcom: camss: video: Support metadata output nodes bod
2026-10-05 17:14   ` [PATCH 71/74] media: qcom: camss: vfe: Register and apply a parameters node for the pixel line bod
2026-10-05 17:14   ` [PATCH 72/74] media: qcom: camss: vfe-780: Apply the AEC Bayer histogram parameters bod
2026-10-05 17:14   ` [PATCH 73/74] media: qcom: camss: vfe-780: Drive the write masters through the output ops bod
2026-10-05 17:14   ` [PATCH 74/74] media: qcom: camss: vfe: Pass the write master its address again bod
2026-10-07  8:47     ` Bryan O'Donoghue
2026-10-06  7:06   ` [PATCH 00/74] RFC: Switch on IFE YUV, Stats and Params support for sm8650 Jacopo Mondi
2026-10-07  8:41     ` Bryan O'Donoghue
2026-10-08 12:55   ` 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=c0d8ff20-ee5a-48b2-8cb4-3a837077e192@linaro.org \
    --to=bryan.odonoghue@linaro.org \
    --cc=bod@kernel.org \
    --cc=dan.scally@ideasonboard.com \
    --cc=gjorgji.rosikopulos@oss.qualcomm.com \
    --cc=hverkuil@kernel.org \
    --cc=jacopo.mondi@ideasonboard.com \
    --cc=keke.li@amlogic.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=mailingradian@gmail.com \
    --cc=mchehab@kernel.org \
    --cc=quic_grosikop@quicinc.com \
    --cc=quic_mmitkov@quicinc.com \
    --cc=quic_rtsvetko@quicinc.com \
    --cc=rfoss@kernel.org \
    --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®