From nobody Sat Jul 25 00:56:33 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 CCE18361DA6 for ; Tue, 21 Jul 2026 13:21:15 +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=1784640078; cv=none; b=sj4qcIRr6nc0FbPMA8sIG2PKvpZI2roKF0ilkGORMD4gUpMw+vz6NL2/TtuaD06OfUFNSYtbLdERX/oLN6AQEpSZDqsjO6u0Sh8y1xnk/7PVjSc+BGmPncckbPUNYyosi+rbj2vmVZMvbePDsHYYlD0qYafZbLfL1Ojib+bHeR4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784640078; c=relaxed/simple; bh=3hTRvGqDf8rSeCVyeZpAh08rSXRH25yL/6K24MeAhGA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DkZzopxvt4pxTeCu0d0dUpg5IMTDTxLtSpr1ssOYDO24JSmYfBSCICbZmyZsIaIv1ojTRoGa15VrqXVky/cMLdxme/4l0//Rte5vuJXKdWCk5tMCgjZrzDiHBsopViMmnm22K871w/lFfMMRXyTgw58wqFgEqXhCFMJNrXmqNTM= 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=REP+9LRH; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ZNVjrstk; 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="REP+9LRH"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ZNVjrstk" 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 66LAR2tW2502820 for ; Tue, 21 Jul 2026 13:21:15 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= 6+9IMhfgU2+XhfVP6NO09mWvG091m8PU8yYOknpFkUs=; b=REP+9LRHLdNTJVtP OgaCPPBtnPA9+HqYd0rTE1XHfhkzu5+DmDTrhKL+tsTtK8+u17pLPIRqaVrrdMez WSbWAWHMPi6fcxfS0iU+NfZUnEuKkgp9+x3s+UO1zvyzBsQGI5pZfN6QKjpKtZDM glWdU0YPwERSN1a2sHwcGZnjk+8+uSeoeCAegKgI8aMu+cSxZsNH1AaLIMOoFo+5 JI7tNkvNY5b0kLj/Xn4DjkxSvs2LLZKzJAAu029vfdgIzsaxIGrjJAzkMZH7WQfo +sIhXdaM3Ey7DV3VCjjeVI3nFWiHvJSGmjUZ2/EzFWvRrF4LFkr8ZZPDTBCkrWeu PWMn9g== Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fj6nsrxqj-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 21 Jul 2026 13:21:14 +0000 (GMT) Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-8e9489f62bfso249948686d6.2 for ; Tue, 21 Jul 2026 06:21:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784640074; x=1785244874; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=6+9IMhfgU2+XhfVP6NO09mWvG091m8PU8yYOknpFkUs=; b=ZNVjrstkT9zcsQbGFoE/V/H/F7yLLnuH+DCHsHASmnoJKtNVvrmPfa/bjKVi+MLYya Bm/j0AUctcDGigni25XzCizJWp2nx/IAjmi9oT9zO6Qs4Wb27cSSXDHDTJkWrjgNU2g2 iwyW3KbR+WGxUCKxfwMY6Hdsg4ijNVIUkvm94plPjvIrxzecjVA2Qcq9E2U5s7cRBLRo mnNYvKQd8dSb2hdHIxLNVHCZy/N9qno5EAflqqoW1UUxSKu1grVwU0ay89SUDh4qj+BI fywbrTpA+FCR4orfanFavomHdK3CbZ45U4/n+FcFVxsnJDhqY598qDyETfvPC1XuHa/t uteA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784640074; x=1785244874; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=6+9IMhfgU2+XhfVP6NO09mWvG091m8PU8yYOknpFkUs=; b=D1W9SDdzfWeYeQTYb4CkmPLoBbPO7jkpVfgezUASjKbVeMbLouVoiOqv8Z+BFQ+p1m M46KPLFvhOtiOAE2HiYQh9WKBwV3gFBctbicm3Amax3C0Xq4QD+fXkZc9m0R30LYSAxm JsP8uUujzZjmg6GX0msNcs1e7NWKqY9YsjFvSiKb7dgM8gRL3bPaQ0aHRNLj7AU7NsHH Q7/3TM/T/dZeKiszIFneEFcH/WYqdxux8mhQZTThcB6gCGSxnp+NiqwdsOIZUNOvVhVJ IionNj5L9YPHZ4wyXSJDI1ldXbRQhmRuuQGHaAc3nl0ZL02UbcFKbl3ul9NGJgCtVuE0 3QAQ== X-Forwarded-Encrypted: i=1; AHgh+RqAUyTRiks5TsBIoUhTRVLTYuFZ/llimeij8J2t0iJ6GEmw93P6d1bTc8RAXr0RI/iyR0KvqhClOVniY9s=@vger.kernel.org X-Gm-Message-State: AOJu0YwPb0OVn6EMUwBkLV7NoPe3EIwnPIoyiupzr/s5OrvKauSG0JMN 1CR/BZ/eNf3Ifcizp+Xl04cVIuROYjwIyVDPQI64BK4T1oj7tbMc6GeDA7sPlslKx4uEydyz5wg x2Vy+rxEQgFIThyreMlWbZKfAG5cRtHsoqbbhAeBbTz8/ARCLG8iJvQCMlSK2EG8qZ9s= X-Gm-Gg: AfdE7cnV+XiLtgi4cDwFJZYdHEJBOP4Gr19ZZ8RSyq0VjK6NRH9tUmAKyeW70eLEUrO vT0sh+DYCXxQwPPAP9Mq0Vk4/dKvkj2Gs6AjxUspCrxYM4W402R+33om6WCzIXPQc8mmcf87I34 06yQKAUAz6mQow5rcqhdZfVMhuvMCNMStAtyaWYHV1e9V81NiA8wDSgnzZ4I8kHyhjRMnVHUY25 jkNaSY8eztvYbC+2e+9yC0nL4C4aqFaiVQbWsTKPEP5pkRPdgFFDjVUPluiAjL4IJAf1YepPlcu vow7ZoclVrBJBVOPoyCK6K7ASS6Zv04MOvD9Gqj0GbB+FAIKrVoStgXZZD7EUwrhSgKXCim/mcy DiuRxlT0ml36Rp/Jl2feZVcH2Kf2jUBcp8ntqmcTyrllbKLLnPnwouZosvvxCAEKCKFb2RfS/Kn U+9mLi+vuto55lbcxKeQFF+EKDy3fxcvWy5BfqBa+dnAy4mQxHEH4= X-Received: by 2002:a05:622a:4ccf:b0:516:e0eb:d7d with SMTP id d75a77b69052e-5213c2028b8mr182201001cf.27.1784640073351; Tue, 21 Jul 2026 06:21:13 -0700 (PDT) X-Received: by 2002:a05:622a:4ccf:b0:516:e0eb:d7d with SMTP id d75a77b69052e-5213c2028b8mr182200281cf.27.1784640072594; Tue, 21 Jul 2026 06:21:12 -0700 (PDT) Received: from QCOM-eG0v1AUPpu.na.qualcomm.com ([2a01:e0a:830:450:751c:d61c:c91:60dd]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c1712a5f8c5sm598326066b.34.2026.07.21.06.21.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 06:21:11 -0700 (PDT) From: Loic Poulain Date: Tue, 21 Jul 2026 15:21:08 +0200 Subject: [PATCH v2 1/4] media: qcom: camss: Add PM clock support and integrate with runtime PM 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: <20260721-camss-version-v2-1-b2440d99085a@oss.qualcomm.com> References: <20260721-camss-version-v2-0-b2440d99085a@oss.qualcomm.com> In-Reply-To: <20260721-camss-version-v2-0-b2440d99085a@oss.qualcomm.com> To: Bryan O'Donoghue , Vladimir Zapolskiy , Mauro Carvalho Chehab Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Loic Poulain X-Mailer: b4 0.14.2 X-Proofpoint-GUID: JVED6Ke3PiGmeoHa4vJGz-_PEAVEodjt X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIxMDE0MSBTYWx0ZWRfX47sKwTdCxTDh rejRb2sLCECm0qmr0Y0pWbqjRq6kE0r+VoeyNrmY1AaWb3PhLZ8qLNBmumseT6/3v3ek39KzEDE 76vQSwHBIhyWUHNwsZwKxBw7DeHw4DM= X-Authority-Analysis: v=2.4 cv=ZJjnX37b c=1 sm=1 tr=0 ts=6a5f724a cx=c_pps a=wEM5vcRIz55oU/E2lInRtA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=EUspDBNiAAAA:8 a=BAJ2-saCjKdBVCgQpPYA:9 a=QEXdDO2ut3YA:10 a=OIgjcC2v60KrkQgK7BGD:22 X-Proofpoint-ORIG-GUID: JVED6Ke3PiGmeoHa4vJGz-_PEAVEodjt X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIxMDE0MSBTYWx0ZWRfX9bRKweOUxO2+ ggpwaUnPZBGNkDS6s92sYc6wcZZMQRBjSFuwmc29lS81WhKwmr4La2ciim9JcMxC62TdmDpwYRw h1AuQVfabZqkgCyhG3RGA/gUAabCrqPUsayt7xTPIqN6zktLbE1gtbp0r2x5GGmNldLc57al/6J Ry14XtRO8tdwjcKSAHk9RumUwLvu3I8oN2R6dq4+elqCEYKGIVpJ8LkFOc69arxPHbYcN4fvpdL MqdFF1fiHnWF81MhDsgwl4SZMmQMqg8jpz7+SLlcw5tMXbNs/I6MzxM9TlkNrFNSNl3QQMU0ccc WrLKbVWFrk4olo6xmrDhTEIjldZjC6ixuxkeFBYtdaaTXOiefyqSYxluEw3+Lk2prOHAHLZIT5m wvEYgpW3r7InCirGdWUjnn3riZJiD+wBNMoisOOfa7PFUODJkbJk006ISQ3iB5bRfLmshBYPquG 7l6qK8h36+wDg6lNxcQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-21_01,2026-07-20_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 phishscore=0 priorityscore=1501 suspectscore=0 impostorscore=0 malwarescore=0 spamscore=0 lowpriorityscore=0 adultscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607210141 Add optional PM clock support to the CAMSS driver using the PM clock framework. This allows CAMSS clocks to be registered once and automatically managed during runtime suspend and resume. This is especially useful for global CAMSS clocks that are shared across multiple CAMSS subblocks. This avoids the need for each subblock to reference and manage the shared clocks individually. A typical example is the set of clocks in the top_group, which may be used by CSID, PHY, CCI, and other CAMSS blocks. Introduce a small PM clock descriptor table in the CAMSS resources structure to describe clocks and their optional rates. Initialize these clocks at probe time and delegate clock ownership to the PM core. Hook PM clock handling into the runtime PM callbacks to ensure clocks are properly suspended and resumed alongside power domains and ICC paths. Signed-off-by: Loic Poulain Reviewed-by: Bryan O'Donoghue Reviewed-by: Frank Li --- drivers/media/platform/qcom/camss/camss.c | 42 +++++++++++++++++++++++++++= +++- drivers/media/platform/qcom/camss/camss.h | 1 + 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/plat= form/qcom/camss/camss.c index 2123f6388e3d7eafe669efd6b033e22d8eb5cf79..01a9d4f780fbe130554601481be= d50eac5978bed 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include =20 @@ -5346,6 +5347,37 @@ static void camss_genpd_cleanup(struct camss *camss) dev_pm_domain_detach(camss->genpd, true); } =20 +/* + * camss_init_pm_clks - register shared CAMSS clocks with the PM clock fra= mework + * + * Clocks listed in res->pm_clks are shared across all CAMSS sub-devices (= e.g. + * top_ahb, axi). They are managed automatically by the PM framework. + */ +static int camss_init_pm_clks(struct camss *camss) +{ + struct device *dev =3D camss->dev; + unsigned int i; + int ret; + + if (!camss->res->pm_clks[0]) + return 0; + + ret =3D devm_pm_clk_create(dev); + if (ret) + return ret; + + for (i =3D 0; i < CAMSS_RES_MAX && camss->res->pm_clks[i]; i++) { + ret =3D pm_clk_add(dev, camss->res->pm_clks[i]); + if (ret) { + dev_err(dev, "failed to add pm_clk %s: %d\n", + camss->res->pm_clks[i], ret); + return ret; + } + } + + return 0; +} + /* * camss_probe - Probe CAMSS platform device * @pdev: Pointer to CAMSS platform device @@ -5434,6 +5466,10 @@ static int camss_probe(struct platform_device *pdev) =20 pm_runtime_enable(dev); =20 + ret =3D camss_init_pm_clks(camss); + if (ret) + goto err_v4l2_device_unregister; + ret =3D camss_parse_ports(camss); if (ret < 0) goto err_v4l2_device_unregister; @@ -5775,7 +5811,7 @@ static int __maybe_unused camss_runtime_suspend(struc= t device *dev) return ret; } =20 - return 0; + return pm_clk_suspend(dev); } =20 static int __maybe_unused camss_runtime_resume(struct device *dev) @@ -5785,6 +5821,10 @@ static int __maybe_unused camss_runtime_resume(struc= t device *dev) int i; int ret; =20 + ret =3D pm_clk_resume(dev); + if (ret) + return ret; + for (i =3D 0; i < camss->res->icc_path_num; i++) { ret =3D icc_set_bw(camss->icc_path[i], icc_res[i].icc_bw_tbl.avg, diff --git a/drivers/media/platform/qcom/camss/camss.h b/drivers/media/plat= form/qcom/camss/camss.h index 93d691c8ac63b2a47dbb234856b627d8911a1851..fe5fe25d5f18d8a3ce35b48077a= 975f1453c341f 100644 --- a/drivers/media/platform/qcom/camss/camss.h +++ b/drivers/media/platform/qcom/camss/camss.h @@ -107,6 +107,7 @@ enum icc_count { struct camss_resources { enum camss_version version; const char *pd_name; + const char *pm_clks[CAMSS_RES_MAX]; const struct camss_subdev_resources *csiphy_res; const struct camss_subdev_resources *tpg_res; const struct camss_subdev_resources *csid_res; --=20 2.34.1 From nobody Sat Jul 25 00:56:33 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 82849364053 for ; Tue, 21 Jul 2026 13:21:16 +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=1784640078; cv=none; b=NuqDjYSaGIpHD/c/x3uPfqHQoTZZHNynRvoTNFjPXz+Ia6qCPkyyoaS9C6yawgeFRPbNOA4I+a9YoYNhSNJ998b/fuAr34/8TM4zgbI7sNCPhXQWApWoJKvhqjnsN29xLIUdQxdBQHkja6YaTwsEHWwlZQhPntlcq0s0/WLMnSU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784640078; c=relaxed/simple; bh=0HO97leHp75Uk5lDK7e236r3uBIsuf5TqmqiuNpXoPQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Ce86ah1CNlusqZDDFi/UFkYdqzR2m/wGHEn4xHU9EQ92e9HX3Qevvp4ahPVCX6HSXuL9rtUo9hPRmb1HF0PMAWJQjmwNsiNUE5SCD82r7FZjBeuVcX9yfj7WGLY1N6ZDbQxqMSqn1dziNffRIgbapCfLVueN9R4MbpPYfUOUAxE= 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=E6Kn+zQe; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=MBJ7GrEb; 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="E6Kn+zQe"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="MBJ7GrEb" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66LAR8Iq1134525 for ; Tue, 21 Jul 2026 13:21:16 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= En8rHhEFa2AQPtYmloWakD56oM4Ac1MosqTfK028sLE=; b=E6Kn+zQew6xbmfVS dnmqx3lXbUHKIamYHIqpOEaBzvTQKXd6YusVtQT0PFSNOW8twJ1lE3rW78t8VZ6A j4kbOsLqLpwwBPlTDJ+Kh/BkOQSRBEzM6baYa+oWh4nIb5Wugr4hnROdiO9P2SMc KERCBtmjJ1YthzP0ydGw1lJsISOsYIQpiHqimN2AVeNsUm6j8U7Qpw/0rxmnx7fc tVT9Fk0Pmj4OW5j7q1s23S0fz7U/obEh9OnnayyFDMo8KQGKXbFuMte7HOUQ84YH iauaKkWNGmXKJHLBIkgV53NFuL/e3hSvW77219VT7ts4sXHmYjEEaSjCvK2w/kej tWfQRQ== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fj0as2xcb-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 21 Jul 2026 13:21:15 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c075c1e25so161565621cf.3 for ; Tue, 21 Jul 2026 06:21:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784640075; x=1785244875; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=En8rHhEFa2AQPtYmloWakD56oM4Ac1MosqTfK028sLE=; b=MBJ7GrEbXWK1WZslDhM/6B4w9h7HUziYhvp/xELYQpt5LSyO2BBjLQ0O2+x1W9wDXA UP8FAM/yRAvqXOvjXxvf7CFuy2YXcB7tm793Ti/S7JQ+BBfEE8H7PLFlglVHCEFhnFAZ tja5q2T2C9nae3ACrUpoiPFbmKefjGTNysR4rUjosCI8uWYZvP9N1IBNRA2JIus0u8o5 PaNQKXy+WOUwFlrIHwJhuXJqnsW+tdjtPRKWfptNY6WdydVBzZpLHU7ilgzVru5Xxof5 5zZ51r92B1xdIwwHzuqosi4Qvoi118L/HFBz9/EazpswfOMrkSko1DnbIg6TBCTl8OaK ojmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784640075; x=1785244875; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=En8rHhEFa2AQPtYmloWakD56oM4Ac1MosqTfK028sLE=; b=XsOaPA7NWFaQDZ+k4s9MgYM3k/T1HTSHLm0TnpSa6NSipFzg6Y9DZwbKWuBr9alNvj aFPLUHbNaVV4e7gvdhioiJY5yUg1EL5x4jd1mDCqzUfTppahhv25x0Ao6B+CmJ/Icexl WiPxw5ZuvkzmMQM5TM2l+d9O4wuEgCFpcx0k/RNLx2k7GXcstE8oRFonhbHu0KRoFhlf vGHbbN8Mu07gq+lMWZP0a+eEfX4DVQZ4qsmf0JzXXMtSmCiFgR/gXKUtqXti6F3gpjP0 Rb2M2IFWThUbfH7voFXO9MYZaD5swUoxygutjjjlXsZpO+AMeBJEzDno7ptA4y9XOAZ2 IJyA== X-Forwarded-Encrypted: i=1; AHgh+RrKJJP2UwZQ63KJyp4kIcu6cPrpbdj8029CQtC/Tonokf51AKDbiAKFuugKPI4BygQTk/2yJN7IKskkrxs=@vger.kernel.org X-Gm-Message-State: AOJu0YxXFPSkJCczHWevIMaRRtBjJ0iwMuVKsgCBFFI6KTjVCzWhFCC5 EtcouDExCLGrimzZxwlXbFUUu8Iw/U1JsufwYRl8dsFJw5u+pESVSdvIEY4jkrDJ3gG6AEGJHg4 T55/fXqYuNfcNpsT+GtSIMVx/dqjxL6yOHLJ2GvQQJ061sJ4rtEIymFvwd6OVeE4VUs8= X-Gm-Gg: AfdE7cnVpPVpqfaetvqT+6Cq4EoUHDOlk9khPQ3mg4MUaDNvHggjvk6qavW9IUCtcQm ec7z+uEBibM6CHEL6yF2UmLbZRAgoCIVigwAf+ZTYoRsSNxvx6PY3G+Iyo20Vo0PMNC8sDrt+w7 Vb4QY5+iMxx/oo7PIfj3U3JQWX19RxWoTeHJ25gcCRjA6idrZwS4dJR1KlZA6bB8lrvkPeTaO7R h+ciIFhTy5gr0z0Ml74Taxh7SD0IXpdhqZVmjRWzJvE09ledxs+rNVCeATfDEXxERj138iaWQ+b inUeZM6wFmipEHpknfB0ippDZK0CZl6gmYDOoIt1WVZALlSoD+/eLlDPwP8y2iXiM/8HdkefX1S gMKSg5VxN8BSEUcYJH8BgaxAzwqidcB7rZh3+L6sUJa9EsQMoBn7vGk8jfwWmHWON2m9VaJ0Y20 wN1QYJy/rMEypELwdh01NHeo8nwe2WY9vrWj/YdjSj1zGkozSSRmY= X-Received: by 2002:a05:622a:aa83:20b0:526:f9e1:9e4a with SMTP id d75a77b69052e-526f9e1a225mr8883881cf.48.1784640074792; Tue, 21 Jul 2026 06:21:14 -0700 (PDT) X-Received: by 2002:a05:622a:aa83:20b0:526:f9e1:9e4a with SMTP id d75a77b69052e-526f9e1a225mr8883681cf.48.1784640074384; Tue, 21 Jul 2026 06:21:14 -0700 (PDT) Received: from QCOM-eG0v1AUPpu.na.qualcomm.com ([2a01:e0a:830:450:751c:d61c:c91:60dd]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c1712a5f8c5sm598326066b.34.2026.07.21.06.21.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 06:21:13 -0700 (PDT) From: Loic Poulain Date: Tue, 21 Jul 2026 15:21:09 +0200 Subject: [PATCH v2 2/4] media: qcom: camss: Add PM clock definitions for QCM2290 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: <20260721-camss-version-v2-2-b2440d99085a@oss.qualcomm.com> References: <20260721-camss-version-v2-0-b2440d99085a@oss.qualcomm.com> In-Reply-To: <20260721-camss-version-v2-0-b2440d99085a@oss.qualcomm.com> To: Bryan O'Donoghue , Vladimir Zapolskiy , Mauro Carvalho Chehab Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Loic Poulain X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIxMDE0MSBTYWx0ZWRfX3wM/s2yRfkiK OcltyHEZFkqaPsV+Qht4UXqE9xvFYRvESCQwGbgAfZlYVDFQstT4lFxABIqcOWYpPpioW6b6+I6 2F2cQZcBWd0k6K7g+x7V7Z+SIsAn949ORp45nNJ6RwvIdBxd0Z3dT2QJPBGYNmDakbALRIMtkDZ B68OoxD/iNtyrPo7mFr8QPDVELbB5AwytyG8DMgowWEFLC57nxuWvRYpxHXbpF1n8MGekndrYGw 1D/X3usK/1aatXjTqfTThmRbBK9Vp9dhxG7he+KDjLzPubE9qHBkLddrwuMdreH5oRwjVoKdKM4 YWa5qf8Y+dFwLpOVjcP6ZKgqtk/YnInAwVhxUV4zbIAMwm8afwf7aHc1nY/bPX5JQE8wk6unMdC RiIvTyKYpb9wOW47rnUAJHxdr5yTSQK59JKwb7jqXT2tdWM5s1AIkF3C+lA0viPpmjUD0J80bWX 1Z99TpZbBymtrt5O5cg== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIxMDE0MSBTYWx0ZWRfX4kcH5CB+N6pK 1DSiAnU2kaelfH9oPGq/X9OHpAu52o/Kx/kSqcnsz8MiJ2uaGsweMFe79l5CTMPWx8xDcSygXpJ tBpv6WzID6QWudEbegFipuu9HK3/j1E= X-Authority-Analysis: v=2.4 cv=DoFmPm/+ c=1 sm=1 tr=0 ts=6a5f724b cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=6k50daf3fveMbYCwvhsA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: fiZchY4mTpJyiUnHMdqR2U4JiYARGc8W X-Proofpoint-ORIG-GUID: fiZchY4mTpJyiUnHMdqR2U4JiYARGc8W X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-21_01,2026-07-20_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 malwarescore=0 lowpriorityscore=0 clxscore=1015 phishscore=0 suspectscore=0 impostorscore=0 bulkscore=0 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607210141 Provide the required CAMSS PM clock descriptors for the QCM2290 platform. Register the top_ahb, ahb and axi clocks so they can be managed automatically through the PM clock framework (they are part of the camss-top group). Reviewed-by: Bryan O'Donoghue Signed-off-by: Loic Poulain Reviewed-by: Frank Li --- drivers/media/platform/qcom/camss/camss.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/plat= form/qcom/camss/camss.c index 01a9d4f780fbe130554601481bed50eac5978bed..a87161f3d5524a6e40a7281e287= 87538613dd9cd 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -5591,6 +5591,7 @@ static const struct camss_resources msm8996_resources= =3D { =20 static const struct camss_resources qcm2290_resources =3D { .version =3D CAMSS_2290, + .pm_clks =3D { "top_ahb", "ahb", "axi" }, .csiphy_res =3D csiphy_res_2290, .csid_res =3D csid_res_2290, .vfe_res =3D vfe_res_2290, --=20 2.34.1 From nobody Sat Jul 25 00:56:33 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 B8F853655F1 for ; Tue, 21 Jul 2026 13:21:18 +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=1784640080; cv=none; b=nwu+1SJ5XsRMWGjTaKCHc4zG/kGnNQsoEEyniFUNoOetunGlZ2IJvbXNbRVOwveOpufJZBtW5AOfA3/Egv0Fc1P5PUrfFMeG0tYiTOXPZBd6PjSDEKc7G/5l+r+aJnzHRxTJR7O0gsz4IvHkAYO1JWL6iPtAZklYZnU2Qng0NLA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784640080; c=relaxed/simple; bh=zZ37TWSmwG1/lzRCMjeybh+YUmab0aHUrm4xknMXWtk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bW79RLlzyEBkkO3VyHGbXDLSNYZyXhbgcUZy5gGXLbHNbP+2hmhyC2z7dI8mtI3YQnLX4N73A0Tq8ZuAMPSzmLBaUHEggrptmSsZCvqZB+4hpgvfFkzGHwnp23ogcEnyI4NZ5wGVwucjB+YIbD43PTK0uTTFfPorvCO0M28O84w= 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=SJBOX36u; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=hRtYkz78; 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="SJBOX36u"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="hRtYkz78" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66LARLAW1134799 for ; Tue, 21 Jul 2026 13:21:18 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= pzm0TOt37Nn9UAlWvpmSRCC3YSQDv8P/PcvNVlb0Ee4=; b=SJBOX36unOsx2TQT Ephsjf+VP0JrrtPwpl2AUHQ5P1QHNnIx1stDh60m6Vymayp7B7NKU/Hs1X0qpfIG NlKa1rGeUqmKmwiuwefVo+wgvGC79aACy5wATvI7rwta151WkRQV70z9Mb/XHqXh hi3XnqJTUSz4fWr+ki0T/tnt8Tve+rKMTlrquR8tKTXOplYMNI08AjWNiyEMmzct AdKveLMRx37iYYRI4c5+dHrD+WKaMMObVsShHNjkcMUf85h+CZpKfcc+W5rYuUzH hfhTMYGchJdLRz4/vhg5Xu3QMb216eiL6U5c6sPBveFqLz2Anaji6IJwE6Mk6LUO VYsjhA== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fj0as2xch-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 21 Jul 2026 13:21:17 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c20762d21so109638581cf.0 for ; Tue, 21 Jul 2026 06:21:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784640077; x=1785244877; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=pzm0TOt37Nn9UAlWvpmSRCC3YSQDv8P/PcvNVlb0Ee4=; b=hRtYkz788qfZDuM8DyUllJ9bP/QQUEnUF3maauAObYIWxpBgaMTQPIjLwq00xfP8NH nFSJx3qux2v8rofNlnvGQ9nBerlWNPvCtZj+8SpBOtCGRBM5DHm+V0XAN2wY0OS87mD4 FGX6aR+BwAuI4A8vVWjx/HPxzbZANrbUpsgN596v5MOn9YRI7n/clykXOyjjRNk6elCb qDKkIAuaPlpsR8iDMACjA5I5fblCS13l4XYizh6uGByWgInCpPlvalMx/t8NM3sxu/U4 MBs7Tm6cTLB27t8P/xCHvHiYzQquGe3L4TAZWu25lrBO4dmDnbGWatdaLzx+6Mm4sLVu Xsog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784640077; x=1785244877; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=pzm0TOt37Nn9UAlWvpmSRCC3YSQDv8P/PcvNVlb0Ee4=; b=od5PlIdsd6NSmZB4It5xqM9wUNqvRd537ybC96sJ2KY0Z17PRrK6FNlQmzeBFYaMRJ lgGy7jR3M2fJTudufCG9OBnboVa4g+m+6n1UhcPfhaLYQ4SHPBPcHW+wcYahc9WTa0uJ DCtxhEA2NHHzS10JBYY6S6YCv8fMTqx39QDSeE0YiByJ0QnScuD6a7YlrQx8n0b8AsFC rGC3tx0sTEfRmqg4gSJBUKe9o+re8Ur6RY6AAnQKR6ObSRuaqQOD1TBXoXPyD17WdyMu I4bLpju9q0ZuzyE1vKmwuoCoC4SNg1tQ5BWpVLeOOT6RfuCBv7mECllOzIEkma4lAYil x39A== X-Forwarded-Encrypted: i=1; AHgh+RoTegtwg+lbGffB7MTGWjs5wV/tXmCXaD53hoP5Afq3YWIP05+xvtd4jZxEgK0QkMv5A5QJysDqkU/qc/0=@vger.kernel.org X-Gm-Message-State: AOJu0YyZ/wt7xNCeIBafRtdWUU1WrOCpwjiabqHYEPYEcnLcBBAvPB/c vQybWMdg3gtrq/xHN4itRHLSasVkf+RJEwq85pL6GHXvX7wBObwvPGhTarwpxK3G7aP7nCKvHDU A2E9dIpaGC+2TclsnjYJhYn7pka4V0/4fzbBXVK0cA4ucL0n+6v8fmJrI58ZHU/zp1lg= X-Gm-Gg: AfdE7clbrp8VFMjVxzK9Esz+48HN4rOwUKnVrEGLBbEHuvRBAM+RWt1r5QsClpFNylL /RL58ngGsPmrm7T4p2jXwyZOJ1bIIrcUlpEXpPE1pqp57MOLqq+zT96shziJf5rjFzgurYmQBHj AC6Ml3HvDt4NGRMrZig92NnCibnprRbnxd2oRXpQinjaRkYer+HZRjowQUAUyMTGv6AA1NAKBkB L5Ag0YJDFbmgRSSD/exdfi9TCSZHz4PWlfKNQDDTd2YGVdijEuqr+l7nBi4ZxZRmg6wPu5L7rLM q9bLbbKPxeaIX+38QLZwCxJy9oaPCov9vLQRdOIwRfdKWWiaZxe7IcBg9pryobGNkR9vAasbnfg nNT/sUu+THgGszhIAl+naaCFtMJ/NOj9w0YGRgd4xLpZw7O4IaBLjdCfO34/Ocpwa5MbJl9PXe2 swDQ4etSpsGzRMGE8o5hFdOuz/a2WUiSueEbZympaIbKtshqRy42k= X-Received: by 2002:ac8:59cb:0:b0:51c:12bf:d4a6 with SMTP id d75a77b69052e-5213e48ba27mr170446631cf.48.1784640076541; Tue, 21 Jul 2026 06:21:16 -0700 (PDT) X-Received: by 2002:ac8:59cb:0:b0:51c:12bf:d4a6 with SMTP id d75a77b69052e-5213e48ba27mr170446071cf.48.1784640076018; Tue, 21 Jul 2026 06:21:16 -0700 (PDT) Received: from QCOM-eG0v1AUPpu.na.qualcomm.com ([2a01:e0a:830:450:751c:d61c:c91:60dd]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c1712a5f8c5sm598326066b.34.2026.07.21.06.21.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 06:21:15 -0700 (PDT) From: Loic Poulain Date: Tue, 21 Jul 2026 15:21:10 +0200 Subject: [PATCH v2 3/4] media: qcom: camss: Drop top_ahb/ahb/axi from QCM2290 subdevice clocks 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: <20260721-camss-version-v2-3-b2440d99085a@oss.qualcomm.com> References: <20260721-camss-version-v2-0-b2440d99085a@oss.qualcomm.com> In-Reply-To: <20260721-camss-version-v2-0-b2440d99085a@oss.qualcomm.com> To: Bryan O'Donoghue , Vladimir Zapolskiy , Mauro Carvalho Chehab Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Loic Poulain X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIxMDE0MSBTYWx0ZWRfXxfASDBOjs84p dH0XhcvvrBvkkkJC1ETFX0aPypbSbmuiKAly+xyB95Jw2alJ7nhZzb04WyphzumUwYuglv2mv+9 F+9SpIwrmtvEEPRIKYQmMlR4EO6pIHFs0hsJAailgOdInPjR4Mru3VeovEHXx/H1X5d+hdL11Bf a8c810T99MZi+sakMsQVdUtjRR9WqJMlG8LpemnFfqXjBaP2XLirpEzqiVW4Feaa6hWhfK0ltId AeqP1SN4GLscevwj4/5V2hkpmv2b4Fi6QNYtef/tw2sMAaVVCI9EKYQKZ3lN5jbE4NnnIOls3oL 3QslO/NdmLTYwFtmp+MxmoCuKO8sl2dW8Qcfi2K61aEYpxJvFXZas4cq/cxPtvx7k94iH1eDYTS hmMHIaIvUvTpkPQ13DAWBfGOraA2BGtfyhTMW6ZcW3pnfAbuyYpIu6Uq2us6PYl5buyZwyKj4+1 1HKZoJThEh1kDt4Sm6A== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIxMDE0MSBTYWx0ZWRfX7IrpmxTyLrc1 jY+vT6kelMHQP/nxAsK6nWXwJrRjOKnS7uXHlh6QBTzdULM0UjuRqqN9nNK/js4ELduZ6kvPzTQ bG9L+W7zS4gArYveC+U4AunFu8e/wS8= X-Authority-Analysis: v=2.4 cv=DoFmPm/+ c=1 sm=1 tr=0 ts=6a5f724d cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=EUspDBNiAAAA:8 a=jcYsRx50IvbP8YDAZZQA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-GUID: UiEATyex2Xf2LvJkj0IlESk-AEsKicXB X-Proofpoint-ORIG-GUID: UiEATyex2Xf2LvJkj0IlESk-AEsKicXB X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-21_01,2026-07-20_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 malwarescore=0 lowpriorityscore=0 clxscore=1015 phishscore=0 suspectscore=0 impostorscore=0 bulkscore=0 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607210141 Remove the top_ahb, ahb and axi clocks from QCM2290 subdevice clock lists. These clocks are now handled centrally as global CAMSS PM clocks and are automatically enabled when CAMSS is runtime resumed. This avoids redundant clock references in individual subdevices and ensures consistent clock management across the CAMSS pipeline. Signed-off-by: Loic Poulain Reviewed-by: Bryan O'Donoghue Reviewed-by: Frank Li --- drivers/media/platform/qcom/camss/camss.c | 38 ++++++++++-----------------= ---- 1 file changed, 12 insertions(+), 26 deletions(-) diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/plat= form/qcom/camss/camss.c index a87161f3d5524a6e40a7281e28787538613dd9cd..1f691b8940a9b3d8a9c03cb3159= ed711d0d18e77 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -688,10 +688,8 @@ static const struct camss_subdev_resources csiphy_res_= 2290[] =3D { { .supply =3D "vdd-csiphy-1p2", .init_load_uA =3D 26700 }, { .supply =3D "vdd-csiphy-1p8", .init_load_uA =3D 2600 } }, - .clock =3D { "top_ahb", "ahb", "csiphy0", "csiphy0_timer" }, - .clock_rate =3D { { 0 }, - { 0 }, - { 240000000, 341330000, 384000000 }, + .clock =3D { "csiphy0", "csiphy0_timer" }, + .clock_rate =3D { { 240000000, 341330000, 384000000 }, { 100000000, 200000000, 268800000 } }, .reg =3D { "csiphy0" }, .interrupt =3D { "csiphy0" }, @@ -708,10 +706,8 @@ static const struct camss_subdev_resources csiphy_res_= 2290[] =3D { { .supply =3D "vdd-csiphy-1p2", .init_load_uA =3D 26700 }, { .supply =3D "vdd-csiphy-1p8", .init_load_uA =3D 2600 } }, - .clock =3D { "top_ahb", "ahb", "csiphy1", "csiphy1_timer" }, - .clock_rate =3D { { 0 }, - { 0 }, - { 240000000, 341330000, 384000000 }, + .clock =3D { "csiphy1", "csiphy1_timer" }, + .clock_rate =3D { { 240000000, 341330000, 384000000 }, { 100000000, 200000000, 268800000 } }, .reg =3D { "csiphy1" }, .interrupt =3D { "csiphy1" }, @@ -727,10 +723,8 @@ static const struct camss_subdev_resources csid_res_22= 90[] =3D { /* CSID0 */ { .regulators =3D {}, - .clock =3D { "top_ahb", "ahb", "csi0", "vfe0_cphy_rx", "vfe0" }, - .clock_rate =3D { { 0 }, - { 0 }, - { 192000000, 240000000, 384000000, 426400000 }, + .clock =3D { "csi0", "vfe0_cphy_rx", "vfe0" }, + .clock_rate =3D { { 192000000, 240000000, 384000000, 426400000 }, { 0 }, { 0 } }, .reg =3D { "csid0" }, @@ -745,10 +739,8 @@ static const struct camss_subdev_resources csid_res_22= 90[] =3D { /* CSID1 */ { .regulators =3D {}, - .clock =3D { "top_ahb", "ahb", "csi1", "vfe1_cphy_rx", "vfe1" }, - .clock_rate =3D { { 0 }, - { 0 }, - { 192000000, 240000000, 384000000, 426400000 }, + .clock =3D { "csi1", "vfe1_cphy_rx", "vfe1" }, + .clock_rate =3D { { 192000000, 240000000, 384000000, 426400000 }, { 0 }, { 0 } }, .reg =3D { "csid1" }, @@ -765,11 +757,8 @@ static const struct camss_subdev_resources vfe_res_229= 0[] =3D { /* VFE0 */ { .regulators =3D {}, - .clock =3D { "top_ahb", "ahb", "axi", "vfe0", "camnoc_rt_axi", "camnoc_n= rt_axi" }, - .clock_rate =3D { { 0 }, - { 0 }, - { 0 }, - { 19200000, 153600000, 192000000, 256000000, 384000000, 460800000 }, + .clock =3D { "vfe0", "camnoc_rt_axi", "camnoc_nrt_axi" }, + .clock_rate =3D { { 19200000, 153600000, 192000000, 256000000, 384000000= , 460800000 }, { 0 }, { 0 }, }, .reg =3D { "vfe0" }, @@ -785,11 +774,8 @@ static const struct camss_subdev_resources vfe_res_229= 0[] =3D { /* VFE1 */ { .regulators =3D {}, - .clock =3D { "top_ahb", "ahb", "axi", "vfe1", "camnoc_rt_axi", "camnoc_n= rt_axi" }, - .clock_rate =3D { { 0 }, - { 0 }, - { 0 }, - { 19200000, 153600000, 192000000, 256000000, 384000000, 460800000 }, + .clock =3D { "vfe1", "camnoc_rt_axi", "camnoc_nrt_axi" }, + .clock_rate =3D { { 19200000, 153600000, 192000000, 256000000, 384000000= , 460800000 }, { 0 }, { 0 }, }, .reg =3D { "vfe1" }, --=20 2.34.1 From nobody Sat Jul 25 00:56:33 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 7BB593672A1 for ; Tue, 21 Jul 2026 13:21:20 +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=1784640081; cv=none; b=MSJQg0G70BiqV59TOz+zXObqeTCtLSjJsAgVLWPo9pys6QwFJjRidGtXgXBH6SPRIonOzf4ZEozEpdu4C5oAFKC9zIRIwH4rjPwivhsuHYpVWDvf5d2c7u/ynGRgKEU9pWd/6fyF2hDmLtZQkVv19QtcBhfI5GCqXKdgNQBAK1M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784640081; c=relaxed/simple; bh=sBwnRZ82yznopV4VzndCL9r9yoI1AKE/zwXtiHogyAI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Fd1MWZWNS+27RNjbYXbqtsGxlx9d75RfcoCkI8GLktxfWnJVqGxu6dIIzT+uwYxMShVVAt3BD8iMIw7sF4IXUFWgZfGiPZPfQKWeHyG+PBz6g3aWt85Ub5Xcx/ASv7HH1lzTSS6SdqR1hTp9HF5vdWcThvj9uyJF8m0/RXrPEAw= 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=cr6PR9rd; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=NWlo+lFc; 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="cr6PR9rd"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="NWlo+lFc" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66LAQquZ1611726 for ; Tue, 21 Jul 2026 13:21:19 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= Vt0LJ6eALD8ioZ3HxdW86IyRNoctA5vWZjxiC/38dS8=; b=cr6PR9rd+gwEW48H bj/6AZd6sgt58duyvFPxltiBV6DypqIQSaq5yYaOGXtm3hOvXMwKbr9cy/z0v2FK kwORwmZeI02MsAI2p7wa3kbkUO8APq8P6fiSVnX464VefScNI6Bw51l+HI2UAMhk ldbeX3IOckp0Ar2nMeHeYtF+tUHoY+uOApeXYaC5l0ig/OmfaL+465P/e6Unidas lcRqUv/33CKtpO2rFmlYwr7aZ7awUXL9uFOvdqF+cMUK9VkS5CccqoXz5i1RN+Cu Dh7s72aY1TR67SXJoN748LAHQTRfjDzNZFcluJ6PC1rP7CkprUqFd0teIRNxzY7V hI6LBA== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fj6r3gvux-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 21 Jul 2026 13:21:19 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-92e63df032bso932649585a.0 for ; Tue, 21 Jul 2026 06:21:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784640078; x=1785244878; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Vt0LJ6eALD8ioZ3HxdW86IyRNoctA5vWZjxiC/38dS8=; b=NWlo+lFcSvPSi4EYQtxbC4qir5PInAq3/V5Aa47LWGrbLpHVTXiU7OIQHVubumPTOO coiNuTcYWa453pgHKbS9UMMfmbOhOlkwXeqQMkMhXo+XMVe68lS5dKjuxWpXuJtBvZfT gOTyxQWCnT32F2Q31oEqcJVAlbTsbHinRGLTbYNS8E2c/UDS+nW8nA5SzFb2bDj5Zh9/ wAdOhw0oF6dp6KRLauKtH2Y7B3Q4ogd+7+lEobtM4anjtGZfByWFsv7j8tNdzgnK0zMi TZksdlvcEVhO0zMN16h2x0/9V6ZtIG3tQmoy0fAHshHrXr5gI0v9O9MACTdFx7bINnWZ L/UA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784640078; x=1785244878; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Vt0LJ6eALD8ioZ3HxdW86IyRNoctA5vWZjxiC/38dS8=; b=JiE1AYquzg0Fx98JsKozPLkfzlhqJUXC+WTjLStqvE9mI/xpzKSN62/HrgJr9z1aUn rUuLGx+F6g758OrD98QbYQiUy0IBcM4nH8p8LbHDGq+x+w6013BonK6qyAD16GKzoRFX 7dT4eztalj7XSZ3qNK9W+D9jzfthEiU/ExtqX0fNVlkxs2A1ugixPKC7Q9xaZJFdsRLT GnQ0HSE6X+yGUcy2Yt4amjOd+5Tx0ik3PYrD85YqHX/YwCBALByh0uakVtvIrFzWhGwy op+BTnP25SMMIRSeFUKY6Bfa44i6VqQc75SWEHbK4RhQdvc4l7Wku/rwRx0Z9Xh7f9LO VDzw== X-Forwarded-Encrypted: i=1; AHgh+RrXndwVshJulQ4EGQkdB5vilw3a4SbcVB8kIhzIZ7LcS8/gTVs/UnierX+m14tzyGQ+PMDK6gEoAjKTSwI=@vger.kernel.org X-Gm-Message-State: AOJu0YwdsLokF1QBizf7Ix+ZFRfI0oPlusItt4SaYuteywk9i+1g9G34 0Ne0dx0tFJrKnVnBRQOAjes3fX7YUe3ZmBlgQT01Pvis9uAuvbE8pndHdUF1tO5U4d/ViPXgxLW pcqRC5AsLDteUSJNJ7imQGNHCxniWmcEb8HP6EDaiEBuUvHwCUN9+1wSckXlaRLqgcoA= X-Gm-Gg: AfdE7clwxacAyL9OHSfuWL52slG7VckH8woPIss/iYrQ0AE/tfroSm43U243y9FTAkp liA2KLpHiNjdplygIcrhCDkxFAMKOw5h2VoyyZCeJWmSeQGbYZ1z/ZUyFCX0/6jhGp4NsQp9L87 CSmAM8S84YZR/ZWA7pRHRCXBQ2N6XzQrrtv0YXiOMl12bCJGNqBjWuXoL6P5j7sisMo6s3sb+j0 VB4356dBJ2rloDHSX0dsz8UoOvG0xMtjQlCnTZ1b4AflnfQ8t+BaweHu7VqVcwTpZLF0UXO1bgb 5wORdV7toKFNBFtkDiPtsJ+GI6eYkX0UOfrTMK0QtVNKySj8f7XgKQsZR84TFYbGcPxUzZ29oTF +IFz3/mu35EC2yTzy9OQ74mTt+oUUccKPncVVwCue9buc+aPSDFl2spPN9Tx5pdVR8ax6amqIwf DZCjpnLSYDFONPC4AfS+8H6v0H6F0M+7VQtmJixugzzsWb1yMreh0= X-Received: by 2002:a05:622a:5909:b0:516:35fe:5524 with SMTP id d75a77b69052e-51fbeeb3240mr219126931cf.5.1784640078532; Tue, 21 Jul 2026 06:21:18 -0700 (PDT) X-Received: by 2002:a05:622a:5909:b0:516:35fe:5524 with SMTP id d75a77b69052e-51fbeeb3240mr219126241cf.5.1784640077729; Tue, 21 Jul 2026 06:21:17 -0700 (PDT) Received: from QCOM-eG0v1AUPpu.na.qualcomm.com ([2a01:e0a:830:450:751c:d61c:c91:60dd]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c1712a5f8c5sm598326066b.34.2026.07.21.06.21.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 06:21:16 -0700 (PDT) From: Loic Poulain Date: Tue, 21 Jul 2026 15:21:11 +0200 Subject: [PATCH v2 4/4] media: qcom: camss: Report hardware version via media controller 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: <20260721-camss-version-v2-4-b2440d99085a@oss.qualcomm.com> References: <20260721-camss-version-v2-0-b2440d99085a@oss.qualcomm.com> In-Reply-To: <20260721-camss-version-v2-0-b2440d99085a@oss.qualcomm.com> To: Bryan O'Donoghue , Vladimir Zapolskiy , Mauro Carvalho Chehab Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Loic Poulain , Konrad Dybcio X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIxMDE0MSBTYWx0ZWRfX4zCh2ZObiJj4 xY28ZwCMvwxRvAeEvzMNQxoF9K5Lw+DOiu55Bqo90hk1uZxB3YvFpdujhNCFVubG55BSWwzrDaa +nWmFWyU2f4yRSN2a+Gmzg0XUFRxFJU3MChK/y+YiI9tmmiZQuCEN3SghLNU2V82IUiOA7ps7M2 2nqEPMmzBCOx5vJWRxABephKg6Y1TmWNkuRMn2fz6Nt7F8iiw1VJ805To2+UIG2YacfQ3ZIxGI6 jXmCcy9NwDiiJyx6sAV4Rc0oNTld8fTFu7Bz02dGmqlvqBYlYrL1XQwrAr7+oK2mNzRXvukv+D/ BH4Xm9r+35hu9Yv1BgGvobxSguzOq4AFbOm/rqefrWYLEFcK8zGPRnLJeh77vwkn0hQVA+76D74 el0d/2whG4pOTn899hW0h7YLRx6MMmXD7WC1OvzTu0Ona/rhF0QIEWszLF8Z/0Omizp3KqYpuB3 lfvmzl6QBaxDQ0AmcAw== X-Proofpoint-ORIG-GUID: VQdx66hMCDf1R1BXjLHu3XvdgZl1FGkv X-Proofpoint-GUID: VQdx66hMCDf1R1BXjLHu3XvdgZl1FGkv X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIxMDE0MSBTYWx0ZWRfXxBQHo9WN1HEd x5NgDAiLcZBYGkLriusezAhv0Pwgy1oUgqv2ZGRxVp4G3KI+Dmp3xmekjr2Bg/CAqTvh3NptxpY /+DZ3IcybXUHHONWi0F3UIZilPNSm6k= X-Authority-Analysis: v=2.4 cv=SIRykuvH c=1 sm=1 tr=0 ts=6a5f724f cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=_VBxEyf9HguAcaXgWQEA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-21_01,2026-07-20_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 spamscore=0 phishscore=0 clxscore=1015 suspectscore=0 adultscore=0 impostorscore=0 lowpriorityscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607210141 Populate media_dev.hw_revision with the top-level CAMSS hardware version so that user space can query the exact hardware variant through the media controller (e.g. via media-ctl or MEDIA_IOC_DEVICE_INFO). This can help identify the platform variant and adapt behaviour accordingly, for example allowing libcamera to apply quirks or enable features that cannot be discovered through standard V4L2 or media-controller APIs. The version register is exposed by some platforms through the top-level "top" reg region (offset 0). When present, map it and read the version once at probe. This is a no-op on platforms not mapping the region (yet). Reported media info on Agatti/CM2290 (Spectra 520): Media Driver Info: Driver name : qcom-camss Model : Qualcomm Camera Subsystem Bus info : platform:5c11000.camss Hardware revision: 0x00050200 (328192) Reviewed-by: Konrad Dybcio Signed-off-by: Loic Poulain Reviewed-by: Bryan O'Donoghue --- drivers/media/platform/qcom/camss/camss.c | 40 +++++++++++++++++++++++++++= ++++ drivers/media/platform/qcom/camss/camss.h | 1 + 2 files changed, 41 insertions(+) diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/plat= form/qcom/camss/camss.c index 1f691b8940a9b3d8a9c03cb3159ed711d0d18e77..caf11ea21a60b5e10644d3daebb= de7371d549ff5 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -33,6 +33,9 @@ #define CAMSS_CLOCK_MARGIN_NUMERATOR 105 #define CAMSS_CLOCK_MARGIN_DENOMINATOR 100 =20 +/* Top-level CAMSS version register */ +#define CAMSS_HW_VERSION 0x0 + static const struct parent_dev_ops vfe_parent_dev_ops; =20 static const struct camss_subdev_resources csiphy_res_8x16[] =3D { @@ -4677,6 +4680,29 @@ void camss_pm_domain_off(struct camss *camss, int id) } } =20 +static int camss_read_version(struct camss *camss) +{ + u32 hw_version; + int ret; + + if (!camss->top_base || !camss->res->pm_clks[0]) + return 0; + + ret =3D pm_runtime_resume_and_get(camss->dev); + if (ret < 0) + return ret; + + hw_version =3D readl_relaxed(camss->top_base + CAMSS_HW_VERSION); + + pm_runtime_put_sync(camss->dev); + + dev_dbg(camss->dev, "CAMSS HW Version =3D 0x%08x\n", hw_version); + + camss->media_dev.hw_revision =3D hw_version; + + return 0; +} + static int vfe_parent_dev_ops_get(struct camss *camss, int id) { int ret =3D -EINVAL; @@ -4866,6 +4892,16 @@ static int camss_init_subdevices(struct camss *camss) camss->csid_wrapper_base =3D base; } =20 + /* Optional top register for hardware version info */ + if (platform_get_resource_byname(pdev, IORESOURCE_MEM, "top")) { + void __iomem *base; + + base =3D devm_platform_ioremap_resource_byname(pdev, "top"); + if (IS_ERR(base)) + return PTR_ERR(base); + camss->top_base =3D base; + } + for (i =3D 0; i < camss->res->csid_num; i++) { ret =3D msm_csid_subdev_init(camss, &camss->csid[i], &res->csid_res[i], i); @@ -5456,6 +5492,10 @@ static int camss_probe(struct platform_device *pdev) if (ret) goto err_v4l2_device_unregister; =20 + ret =3D camss_read_version(camss); + if (ret) + goto err_v4l2_device_unregister; + ret =3D camss_parse_ports(camss); if (ret < 0) goto err_v4l2_device_unregister; diff --git a/drivers/media/platform/qcom/camss/camss.h b/drivers/media/plat= form/qcom/camss/camss.h index fe5fe25d5f18d8a3ce35b48077a975f1453c341f..cce79e56f58c8bdc0097f4a1702= df22c4248f2fa 100644 --- a/drivers/media/platform/qcom/camss/camss.h +++ b/drivers/media/platform/qcom/camss/camss.h @@ -133,6 +133,7 @@ struct camss { struct ispif_device *ispif; struct vfe_device *vfe; void __iomem *csid_wrapper_base; + void __iomem *top_base; atomic_t ref_count; int genpd_num; struct device *genpd; --=20 2.34.1