Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
From: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
To: 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>,
	Dikshita Agarwal <dikshita.agarwal@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
Subject: [PATCH 03/11] media: iris: retrieve UBWC platform configuration
Date: Sat, 10 Jan 2026 21:37:55 +0200	[thread overview]
Message-ID: <20260110-iris-ubwc-v1-3-dd70494dcd7b@oss.qualcomm.com> (raw)
In-Reply-To: <20260110-iris-ubwc-v1-0-dd70494dcd7b@oss.qualcomm.com>

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.

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 9bc9b34c2576..85e531b35ecf 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"
@@ -248,6 +249,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);
+
 	ret = devm_request_threaded_irq(core->dev, core->irq, iris_hfi_isr,
 					iris_hfi_isr_handler, IRQF_TRIGGER_HIGH, "iris", core);
 	if (ret)

-- 
2.47.3


  parent reply	other threads:[~2026-01-10 19:38 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-10 19:37 [PATCH 00/11] media: iris: migrate to using global UBWC config Dmitry Baryshkov
2026-01-10 19:37 ` [PATCH 01/11] soc: qcom: ubwc: add missing include Dmitry Baryshkov
2026-01-11 20:58   ` Bryan O'Donoghue
2026-01-10 19:37 ` [PATCH 02/11] soc: qcom: ubwc: add helper to get min_acc length Dmitry Baryshkov
2026-01-11 21:03   ` Bryan O'Donoghue
2026-01-11 21:05   ` Bryan O'Donoghue
2026-01-11 22:39     ` Dmitry Baryshkov
2026-01-12 11:08   ` Konrad Dybcio
2026-01-13  0:24     ` Dmitry Baryshkov
2026-01-13 15:26       ` Konrad Dybcio
2026-01-13 16:48         ` Dmitry Baryshkov
2026-01-14 22:22   ` Bjorn Andersson
2026-01-10 19:37 ` Dmitry Baryshkov [this message]
2026-01-11 21:01   ` [PATCH 03/11] media: iris: retrieve UBWC platform configuration Bryan O'Donoghue
2026-01-10 19:37 ` [PATCH 04/11] media: iris: don't specify min_acc_length in the source code Dmitry Baryshkov
2026-01-11 21:06   ` Bryan O'Donoghue
2026-01-11 22:43     ` Dmitry Baryshkov
2026-01-10 19:37 ` [PATCH 05/11] media: iris: don't specify highest_bank_bit " Dmitry Baryshkov
2026-01-11 21:07   ` Bryan O'Donoghue
2026-01-12 11:02   ` Konrad Dybcio
2026-01-10 19:37 ` [PATCH 06/11] media: iris: don't specify ubwc_swizzle " Dmitry Baryshkov
2026-01-11 21:08   ` Bryan O'Donoghue
2026-01-12 11:03   ` Konrad Dybcio
2026-01-10 19:37 ` [PATCH 07/11] media: iris: don't specify bank_spreading " Dmitry Baryshkov
2026-01-11 21:09   ` Bryan O'Donoghue
2026-01-12 11:03   ` Konrad Dybcio
2026-01-10 19:38 ` [PATCH 08/11] media: iris: don't specify max_channels " Dmitry Baryshkov
2026-01-11 21:09   ` Bryan O'Donoghue
2026-01-12 11:05   ` Konrad Dybcio
2026-01-10 19:38 ` [PATCH 09/11] media: iris: drop remnants of UBWC configuration Dmitry Baryshkov
2026-01-11 21:10   ` Bryan O'Donoghue
2026-01-12 11:06   ` Konrad Dybcio
2026-01-10 19:38 ` [PATCH 10/11] drm/msm/mdss: use new helper to set min_acc length Dmitry Baryshkov
2026-01-12 11:08   ` Konrad Dybcio
2026-01-10 19:38 ` [PATCH 11/11] drm/msm/a6xx: " Dmitry Baryshkov
2026-01-12 11:07   ` Konrad Dybcio
2026-01-15  3:00 ` (subset) [PATCH 00/11] media: iris: migrate to using global UBWC config Bjorn Andersson

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=20260110-iris-ubwc-v1-3-dd70494dcd7b@oss.qualcomm.com \
    --to=dmitry.baryshkov@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=dikshita.agarwal@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 \
    /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