From: Dikshita Agarwal <dikshita.agarwal@oss.qualcomm.com>
To: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>,
Rob Clark <robin.clark@oss.qualcomm.com>,
Dmitry Baryshkov <lumag@kernel.org>,
Abhinav Kumar <abhinav.kumar@linux.dev>,
Jessica Zhang <jesszhan0024@gmail.com>,
Sean Paul <sean@poorly.run>,
Marijn Suijten <marijn.suijten@somainline.org>,
David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,
Akhil P Oommen <akhilpo@oss.qualcomm.com>,
Vikash Garodia <vikash.garodia@oss.qualcomm.com>,
Bryan O'Donoghue <bod@kernel.org>,
Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>,
linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org,
linux-media@vger.kernel.org,
Bryan O'Donoghue <bryan.odonoghue@linaro.org>,
Wangao Wang <wangao.wang@oss.qualcomm.com>
Subject: Re: [PATCH v4 3/9] media: iris: retrieve UBWC platform configuration
Date: Thu, 26 Mar 2026 10:36:05 +0530 [thread overview]
Message-ID: <56860faf-3f74-daeb-3d19-a35243172317@oss.qualcomm.com> (raw)
In-Reply-To: <20260125-iris-ubwc-v4-3-1ff30644ac81@oss.qualcomm.com>
On 1/25/2026 5:00 PM, Dmitry Baryshkov wrote:
> Specifying UBWC data in each driver doesn't scale and is prone to
> errors. Request UBWC data from the central database in preparation to
> using it through the rest of the driver.
>
> Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> Reviewed-by: Dikshita Agarwal <dikshita.agarwal@oss.qualcomm.com>
> Tested-by: Wangao Wang <wangao.wang@oss.qualcomm.com>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> drivers/media/platform/qcom/iris/Kconfig | 1 +
> drivers/media/platform/qcom/iris/iris_core.h | 4 ++++
> drivers/media/platform/qcom/iris/iris_probe.c | 5 +++++
> 3 files changed, 10 insertions(+)
>
> diff --git a/drivers/media/platform/qcom/iris/Kconfig b/drivers/media/platform/qcom/iris/Kconfig
> index 3c803a05305a..39b06de6c3e6 100644
> --- a/drivers/media/platform/qcom/iris/Kconfig
> +++ b/drivers/media/platform/qcom/iris/Kconfig
> @@ -5,6 +5,7 @@ config VIDEO_QCOM_IRIS
> select V4L2_MEM2MEM_DEV
> select QCOM_MDT_LOADER if ARCH_QCOM
> select QCOM_SCM
> + select QCOM_UBWC_CONFIG
> select VIDEOBUF2_DMA_CONTIG
> help
> This is a V4L2 driver for Qualcomm iris video accelerator
> diff --git a/drivers/media/platform/qcom/iris/iris_core.h b/drivers/media/platform/qcom/iris/iris_core.h
> index fb194c967ad4..d10a03aa5685 100644
> --- a/drivers/media/platform/qcom/iris/iris_core.h
> +++ b/drivers/media/platform/qcom/iris/iris_core.h
> @@ -30,6 +30,8 @@ enum domain_type {
> DECODER = BIT(1),
> };
>
> +struct qcom_ubwc_cfg_data;
> +
> /**
> * struct iris_core - holds core parameters valid for all instances
> *
> @@ -52,6 +54,7 @@ enum domain_type {
> * @resets: table of iris reset clocks
> * @controller_resets: table of controller reset clocks
> * @iris_platform_data: a structure for platform data
> + * @ubwc_cfg: UBWC configuration for the platform
> * @state: current state of core
> * @iface_q_table_daddr: device address for interface queue table memory
> * @sfr_daddr: device address for SFR (Sub System Failure Reason) register memory
> @@ -95,6 +98,7 @@ struct iris_core {
> struct reset_control_bulk_data *resets;
> struct reset_control_bulk_data *controller_resets;
> const struct iris_platform_data *iris_platform_data;
> + const struct qcom_ubwc_cfg_data *ubwc_cfg;
> enum iris_core_state state;
> dma_addr_t iface_q_table_daddr;
> dma_addr_t sfr_daddr;
> diff --git a/drivers/media/platform/qcom/iris/iris_probe.c b/drivers/media/platform/qcom/iris/iris_probe.c
> index ddaacda523ec..492f85f518eb 100644
> --- a/drivers/media/platform/qcom/iris/iris_probe.c
> +++ b/drivers/media/platform/qcom/iris/iris_probe.c
> @@ -10,6 +10,7 @@
> #include <linux/pm_opp.h>
> #include <linux/pm_runtime.h>
> #include <linux/reset.h>
> +#include <linux/soc/qcom/ubwc.h>
>
> #include "iris_core.h"
> #include "iris_ctrls.h"
> @@ -244,6 +245,10 @@ static int iris_probe(struct platform_device *pdev)
>
> core->iris_platform_data = of_device_get_match_data(core->dev);
>
> + core->ubwc_cfg = qcom_ubwc_config_get_data();
> + if (IS_ERR(core->ubwc_cfg))
> + return PTR_ERR(core->ubwc_cfg);
Afterthought: This change assumes that the presence of a UBWC config
implies Iris UBWC support. However, some platforms (e.g. qcm2290) do have
UBWC data defined at the SoC level but do not support UBWC in the video
firmware, which could potentially surface during SYS_INIT if UBWC is
advertised unconditionally, so this might be worth double‑checking.
Thanks,
Dikshita
> +
> ret = devm_request_threaded_irq(core->dev, core->irq, iris_hfi_isr,
> iris_hfi_isr_handler, IRQF_TRIGGER_HIGH, "iris", core);
> if (ret)
>
next prev parent reply other threads:[~2026-03-26 5:06 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-25 11:30 [PATCH v4 0/9] media: iris: migrate to using global UBWC config Dmitry Baryshkov
2026-01-25 11:30 ` [PATCH v4 1/9] soc: qcom: ubwc: add helper to get min_acc length Dmitry Baryshkov
2026-01-25 11:30 ` [PATCH v4 2/9] soc: qcom: ubwc: add helpers to get programmable values Dmitry Baryshkov
2026-01-25 17:16 ` Connor Abbott
2026-01-26 10:02 ` Konrad Dybcio
2026-02-17 10:55 ` Konrad Dybcio
2026-02-18 0:44 ` Dmitry Baryshkov
2026-01-25 11:30 ` [PATCH v4 3/9] media: iris: retrieve UBWC platform configuration Dmitry Baryshkov
2026-03-26 5:06 ` Dikshita Agarwal [this message]
2026-01-25 11:30 ` [PATCH v4 4/9] media: iris: don't specify min_acc_length in the source code Dmitry Baryshkov
2026-01-25 11:30 ` [PATCH v4 5/9] media: iris: don't specify highest_bank_bit " Dmitry Baryshkov
2026-01-25 11:30 ` [PATCH v4 6/9] media: iris: don't specify ubwc_swizzle " Dmitry Baryshkov
2026-01-25 11:30 ` [PATCH v4 7/9] media: iris: don't specify bank_spreading " Dmitry Baryshkov
2026-01-25 11:30 ` [PATCH v4 8/9] media: iris: don't specify max_channels " Dmitry Baryshkov
2026-01-25 11:30 ` [PATCH v4 9/9] media: iris: drop remnants of UBWC configuration Dmitry Baryshkov
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=56860faf-3f74-daeb-3d19-a35243172317@oss.qualcomm.com \
--to=dikshita.agarwal@oss.qualcomm.com \
--cc=abhinav.kumar@linux.dev \
--cc=airlied@gmail.com \
--cc=akhilpo@oss.qualcomm.com \
--cc=andersson@kernel.org \
--cc=bod@kernel.org \
--cc=bryan.odonoghue@linaro.org \
--cc=dmitry.baryshkov@oss.qualcomm.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=freedreno@lists.freedesktop.org \
--cc=jesszhan0024@gmail.com \
--cc=konrad.dybcio@oss.qualcomm.com \
--cc=konradybcio@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=lumag@kernel.org \
--cc=marijn.suijten@somainline.org \
--cc=mchehab@kernel.org \
--cc=robin.clark@oss.qualcomm.com \
--cc=sean@poorly.run \
--cc=simona@ffwll.ch \
--cc=vikash.garodia@oss.qualcomm.com \
--cc=wangao.wang@oss.qualcomm.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