From nobody Tue Feb 10 04:14:58 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1424E331203 for ; Sun, 1 Feb 2026 10:49:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769942964; cv=none; b=J0Th3dnv8xAn2QoK4W6R8IeaLLMXUyuJ7re7jn7AURrHZ3mmttnZPTM1kmK/ChX8SYY80DD9mpaF3a2tQ124ZmT7+WCM1MBjHGqwhxI4QnSW5qPfwvbE+phWJx92cC8Wl0NdCdq7iG/x6Z66NxcbFaJIRcEV8u4FaOvGs2Y6PAM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769942964; c=relaxed/simple; bh=9/cOYTOdE7RIJlq5XPHu/65ov7FyGwGpdJ1dgFh6bSY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GNkO5+YrPxu7cZpkHy3Xu84d18pf2F9+1gUnguzgLuEZhe+xZdr72VZtM9srR45wWubtLl1t42lkr4tfdHLw7WUQ6DsuP4ZkzhwYeE0cs6UWhXiFu5jdPoFaFXcS6UrX8AvYmMIUdZ2I3CYfTHiIZIFR3PJ3Gl+mlOfqR3ZVJ8U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=OY/+1X4H; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=fymC9Gll; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="OY/+1X4H"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="fymC9Gll" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6117UQbm3651121 for ; Sun, 1 Feb 2026 10:49:21 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 3n5ypMdwtQxYQvKmZ+905ulr73tGxrA7J3ngVV5Xb6E=; b=OY/+1X4HNXtplvFj hChnB/Kvin5UTQ9dCKbdkkz9RlxW5+Te70RshjCkzFptCqwat0pAIBrq2cjGDZeu +OmzPyYzdXIzycew2Eh5jR+Z44YbeJ1LvDicO9Q7SQmbwdHFpYiEnYtFlUiqiVro Wb5PKP5bYhuN1camYX90Utc+SeB86ILPsHe69vo/3vBD9QVZYPUyMtuea9/UQCjj xJr5oiqQIpT4SPOiBWi1fmxnwdPftm5gBC/4lRjbL7gf/2pnw/KORPspkWSAin3L XfoUaVW8F0JfMo20XnMjoAkAmIWY/YefDSrWYhtvXbMHF3JltXFnQv6YP+/YnYmX GYuJVA== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4c1as0tftx-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 01 Feb 2026 10:49:20 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-502d38a3e39so45321731cf.3 for ; Sun, 01 Feb 2026 02:49:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1769942959; x=1770547759; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=3n5ypMdwtQxYQvKmZ+905ulr73tGxrA7J3ngVV5Xb6E=; b=fymC9GllA3N19HDOxYqRFhElKHz8O2USChUkpHMBxkCpP57j1/HZmwb/xoFU+S9weE +6sZXyzkJfBywNRcceLdTx7K4OsUZxs8ljRFoKr6Eaw25Ts/IQwbsFJU9DNIF2ubk2Yd szzPHF0IYZPFv87pD0tFrHTp1Owml/afiDTwrpgy4CZde8D7CyV1SXdZAvbfHAAW0SaO xriyDPFGXk9CRLntoANPZ5qUVOKFXcgxT87/qrdmF7+LhrGNkRY+TgbIpcYdF661yg4A PJ8vbG6ImBvapVdixlm9iWUaCL9t44i+OusBZuzgFtjSAuBGwnIVauakiWPCPUxfwsy7 1Pzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769942959; x=1770547759; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=3n5ypMdwtQxYQvKmZ+905ulr73tGxrA7J3ngVV5Xb6E=; b=BIUx/gVhXaEh8Xah6vhx4c6ALkOQxsC0FUUoElmlkyTdt+99Rl61I4p2qY5v/IZEBe +764B/ltp/2pQpKyufJsNLy07MKTts4hJ8/eSxNvd0HTv3QTM5qkzz3iX+u4GDClbrzb J2DY+PaHVJo/ZQYU81Y2UdIiA7WSZ4RfDduKkDQe6RaJDFKfn+6I5VMQzaRg03gnRakq 5Dplko3O5zN2mPdzO3ERSsKPGz6GMPE9SHpbxUu2OiQ3lBihqlkkPuAw/j/XhYmlQ9Ui JzuMPJX2Sfe1zSVVS9Zal6VwVneR3QnMHeYtuLyMle4Aqh1J2LOuPhHZYIFHpK1Un8Xr NZIw== X-Forwarded-Encrypted: i=1; AJvYcCUtXPtuHwwWa54C/S+ve/Nmj6GdwMRyiK5DsDVFW8NEQTvOL5Oi6h2aCeFUTbzAjAblZonHOT6ndq3u5bQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwMVrKjjTH97jkDoGJPBGiExL5GW9XiHb4tZT5sOUlG/ydQNHPY T4eVGklAwjodIVa4GXgPopC5tg7VRxJTBJNkEkXgOZ0pJ2it3bzxLCWh7GUsZMWMg1JTzZfLquI S3N0AVOlle72W0d8GSq8Pkl740eE9CgR5cYISSyWZo8O57BHNVkwG/CVS09EEziDAAl6CC9xCQU w= X-Gm-Gg: AZuq6aK0j842byMnMPJ1RGFcUnQVjGgit7x+JotxUM8phtdwiJFQyj3yOhOo1C1avs/ 1aLw64UBgi35VWL4CrTG8FDpGPL2ZcFh7EHr5us+M4RJImbzjonv801Ec6VpeueAQwiqAVU9BeG bEOmh6uHFrynxdIiT+yEl/xfZ/vsDg/S3gTex6y4uQZG7TJXJeZnc4qzUqBLMYYRogo1Zc4jhKH XCt8tcexmRYihFECJxWKPmJFw4RtOKDgkBD5lSgPepbOkkTEk8ZusJByJ3Bc5AVPrg3VUT14wHS Qq9p7h3XQrcsfnQ+2QfgLEdMM1ZPUt1KN6OIrEry706Qmwes9PBvmz2GtErZsqG6Jzi0FnCWN/v L2mkthXAAHLO6MeVWhlaDNfu9sgOP1I8EX7sCXxsojwxtV7VUg3GPunw2H3kswfUJBFldK03Z4x u6pKMpiMeGIN4lcoE2l/buXOU= X-Received: by 2002:a05:622a:181c:b0:4ee:2984:7d95 with SMTP id d75a77b69052e-505d214b038mr117498611cf.13.1769942959302; Sun, 01 Feb 2026 02:49:19 -0800 (PST) X-Received: by 2002:a05:622a:181c:b0:4ee:2984:7d95 with SMTP id d75a77b69052e-505d214b038mr117498501cf.13.1769942958883; Sun, 01 Feb 2026 02:49:18 -0800 (PST) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-59e074b7a8csm2835006e87.77.2026.02.01.02.49.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 01 Feb 2026 02:49:18 -0800 (PST) From: Dmitry Baryshkov Date: Sun, 01 Feb 2026 12:49:02 +0200 Subject: [PATCH v2 5/8] media: venus: scale MMCX power domain on SM8250 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260201-iris-venus-fix-sm8250-v2-5-6f40d2605c89@oss.qualcomm.com> References: <20260201-iris-venus-fix-sm8250-v2-0-6f40d2605c89@oss.qualcomm.com> In-Reply-To: <20260201-iris-venus-fix-sm8250-v2-0-6f40d2605c89@oss.qualcomm.com> To: Bjorn Andersson , Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Taniya Das , Jonathan Marek , Ulf Hansson , "Rafael J. Wysocki" , Bryan O'Donoghue , Vikash Garodia , Dikshita Agarwal , Mauro Carvalho Chehab , Stanimir Varbanov , Abhinav Kumar , Hans Verkuil , Stefan Schmidt , Konrad Dybcio , Bryan O'Donoghue , Dikshita Agarwal Cc: linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-media@vger.kernel.org, Mauro Carvalho Chehab X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=4260; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=9/cOYTOdE7RIJlq5XPHu/65ov7FyGwGpdJ1dgFh6bSY=; b=owGbwMvMwMXYbdNlx6SpcZXxtFoSQ2a9/tKtTVX39ff8a7MvTV8a/DvEuPflJ7mO9PWbTmcHn vrx9MDpTkZjFgZGLgZZMUUWn4KWqTGbksM+7JhaDzOIlQlkCgMXpwBMxD2bg6FlwfyHcxd2W29o EfCQ8BQuYb/Zbxhc1r/bajpnGW9cT5yoZYora37NTi/9nQsEf/MVzX100Oie1BoFm9PrhVvMn3R NK7s8f++xgk/l4SbmP2fEV6zqjq0OvDc9wCZhwfusj1ENHvWl1e+9383b8j/1MY/N83dnKwsvua 3vWLxJPWZX3Qzdvd7/xJrfv5m97cPFIkbmmTss5rP6aqZGP5xQXRlop3HERvRIbYLKTK+FHYnHp s01DwsreJ7AdJDTPE99gtxfw4P5HwwCnhxuPGL/mONSj66NeZlOUsuDlJ8K9cIJSmYyk0+cvcT2 +i+/MC9bijtf269d4X7GQkdPOXQox19xXdV2/t7L1rgcAA== X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjAxMDA5NCBTYWx0ZWRfX4Z8VgVGEQyi3 kQMSO/dxiCw/JiRD2zUXbWovyjZdIR7uchWHfpt47ez6oKzYeV64gp4mRtfHuxc7d2I+ncxzDCF 6uIMh2OaxJ/5C6egvnxdkvPgdqPdiiw+1cBV+aWKpS+UqDsmOmlc/1e7/Zf1Uu/NCbdJIPmXiI7 6iWMkKYiwjtMlguz1e6+jP/lHt5f9uN+P9lBdW9ZFNvJ2WhbMi9HeYM27dXEQ1M6ZtHdPzVxwU4 SE/aSATo0X2aDsu4DTV7GbAoQy8e/1x3aaCYdF+lUdYIaKL369+s7KNM35l0P8vIiG4NAHooPMr EJIMOVeQostyc3vE/9xcW5ChBuvpJZtFc/CObBsiDb2bz+Dxo/XSI9tqx241G1z2imwZA4r4ZvE E4nPxk8JhdC65P0wmpY+Dsg1t4qYA8h/Bs4sey8ecEe3t8qtTLrRzGVM1PTl7sdODwSyNig175D fmt9G4h7Nwcf3ZzrpkQ== X-Proofpoint-ORIG-GUID: OV8fNb_suW2dGOdo-XaWSg5p3ERHabg0 X-Proofpoint-GUID: OV8fNb_suW2dGOdo-XaWSg5p3ERHabg0 X-Authority-Analysis: v=2.4 cv=MYthep/f c=1 sm=1 tr=0 ts=697f2fb0 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=xbrBj4A6o8sUajtV048A:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-01_04,2026-01-30_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 phishscore=0 adultscore=0 impostorscore=0 suspectscore=0 clxscore=1015 bulkscore=0 spamscore=0 priorityscore=1501 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602010094 On SM8250 most of the video clocks are powered by the MMCX domain, while the PLL it powered on by the MX domain. Extend the driver to support scaling both power domains, while keeping compatibitility with the existing DTs, which define only the MX domain. Fixes: 0aeabfa29a9c ("media: venus: core: add sm8250 DT compatible and reso= urce data") Signed-off-by: Dmitry Baryshkov Reviewed-by: Bryan O'Donoghue --- drivers/media/platform/qcom/venus/core.c | 7 ++++++- drivers/media/platform/qcom/venus/core.h | 1 + drivers/media/platform/qcom/venus/pm_helpers.c | 8 +++++++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platf= orm/qcom/venus/core.c index 646dae3407b4..cad2df84ce60 100644 --- a/drivers/media/platform/qcom/venus/core.c +++ b/drivers/media/platform/qcom/venus/core.c @@ -882,6 +882,7 @@ static const struct venus_resources sdm845_res_v2 =3D { .vcodec_pmdomains =3D (const char *[]) { "venus", "vcodec0", "vcodec1" }, .vcodec_pmdomains_num =3D 3, .opp_pmdomain =3D (const char *[]) { "cx" }, + .opp_pmdomain_num =3D 1, .vcodec_num =3D 2, .max_load =3D 3110400, /* 4096x2160@90 */ .hfi_version =3D HFI_VERSION_4XX, @@ -933,6 +934,7 @@ static const struct venus_resources sc7180_res =3D { .vcodec_pmdomains =3D (const char *[]) { "venus", "vcodec0" }, .vcodec_pmdomains_num =3D 2, .opp_pmdomain =3D (const char *[]) { "cx" }, + .opp_pmdomain_num =3D 1, .vcodec_num =3D 1, .hfi_version =3D HFI_VERSION_4XX, .vpu_version =3D VPU_VERSION_AR50, @@ -992,7 +994,8 @@ static const struct venus_resources sm8250_res =3D { .vcodec_clks_num =3D 1, .vcodec_pmdomains =3D (const char *[]) { "venus", "vcodec0" }, .vcodec_pmdomains_num =3D 2, - .opp_pmdomain =3D (const char *[]) { "mx" }, + .opp_pmdomain =3D (const char *[]) { "mx", "mmcx" }, + .opp_pmdomain_num =3D 2, .vcodec_num =3D 1, .max_load =3D 7833600, .hfi_version =3D HFI_VERSION_6XX, @@ -1054,6 +1057,7 @@ static const struct venus_resources sc7280_res =3D { .vcodec_pmdomains =3D (const char *[]) { "venus", "vcodec0" }, .vcodec_pmdomains_num =3D 2, .opp_pmdomain =3D (const char *[]) { "cx" }, + .opp_pmdomain_num =3D 1, .vcodec_num =3D 1, .hfi_version =3D HFI_VERSION_6XX, .vpu_version =3D VPU_VERSION_IRIS2_1, @@ -1102,6 +1106,7 @@ static const struct venus_resources qcm2290_res =3D { .vcodec_pmdomains =3D (const char *[]) { "venus", "vcodec0" }, .vcodec_pmdomains_num =3D 2, .opp_pmdomain =3D (const char *[]) { "cx" }, + .opp_pmdomain_num =3D 1, .vcodec_num =3D 1, .hfi_version =3D HFI_VERSION_4XX, .vpu_version =3D VPU_VERSION_AR50_LITE, diff --git a/drivers/media/platform/qcom/venus/core.h b/drivers/media/platf= orm/qcom/venus/core.h index c7acacaa53b8..62ab747291b8 100644 --- a/drivers/media/platform/qcom/venus/core.h +++ b/drivers/media/platform/qcom/venus/core.h @@ -85,6 +85,7 @@ struct venus_resources { const char **vcodec_pmdomains; unsigned int vcodec_pmdomains_num; const char **opp_pmdomain; + unsigned int opp_pmdomain_num; unsigned int vcodec_num; const char * const resets[VIDC_RESETS_NUM_MAX]; unsigned int resets_num; diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c b/drivers/media= /platform/qcom/venus/pm_helpers.c index f0269524ac70..14a4e8311a64 100644 --- a/drivers/media/platform/qcom/venus/pm_helpers.c +++ b/drivers/media/platform/qcom/venus/pm_helpers.c @@ -887,7 +887,7 @@ static int vcodec_domains_get(struct venus_core *core) }; struct dev_pm_domain_attach_data opp_pd_data =3D { .pd_names =3D res->opp_pmdomain, - .num_pd_names =3D 1, + .num_pd_names =3D res->opp_pmdomain_num, .pd_flags =3D PD_FLAG_DEV_LINK_ON | PD_FLAG_REQUIRED_OPP, }; =20 @@ -904,6 +904,12 @@ static int vcodec_domains_get(struct venus_core *core) =20 /* Attach the power domain for setting performance state */ ret =3D devm_pm_domain_attach_list(dev, &opp_pd_data, &core->opp_pmdomain= ); + /* backwards compatibility for incomplete ABI SM8250 */ + if (ret =3D=3D -ENODEV && + of_device_is_compatible(dev->of_node, "qcom,sm8250-venus")) { + opp_pd_data.num_pd_names--; + ret =3D devm_pm_domain_attach_list(dev, &opp_pd_data, &core->opp_pmdomai= n); + } if (ret < 0) return ret; =20 --=20 2.47.3