From nobody Sat Jul 25 04:54:07 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 EF543429CCC for ; Fri, 17 Jul 2026 14:20:27 +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=1784298030; cv=none; b=e5NBmjhKdi5PtOMLWMken7GbR/ZhO9gPzxJoO9PrLmw+iujWucdpSfiA8XzgwfIllJY7n1FQHhdPnhgOhoUUNwnz9YcCZix+RC4hWs1fjbPT8lnpDpy0pLUrJkL+sjgNzpQg9B2GRM5MUpXPZSaNLb6dLwOwAHnTkDSrBFKiP0U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784298030; c=relaxed/simple; bh=7LLEImUmKPo7SrHc26UeJn3JRceGlHaMvwT2HiiujVE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pqL0tFPTXSy7RKCcvZugJFiaoJtXgh1Ta/9XKBwnSeAoy4pkEvMWBLZ1OpNhOkaEG2fm1beZGUOvzcoWUf5kLNbDN1fqsJCnS6jy68Rux1OtNHsfDkKW2sQ5J8TjJpDTXvbgR8vLknxo2ZehvTfd2n6TP0bWfiJHPiyrSJ3ivi0= 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=LQqz+zEN; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=h9M651Wf; 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="LQqz+zEN"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="h9M651Wf" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HE7qeL1875184 for ; Fri, 17 Jul 2026 14:20:26 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= c04Q9myq+d/MYa7ft3VRmwYFh54ZKESQ0C1fHms6BKU=; b=LQqz+zEN9Mu0LN6M j+oZ4ymN9I145FJgcg3C9bf44RcQLM1wJuVVvQIVxEAeZqbp5HhUHxgUa4BreMf1 8KaJ06eHycqFNNy/XuHWidbcRAmFGOgnSVcnzk8qpIsydreaw2cpjiX5yEAqmXNJ 1/lRbBGfxx6EawlYsT+YD2NTb6ZhEzFNH+fG2UsUPJglsb0n1pAaCMrVH2T7m07i MVJHYPOsxuQm5KXVRnI1ODym7vR+myB1WYOiQvNLQ/Cb/p/JkTxOt6pOw+1vaqmX Ig2Jff5QYZ0Iux5E6ZTBPTusTJZTPmQ8nssbf/PqnNBJsvsRj7n68qlgFDNzx8+2 I+yyeQ== 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 4fff9p9q2v-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 14:20:26 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-51c1d7886cdso20533481cf.1 for ; Fri, 17 Jul 2026 07:20:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784298026; x=1784902826; 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=c04Q9myq+d/MYa7ft3VRmwYFh54ZKESQ0C1fHms6BKU=; b=h9M651WfVk5wY51ZeNeQFzcQ0JU9D/hZaq4VSD8L8Tu+Yh5YDv1FJMCF/dy3GCaKG7 Ji0gqYPZfD96VE/N0V9eHzdMbleF/KQ+gU5Io0+5NTmvY9WsylJ6GRX0HzU+qb4ehvlp B4HceXVm9RLrfJOv88EwTPC1qeEOX/UEqE9LobLKB4UQZYejZAgcyqOK4lGiDZfS9wGG Kx4TQFbdFEi8t2BgoKQ/mBh+uH1F9dwYJctsC54U+pQ2WM+aPZrJXGE1TkpAM5GS/v+F qtmKVolx9Y/utpzhpEWXrujIgaA0EWCfO64bC7n+XMcNseORl6DXPvWcTYsqwe/5txsx 0asg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784298026; x=1784902826; 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=c04Q9myq+d/MYa7ft3VRmwYFh54ZKESQ0C1fHms6BKU=; b=RBHxvYFSQZoIwEsmv7Q9XoUr6Hl5HIBspYXrw4yxbQcH8A698valBYDBTMGUlZ+VrA d4DJiLbuAUEZUBI9W2lLgr7DDhFv3aWcIl8fYF5de6fh9SBvoL0JQzL1jrqaHvMZiox4 SS4dqiNd92pzG2vOkyVixItDNAUC+QJHYh2OzvLMa7j6rZRdiAUTZXjaTDfiSPAH2Agk nZcZVfu8ISdVoqjNigeAqXdpEiu6lx0DCC7n83MtDuF4lpFblk7l2eRWEMb8VOjmgJK/ y7S8iacArA+4uQzaWV7vo3UiMxlgBdG/EmkVemO4q81Ula44XMdBRk0DLEzq/eJK0NKn 6WhA== X-Forwarded-Encrypted: i=1; AHgh+Rq4hCi7z+rucaF3B28eH+ZZUk9esIJDOIn2x4jxHyU1RYdGYtQuBuxrV/6Jx/VBbAA85ryhdNWwBKxDxnk=@vger.kernel.org X-Gm-Message-State: AOJu0YwExRzkNL48TgyFYZgXofyC6M87KrxRuD8faWjQDczL/voRNiBn DK2JJW6mCRxg9kYB45gh/rqrhtU09fsdO7P9gcPnDcohPphn7Wbq1fL+pPFsc01SLvIuJPubWaB KYT5uEHq9wukrfN7xuAL3nzvg+XSy5/K5SXtZ0gk8CJieteI/6hXcecMf1pB26jcCfOs= X-Gm-Gg: AfdE7ckSorSuEaSRPVMC1Hi/qFSe/nPSFSLAUcpws3qykQpzjlqqaGR/9pwzt/eZhp4 xrd/LGHUDM6GERIZ8k3GWGWQ1K2vI7pOhw/ppQuSIlAWIwzY61IC23vGHuy+dD0O6gQpeX2HU2p R68/Exy9GjlVYl4TtiPmKe6lvfRkqu4UkO8xwD1qZlV7k8h1iCA++uEXmLUUCJm2eJGrkzEDEyW o1mnGNcQlQeSMEhLZW7qmKBK3oimMTjCjtouNuquWQAwRuE7c7yjwR0Pj6fRibwAVqSQ0qcITpt 9JyUXZUHWbgbP+AUF1hd0WVWcjHcOs1yv0zWV8e+BMFbOvVNiuvJ2JtFvPrBoklXnMRMFbX2pFs QvU6rGnKK3/SZlYqjCr8KhmcpKcz4z8GrBFTwNl6r0RzNBO4TJNYGw69H6N7/z0HFrJF7JlsX+N uZAW+Ubfllg3vMyqtWTVtcsf94BndkGi3ZCHDyKXY9tLOyNzGHIDs= X-Received: by 2002:ac8:5e46:0:b0:51c:217f:518 with SMTP id d75a77b69052e-5213a38435amr27878391cf.6.1784298025811; Fri, 17 Jul 2026 07:20:25 -0700 (PDT) X-Received: by 2002:ac8:5e46:0:b0:51c:217f:518 with SMTP id d75a77b69052e-5213a38435amr27877851cf.6.1784298025251; Fri, 17 Jul 2026 07:20:25 -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-c1740bf91bdsm79085966b.63.2026.07.17.07.20.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 07:20:24 -0700 (PDT) From: Loic Poulain Date: Fri, 17 Jul 2026 16:20:20 +0200 Subject: [PATCH 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: <20260717-camss-version-v1-1-7ed71fea95e8@oss.qualcomm.com> References: <20260717-camss-version-v1-0-7ed71fea95e8@oss.qualcomm.com> In-Reply-To: <20260717-camss-version-v1-0-7ed71fea95e8@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: R2F7h763L-S71l-CAVs_bpCvcQl2fuOd X-Proofpoint-ORIG-GUID: R2F7h763L-S71l-CAVs_bpCvcQl2fuOd X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDE0NiBTYWx0ZWRfX9RBU5mJ4xNr4 EfiQtA9NSk4IDG+lwy9Ex+wqnU7K5lmpzrPuGiOtTmJAGYsxJZs83Sn6xZavbhJwWd6QwpW9OWF Wij2RDqvNVYZl8gObWZ6B4zyCgApganW1ZXvFDeh+Gl9s/rFZ7J9O0Mig3eE9Kje3jAI+jBO37W 87MUREVTCUFKe7hyPtHcom8r4NKKc31KjSEYuM2Qh0XWGo3hgx2j86WSrh0zZjBpt8z+hGXq6Lr m8LFX1lpqpAdJE+qiqyCNYPxzpw3Yk9/hHHiXJkYN8M1z8H/oesBYgawGM9G2KvfA7gBqP8DkG8 aNb1w691uAhHJ/VNDV3QK/+Dzm3+GemM4yghOq3WVo4J3D7KASYwZGae4qLjfZVcN1Nl9S5D19P s1WR6an3a4xTiISKIlV6FV4WEqXjOdexqfSoYkUiKpePzncGi97/3U8ImnHmn/U4lqSEOI4muXC uCp+ZQkGfemxfMqE1Cw== X-Authority-Analysis: v=2.4 cv=TaqmcxQh c=1 sm=1 tr=0 ts=6a5a3a2a cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=BAJ2-saCjKdBVCgQpPYA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDE0NiBTYWx0ZWRfX16/f2E8okk5A ALCsV31ECuVXxl0TyU0nHltd+Ess7xI1ujcIzKdYxoatAv9tpf2pn7W2/XLKPsQiva6C9QlUN3o bkgtH3zRIAeNJxLU1FwHxuoxjhhmEMM= 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-17_04,2026-07-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 impostorscore=0 suspectscore=0 lowpriorityscore=0 phishscore=0 adultscore=0 spamscore=0 bulkscore=0 priorityscore=1501 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170146 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 --- drivers/media/platform/qcom/camss/camss.c | 40 +++++++++++++++++++++++++++= +++- drivers/media/platform/qcom/camss/camss.h | 1 + 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/plat= form/qcom/camss/camss.c index 2123f6388e3d7eafe669efd6b033e22d8eb5cf79..6a2bf3373e8755805c8cd0f8fe5= 037b788d68fa2 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,35 @@ 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_warn(dev, "failed to add pm_clk %s: %d\n", + camss->res->pm_clks[i], ret); + } + + return 0; +} + /* * camss_probe - Probe CAMSS platform device * @pdev: Pointer to CAMSS platform device @@ -5434,6 +5464,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 +5809,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 +5819,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 04:54:07 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 4B0BF429CDD for ; Fri, 17 Jul 2026 14:20:29 +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=1784298032; cv=none; b=Fe21eM8BC/5T7NIlRwql/YQeKpRjlt6qDWyfeOch1ErHzne9GV2DWt9ByNGgZpNTENszbbVNP7FLlkKW4T0prJ+wQxoZu7uWP2wJe925URNvkLvy6llQ9seSIrCilg+FFS/J2yEs4LIT3gNrQ5dzOrvLwuRyEStbd0Lo26SiBGI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784298032; c=relaxed/simple; bh=bFxeOuZY1WENQworymFUFHqlGRpphWDshqbt8T+PX3s=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Tjva4TmN+45DjQQyHB1W7rgYXSzkfFugnEvJV1vXicb22rPknlM+XgkNrFE4GvOs1sQjkrvBFVu4AHhE0QY16+j9BRP75nKA1TY1Bm5NwF/P0efFtkKeE3IxAYRMY0A7eJRBHHL6WoaZngcxX6wH2GKHVYs+7QoL8qV5LVEDbgs= 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=YdHI2Tyy; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Yd0Yf7wU; 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="YdHI2Tyy"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Yd0Yf7wU" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HE8cB02123542 for ; Fri, 17 Jul 2026 14:20:28 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= YI8okjgDhD9LmAlPNFbrElCB0Y8XPnKT+xQyqggq9l4=; b=YdHI2TyyNhCkaBe+ h0yEO/mT6Z1ZG4mnwm6M8HCqRioABwdMxBwLhB0dFeFhqSjEr3tmOscF3yT4Z8/H J6aNMiNhZcYC7NwSkH6bTrPBKXQlW7W/Gu6rfJPATAx7gLK1NNf+SvyWqQGGhMWj 3WwhSWCw8ggZLUMnCo/6PNGXx3ByYrFwS2+NI/Pz4s2mxONk/UiYp1rAl2595chw ZyVnYPa/U2lBXWXbHUtkOnFSWGZxmY5F1LbtdUYBlpT2ZhkgHr2VJ0S/WvGGBzi5 odwtDWURmFSV0ElOC9QBKuuI3KQ7RNm8QZGVmYl+sT61fREtKUwAhJXjZSdpsXBa 92sQZg== 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 4ffe0ut2mp-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 14:20:27 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c1d137a68so189030691cf.3 for ; Fri, 17 Jul 2026 07:20:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784298027; x=1784902827; 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=YI8okjgDhD9LmAlPNFbrElCB0Y8XPnKT+xQyqggq9l4=; b=Yd0Yf7wU6kTcOEdCHJ7IlcTvfjSAnrb2cv68e4+xbFPiY3PMXRhnlJLbOJT9lwSgLQ oUZMw59f/lw/+kIMv1bB3Hg+2mYM/4n0Kf6ST33t4O0fosUl6cNaaQTVJHv8WLopKV2t qXdTAVaSk4I5WcFio6vxJpPAmkaIT2lnv0y7+pSdwNRXBgCmbm9G67vtKKMReagiJahQ UvOMRbHnjtZYot3Sj0QqRd4kndAe1GtZHb+kHbp3Gu3MxFq9QqTjlpoeYYe6wM9Cx2+5 7vVpzNr+zbURGyohreyn++kDC0sb383/Hmd1BYkahkwdlKMD+63vAnmdfby/pH7om5Gx V6sA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784298027; x=1784902827; 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=YI8okjgDhD9LmAlPNFbrElCB0Y8XPnKT+xQyqggq9l4=; b=T09DyBRu19PaKKNy/PNtVjDNDhaTwJ4zM1HxCqRj6t7jfONKntu6qXVfoX67mEhP6x We9tkLYeliWqDMmjDQAHzEDaNghGlqR/3lgTHc3hm317x1FQ19iczsByQhM3E0zTNHUK IB0yhquYGZKl2jmnuA3No3FeNLI3jusyzxBwq75ZarDGTTmHu84e8pFyBNEhKaaKPql5 efPKRxbn87QE2d2Z650tw78Tj2FWevv/AGxZ/Jk+2UscdIikjRN0k1758lwq9B76jAsl HMbEuWCpEM8i9cgdDWd6BM7XNBghXMovGnbprD48/J/3n4oUG4bORcHgpm9IDI+xKkYo fvSg== X-Forwarded-Encrypted: i=1; AHgh+RrMlMgRK6KgHNW2GjZO7mND4ETMiz6N/swtYa9YuFxT7Hl9v+hf6fzGlalJ0D2AhCAhBccIHgMiqP7A9BQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yy/RCikaXCaBi4005cFSfm/meLXYR/6maBlepZ0pUMhDKRj5tem oHclbLZDdpiXImvk2tvv5/+6Xj6few3rnxtn0SAuXKLtkKyEe05xIrx4bF4aKlDSmgSQKaao1cs pqAE2PZgYBG4Ly02R7pRpPT8wWmrbCVdwgFWfJX7Z+7KOiGG1RJMQ8lPvnKBdy5aX7OE= X-Gm-Gg: AfdE7cmImlaDH8dC6WDizmy1Cwg6F47KpDw/cmf9zPoYGZ8a3xVZULQ7ESUtyMn8nG9 0/XqlbRo5EBrDb9MpWxFhnRZjm1kwNgDOhCA0UGk/mMCniLtZ1/UgMJTlRGNO0XSFHcVF96vKXD 2wHdNJ+bKfUEGDjUsfc/XG4Axgr5ShlNJYmb7jl5bYxfpktG1sbvXhXXReefBuPT9ukLkbZYfA6 yvnippf5/vEMN2gJm8LcsV62IeGbhIQO8OdGQh0b6CPh9T/D4/lPLb+n/zQZPCzGdBwaITutb7h hIsMx98Uv7j/CAwGzQm7Ksna4KHjpZ3nOEPxb2CaDtG4lBUc0jENLfOsAPxehX+/QfrAUXsJM4m 66MwovHP2e+vfLCJpvxeZbLSQj3iHhuwUFjmK963ljkZBSsZCMxIobDCIJmlxqIx1RcS5hNin5S wSTgeKwneN8sL+KGNaAxSZI+bL/3qO+KA0YXBT3ygcU3dF/ZrH/FQ= X-Received: by 2002:a05:622a:87:b0:51c:7b11:41a7 with SMTP id d75a77b69052e-5213f959efcmr24739701cf.84.1784298027297; Fri, 17 Jul 2026 07:20:27 -0700 (PDT) X-Received: by 2002:a05:622a:87:b0:51c:7b11:41a7 with SMTP id d75a77b69052e-5213f959efcmr24739221cf.84.1784298026803; Fri, 17 Jul 2026 07:20:26 -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-c1740bf91bdsm79085966b.63.2026.07.17.07.20.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 07:20:25 -0700 (PDT) From: Loic Poulain Date: Fri, 17 Jul 2026 16:20:21 +0200 Subject: [PATCH 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: <20260717-camss-version-v1-2-7ed71fea95e8@oss.qualcomm.com> References: <20260717-camss-version-v1-0-7ed71fea95e8@oss.qualcomm.com> In-Reply-To: <20260717-camss-version-v1-0-7ed71fea95e8@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-Authority-Analysis: v=2.4 cv=deWwG3Xe c=1 sm=1 tr=0 ts=6a5a3a2c 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=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=gZ4aIBoJpEVIEF-KsNAA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDE0NiBTYWx0ZWRfX44akb04XkAKQ d68bicKFAQlDDEAqyW3jPjMC0TTEZfJS2XHUHsKayEqVwi/LJw0ZMufbdTj21YxDRoEjJ2l29A2 Cuie3ykCJSQ9XR38p/pJF9pIXY6nSaPCV1Vv3iZ2QNcVPrpTn4KdR4auwH4tGySFDHfAsGzLlBK o7G8zcbcSpqqY/vkQep5Ul3OQeAF3J9CK76cvvltPPcFv5Zbo366K/ZdyPl1AShM0gnLVUAKRQg wVKcvo3WsDio8j6RpYDf5JrJ13QU2vmXFPqSs7+UsLaxAfQGzTEIMqGZfAkyhiU0BZSYcO/XJ0z WMI6Fr2G29gcO8ZV0uloI6HKlRwi23CTpaMyoOg9oU0YXGodToeU9u1nSvvJaQvJYnriqnUCXzh BHiOo/zOnQZL5IhcRUWeHDYA/C9Ar4B9Ilc/4MuYKHFu0yiMPJRTEJfyd1XN9s8ifZ9mVfRW6sf 3CbZ64FhlOxkDArUCBA== X-Proofpoint-ORIG-GUID: 0PTPHqJlZTjgSIzj-wPlVHMSWLFmjyQt X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDE0NiBTYWx0ZWRfX33Ih5GiC69Oy 1TCjOuMwz86nwzWxjjCva7aPOdtpjSj0D6+RtmnXYjcE/lq6xF+KoizDi372gxNaI4mpUCa0BDh IxyAIxAE2ASAn68Yigvj8RyygSDKkW8= X-Proofpoint-GUID: 0PTPHqJlZTjgSIzj-wPlVHMSWLFmjyQt 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-17_04,2026-07-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 spamscore=0 bulkscore=0 priorityscore=1501 malwarescore=0 lowpriorityscore=0 adultscore=0 phishscore=0 impostorscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170146 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). Signed-off-by: Loic Poulain Reviewed-by: Bryan O'Donoghue --- 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 6a2bf3373e8755805c8cd0f8fe5037b788d68fa2..04b5601eb0b53110ce1b9424832= 3dad1c08da9ca 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -5589,6 +5589,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 04:54:07 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 8101C42A144 for ; Fri, 17 Jul 2026 14:20:31 +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=1784298037; cv=none; b=lH8elvv+dF+WLTByEWbD8x4G+FtGy76knSLM6R6GWlb+Ugj0z50kdWk9dWvWwa3+J7M+pu9FVrAfUih1JW0ByQrAGqZegIfS5/qkipoGWbjJlynV36px3yGPA96NHYkQS3lMFNDdZ3jA1I2mvIgZudn/DZz4VNK6Llt3MaoSz+8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784298037; c=relaxed/simple; bh=vggIaXAmA6Yss7kpMdyZh6DKjf4YMAva6nFLoLd4Bvk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CGbD+Y1PJUFmnQavR5QeXW+REKtFu7XxfywkkhxFS8hDyGTwWUvZL4hx6zW24JCu3vB2Wxx7q303QsArigGkihFgUUzfdP71EBT5TP3rYZYK72OMeAe4MbNzGtxIfL4GOWDE+4xyVfPUy5AlK2cGmZwb7s7svdm9vjDBhwlFni8= 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=CX8t7QQF; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=T/RQkfhm; 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="CX8t7QQF"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="T/RQkfhm" 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 66HE87Zq2106536 for ; Fri, 17 Jul 2026 14:20:30 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= edfRtFYLwk8Fu9IUOWe8WQs2lIrGUdbWJQc9Z2N4zog=; b=CX8t7QQFjO9yCB64 8P//mDiFQ6TottsEzHAcld7cEcF8HtYJSZ9Hc8cggJ7o8LWKm+Ml0dISEF7uqGXI qeOL+QHBMuz+UQTE2dG2A6vH+p6BgAiZtAk3sOSL3eJEpQAMaUGQyAxZyAZG+JoR EcPJ794toDlWZP6D2568l7Yh6GlwaWaNHQjwJg/cMoE98gsPyWDc3V8iWu097lCw 27EthXCK97mLOMtIIFdsGw0O/2LuE+vJipWh181tbEmNUDxDA++0pm5YezFrIZK4 C/NzSsXP+Pzhl4pRUHulYkgjUj8c5fKKzlm3rVYA0f4GiHT4FoRX7975vh6JtcXX RkRPEw== 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 4ffhpfh36p-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 14:20:30 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-51c07f25de2so63033101cf.3 for ; Fri, 17 Jul 2026 07:20:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784298029; x=1784902829; 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=edfRtFYLwk8Fu9IUOWe8WQs2lIrGUdbWJQc9Z2N4zog=; b=T/RQkfhmJfsZenRxM06g6shgfuCEuWpy822Eim4I1bOk7Grsjc/OLcMIaA2agHL2Mc rpSLx3wgWz0eKydbWcRb/PVEtHk3fyvNPAy80Hpq+KVvSxPfGz7l8B1opOClBPgqvMVr pYkVVbOI8ydFOxHUWfxUKirhAhJ+QFQfmxG5Pwg/qfQHLbk4df+g+LxYqLSNd1iuasOq euZ0aqMGGb8vgPqOiR/LPq/Uxha44Eu3t6KucZewtstsJbRQHMkednMmf2zlyMsh2glb LV6QvQ7qaFzRhQcKd2XgsH48792p65b+tBQTAqFqNC8VMslzBndgK4sKJsOWsC4dilD2 zHmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784298029; x=1784902829; 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=edfRtFYLwk8Fu9IUOWe8WQs2lIrGUdbWJQc9Z2N4zog=; b=fLPaZArjvUDM5GfrUSSPG1GaPGz+HO0Iy7rB/CgOS9yeqOicqEv3F4w1A3TqU15fVU 97MGUqAhWqjF6hnO3bgka5JJAQRL0wYhj5ktA6CQ5ZHKVclUUKCNMS0STCuGnhLYARVo aelkuK8Wx/9IyC9PK2quFCI8FcT4iKSSlzo5pHoUT65TOjoN6bZ7p/SdJxd/M/2sTA4r FeFCuAbN7S3y9fR+DmCdrkz7N2tH1XFVnuC4jQMKD+tb5lj8JOo6U3B+QhGosStupgc1 9KLSIOrMpA0TzFC8bkG/9y7RonrT+8dFe1I1R+KCnmep3Pq30xHnHttIkHFCXoOZxK4C Glxg== X-Forwarded-Encrypted: i=1; AHgh+Rrg9RIpbrxJxqcP/U4B+8pwOQOx5NsS2x3QpbPtQkKy/wR9SDRWFzUelrOXK2sC7Hwe1qeNFtz5g51To/E=@vger.kernel.org X-Gm-Message-State: AOJu0YxwGrdQ6b9Q7YwPGBSCF8QiYk3Ao/Im+PgvfCa6MrdLYumXHPIe zTargKHMvGRJAs1HCctzvTyxU8dFO+i7u2xHGLrxxnQ7NTry+xNJwHYvzpxyDff+gfrtnh3NFx9 d/DXhl2GySbCtnW6qGk9GALKI4I2iPsab5rYJH80lO2rAreCDy2sJqGDUKwBoagGqkMvDHnz9aE Cmug== X-Gm-Gg: AfdE7ckP/ypaXTiQCHOSwsVedbgGNM1i5lt4BLaCHA8jlWoiYbq4lis33QPjMiRVJgz Y3hnR4P9ofpQw2S1rz1dmHO9OupMFNOxN7A3SLSLbk4ubp3kW2WUH1Hpb0nXAu8pL0sS3HXuL3Z zcEnISxN4QplhdAhPyXq4IYR1vcyeCmFLAorplOZ7d+DGf1miVgpMQ8YnhZ+8wZ9ReyfZpWUWH0 hz1gG30xBPBwtJL6gbFGcHJ4a9r51rgravg1BuIvVM2AS8mv2N8TDqsEv5sFSni3DTzlEayZpgJ bVr+6+//qsOaPiGnaKFnakSq/QOahdQYe3rGYKtcCIl80UEIJ0ignIVQ+z0vQJdgW5KaKvIPUwY ztLrpv0jteSSZdy6BnqMSzpeo+6sr0Ns8IzbNy3QMmyvV9kJdWzw78jG0KOI0JwSvSheX5wtpfA vUExPwAM+CMQBQLcnUsuJxN7lygtReFmWuw9qKghxCi97nYqny/6Q= X-Received: by 2002:a05:622a:154:b0:51a:8c9b:6496 with SMTP id d75a77b69052e-5213d0c181bmr26465051cf.58.1784298029198; Fri, 17 Jul 2026 07:20:29 -0700 (PDT) X-Received: by 2002:a05:622a:154:b0:51a:8c9b:6496 with SMTP id d75a77b69052e-5213d0c181bmr26464401cf.58.1784298028607; Fri, 17 Jul 2026 07:20:28 -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-c1740bf91bdsm79085966b.63.2026.07.17.07.20.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 07:20:27 -0700 (PDT) From: Loic Poulain Date: Fri, 17 Jul 2026 16:20:22 +0200 Subject: [PATCH 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: <20260717-camss-version-v1-3-7ed71fea95e8@oss.qualcomm.com> References: <20260717-camss-version-v1-0-7ed71fea95e8@oss.qualcomm.com> In-Reply-To: <20260717-camss-version-v1-0-7ed71fea95e8@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: AW1haW4tMjYwNzE3MDE0NiBTYWx0ZWRfX6sbMPi9yp9Jd zG5GpFuZHJZgvgxr7qDnk1eJ7QkpVpNQmiyi83Vz4gOsI1i7BDCqX4kTvifu6yueDDCJnYPewl0 JIc0n++hzbTYgQVYspqN19dbai2JV9gLQeuhVqL0c0bZZq2jXHQtkfWANoeF4j5OBcVco2cG4gJ ye1gki7iNLHZpVFGqU6RDgSQNjV6TF7MBq35xFbb1lLux/2PrnoPe1eUvSD0jMrS1EExDVvJXDZ EkaM4i6niCTJI0dLsdPdrLTGScySTRoP6KV9f0sXQSd7PkhlKWU4UTxTulH7HskkrziEkH96M3F 85QII/9es35PSULywZNjcAi813/6v4Bw1SToUJdXlD11NyfKd3eC1LSQ9yRMeKtphOoW9JbzPaL K0DpvaL10PiPj0CZTJFrT95yuLc+LczRIJa740F4m8Os5A0f3JN3m1r8VJLeHpibwucdrSxqey2 EzcNfF5j5zsk5ECPGTw== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDE0NiBTYWx0ZWRfX41E8lOHdtSnD LTRAiSFIrAOHNUsJuMQ516IDJuOnB00H8GnKT39oxghYo/FMV1Uz5+n85OckxdgesThzLctKev/ faYR810YH/+RE/bUdLHZRKhSMpJt0lg= X-Authority-Analysis: v=2.4 cv=YeWNIQRf c=1 sm=1 tr=0 ts=6a5a3a2e cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=jcYsRx50IvbP8YDAZZQA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-GUID: EQ4EK4CIfWseEctIKLpbOuuWx37Uza9W X-Proofpoint-ORIG-GUID: EQ4EK4CIfWseEctIKLpbOuuWx37Uza9W 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-17_04,2026-07-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0 suspectscore=0 priorityscore=1501 clxscore=1015 spamscore=0 lowpriorityscore=0 adultscore=0 phishscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170146 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 --- 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 04b5601eb0b53110ce1b94248323dad1c08da9ca..1e97b0b7ec463f1fa2615704d09= ce465a8964176 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 04:54:07 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 D2CE342A14B for ; Fri, 17 Jul 2026 14:20:32 +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=1784298038; cv=none; b=EBXmV/CkTebGaqGBszx7UckBQ5TKCJtTyI7pzKQEv61m2Rsm0Qkb7pa30cQe+99LLgFUcarX4lJ2fsvQ9BukN1imoMeI0Oyrmx2s5MWid5PBjMnQCvVsz+qcchoxfey0IkGrqxFuqkLFtVzwLuQB9G3j/xw0u2a15tt9Ra24NkY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784298038; c=relaxed/simple; bh=gb4COGp5aKgcSUnq7654arLk2Ih1nEmaKpGQrdvjYOQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=EeGWrnoT1+UHy3lZRKzeUKILR/nqgzCzzUaC/vcoGxZl0hlMjaM9tOHXNeB+Eaq7D729fJJvk6RPhTKgkW5V0d0FNsz0NbweRSM6BwEGayKxiJUuBBl8GJvHOvfmPXB/VDd4J5DSPKyFJNb1/2NgxUpGLGRQJjlVvsi8E7eXDIQ= 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=e7iTRbca; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=RV0C6nJ3; 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="e7iTRbca"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="RV0C6nJ3" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HE7xYh1973939 for ; Fri, 17 Jul 2026 14:20:31 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= zZ2RGRSj9aWPELXvCs6Sbk4RcyjB5HAKGztUWudcD+Y=; b=e7iTRbcaH9HXTwLD hRzvY0sRtaxy6kn5AUAYDkPB28qxq27oZYbhe3vF7AePs+WDfO5zbheS/10U8e/2 kc4bmirHFMb3F6EENU1Z+BfGMTCDT2SAvSm/XHAMX8AYtmOr9wXL76cbPt5DKLYU mdnuLJZLo6FVwqGPUqbJOKcRV3QaWvl2Cu//3aNgxaFeRzLXc2MKCdqnbJIZ6EPX cXNDfWA5RY5p63lMJXpFWN6qtph9CoyAWvFHv0Dt91bhBnXnlji3N+TLDbPHbL3J /JIFfc6El6o1o0sT7nad8wCck+gqBGqpP2SKqApJUvXWAbicW3m2OlifnLOWgqy0 d3KH+g== 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 4ff2f2vk9u-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 14:20:31 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-51bff5c7035so22067981cf.2 for ; Fri, 17 Jul 2026 07:20:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784298031; x=1784902831; 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=zZ2RGRSj9aWPELXvCs6Sbk4RcyjB5HAKGztUWudcD+Y=; b=RV0C6nJ3QPXW0Cc2nv06If2I7cLwxlDVYxY8Ask2Grk1H2b1as0jZWLAEOpDW0whZ+ EttRjXw5HS29+8B7YGKkXoKiDpQFLH7fDGG3tZOsh/Ht7l2wwvFfwlyg9DaeARh+7xc5 kuYOVo0LAO/ZOOZ3PMJfPkg6pmxvGW8m8iq25mWapmPDaPDRBzxwePaoH/e9wGLJkKFz RnLDOzC4+hD1jgAmA7lCsiKzTJPh++EL8gcy7Q3b4Q+TuVnvXDiGgVeIF14xZJECymvx 7xeSJp7VOvqvEL6zDq0VwAGDimpDh2gSxwNv06qAUsBEMGQrRAKjuFFWNKWHWwxbzdrZ wp9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784298031; x=1784902831; 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=zZ2RGRSj9aWPELXvCs6Sbk4RcyjB5HAKGztUWudcD+Y=; b=mb3pyY78jSXLeZO2uZvo9BmvfZLTRfeq60+ilLxDIP1tL3SfbKf+ILtzMuzffn3lKL xUeaJpcVvjAmXPQbx6kQEykMxiWZHf97bVkweBOi4j20QvoncsEybhWThsf1U/mSnWKa WPu7g2ekhsf9rptRy5U0pN1v7DXrR0bGQe9MqA0XlopQAoDG9G/29rpTPG/z6ekf3RgZ NYD73gbYIz47tGIR9xikRhz9/iDL/EciXihf1zVPr4hp4/zDMUCG/X5f9Fn0kjVzF2bf lM3n+Yaxq4Ctq9RQESWOFRKFIFfkP10R1D6/YNWpdwtChTDBlncWzIgAvfmGotNqx01+ 87Sw== X-Forwarded-Encrypted: i=1; AHgh+RowqMy4sBHLZLLpx45X/jK/a7jeQ7Q4g7D/y3/IhA1Y2Fk+2J02OR565MVrQEv3fIs9BveJUlmVGFE+wTE=@vger.kernel.org X-Gm-Message-State: AOJu0YysXjPsL+sZZzU4BJtvLaSqqr4RK4l7y8V9snYkUF4M9Lh6qI0g bBjoQyBCyASJMJDa9zbypa3aOgRS5H4OFw9XmdBqaTMc0uEm7ZISKUVQ6jwLd4j0iRzEkt9EA69 4ScNodXXa5AKN8Q/qBLaT5W/lezLUTM2Z5p0xbcDAP1iurEZw/lb10L/kReTGjyiooF4= X-Gm-Gg: AfdE7ck8tP8ld2xvJM3J3y/HkS/4YGfD4Kl+SRDDR4AacgYP4LPGHCQBEsuiexgMsWH EEfcpOASUbfTAibCjSZnILZfXRhy/i2qqIGQNQX6ssrIE7p4smOgLHopMf1D6I4TYr8+HIcY2w0 G51bWsh6luwd+LzYJntkaf/E/mxQhoJkahbI1653eZUhLjvF+yWX2KEOILvPJ9DdpMrz1WRJ6ek y0c/GPjSoMJMMFk9N1a4DlFEGPTI8tssTHRZUvO5CqHZ9ppx2QxKfDzXwJik3AkyoIA7q/oQ689 5nxkdspeYXe55CwBuwk608r2CKZw9Cbt7rSlwtXZ7eJ7AfZ5QdgDinLrhZWkjWKwOQhuQcVI5F9 bWxugge1TlJQ82GbwHW1WD+Vrd6vlVon4rQRHp6In+77pM1uC3YQpM3QZFCQMniwa3zKgUqnve2 lR/YI/MmJwCJDXGMq2SZzw9RTJXODIjrosrkF+GAqhJc5lev0RHdI= X-Received: by 2002:a05:622a:251b:b0:51c:7b12:5fd8 with SMTP id d75a77b69052e-5213d3b8efbmr27897761cf.84.1784298030842; Fri, 17 Jul 2026 07:20:30 -0700 (PDT) X-Received: by 2002:a05:622a:251b:b0:51c:7b12:5fd8 with SMTP id d75a77b69052e-5213d3b8efbmr27897101cf.84.1784298030230; Fri, 17 Jul 2026 07:20:30 -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-c1740bf91bdsm79085966b.63.2026.07.17.07.20.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 07:20:29 -0700 (PDT) From: Loic Poulain Date: Fri, 17 Jul 2026 16:20:23 +0200 Subject: [PATCH 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: <20260717-camss-version-v1-4-7ed71fea95e8@oss.qualcomm.com> References: <20260717-camss-version-v1-0-7ed71fea95e8@oss.qualcomm.com> In-Reply-To: <20260717-camss-version-v1-0-7ed71fea95e8@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-ORIG-GUID: uX3TTsMoDXubr0KWhrEIBIz7pCERXeUT X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDE0NiBTYWx0ZWRfX9qg0TMPIob34 3lO8TsZZm44yXkzUYFsT4IkSK/Nu+G6xvTerWbWzTNUlv0BJT2/o2umoGD6sb6fqZjD8KVfFGJw 5yOm9tImc8e+UxxvVmgcoc9CE7RqeyE= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDE0NiBTYWx0ZWRfXwQO7BZcSivDS ANcnjHGFe+mRq5jIfZiJAn1xq8/G1Frr4KG2umsexeSNPV4MBLefDzNvaqdlk3ZJORh7o3ZkrZg SlFw8XuZcQj2SmivbHu/oEZ51Vc/LGksGX2XLerETJzFMfeKYbPULJikvFiJFv7R0SlRS3rynhH 3PPMA5zA7McwTcax0+UqIlrq8tiRDOd3MNTke7CYDV4DE4V0KEWc9ViXal/PAuIqautW7F7jG5k eZ0bVwmHHtsfJBWCi+FY4AabIQtg2Vr2oiXh+bzmWoljm7Jv7fd4JdWVbrTiNmq0Lw3mWeDWn/B cLAPdiL9E/HFkTK2lq9zyjXEK1XgI6ei4U6RfQcgxxe1sFUc1VkEf7yV61/kWSPJLNlArQu8gmF /SO0AGKMytiPO+6LS0H9ovHjDS6XrBfEmNkl0AJonq/DKNA/IvqIAFy1L9yGbLGGtC1j3Y1ajti yOziff1mZC8zO6BGFwA== X-Authority-Analysis: v=2.4 cv=NcTWEWD4 c=1 sm=1 tr=0 ts=6a5a3a2f cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=_VBxEyf9HguAcaXgWQEA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-GUID: uX3TTsMoDXubr0KWhrEIBIz7pCERXeUT 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-17_04,2026-07-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 malwarescore=0 priorityscore=1501 lowpriorityscore=0 clxscore=1015 phishscore=0 bulkscore=0 spamscore=0 adultscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170146 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) Signed-off-by: Loic Poulain Reviewed-by: Konrad Dybcio --- drivers/media/platform/qcom/camss/camss.c | 34 +++++++++++++++++++++++++++= ++++ drivers/media/platform/qcom/camss/camss.h | 1 + 2 files changed, 35 insertions(+) diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/plat= form/qcom/camss/camss.c index 1e97b0b7ec463f1fa2615704d09ce465a8964176..2caa253fc4ad48f7f04580417d1= 5553a710cbc6f 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,25 @@ void camss_pm_domain_off(struct camss *camss, int id) } } =20 +static void camss_read_version(struct camss *camss) +{ + u32 hw_version; + + if (!camss->top_base || !camss->res->pm_clks[0]) + return; + + if (pm_runtime_resume_and_get(camss->dev)) + return; + + 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; +} + static int vfe_parent_dev_ops_get(struct camss *camss, int id) { int ret =3D -EINVAL; @@ -4866,6 +4888,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); @@ -5454,6 +5486,8 @@ static int camss_probe(struct platform_device *pdev) if (ret) goto err_v4l2_device_unregister; =20 + camss_read_version(camss); + 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