From nobody Mon Feb 9 20:32:37 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 BD2DB35CBD8 for ; Sat, 31 Jan 2026 17:34:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769880843; cv=none; b=RfIzYod+N8kz1BypJn5tbOUeq0YoP+Ts/q3HmDaVDFYjJJbNHcnJCt7YeAaDH+JrxtDjhDr7ImNzk1FeJUdMl5mM/vCm3hzE/fD0aMPFHfbNb9oVdXex7rXCa268+7ZCzw2yjTgTV66mbkP6q+I3UKVl85Spu363VwaucRK3xV8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769880843; c=relaxed/simple; bh=9/cOYTOdE7RIJlq5XPHu/65ov7FyGwGpdJ1dgFh6bSY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Tm8zImmKqMxH6Wiwixy7Q0ogZLM/c2OFyYlGX5yqGQVdsIn/4R3ZX6vS/BZt6gPvULJWaXvk/8UVgQX7QXX7RwUK38bvzkNkavFgIxT1LkAgNcTVk5s7HYVKGfCYHFVzpAtwDuGRedly4T7LvXvS9EvLd4XJl+6amVRk0lSd8Uc= 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=U53w10HJ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ZuRx+XNA; arc=none smtp.client-ip=205.220.180.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="U53w10HJ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ZuRx+XNA" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60V4ThMb3957864 for ; Sat, 31 Jan 2026 17:33:59 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=U53w10HJn0ap51BN oYSO2LVlsnNiDI8xQroxmAMNGh88VvBbTnitvnpCEQDuKmQkmIXZSs9YLEZ96qvS mzlBcrGmV5QAu/0Gy+mZQM17v84TOrrJ/iedyK64KNOT3LO1G0G42Id2SZO8LrEx o6vjO5urO5/yDhOPswJBDk/VfjgMZTSbWpXm8Qm03CiaouTjEYq/iUtmh+xeNIEO hzCR04/OqZeOc/JoBp2DIUjiTxIGKsvsgC9JoVAx45o45QbEDAUoF4vtpoLTq3Al XbCVZaAraLhRtOARH5n4TCYR+i2wLFIEP4E0zhIagh9B4LquN7d3WW/jcvpHuiwd SyWBsQ== Received: from mail-vs1-f69.google.com (mail-vs1-f69.google.com [209.85.217.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4c1are976d-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 31 Jan 2026 17:33:59 +0000 (GMT) Received: by mail-vs1-f69.google.com with SMTP id ada2fe7eead31-5f5492d5959so8595891137.2 for ; Sat, 31 Jan 2026 09:33:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1769880839; x=1770485639; 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=ZuRx+XNA+wc3lJvoA0RZv+bIjr6HWkg1YMPoRlB3HYsM2+IizqZXgTbzA2SrGdOjVP 3OvDkgSaoSDBh7UbyeAtqoWy2Ipw+gRlACKOCBDs2ySb3+v6UzNPY0Mh3mVFBwn7x+oW FPPGJIGFvKrecJf6GS5zzlGdxOxss9bboMo5R9SoOqjwBlkxMurAjmIpR4aEtsC5HJ4O t4q5Tc+SgwJNQZofY2xgDZqzfKSUc6ecr6TmOOZ5tNPcOzvINOwtNYgifCM7lceiJ2qM w4PcJF/JKchWv+rFlOugzJPc0Dg8fO4ZrPAqzpmCCjqEC6iiPMpkKpcfixG8Qd4AoQyR oBtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769880839; x=1770485639; 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=HayIMboUosD20yNY66nbQgHxGfVgddrmhNGVsJATg/8fdcQE3CB6noxUgXn/SJeLT4 8+7Bfu4YLfPHo8cqSXT5SAgw9tYV+KXXdpuqwunprisil+GBllPz1YNEsv9s2nWl2XrJ /FsgiQ0oam0Ysm309SRp0PkM+7ZF42+YhuCL6plr4HL9zIZrRiTKMVLGMh5EA5O3VfxT jkea9QxnRIJmx7g1CP8cIWM2Nke43bbQO5WecbacxWb/o6ROyRI1kguDed88IYbmVfGw LWtSD5CHcnCQzrY35oYJaqO8lfg+OuYDGKPF3yxipTP4sHmG21Yv1ZsnHD502hV71FgI Sxqg== X-Forwarded-Encrypted: i=1; AJvYcCXhRQrsjAgp6lUdOIDYVZBg/mdRe67+RF18I7uuEtD5jSEqB4j/6e9lj2bFjj1HeKWyw0NsbB6EeayKa5o=@vger.kernel.org X-Gm-Message-State: AOJu0YwclmaN3z9iDG5sSXhsNNvc2ueaLhH260nVoi3SQH4BhSLAhMMp H5xy+0hXzDVkiRS44O6B3ljBwf+oUKIuU8JboCb6Y/O6Bj25Tf2fq+amfVy+B7s+hMHS4Zji1Bo ecjPBDzqDzboVjD4L1P5T/eGVtF6aHbKwnEKUUw4W1FV3sJptL6Pz6i5gx8tXxuxz9g8= X-Gm-Gg: AZuq6aLZ0d7iCtHoubTSNA5fCNCE0xUX1GasYtU/XXO64LjwaQ27K+etzM+7fZTxfg/ 2Lqmq/Qdv0rlkjKEfigehTxyhmddhoiqQuWTheATz9IVNfrapmHebYznc8cgKwG05JtwQYkE6zz 5CEKKyZVhbL6ly2sk9p80Q9To9gZqJXzHwsMQSILI+uGvwzezzZoGq8ACtc3XB10Ad7WuJPaP7S +nDbcYl2jMATZZKzYjvaqlYgh3P0E1vW5Q/Cyc5ku3wiWHV5vbgY+BMKoyoSRJJTXc0xDAj+rFi +BVa1OLIADqp30WgKb48q/LIlDbRWJas+BrM6OPNpqOkpQSkb5hS1yl75muMvJIKAG8cL+nBCKI XoOhcPJDubLkyF9l6qYHzDuqqtlLARuGkpwxb6ynwQJ84zh6uk6J/qE5cYDcx8Xd67MbMXxXWQk rtPqhf1M8MRMViAk6eIdV/KGw= X-Received: by 2002:a05:6102:ccd:b0:5f5:48df:b869 with SMTP id ada2fe7eead31-5f8e26c2444mr1857643137.44.1769880838978; Sat, 31 Jan 2026 09:33:58 -0800 (PST) X-Received: by 2002:a05:6102:ccd:b0:5f5:48df:b869 with SMTP id ada2fe7eead31-5f8e26c2444mr1857615137.44.1769880838539; Sat, 31 Jan 2026 09:33:58 -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-59e074886f0sm2443236e87.24.2026.01.31.09.33.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 31 Jan 2026 09:33:57 -0800 (PST) From: Dmitry Baryshkov Date: Sat, 31 Jan 2026 19:33:47 +0200 Subject: [PATCH 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: <20260131-iris-venus-fix-sm8250-v1-5-b635ee66284c@oss.qualcomm.com> References: <20260131-iris-venus-fix-sm8250-v1-0-b635ee66284c@oss.qualcomm.com> In-Reply-To: <20260131-iris-venus-fix-sm8250-v1-0-b635ee66284c@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=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBpfjz/BD8pqx26XsbNArIa4fLQSwDBziV8y8ukE 0TrKqAxIHeJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaX48/wAKCRCLPIo+Aiko 1XgDB/0Wbp4nrmWOeyy3n2ksxKixvBuJvvs0lgRn18HvEgw8IbKSGfJqoYahL89JH4QfZP4YAmM EVNoXX7/8wEY376RN4S2xmtZiko6afZ8tN8nXE3MUcchgXAkf+YMfDpRrOklBiUCbKOY7gbkzBQ aODKHMb+NHL79os9wPYakBaEANHQ+uaqoBMmrmH1nqxkWrxXfhGM8drfNpVpynmj+90ZbLtLfPO 4BZFjuaWX52NMKcGaaZsdZPJNW1/2IjRTqY5PBQNwhJA3rTdfBAz17wHjnoEVdJQRhPoKHqZiOC 73FRdTtSWAUcTMtL/iHbrq6g81+sI3AesBrqiB+J+kgy4fVB X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=NNfYOk6g c=1 sm=1 tr=0 ts=697e3d07 cx=c_pps a=5HAIKLe1ejAbszaTRHs9Ug==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=xbrBj4A6o8sUajtV048A:9 a=QEXdDO2ut3YA:10 a=gYDTvv6II1OnSo0itH1n:22 X-Proofpoint-GUID: ZzUfWKblwQwZfa9mKWD5chQHufHwlyzs X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTMxMDE0NyBTYWx0ZWRfX24lcPvj/Rn6D KVx4weCUwC3ako2HsaAVE6yiFkZBBpRnCj75u/nRdE8BExm6vRvyLEY6CaBBiFNdn99xD1sDyB0 mrBxl6hpyFtB/rsU0YlzgL9HmeHcCjrPgqE3wE01sgux4J3tu0u0z1JnM+CZNMVk4W+KYlrNpVp C0dWoIS6xW+pV7m22Nsw5cOgIYf6vfX/Gd4AwXdC76Fyl3rMbdiOZHLL+wI6J1WScC8ZhdO2j/h xue3CqjoeeE4MvI9e1oOvy+XtcQHKe05IuRDhYCj5uM4BDEwSH0x5HrDczDYDQs/0LyJ6FkfUxa mxVgl/BAcWoZCHqJpQb6Lgi0bifzlu2hOEb9v8yl/yn3+HUUGcieJyRMh8OIPvxUCPlmcGtH7O9 NAN6x7uyG8xSwxIMBg6nvJolHJTssDY112TZKvJC622cKoBq4MPm0WKL/3e3f7HkkGOmH3e0F+w ozkTbcFoeQNfsaswnYw== X-Proofpoint-ORIG-GUID: ZzUfWKblwQwZfa9mKWD5chQHufHwlyzs 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-01-31_03,2026-01-30_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 lowpriorityscore=0 adultscore=0 priorityscore=1501 clxscore=1015 suspectscore=0 spamscore=0 phishscore=0 bulkscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2601310147 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 --- 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