From nobody Tue Feb 10 04:15: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 69095285C85 for ; Mon, 9 Feb 2026 01:32:39 +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=1770600759; cv=none; b=HgQmLY/585YWD63Ky+CQKhUCCaG0vS4VZqG9Yyu5xps3jJkcv7O83xSrdfYpxHGSFNRnpvEOMNSbqLXEeYpCHv2v5qCXAf28sBFTXpLwuPeINg082RzU408UGbcJUCeSZbnPaABp0RDw9FM8vghTGBTb+9cGN+p0kN5QGE6TnDc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770600759; c=relaxed/simple; bh=h25ZBfASMsW19qNVMheDiw3xoIbeq4Li9u2pU4b/Roc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=BlhssAvrHBQNzJlcuYNTeGYq9k+XIN1fgudS0vUySNsIG6tPHDiGHthq1klogQdSZ71aAHwyAUUYTKqGWDBz3TtlYEps/3k+zD9jU/M9SrgtK1QK6PuuISPLxlE2P/0Ew5t+3MDHPM5XON5oT0x/n9qyFTrToyyKX+yl7rajMT8= 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=XIjwj72A; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Uy2Micwg; 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="XIjwj72A"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Uy2Micwg" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 618MuBLt3229571 for ; Mon, 9 Feb 2026 01:32:39 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= TOV6wa0NpJIqPIMLpFjeBC8CWBIElaVmu+G/psZIY1w=; b=XIjwj72A3ZgeZPij 5QSCx9z2UNrBUjI6NS5xwM3Jm47aKPwbYuENS70DsHE+WUhbY+DnLfRNsLOqI2lE UAWjhqjyv1D2Q93ZKbUwkBhOpLv4ymgRCv4CuSlqwB6oqkj/ls3k7H/8DhKkZZw1 kK0BiIB+tGrHq2o2F+fpXTDgzzawczepfUAaHmMYl6zz8bNyMUi466on/WRJdDp9 v4qnbaY7Kbsx4nhrPN0qIcjygYmL050z9zghhAiRAn+T4K0nTcQ6ali5Ywuku7mk lfvtU74DtRS00k+hAj8g3GGPUXIG5Ik3SWQTVyMFvYzSl8aJGspZ85BtmcCClEsK 1tj3DQ== 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 4c64hnjpam-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 09 Feb 2026 01:32:38 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-8c70ab7f67fso1139019985a.3 for ; Sun, 08 Feb 2026 17:32:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1770600758; x=1771205558; 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=TOV6wa0NpJIqPIMLpFjeBC8CWBIElaVmu+G/psZIY1w=; b=Uy2MicwgM5dJ+5QxpYJUWDQm2LhpVVet/6TfabVhKrIqadP4p00rx9hu3Y6DTHrDTN hul/kCbXmR/5wsMEcUvr3T2BGJ1CzVZ7KlQJRJQfIo1V4cfkhSgCQsCOiAaKB8tnbMji Po+Kb+LqhNVXh5miy9pMivQjOpapEwWjDjfNybaO/bzSxXtJRRtXsmDOVO/4h5K5kyOR 2NOXLA3l9eDepC0ydxUPxSUEX7r1w6ujIXk8O1bKC11dXyylEBgDfjY2IbgjXCx/NLxu wanSANiJWGgsfm8De0kQdEmRZDuQmUT6d8Jz+SlkviZLnWGQNXz0qlHxUWq9JGUcNEpf RZBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770600758; x=1771205558; 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=TOV6wa0NpJIqPIMLpFjeBC8CWBIElaVmu+G/psZIY1w=; b=uEYXWAWMWj5VXDaFWnzG3zh/B5+9OVJthRYataddptw3Kt3nU7SLvRu2PuWOnNgjDb cN9viS/jz5VCrYqbUOMZI+pBncYPihxGouK2/+Qac9RDBhoTODlsxRnhloeMfWoe4FbO Tjm36aO7PHE2iFWZ7n9I9OUgp/Lm9n4XppT8DgXFPQX1SzdaNdGBBHB+UK3kVhTgDpwC 4GXxMcEY7JTq433qyk4m3El1FfTgnEjLFLAvxJvU85BzDF6/5chwgDIjA82bix3Tc6+L QmPUY2zi9Ok9xg/6OlAurJX+m/HhDQJWs14bR5zj6XDz72GydBbukqtwIY7idIjqd7Xx gOmQ== X-Forwarded-Encrypted: i=1; AJvYcCV2wMfDEcBh9yUWT+/RL0bOFeW0It7hoONEcrWXtfxiRK6STqk0IXX1RFPIRRcYUl+YLmh+ojfUT8PPh1s=@vger.kernel.org X-Gm-Message-State: AOJu0YyaukH6mOIkfbDNxj6nvQfH1XXoV2cpBKpkL9GdBjB9hPrDro5g StbfuJqmu4pEPbZyJKQ0/lRtFOxkefnPDA1VRvPyA4kdC192nWi/Lj3XbaTARQiQ78tz3Qk/7Tk YQJckofH1ywR3fDQByrLijtmNyjU96dzgSVDxPCsrJGP5BUg7xoeBSE/aK51OS1x5eVo= X-Gm-Gg: AZuq6aIkSfkjIXWSKDlvTJGa1HoHJ5blypsxSnXR3zTKJw/Z3ZF8syfbRVSXsOS9diA GRU721cRXOzWjf3U9oc5L3Or38GSN1apBPFXtUf7MTnHA+vt3amcUUjHERk5XwIcyeWjBS3IBZH eDebrONf2FI2Jb9MClNHJQpVZSrp1qc++mlS7pSWSXREo3SERJb+2mCV8Cal6rFCHNMswV2NFlb uM1BLldY48YVl+iLkLflkYQQv6ZgVYdYn9HLJt6CxwKbLOW/hWI/ZSFPN3q55aT+Sz9F25I60NA Hp1rr8MCPs5cakUSMEq1RLRpVMUJm8yRr+riw3tsY68OmcsCHLlVVaBDr81CI/livjpn9h4UTau gehUiweXJa7P1FuGB3DJ3OOnA9UE0dSusrtYszYrrI6pRQRwWMeTihmwtBDhsb4ZqhuvWs/elyN CGsC140uw/UwJjmnruUE9+9G4= X-Received: by 2002:a05:620a:404f:b0:8c7:16fb:ed49 with SMTP id af79cd13be357-8caf15f3e50mr1186188585a.63.1770600757729; Sun, 08 Feb 2026 17:32:37 -0800 (PST) X-Received: by 2002:a05:620a:404f:b0:8c7:16fb:ed49 with SMTP id af79cd13be357-8caf15f3e50mr1186185585a.63.1770600757329; Sun, 08 Feb 2026 17:32:37 -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 38308e7fff4ca-386b623668asm21688601fa.3.2026.02.08.17.32.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 08 Feb 2026 17:32:35 -0800 (PST) From: Dmitry Baryshkov Date: Mon, 09 Feb 2026 03:32:18 +0200 Subject: [PATCH v5 3/5] 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: <20260209-iris-venus-fix-sm8250-v5-3-0a22365d3585@oss.qualcomm.com> References: <20260209-iris-venus-fix-sm8250-v5-0-0a22365d3585@oss.qualcomm.com> In-Reply-To: <20260209-iris-venus-fix-sm8250-v5-0-0a22365d3585@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=4385; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=h25ZBfASMsW19qNVMheDiw3xoIbeq4Li9u2pU4b/Roc=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBpiTklmAx4aZ2hlK7p2wOyGerBVlPrI0SiVfGEO 7cUw5QIjY6JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaYk5JQAKCRCLPIo+Aiko 1Q9nCACOblW1NvYRHXqqvwC14SrQf5Kb7IGBossoELCys2fKWgsAl3DJDi7Z9zKDZUlH5vDHevR LMnLpvhMOirfswsvXNcuDIm7cdzIm47YQLcciw7hJgZszidIPh6d972AyYIT5C6XKUkz2euf/OD axOKY4C1IUU5uhgokT6Hqbcnkg7x5e18XHh37fWzlWZMVZzm3YZRuqqkCz8rzd/Sqi+p8BNy/q3 H4SxGxDKbY3AfZ/2SsN9k/p83rWWcX2TmX/Y/laUoghZ2LbERDy87yx2Wpgt4r9uUbAJAzgxM5E rny/sTaPrPK4ePk3jE8JBHLmpeeZ3KPC4/zafK1hMnftWBDh X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: b4BRyCtb1qvcoSiy5at327SaIpoeYKwm X-Proofpoint-ORIG-GUID: b4BRyCtb1qvcoSiy5at327SaIpoeYKwm X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjA5MDAxMSBTYWx0ZWRfX0rV2r7rEghmu 1IJEnaB9l6Od/0t3JiCIjkbhImRpBnjDfhdVlci+DHdFpVWYNbvjD9te9SC0ZPewcFfdbCeMET7 XdIxqSoBV5j+mHADCo3hlmbYTFrUHRm1I1ypyM1Uu67EIVzOogaTMW6NBh4CbUoAi6mhlPDSbg7 L7dBtcrMGDtv4Fec5sSUmlJhZmMEOOFBAgKHxuXbPRQaecSXahEYFYnWqojaRAfelkeph/Epnak 0eLMrgHuyeywU6QEQaPnGozysr9xBN67VohjgwvXunSeXrT1b/OFnSzKeERbodeTXV5k6bNq3Mw NuFoIcyesWE+eg4yUHbcPeGHmxvU4s/vALeqPftExMwLrYSfAgIAp3IrwOcPRlKOdC/W/08qxv+ EX2rWzpSgZtd47zp9319c71pNNDjKTVf5NpgDJRMJnCK+ApP45ZHhMxdhefTuZdLvXjrHhH6Nxi OlJN6AS0r/FdQQc4QXw== X-Authority-Analysis: v=2.4 cv=SNlPlevH c=1 sm=1 tr=0 ts=69893936 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=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=xbrBj4A6o8sUajtV048A:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 a=cvBusfyB2V15izCimMoJ: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-08_05,2026-02-05_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 priorityscore=1501 impostorscore=0 suspectscore=0 adultscore=0 lowpriorityscore=0 spamscore=0 phishscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602090011 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 Reviewed-by: Dikshita Agarwal 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