From nobody Tue Feb 10 01:16:24 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 438F82459ED for ; Wed, 4 Feb 2026 01:00:05 +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=1770166807; cv=none; b=Sav0zW+rTUsz4DWqk8SVWCyli2vq6TxKFaoVSic6YtbQZlFb26lZkmJ8TU9UFAKfIy44B/jNnLJd+h0E1ebRDsb3bF0xBhr21Bhxab/KKFWvPfylEc/+NpMxPExj4QEGjzSEHMSQz8zt5655C5zFBhQWgHeNqZurD0UPTO13mZc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770166807; c=relaxed/simple; bh=ABAeNOEtKJvCjwEzCc2bFtrzPVRQtiSKmtXjdfzR86c=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=agyHk6DX/sXxO8LqrOs7uAGgQ4zYfIQ8ME6kDN529SUU+PCy/pbpoIUNV5uORZsRpbrE6yR3Poy/rorvRoJ6qV9UjEyRgk7PK9K9ALVcNkSiHFvBWSgPqzUYG/TlZTVIuXvgdxlFYBTycXFq7tMwE4AxcitbtZ6ZpgY+mfzs0Ec= 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=Ni8BVu5a; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=M8aayZ4A; 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="Ni8BVu5a"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="M8aayZ4A" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 613LK0Cm3515406 for ; Wed, 4 Feb 2026 01:00:04 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= Q2IB+IR2UuWp21Tk45qIX1LChnDbhkna+IWtmumH9MQ=; b=Ni8BVu5aKMCoTFoU IbrnSFGwoAFf5sq2CEfwq01NLlcwod+QHVHcZL/YJosM6ViR57bG8GGtRKwHGerk 43UsPedenPhAgQHioOiIbo23cJ4D2iAdAKmn8nrX2CR51JtREipnA+xOSMmnvc13 s8N9/QyOEmHhRP8c7KPETf7jKvC2nvmsgCSiZw+Izktkgd3MLJ3m8GD/UkI20/6l nEgadkbNgk6Azims38US/mzez0379ZaCmKJ8qkbdm9r4Q1Az3EZ9YOeR0ZXFxHT9 XZoJBDiemwtma6sxO7kc1tnV1xB2OO34MZ2WuayevQO5scS4LSAhrY0z9We96vD4 1tCPIg== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4c3ru98jhq-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 04 Feb 2026 01:00:03 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-8c277fe676eso1898905585a.0 for ; Tue, 03 Feb 2026 17:00:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1770166803; x=1770771603; 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=Q2IB+IR2UuWp21Tk45qIX1LChnDbhkna+IWtmumH9MQ=; b=M8aayZ4A/xXfXhWWEYIwaUMsWLB2Fevhf6z2NiG0ScZmg4Z0PhiMQQGY9r83/FxvsB 167CVCSFykAFTK4YwyuLaeHnmh2vTqj6FQ5SKCJj2cQ8amNre9WhT134FHPv5JHA8l7C g1e3t10YrgNalc2R2eLueYs/+7OhfE6ZI+AVUtv2lASGRtT2VqzcptIsXmqadh0hb6C3 BNNCsjYZdrg/VJMlzJVM5j29f8c332WrroA/m8+yj7NRsoMKOmUuQLBNCaNKwcjx8NyD yJ8qeEdwd+NepkMGyyma4zaQb3eiTUodyQEHcwQtGJQ+x/OGIh0FIHHyqERx5AiiVNP2 8Tvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770166803; x=1770771603; 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=Q2IB+IR2UuWp21Tk45qIX1LChnDbhkna+IWtmumH9MQ=; b=dn4Qj2rgoFEom7QMex2U27hC8OzTG9N8R+orA7OCSvdPv4u+Txg3iT00H9Iwb6IfSs kQoW4yj8LuvKPQwR12QMcxcYq6yIMGr4x9ybs2SIhq3EVZDHPM5SkDqgMA2B5/6v8Ck8 MymfdjzQdMULwiALclQ9/uVytnkiCmVwLI8zqM17Pq4kBuAhAUZY5hDNeXDzPRcS4DFO tBWiYsJuzi5Bgim9CgSsklRxBQT3Qj4ra70z6AZJzLdl9M4JzSR9zcDLcS2bPn6MEUeb WTe9SHkewPRPwvuxbaZBGBC10HZrUYY1BKCQZ/OsjELEP8KVQDg056gehLnzI9dmRvIu fNcQ== X-Forwarded-Encrypted: i=1; AJvYcCW2tergSiPu0Fv29AGcl7ZA/EWb9oIO0NpAlYUMFekvaklEpsrRCsgNwrm6+L7n4tqRKHBMtdWUKey2fj4=@vger.kernel.org X-Gm-Message-State: AOJu0Yx9LxNKvnNnY7JAhgiub1ky81Ofexu5lx5k65bsjqiEHWM1JfYY ncTaQX6/fOKUe5dnCQzVz+Hwq2eCAioveJVfhDI3P5xRRbY+77s+hYkq8nZlGVAkhDBtbvXMENO x/GBbcqbRE87PSeULjstdF7JG1aHgMdm8xCcLq6JSdsFIN5SvVsq9Cka0ffinQA9mzYE= X-Gm-Gg: AZuq6aKJd/LvJ1TJJRSBJ3T05IiPNHoLGSl4f7lfCRJCAAWAxF2jU3+b7OYOd2apUvF Ov85XxkjbLX9mFmwCbX9xdYI2RDZxmZlui7JbzFNFXOKn2NQsBnZeduUiPqu8uAXs6UivAES2c5 2K2vMjMys+Jkp/Ntud+u7e+7Q5uDpNb+y+9PGFf7Mx2PlIVeoCMXQ//GNbAiiZfNSIwbxqI/++P 6xWRq5I58KfmqQJplpwkgIFkdoegKGfusXwRLYFaoEVFmXSumT92X+6EO5HLecGTrfUNussU9YD cJMklgWlPce2cvA5lp2C/+BGzlwE3zEbJdQrzr/DfuZoxkFBVi7Csh+ip9yQL07hjq5kcxgysiX 5wVjc0x7XxDZ7utFz435aNcvG49RAZmTIiDi063D4LVadLeKMKHJEtijvGHpF+WSv+nvhVNiyj4 9Zpaszg68xFrkbLFiXMubg/X8= X-Received: by 2002:a05:620a:bd4:b0:8c7:1a0d:7d9d with SMTP id af79cd13be357-8ca2fa8b807mr194332285a.81.1770166802583; Tue, 03 Feb 2026 17:00:02 -0800 (PST) X-Received: by 2002:a05:620a:bd4:b0:8c7:1a0d:7d9d with SMTP id af79cd13be357-8ca2fa8b807mr194328385a.81.1770166802114; Tue, 03 Feb 2026 17:00:02 -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-59e386ff563sm253405e87.1.2026.02.03.17.00.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Feb 2026 17:00:01 -0800 (PST) From: Dmitry Baryshkov Date: Wed, 04 Feb 2026 02:59:52 +0200 Subject: [PATCH v3 4/7] 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: <20260204-iris-venus-fix-sm8250-v3-4-70fa68e57f96@oss.qualcomm.com> References: <20260204-iris-venus-fix-sm8250-v3-0-70fa68e57f96@oss.qualcomm.com> In-Reply-To: <20260204-iris-venus-fix-sm8250-v3-0-70fa68e57f96@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=4318; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=ABAeNOEtKJvCjwEzCc2bFtrzPVRQtiSKmtXjdfzR86c=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBpgpoHbqXjJplNTO9k64LEzXaQioxNpJdZpA3KD J0MUuTQ/2mJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaYKaBwAKCRCLPIo+Aiko 1Xf3CACrtc8K+eNzcOqJDdl/SIgHWIG0P9ux16FreJZOUPwZrbSkDXxAsmTZ/rx1QKewlYbP0eu etPRnxrSaGBsTGAdXuC4Tqm6CqQk+BF9s1p5F7Znd1IDi4X16E28XQroSmMeqwoLTkqJaySlomh mBW1zzSL1c7+/8WXIMDp8O/JodIVgBPjnKDLXhQ3DKwCURiD7oC5nfGvXXvnwAVy0p7lXe0NhdC bzbxozRlnx4zQRcCXWczDcsYVem+YF/UXNegu5H2Q7nq20Q6G1BWcS94dktCCWJTUoe3BQK5jfY QnGzZgzg00faglA0EbUUIUWqNNYnToObadSHCVd1KaaiID1x X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjA0MDAwNCBTYWx0ZWRfX6o1U/6+njXFU O5i6ROmsPRYDXwQTSoY5+QQG3ug40chZ0vX5W+zpHlf5A48bB7w5LMlY1wPeMt15pV0TNBUEXCD ZPcSzWkWeQoVtPsm8lEBg1Sq16fw0FKNHeUr2OFLyUbv+vjtQ2ek3QC6RlnN2Z3A5R89ccHmf04 dqYj3tHzePevNo7KBOWMEopMU0p/dHGnYE1Q+JHi0F9b+b8hPMN853eOHbPUU4sR/eUFkyBXFUg T2KJKzNnVLaFm7y2LxsmYM9gO/v06D4I3Q5ssnSo4DvwRaGSq4RWtEUsplK8s5i+f9nMJsmee0B 8J3HlaeQRmJba27iEvcpm3ry1KTQHj8X57b+qBYgpzJ5XWQtIEM3XnsbT25KIm21ibHytqznL+D PBQDO6Z6EK6tVorsc4TL/AhtlcmfRlp1eCptdx4a7vQguzp4GvvRFGsqIEDpxPwlyZZ4jImAJFb wjyM7poGKJbWTp7b0Ag== X-Authority-Analysis: v=2.4 cv=IJoPywvG c=1 sm=1 tr=0 ts=69829a13 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=xbrBj4A6o8sUajtV048A:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: WaraZ6Vx7cQtwaQV1vO3f2kRqu2dz8TV X-Proofpoint-ORIG-GUID: WaraZ6Vx7cQtwaQV1vO3f2kRqu2dz8TV 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-03_07,2026-02-03_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 lowpriorityscore=0 phishscore=0 clxscore=1015 impostorscore=0 spamscore=0 bulkscore=0 malwarescore=0 priorityscore=1501 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602040004 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: 0aeabfa29a9c ("media: venus: core: add sm8250 DT compatible and reso= urce data") Reviewed-by: Bryan O'Donoghue Signed-off-by: Dmitry Baryshkov Reviewed-by: Dikshita Agarwal --- 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