From mboxrd@z Thu Jan 1 00:00:00 1970 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 65A8D31D74B for ; Thu, 2 Jul 2026 17:23:12 +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=1783012995; cv=none; b=q3+CsZealA1WTy/fF4u2w5ZWRyp21a7KAhIqNBsveSSrleoCZCZGao2WkGdZPqSc5J2mK57UaYotRtUKbbQQ5RHhY847BJ60pNoE8lnWGgat6Ij3UYdcdOte+5sibfNP+eG050o5lqlGeSeQ4VjZZgGT//FEcvjpnmLFx7tq/bQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783012995; c=relaxed/simple; bh=SQVELIkS6Yw3HpdkUdHKEkrxPxte6hDRaNWPxNHtyYs=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=V78ccbeBcVjoc87jAqORwpfLS3OQ6kQB6TbwYZGdRgV4U1rd1dqyltAhXGJtgd1YQ7knlX5PATq4iArPmFfbszvY/nGeob90kYzXWEIOnLYw4KtO4DxfCCsMCKDFkjI/RZXE7aNL7Bnks29GGicOuGkwMFcrJPFonNIhUmxOc/E= 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=mZweog86; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=LpXqr4S9; 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="mZweog86"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="LpXqr4S9" 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 662E3FII622501 for ; Thu, 2 Jul 2026 17:23:10 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=QYGE1+3lnFBhSDxCjuj8Jz Eg+wB7iM4pgaTuFcIUXHo=; b=mZweog86Hk5bnj+K6WHhKGjju5PousPJQZreQu 1WOaaKiR27HFpXBA/qA27o5OBdg34shk/dxsvWYf+8dU6GrStEJKyrcf/VSlRjaI yBi9kxI0b67dWKL5sM+3xPp2g6JZHXjmQaf3xWEmXzNmv4v1t6wfRI/+v74oBWIE jfLJPdeYoqCp0NAhw0FH+w7JeXxcuxj80wMQFplIuxfoX0uE5bTLNPkf1WrJWzVm 9kvKLbFadycssuGi5BaXJVEJgqDx5s2HuO5mC8zpK84UUMtg6oXmja/zlga17PWM glqw4U9aZ2XRIbpWmdHyfcXeky4UTSlCLtvwL3Q97Xw+3Ncw== Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f5s2511gn-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 02 Jul 2026 17:23:10 +0000 (GMT) Received: by mail-pg1-f198.google.com with SMTP id 41be03b00d2f7-c9667280edeso2204579a12.2 for ; Thu, 02 Jul 2026 10:23:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783012989; x=1783617789; darn=vger.kernel.org; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:from:to:cc:subject:date:message-id:reply-to; bh=QYGE1+3lnFBhSDxCjuj8JzEg+wB7iM4pgaTuFcIUXHo=; b=LpXqr4S9OWWfM+IiXS1m5wVRll0oDiTTtrV/u5msN5na8JC56fpvXmnt4qEjgna2sg y1ocud4YAGqk/ZUNy0eaiMIcgAm/dFh5Vpd7Y+eY2yOidVmWt4E23PgavIgzi8apDveD 9LbkD9eMqW+zpvm0qSYLy+DndtNmIAKLzEGpSYx3nASQiqgrXq+ty5IJNUQ6qRGCBh/b vuqDuF/oEFgGu2lHzcKZ2/E1BUSehHwNUYo7CUKDDgL4QuTp3SAL2ZF9XdSUTXww536r IRXsk5Q5LhJRYRCV+QBxKSXJYWbQSXbuYZpQ3qwHK7bIgqHmvStw60xakKrlsOyamic2 nsQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783012989; x=1783617789; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=QYGE1+3lnFBhSDxCjuj8JzEg+wB7iM4pgaTuFcIUXHo=; b=L/DgI0UaiQnW7pzwxIjm6inmuSc1mjfK2u3J4jbhwMkSiSWRX1pg5n41Dd/KF55z2T LtjWmun6J9GW8HUfCyGTGnKiqy8HfGjQpcP/tYVGwz+FUWZzBw9uymHAFGnEKZukgGdp 4Rqh8iEZcq2dvVQmdY+63a4iy7Tg8OmXpZ44ZrGwsrWy8uoPywQf+GzMO73R0FRBNIqV qJpyuVE44ADnsnac3vE5YQxbsLv/Eu8dqGOkW9iSKYYyhN8JRiRmVyjBC53cbz/tUwWc UVuJa8SIpoRTOntEn02KHHVOkUHZCrmrav795muvHIFuFWGulwdxCCmp4/DI+vDNC2Vc QuIQ== X-Forwarded-Encrypted: i=1; AFNElJ9fwBfmZlEycM3gMxcK4gypOl33Ripev0KOSv+yt8JpIqqJN1iCe5ezn2B8MW9VISr8fdBmqwB4nigIGDw=@vger.kernel.org X-Gm-Message-State: AOJu0YwdQcF0oS+KdE5QCzkd2sFPb8JADTXHvJ/IkuiDP8JS7lH72BCR 9+v9nJkqB57xSyLzyCTXtY24QMLz7zSE0NkQEVvWDGlH9zdobRE66dGQcWIhKz+jpmANg/O9DC3 GFOBqauOcxj9W2vN3RXAnN2JdgBdOGb4lTSDcYrx9riTe7aDq0q3yAu+R9IIR/11MGKY= X-Gm-Gg: AfdE7ckyPElNE5hq7VShxkR04kY2joe7D2/kCzLhax9QoSGBWfGrZCx/AWq25wo6qeC 1XeQ4cNaKGjlmwF2w2GDg4X9Lq9igRyOWPVfTtD2bpJAxgOScdG7ELFyW8WL1CaHL6UzlDTFI5n XS3JjYpYaTOh0pUA7F92w9h+9jet4vX3ozjFo0heIPKx6/iJH8ZcaoxbNEJgI5Rg1qyQuiD9Tbc dlj3cqpaoNLAROycYjh7bF58gHM31VGAyctwNjjHaXjdPReC9MVfyMqZCLegU9njkhZ8Ci3EMLz BGN+6bmRaUznfGFfiasf6jxkEBZSKwRjhC4kF35Y0GuUcs24AxsJNivxUnP/3tAfnQOz9JM+YvE 7Z2Z1QiSShAOS9XOY6o+NFXILvPr2Arr2SYEahrcmDpC59w== X-Received: by 2002:a05:6a21:4688:b0:3b4:7eb0:47a1 with SMTP id adf61e73a8af0-3bfed2721b3mr9157693637.19.1783012989472; Thu, 02 Jul 2026 10:23:09 -0700 (PDT) X-Received: by 2002:a05:6a21:4688:b0:3b4:7eb0:47a1 with SMTP id adf61e73a8af0-3bfed2721b3mr9157650637.19.1783012988774; Thu, 02 Jul 2026 10:23:08 -0700 (PDT) Received: from hu-manafm-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-13b3ececfe4sm10564289c88.8.2026.07.02.10.23.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Jul 2026 10:23:08 -0700 (PDT) From: Manaf Meethalavalappu Pallikunhi Subject: [PATCH v3 0/4] Add Qualcomm SPEL powercap driver Date: Thu, 02 Jul 2026 22:52:53 +0530 Message-Id: <20260702-qcom_spel_driver_upstream-v3-0-434d50f0c5b0@oss.qualcomm.com> 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: 7bit X-B4-Tracking: v=1; b=H4sIAG2eRmoC/33OTQqDMBAF4KtI1o3kp2rsqvcoRawZa0CNJhpax Lt3tItuipuBN/C+mYV4cAY8uUQLcRCMN7bHIE8RqZqyfwI1GjMRTKQsY4KOle0KP0BbaGcCuGI e/OSg7GjOci2zSmkFimB/cFCb127f7pgb4yfr3vupwLftV014fqAGThnNEpmkmj+yOj9frffxO JctVroYB9nwIH5gKtgRKBAsJUCq8Fuu6j/guq4ffvyX8RoBAAA= X-Change-ID: 20260702-qcom_spel_driver_upstream-909d37c8d8e8 To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , "Rafael J. Wysocki" , Bjorn Andersson , Konrad Dybcio , Daniel Lezcano Cc: Gaurav Kohli , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, Manaf Meethalavalappu Pallikunhi X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1783012984; l=3809; i=manaf.pallikunhi@oss.qualcomm.com; s=20260206; h=from:subject:message-id; bh=SQVELIkS6Yw3HpdkUdHKEkrxPxte6hDRaNWPxNHtyYs=; b=PIjNMLYQ7O2dYZ56VLmjm9CtsrsqOXdg82ZMGQVPKWDEgjirbY9X/L69V1Px2Ssao2hxENwhx acrfzqMv9gqAS17eoyUjTF+RHPsUFummveZBRGc7Mos9hv4sqmYWGbo X-Developer-Key: i=manaf.pallikunhi@oss.qualcomm.com; a=ed25519; pk=oZ3x9jh+FDyPwxHmCbyzEMQHMzKqrH6hUbbL7dEBe2g= X-Authority-Analysis: v=2.4 cv=U7uiy+ru c=1 sm=1 tr=0 ts=6a469e7e cx=c_pps a=Qgeoaf8Lrialg5Z894R3/Q==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=1rr6DjYnXoqnmp2ReCQA:9 a=QEXdDO2ut3YA:10 a=x9snwWr2DeNwDh03kgHS:22 X-Proofpoint-ORIG-GUID: HxaDbenTsNhjC5BRs4lBzsewii2zdSBK X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzAyMDE4MyBTYWx0ZWRfX0sCjhfwBuZ8R RVeHkzTh1qfKBn7n675ZrFf2AMXUgH1OBr5Hhc4ZLBtJx7ZubysstZSeFO+UbkiBnRHQGsyslxQ UTDXBhK8rtqp2bV84ltBohwWb+XN8mx2ma3xLKBmnXkOz/tkgv4qZKvRD/4RCKiUalYj0wqspBz XpMkg8oiswE09TZmAeJBdejAZIGthUsJY5uYaF/nxeUaW4XDra37wB0Q2OWF8UhexNK1QgujRYL I2dxngYpfanHnz5NvyDY15HZuhlng1KhzWkHMBaaOHpZcb9koWQqGOE7tHvwfWMBEStOD3uEB1J OCUqq6C+fUKJucgeju6y9LwaBJzy3En9oPo54Q4R/gZDlHUa+mwD8L0U7g79dRSy4ZV5eajLyVL 7AMomyFKywvzWA4QKvV2BZ39NKFjzdRdxRfaUrlYw7x40CEchYYWK6i4YolDWgs5lx1lKLbCoAb HJrpT/Wy1ERhdPrvMEw== X-Proofpoint-GUID: HxaDbenTsNhjC5BRs4lBzsewii2zdSBK X-Proofpoint-Spam-Info: AW1haW4tMjYwNzAyMDE4MyBTYWx0ZWRfX6yZvvXmM5a2Y 53RIIIaF4Wh+nzQ7KZUg4/hx3T2mfghZbobX8cJtUrVTGGu9pVhEd1hy/DwoGdIGc8uoSJIzHyU zHviI6SZRFGuce1y6K2ECfEUxitQtkQ= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-07-02_02,2026-06-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 bulkscore=0 suspectscore=0 priorityscore=1501 malwarescore=0 spamscore=0 lowpriorityscore=0 adultscore=0 phishscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607020183 This patch series introduces support for Qualcomm's SPEL (SoC Power and Electrical Limits) hardware, which provides power monitoring and limiting capabilities for various power domains in Qualcomm SoCs. The SPEL hardware enables: - Real-time energy consumption monitoring across multiple power domains - Hardware-enforced power limits with configurable time windows - Support for up to 4 power limits (PL1-PL4) per domain - Hierarchical power domain organization (SYS -> SOC -> subsystems) The driver integrates with the Linux powercap framework, exposing SPEL capabilities through standard sysfs interfaces. This allows userspace applications and thermal management daemons to monitor energy consumption and configure power limits for optimal power/performance balance. This series introduces a new power/limits directory for power limit controller bindings. The power-limit-controller.yaml schema is added to MAINTAINERS under "QUALCOMM SPEL POWERCAP DRIVER" in patch 2/X alongside the SPEL device specific binding, as this is its primary use case. Signed-off-by: Manaf Meethalavalappu Pallikunhi --- Changes in v3: - Created common power-limit-controller schema under power/limits and described power-limit-controller device common capabilities.(Krzysztof) - Created SoC-specific qcom,glymur-spel.yaml file instead of generic one and updated description and commit.(Krzysztof) - Used FIELD_MODIFY() macro at different places.(Konrad) - Updated glymur specific domain info table.(Konrad) - Updated all for-loops iterator declaration to C99 style.(Konrad) - Fixed use-after-free bugs.(Sashiko) - Corrected time_unit documention to reflect the logic.(Sashiko) - Link to v2: https://lore.kernel.org/r/20260620-qcom_spel_driver_upstream-v2-0-a3ee6837c18f@oss.qualcomm.com Changes in v2: - Fixed DT issues: corrected unit-address mismatch and made compatible platform-specific.(Konrad/Krzysztof) - Cleaned up bitfield handling: switched to GENMASK, FIELD_* macros.(Konrad) - Converted hex values to lowercase and simplified array definitions.(Konrad) - used devm_platform_ioremap_resource_byname().(Konrad) - Refactored data structures: merged domain data into spel_domain_info and removed hardcoded limits using ARRAY_SIZE().(Daniel) - Added bounds checks (TIME_WINDOW_MAX) and fixed time window RMW handling (preserving reserved bits + firmware notify).(Sashiko) - Resolved use-after-free, replaced allocation strategy, and added proper cleanup in .release().(Sashiko) - Updated time window calculation logic. - Removed cyclic dependency, improved validation logic, and aligned naming consistency.(Daniel) - Link to v1: https://lore.kernel.org/r/20260519-qcom_spel_driver_upstream-v1-0-75356d1b7f94@oss.qualcomm.com --- Manaf Meethalavalappu Pallikunhi (4): dt-bindings: power: Add common power limit controller schema dt-bindings: power: limits: Describe Qualcomm SPEL hardware powercap: qcom: Add SPEL powercap driver arm64: dts: qcom: glymur: Enable SPEL powercap driver .../power/limits/power-limit-controller.yaml | 34 + .../bindings/power/limits/qcom,glymur-spel.yaml | 61 ++ MAINTAINERS | 8 + arch/arm64/boot/dts/qcom/glymur.dtsi | 10 + drivers/powercap/Kconfig | 13 + drivers/powercap/Makefile | 1 + drivers/powercap/qcom_spel.c | 803 +++++++++++++++++++++ 7 files changed, 930 insertions(+) --- base-commit: 4f441960e691d37c880d2cc004de06bb5b6bd5e4 change-id: 20260702-qcom_spel_driver_upstream-909d37c8d8e8 Best regards, -- Manaf Meethalavalappu Pallikunhi