Re: [PATCH v5 2/5] media: iris: scale MMCX power domain on SM8250

From: Ulf Hansson

Date: Tue Mar 31 2026 - 07:46:58 EST


On Mon, 30 Mar 2026 at 15:06, Dikshita Agarwal
<dikshita.agarwal@xxxxxxxxxxxxxxxx> wrote:
>
>
>
> On 3/30/2026 4:45 PM, Dmitry Baryshkov wrote:
> > On Mon, Mar 30, 2026 at 10:55:02AM +0530, Dikshita Agarwal wrote:
> >>
> >>
> >> On 2/9/2026 7:02 AM, Dmitry Baryshkov wrote:
> >>> On SM8250 most of the video clocks are powered by the MMCX domain, while
> >>> the PLL is powered on by the MX domain. Extend the driver to support
> >>> scaling both power domains, while keeping compatibility with the
> >>> existing DTs, which define only the MX domain.
> >>>
> >>> Fixes: 79865252acb6 ("media: iris: enable video driver probe of SM8250 SoC")
> >>> Reviewed-by: Dikshita Agarwal <dikshita.agarwal@xxxxxxxxxxxxxxxx>
> >>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
> >>> ---
> >>> drivers/media/platform/qcom/iris/iris_platform_gen1.c | 2 +-
> >>> drivers/media/platform/qcom/iris/iris_probe.c | 7 +++++++
> >>> 2 files changed, 8 insertions(+), 1 deletion(-)
> >>>
> >>> diff --git a/drivers/media/platform/qcom/iris/iris_platform_gen1.c b/drivers/media/platform/qcom/iris/iris_platform_gen1.c
> >>> index df8e6bf9430e..aa71f7f53ee3 100644
> >>> --- a/drivers/media/platform/qcom/iris/iris_platform_gen1.c
> >>> +++ b/drivers/media/platform/qcom/iris/iris_platform_gen1.c
> >>> @@ -281,7 +281,7 @@ static const struct bw_info sm8250_bw_table_dec[] = {
> >>>
> >>> static const char * const sm8250_pmdomain_table[] = { "venus", "vcodec0" };
> >>>
> >>> -static const char * const sm8250_opp_pd_table[] = { "mx" };
> >>> +static const char * const sm8250_opp_pd_table[] = { "mx", "mmcx" };
> >>>
> >>> static const struct platform_clk_data sm8250_clk_table[] = {
> >>> {IRIS_AXI_CLK, "iface" },
> >>> diff --git a/drivers/media/platform/qcom/iris/iris_probe.c b/drivers/media/platform/qcom/iris/iris_probe.c
> >>> index 7b612ad37e4f..74ec81e3d622 100644
> >>> --- a/drivers/media/platform/qcom/iris/iris_probe.c
> >>> +++ b/drivers/media/platform/qcom/iris/iris_probe.c
> >>> @@ -64,6 +64,13 @@ static int iris_init_power_domains(struct iris_core *core)
> >>> return ret;
> >>>
> >>> ret = devm_pm_domain_attach_list(core->dev, &iris_opp_pd_data, &core->opp_pmdomain_tbl);
> >>> + /* backwards compatibility for incomplete ABI SM8250 */
> >>> + if (ret == -ENODEV &&
> >>> + of_device_is_compatible(core->dev->of_node, "qcom,sm8250-venus")) {
> >>> + iris_opp_pd_data.num_pd_names--;
> >>> + ret = devm_pm_domain_attach_list(core->dev, &iris_opp_pd_data,
> >>> + &core->opp_pmdomain_tbl);
> >>> + }
> >>> if (ret < 0)
> >>> return ret;
> >>>
> >>>
> >>
> >> Hitting below compilation error on latest kernel
> >>
> >> drivers/media/platform/qcom/iris/iris_probe.c: In function
> >> ‘iris_init_power_domains’:
> >> drivers/media/platform/qcom/iris/iris_probe.c:71:46: error: decrement of
> >> read-only member ‘num_pd_names’
> >> 71 | iris_opp_pd_data.num_pd_names--;
> >
> > See commit 7ad7f43e568b ("pmdomain: de-constify fields struct
> > dev_pm_domain_attach_data")

The intent was for this patch to be part of v7.0-rc1, but I failed
with my pull-request to Linus.

Instead this will be part of v7.1-rc1, assuming everything goes as expected.

Is it possible to drop/defer these changes until v7.2?

Kind regards
Uffe