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

From: Dikshita Agarwal

Date: Mon Mar 30 2026 - 09:13:54 EST




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")

Ack, Thanks!

Regards,
Dikshita
>
>>
>> Could you please check and fix.
>>
>> Thanks,
>> Dikshita
>