From patchwork Sun May 25 08:55:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maulik Shah X-Patchwork-Id: 892485 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 833971D90DF for ; Sun, 25 May 2025 08:56:09 +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=1748163371; cv=none; b=fi+ObVlUb7U6cmBK/A3xyfmzTxhdjT8oyDBgC2mkEUM61i7o/FOFF33RzTWE0Pm8U9CALYCIEkM8lvD/TftHURknDKyKCATRswKS5ytFVhwbmzYyXBLCCE7imLmvb31R9qfZZvah6krsu/qdj/ECeEC1XScLHtL/JVUCtevbOSg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748163371; c=relaxed/simple; bh=vRR6szynldY94FYUj5qNjs3DmteWmQfiTljj3mxMF78=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=d+FK9lUPGZvOnTLJc1YrQV6HJYm41wdhANqIGrLfOfNLRbpqNoqfikg0lCLm9RH4wmeuGq1aZJz259npr3r+y3wpi+t2Zhxj7yoxWfWoxx+KZRV1F6YjMczQ5SKzq5yAP/fYQgkDudE+iD0Tbhn/HxjvWHD8U/f7qKC53pQ2F0s= 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=S0v2c3QD; 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="S0v2c3QD" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54P5lJxw002853 for ; Sun, 25 May 2025 08:56:09 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= LdmcYDeR3oxl4uFyKw3pkSyRmu08N2XqrqgvurqEKN0=; b=S0v2c3QDh+hdA0Eu TTtCzvKTBaWGJld5C6XXKEbT8Yd46mR8KDfpLlhMnfz7VQsN2sa6hDot01ZMraRs mYnGxoiudrs/qS8ewcpjkz0rp8dUJkebpy1VK/bSwm81WYXzAkyu2bNiEipaoajT qlKNJUbY1j4hd+C2knRm5H7LAHt16LPyDHh+mse8dxISq3jKaw0pGwSJhyvwXnuB rbNbTDXzgCymtYk4AH44KR6HR2VPV6vCwslOrBBDia+46LAte9Umhsww4xO11mgE m6YvmQOyyps+7YqB93az+8W/f/P7lmdyFcJt2ehC/os8rH9pI0Zhlz4dyCb6rH6p 1EFm1A== Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46u79p1pjj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sun, 25 May 2025 08:56:08 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-23206c06d29so10262235ad.0 for ; Sun, 25 May 2025 01:56:08 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748163368; x=1748768168; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LdmcYDeR3oxl4uFyKw3pkSyRmu08N2XqrqgvurqEKN0=; b=HwMS84HVtm2pazSPzVG9A7zePbWSX+YjR17orkwwb+ZD6EucL/lELS5K0U34JVyOw9 nqPYtMp0Oqs/yUJJtseFT5xHFWCxIaNq5TwioGFkNYWezPMomrZ41Z/xWYQ7jC8CGgDd 8QEgZhzT9pq5U3X2L2rgT1eWqrI3sj2I/+5JA/N8TnBf8QegSNsEQOj2zJOBPtufo+YB SNJ4fFZegNwpAmZaI+un5J1GAo0ERpqCeGA4UfzM0lS26l/WwJ7Qm/gEqgz8RBOm2UpA vB5XUNuZSvlike6xctCMyZnPeE4ONlrXQ+wgwDkTyb2wmH6ux9C3B1U+WnkHdvIfQgKG vTNw== X-Gm-Message-State: AOJu0YyuKMpnG89ScNmu7fOx75W9EwzJgmCU8d3P19NFLMl6wuI5kEJi Mdbuo5ARb3AZ1rQ0niu14IlQpqsZtT5KOStJ0Nb8zTIBoDVNLNefnOuh9LjLEVnsTq0Fsu/cbv6 AIkBuSWfi3loHz0kYl6N0fZtxnBuwy1pNkMt+rBCM6mrfUGcapk9e7L4NnfAz1nVHka0K X-Gm-Gg: ASbGncvAdI+HV3YYGchM8+E+ea10Llo/+6wrsWxExW1+Jc8gs3QPiG2X4Xx0KP3i1KX sES3W6fzGT1TaSudF2/04/2rOPh0Tx4E/qEKNK+E6KZ4Gr3NO7c8dnWcik4EDNkSWQu+C/IywjT Vr9hhStDO7tT2nqLlaUp8AMitxedMrQPm4/CWjXpPv+/7yau+WKgejbxf9pysUw4NFNnfh+NqYj PeLKxupT8f0zygOXi57gDizFjGTicmXT8xShf+0XZbHo9hLp/OetEjPHCJYp3nP0tAiqsO03m7L cTl7bMCUmmCofzSLb/aA4K7FVg== X-Received: by 2002:a17:903:acf:b0:233:f903:a11 with SMTP id d9443c01a7336-23414f48f23mr78955865ad.2.1748163367906; Sun, 25 May 2025 01:56:07 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFVYWkUNVUJgm3pHRAuoZ1u3jFEnUwArxDSTKnwca1PjV2B1ONqMF9v5/FP5DvhZTWM44ZTsQ== X-Received: by 2002:a17:903:acf:b0:233:f903:a11 with SMTP id d9443c01a7336-23414f48f23mr78955635ad.2.1748163367529; Sun, 25 May 2025 01:56:07 -0700 (PDT) Received: from [10.213.103.17] ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2340531be85sm29609805ad.104.2025.05.25.01.56.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 May 2025 01:56:07 -0700 (PDT) From: Maulik Shah Date: Sun, 25 May 2025 14:25:57 +0530 Subject: [PATCH v3 1/3] soc: qcom: qcom_stats: Add support to read DDR statistic Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250525-ddr_stats_-v3-1-49a3c1e42db7@oss.qualcomm.com> References: <20250525-ddr_stats_-v3-0-49a3c1e42db7@oss.qualcomm.com> In-Reply-To: <20250525-ddr_stats_-v3-0-49a3c1e42db7@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Marijn Suijten , Doug Anderson , Maulik Shah X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1748163360; l=5260; i=maulik.shah@oss.qualcomm.com; s=20240109; h=from:subject:message-id; bh=vRR6szynldY94FYUj5qNjs3DmteWmQfiTljj3mxMF78=; b=jY+Pp8gtI8tOj+7UQiz1924zun9Xp+l43QsQA5RH8nAY/eYGaqkDiLsOFrbasVEAT8ZShczQF CkgMCAJfBp8BqbY7Rb+SVh0AS9DvkrYAq+IBzRF/NsxiJRHEetk/IDV X-Developer-Key: i=maulik.shah@oss.qualcomm.com; a=ed25519; pk=bd9h5FIIliUddIk8p3BlQWBlzKEQ/YW5V+fe759hTWQ= X-Proofpoint-GUID: tzY-YfCGHohEkJVwYw5_bDCN8oLfDtQL X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI1MDA4MSBTYWx0ZWRfX5uzYwDvppixy s3zvSNchj2zuPzBhhwmmMAvUDTlgVl0DM1MVMP0Q2Id3yr/GaU4AYVLzhe6EDy+xA3Ptn/pJalC skS/TVlxBc72hAoceY7yD6yp/UDkeZX2VrGFLwQkYsamu7yDxTCwhTyeHMjgGgwXdJJtNkKna1A VmM6H32yi5VIZngNxt/s1mCB9g2vtNTbvDA3iX3PUpX4unI3vMO3WqKisLH0sZr4jRTUyTNnH1u tcqGhWa0A6mLJyweiLwOeNBpAm5VqvnDcBbE5eVapHhekfRau1GeeTKfBh36uo9l71etN+4NvZe I8dbPGcXlY/fWsnvnD5h/Iuzeh5lxPMG1fomnVF6qyVcl6BlpQHv4KskAASZwEVgmPJULCJ6CPx OhaSLxErvR332+l6qspVQRaYZCX+7sR96NmEZHoQ7T7W5bOBqfeEdFdFlddT/2hQh4jCc/y5 X-Authority-Analysis: v=2.4 cv=HNnDFptv c=1 sm=1 tr=0 ts=6832db28 cx=c_pps a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=EUspDBNiAAAA:8 a=4QwxTSDsR6DxlQvKCcYA:9 a=QEXdDO2ut3YA:10 a=GvdueXVYPmCkWapjIL-Q:22 X-Proofpoint-ORIG-GUID: tzY-YfCGHohEkJVwYw5_bDCN8oLfDtQL X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-25_03,2025-05-22_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 suspectscore=0 malwarescore=0 lowpriorityscore=0 adultscore=0 priorityscore=1501 mlxlogscore=999 phishscore=0 mlxscore=0 spamscore=0 bulkscore=0 impostorscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000 definitions=main-2505250081 DDR statistic provide different DDR LPM and DDR frequency statistic. Add support to read from MSGRAM and display via debugfs. Signed-off-by: Maulik Shah --- drivers/soc/qcom/qcom_stats.c | 99 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) diff --git a/drivers/soc/qcom/qcom_stats.c b/drivers/soc/qcom/qcom_stats.c index 5de99cf59b9fbe32c0580e371c3cc362dfabb895..33fd2a1574464768bd07289e743fbb79ba415e84 100644 --- a/drivers/soc/qcom/qcom_stats.c +++ b/drivers/soc/qcom/qcom_stats.c @@ -1,8 +1,10 @@ // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2011-2021, The Linux Foundation. All rights reserved. + * Copyright (c) 2022-2025, Qualcomm Innovation Center, Inc. All rights reserved. */ +#include #include #include #include @@ -24,6 +26,17 @@ #define ACCUMULATED_OFFSET 0x18 #define CLIENT_VOTES_OFFSET 0x20 +#define DDR_STATS_MAGIC_KEY 0xA1157A75 +#define DDR_STATS_MAX_NUM_MODES 20 +#define DDR_STATS_MAGIC_KEY_ADDR 0x0 +#define DDR_STATS_NUM_MODES_ADDR 0x4 +#define DDR_STATS_ENTRY_START_ADDR 0x8 + +#define DDR_STATS_CP_IDX(data) FIELD_GET(GENMASK(4, 0), data) +#define DDR_STATS_LPM_NAME(data) FIELD_GET(GENMASK(7, 0), data) +#define DDR_STATS_TYPE(data) FIELD_GET(GENMASK(15, 8), data) +#define DDR_STATS_FREQ(data) FIELD_GET(GENMASK(31, 16), data) + struct subsystem_data { const char *name; u32 smem_item; @@ -48,12 +61,19 @@ static const struct subsystem_data subsystems[] = { struct stats_config { size_t stats_offset; + size_t ddr_stats_offset; size_t num_records; bool appended_stats_avail; bool dynamic_offset; bool subsystem_stats_in_smem; }; +struct ddr_stats_entry { + u32 name; + u32 count; + u64 duration; +}; + struct stats_data { bool appended_stats_avail; void __iomem *base; @@ -122,8 +142,85 @@ static int qcom_soc_sleep_stats_show(struct seq_file *s, void *unused) return 0; } +static void qcom_ddr_stats_print(struct seq_file *s, struct ddr_stats_entry *data) +{ + u32 cp_idx; + + /* + * DDR statistic have two different types of details encoded. + * (1) DDR LPM Stats + * (2) DDR Frequency Stats + * + * The name field have details like which type of DDR stat (bits 8:15) + * along with other details as explained below + * + * In case of DDR LPM stat, name field will be encoded as, + * Bits - Meaning + * 0:7 - DDR LPM name, can be of 0xd4, 0xd3, 0x11 and 0xd0. + * 8:15 - 0x0 (indicates its a LPM stat) + * 16:31 - Unused + * + * In case of DDR FREQ stats, name field will be encoded as, + * Bits - Meaning + * 0:4 - DDR Clock plan index (CP IDX) + * 5:7 - Unused + * 8:15 - 0x1 (indicates its Freq stat) + * 16:31 - Frequency value in Mhz + */ + switch (DDR_STATS_TYPE(data->name)) { + case 0: + seq_printf(s, "DDR LPM Stat Name:0x%lx\tcount:%u\tDuration (ticks):%llu\n", + DDR_STATS_LPM_NAME(data->name), data->count, data->duration); + break; + case 1: + if (!data->count || !DDR_STATS_FREQ(data->name)) + return; + + cp_idx = DDR_STATS_CP_IDX(data->name); + seq_printf(s, "DDR Freq %luMhz:\tCP IDX:%u\tcount:%u\tDuration (ticks):%llu\n", + DDR_STATS_FREQ(data->name), cp_idx, data->count, data->duration); + break; + } +} + +static int qcom_ddr_stats_show(struct seq_file *s, void *d) +{ + struct ddr_stats_entry data[DDR_STATS_MAX_NUM_MODES]; + void __iomem *reg = (void __iomem *)s->private; + u32 entry_count; + int i; + + entry_count = readl_relaxed(reg + DDR_STATS_NUM_MODES_ADDR); + if (entry_count > DDR_STATS_MAX_NUM_MODES) + return -EINVAL; + + reg += DDR_STATS_ENTRY_START_ADDR; + memcpy_fromio(data, reg, sizeof(struct ddr_stats_entry) * entry_count); + + for (i = 0; i < entry_count; i++) + qcom_ddr_stats_print(s, &data[i]); + + return 0; +} + DEFINE_SHOW_ATTRIBUTE(qcom_soc_sleep_stats); DEFINE_SHOW_ATTRIBUTE(qcom_subsystem_sleep_stats); +DEFINE_SHOW_ATTRIBUTE(qcom_ddr_stats); + +static void qcom_create_ddr_stat_files(struct dentry *root, void __iomem *reg, + const struct stats_config *config) +{ + u32 key; + + if (!config->ddr_stats_offset) + return; + + key = readl_relaxed(reg + config->ddr_stats_offset + DDR_STATS_MAGIC_KEY_ADDR); + if (key == DDR_STATS_MAGIC_KEY) + debugfs_create_file("ddr_stats", 0400, root, + (__force void *)reg + config->ddr_stats_offset, + &qcom_ddr_stats_fops); +} static void qcom_create_soc_sleep_stat_files(struct dentry *root, void __iomem *reg, struct stats_data *d, @@ -212,6 +309,7 @@ static int qcom_stats_probe(struct platform_device *pdev) qcom_create_subsystem_stat_files(root, config); qcom_create_soc_sleep_stat_files(root, reg, d, config); + qcom_create_ddr_stat_files(root, reg, config); platform_set_drvdata(pdev, root); @@ -254,6 +352,7 @@ static const struct stats_config rpmh_data_sdm845 = { static const struct stats_config rpmh_data = { .stats_offset = 0x48, + .ddr_stats_offset = 0xb8, .num_records = 3, .appended_stats_avail = false, .dynamic_offset = false, From patchwork Sun May 25 08:55:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maulik Shah X-Patchwork-Id: 892818 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 DC69B1E5B95 for ; Sun, 25 May 2025 08:56:12 +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=1748163374; cv=none; b=jYAcuCiYnl2gCgyODNDUd3M1TB5iNDuFcBMyPYKm5VnV7UbBAdQh51oX1uN+CXdQ8KrtA0bOmeFffsLNFaWCwPNQwFWULme9S2E3U3kvOaaiQTUuSs3sH3DwOzZMPmSZlD8P8z6ZSzKoo5Op32+zWfajxHI24goI1ByzZsIhvpo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748163374; c=relaxed/simple; bh=AVtU54nc25opv8K+2tymcPJdIsSp8GMt9cZa3TIf5Xw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QGwlj9if4/N5t9E7ooFvWG+l9apUbLZdnvxT/RstuXUUEcLQ9v7DBaQwfFY2RJJXfsv8c0VhdMEH/8kibiFmBTS9mlTlnSi+hOhJVe61A4iCDmKTHicqLjmNfo50a+RD5ar4e3axbuoRuDyVUdjJD4cBPeaxMk3SPY02U9gx1WM= 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=MjkCu8CT; 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="MjkCu8CT" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54P5U12g005273 for ; Sun, 25 May 2025 08:56:12 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= JkOp7j3zXSAkYXiIHN6jRO+1RgVkkoDu+mIC7by/Wuk=; b=MjkCu8CTGBoEs2Ia laFNUmxpzwI6BGeIifZ0o+yQi2RT/PV4hl6JVa/Va+rgzyJnWjC+7J4kUPokK8lh A6eZHGx5Vu5MKJqzwAtssljHrXBEJJjqrAuY3/KTGtPpyvEJgtoPFoESYKVMufdb PkXjWVEY8rIFAQwjdFSkG9UsGp5Y1bxKBLJEpwLAeAQmZh87Vy/dD4rvSjdM3PFQ IiHJvj7+LYV9VdW1V6Zuxqj4+YeObTe6uzgsWAayJ7VntiJwWCVkQNUFebP8F5Ty AedmrH1WTxVHh3e14hxQ+aGwOR9ZrgVFegVHhoqJuRAXfBhEOTrfVDyl/X4MHqsA xIWMVg== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46u79p1pju-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sun, 25 May 2025 08:56:12 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2342ebb8a83so3280135ad.0 for ; Sun, 25 May 2025 01:56:12 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748163371; x=1748768171; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=JkOp7j3zXSAkYXiIHN6jRO+1RgVkkoDu+mIC7by/Wuk=; b=XI/1Q6H0UlDpyWgfmcM83LrtCr0hbVLlTqz28FilGbuj4vB1BN+c7OhlYO3vNMT4B7 qeL9aqLPWUkCBMMqAgnqtesyL6LAfWGG+4dDZFnX6TNkQoal+XS22DOk3fiYvVk47+d/ H9ARSYasP2tzyZcDn7S1x4BZ0u7r6FkynkSxPYiGG/BX+LtlGaJdttB7guMVBiyIP9aG Q/k9Njqjph71uFrBvBVFZRUNWSOpx3qlXygQPtvT8PUZzmNcTIt7Mo1KTu7EVWJb+wdJ f5cLFFV/CeF9XLxPa4b9j0mwQKAzIfOUwV+yGKhpCkJL4fXH7bJ8CM0A0kYVK6COXklo Sqcw== X-Gm-Message-State: AOJu0YyDnlpVs42j5XavQQC1zheBlSLGD97jjqZMroveGh9W/K9wXXWI CNTBT6a7oilLbRDVE/SDbmyAAutfFvWEqJyzT8a555sw4mz8W4RrBFXQa0ucl0zS79JXczTydLK nspe0va+1aFjufMD0Gn96dxUtsHgH24IJwlIkd244og7DpRPx+eht30ho+wkxiKVdvRMf X-Gm-Gg: ASbGncumvf/AwjnPzBmVdjBYWFp0jD/VR9yp4yyyqfyUaoqbX1UwYZ5pgthGRxUDIa9 N9/hxo05RYSQoa2iZsNjYvefo08WDM/IFJVvPByHaO2GisCvlCHjQdJd5zlQ33xh0OGsouSrnvk sBWGh+H7X4DNFyWLutpgiQjYSIDUEkN0umTiEeabEWogsquK6wfh+xrnm8E5V35ZbOYCBIS6raG 4BQknHRN12MN2SB+c8B6H0WLUl7OYs7n/xcW1ISJMCh1GqKMsQqBg+e3YoSvXz1Ka3SLwuhygmm lWmw0H/UcsFHmwiX0cjil4wwWg== X-Received: by 2002:a17:902:cf4b:b0:224:584:6eef with SMTP id d9443c01a7336-23414fb5404mr86308975ad.41.1748163371231; Sun, 25 May 2025 01:56:11 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHqKEWMFK6USrz4We9Zy7uWd2Rz+ButRLFAqNJb1eOogDF7vmSPsDwTFWhh8Rhw0hDm6BUntA== X-Received: by 2002:a17:902:cf4b:b0:224:584:6eef with SMTP id d9443c01a7336-23414fb5404mr86308765ad.41.1748163370834; Sun, 25 May 2025 01:56:10 -0700 (PDT) Received: from [10.213.103.17] ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2340531be85sm29609805ad.104.2025.05.25.01.56.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 May 2025 01:56:10 -0700 (PDT) From: Maulik Shah Date: Sun, 25 May 2025 14:25:58 +0530 Subject: [PATCH v3 2/3] soc: qcom: qcom_stats: Add QMP support for syncing ddr stats Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250525-ddr_stats_-v3-2-49a3c1e42db7@oss.qualcomm.com> References: <20250525-ddr_stats_-v3-0-49a3c1e42db7@oss.qualcomm.com> In-Reply-To: <20250525-ddr_stats_-v3-0-49a3c1e42db7@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Marijn Suijten , Doug Anderson , Maulik Shah X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1748163360; l=2878; i=maulik.shah@oss.qualcomm.com; s=20240109; h=from:subject:message-id; bh=AVtU54nc25opv8K+2tymcPJdIsSp8GMt9cZa3TIf5Xw=; b=3c7v81qedwuXioo4vYTXsR3wF4NVJMeZRwj26wnGGbr7w9rxRDIyNbC+T/fUJzrH9ez9Ncm6P lMySkzEof6YAKl0XB7NmY3PiYG1WPyYjh7H7uhBIRf0BrrLC+q19DzV X-Developer-Key: i=maulik.shah@oss.qualcomm.com; a=ed25519; pk=bd9h5FIIliUddIk8p3BlQWBlzKEQ/YW5V+fe759hTWQ= X-Proofpoint-GUID: Dmho26s1y1i7UFpdtzp2I9Gr44MRUR8a X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI1MDA4MSBTYWx0ZWRfX0UiX1Wju7Byu 4lgcxt+43RZRp35HZ7afNLoKkMpbV1eHtC9FpkK3Zb/CQnNFJPaTzu2ibh17Z7ch3yBBzl7kymc uZjoT5JedooV7t1pZxOapKGC8g40ZMMBkJ7K+sMe3htJDKNhuTTHEA1bi2jejYS1HicM+u8TSI2 kEAQ1o/I6JWPu2dqb6rj2CxltiFOuuk18AD8JJTS0IHs//asf8dHXfh+MfChpWPHaYEgjRqlhZg mIdvtqCPD7HPMS2gW6n1ibiXpHbol3WBn+KJEkD6iiUmL3XDiy3l0QhQFZMZ7vsVMPl/tOPiPbz S9e3132cs5cFj/7OCAMNsRPgyoa7pf30HD4KmsMdMm2vtQdjw9Pvt9n52VTGqN61MxBd3trAEdz 7a3PsGYUOKXpVYibSVIIWKSUihL2LZiVBOGzqpiOprturKopQrpUpDB9srdmE5JJkVJaEr4l X-Authority-Analysis: v=2.4 cv=HNnDFptv c=1 sm=1 tr=0 ts=6832db2c cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=EUspDBNiAAAA:8 a=BT90xxDHZu-g9S-RVkkA:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-ORIG-GUID: Dmho26s1y1i7UFpdtzp2I9Gr44MRUR8a X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-25_03,2025-05-22_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 suspectscore=0 malwarescore=0 lowpriorityscore=0 adultscore=0 priorityscore=1501 mlxlogscore=999 phishscore=0 mlxscore=0 spamscore=0 bulkscore=0 impostorscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000 definitions=main-2505250081 Recent SoCs (SM8450 onwards) require QMP command to be sent before reading ddr stats. The duration field of ddr stats will get populated only if QMP command is sent. Add support to send ddr stats freqsync QMP command. Signed-off-by: Maulik Shah --- drivers/soc/qcom/qcom_stats.c | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/drivers/soc/qcom/qcom_stats.c b/drivers/soc/qcom/qcom_stats.c index 33fd2a1574464768bd07289e743fbb79ba415e84..7795f0bd18c63adeee93da2b9e07ab4944c1662d 100644 --- a/drivers/soc/qcom/qcom_stats.c +++ b/drivers/soc/qcom/qcom_stats.c @@ -13,6 +13,7 @@ #include #include +#include #include #include @@ -37,6 +38,8 @@ #define DDR_STATS_TYPE(data) FIELD_GET(GENMASK(15, 8), data) #define DDR_STATS_FREQ(data) FIELD_GET(GENMASK(31, 16), data) +static struct qmp *qcom_stats_qmp; + struct subsystem_data { const char *name; u32 smem_item; @@ -188,12 +191,28 @@ static int qcom_ddr_stats_show(struct seq_file *s, void *d) struct ddr_stats_entry data[DDR_STATS_MAX_NUM_MODES]; void __iomem *reg = (void __iomem *)s->private; u32 entry_count; - int i; + int i, ret; entry_count = readl_relaxed(reg + DDR_STATS_NUM_MODES_ADDR); if (entry_count > DDR_STATS_MAX_NUM_MODES) return -EINVAL; + if (qcom_stats_qmp) { + /* + * Recent SoCs (SM8450 onwards) do not have duration field + * populated from boot up onwards for both DDR LPM Stats + * and DDR Frequency Stats. + * + * Send QMP message to Always on processor which will + * populate duration field into MSG RAM area. + * + * Sent every time to read latest data. + */ + ret = qmp_send(qcom_stats_qmp, "{class: ddr, action: freqsync}"); + if (ret) + return ret; + } + reg += DDR_STATS_ENTRY_START_ADDR; memcpy_fromio(data, reg, sizeof(struct ddr_stats_entry) * entry_count); @@ -310,6 +329,19 @@ static int qcom_stats_probe(struct platform_device *pdev) qcom_create_subsystem_stat_files(root, config); qcom_create_soc_sleep_stat_files(root, reg, d, config); qcom_create_ddr_stat_files(root, reg, config); + /* + * QMP is used for DDR stats syncing to MSG RAM for recent SoCs (SM8450 onwards). + * The prior SoCs do not need QMP handle as the required stats are already present + * in MSG RAM, provided the DDR_STATS_MAGIC_KEY matches. + */ + qcom_stats_qmp = qmp_get(&pdev->dev); + if (IS_ERR(qcom_stats_qmp)) { + if (PTR_ERR(qcom_stats_qmp) == -EPROBE_DEFER) + return -EPROBE_DEFER; + + /* We assume any other error means it's not defined/needed */ + qcom_stats_qmp = NULL; + } platform_set_drvdata(pdev, root); From patchwork Sun May 25 08:55:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maulik Shah X-Patchwork-Id: 892484 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 87FD31C8639 for ; Sun, 25 May 2025 08:56:17 +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=1748163380; cv=none; b=KNtGKor8w7siahaBly6rbJjAmIv3Ve2KeI4pgqDYdreSwfF0uoP1nUd3MHIR00oPbb/WAjOjMFCmos0jl3rbmAH/dPPvBMlL3YD7rNDmvdSlItRkuE8cdiAG/7zDgBRyIH3h4qzNPk0TJwX288dsYw2p3aH5z11Qsd9vE/bwEsM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748163380; c=relaxed/simple; bh=vNy7Hg/TiGtEZictJW89jX/dHyDjn42M2TrCGJb8CAM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=caDFoX6jBUb8H5utPgQ4oau9xMqMIFPPmvSHyWDctzKIDapEhHnOtl0Q4Vj/o6KO5YIM3PCitJcaxb6lNCR+88iXbH8AE7dFl+WZW02lkJqZpkLPfxldUWcv4XCTLqs2j1vzFzCLR1l1o6HrPFwTI5SxMQV2YxBbD1qLzIBGHko= 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=frTaDuli; 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="frTaDuli" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54P1ejcc026260 for ; Sun, 25 May 2025 08:56: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= 5YbBsH4zeCrmK/Ek4rH6YPASrY2/sAhfKu9QU9dC1zs=; b=frTaDuliW9pFQz5/ YC38OKTFrqQFottZhTMeMEeQrBNt0Ulk6KPT9Qao4D3cAe1m8s7W4o3jdTLciE1K rMBPj8gWlaa9UeipWlPtnKRZrw1FZ/H6qj8jKDfD5ELWKIRVhCCHmCb3tND5YX8J E47KrvACVlJ9c+dYRNDyrPK2OU5MzI0Ij1cAlOqaUfgFvE+3BCShWIHpZ2tq5xqe X9EH4bZ6oqKBRj7Jw/tzZiveEBdTQS3S3c6y344xsOJyek6LsTV3gliKFoVmEcwl oWp+jjkvixX55RuH6KLzExD5mF89pVcB2sLlbT0Wel9V7dbsfBdHrWDTXMq3vs+Q 0ftqwQ== Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46u79p1pke-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Sun, 25 May 2025 08:56:16 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-2344476c9f9so2592625ad.1 for ; Sun, 25 May 2025 01:56:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748163375; x=1748768175; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5YbBsH4zeCrmK/Ek4rH6YPASrY2/sAhfKu9QU9dC1zs=; b=DNafoF/CgD3sz+ddSd2hMg05zUoI7hKpqf3//QgJ84XpoB0cy1g7XqBwiKbLyVi0YF FGp9IwAiypvhEnc7XUVI+zNfbLys9NQUJVCrJt3IlWbWFbEVyRiMTXhIr22YOeo3qKX5 JPcl1KCw7P/NV1amceQQtyXlr4oe1XWja2j1EDp/QE2rizaFfFjWJdgrUo3V/3RI1wWx HM5is3Vy/Sor/IlCNbvt5WuBa0WSJqhJvd7T9bCBuRfT3GShxZptgTiMak7p6hdr+DpG SK3D313r4knvepjBlPF4WLyxBAFaUCtZoLDh44CjLr1Mmp1tczcxaM3JZgN8kaA2F9ZR Ga2w== X-Gm-Message-State: AOJu0YwsX0OXuKqUMnsXflbWyw7B5U5jN32aW5/Qj9Mt1jRK7+PSX1qc 6FSyEYqaB6cdze+yiGh6sRj9GgJKIu+n8/t/wCXARfzIIt20B2iXoSPxTiSpEgiNMnqjwmYe0qr cYE01Hok+egI2M2vUB5PDvLM3PpgZ4WnWJ35Tn6P9UNT6Dlqn3RKa3kKKnKvmsUCR0afm X-Gm-Gg: ASbGnctTBOYaAeqvcly6GYd3RNszxn4bGOXguGS17TXAl+SkZIcqwTci4q66HgOm71t lXv/0o3AWKqASbLD5Bvl0/uAX9uKMwqv606v5dJVIzEAymxYBxG4BXcxeVtnN8zy6FcXedT1iUl 7A58tNeZjmTDvLb8URBc1qtgZO/JBBgG8iDA3lMM+2whCAeQvW55OasR8y7I6CBK+jb+fxj6rbg gDHA+4O5Oy0qRWgoAcs2uOHvIWcTSGG6G6hqX8fRXAHADLLW0+7eBFNJmnEeVtWMLhCriOHIHuV 4IU9sBcEQ+ZeG1lR0bMBD2u2lg== X-Received: by 2002:a17:903:3a86:b0:22e:491b:20d5 with SMTP id d9443c01a7336-23414e3b515mr81384165ad.26.1748163374563; Sun, 25 May 2025 01:56:14 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGz5i9KkFKiGLBVFi1nTJLPMlZymSsCYwnstYCW3DdUOQw+MT5Qgnws3vyUZpvuuMIc5SBZKg== X-Received: by 2002:a17:903:3a86:b0:22e:491b:20d5 with SMTP id d9443c01a7336-23414e3b515mr81383865ad.26.1748163374174; Sun, 25 May 2025 01:56:14 -0700 (PDT) Received: from [10.213.103.17] ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2340531be85sm29609805ad.104.2025.05.25.01.56.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 May 2025 01:56:13 -0700 (PDT) From: Maulik Shah Date: Sun, 25 May 2025 14:25:59 +0530 Subject: [PATCH v3 3/3] arm64: dts: qcom: Add QMP handle for qcom_stats Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250525-ddr_stats_-v3-3-49a3c1e42db7@oss.qualcomm.com> References: <20250525-ddr_stats_-v3-0-49a3c1e42db7@oss.qualcomm.com> In-Reply-To: <20250525-ddr_stats_-v3-0-49a3c1e42db7@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Marijn Suijten , Doug Anderson , Maulik Shah X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1748163360; l=2423; i=maulik.shah@oss.qualcomm.com; s=20240109; h=from:subject:message-id; bh=vNy7Hg/TiGtEZictJW89jX/dHyDjn42M2TrCGJb8CAM=; b=vfnJcFVH+Tg5NcLHWExEPQ9qovSf2ZuLYUvr5WZ9K1wk6d4Ap2SZ2hbKdlrF/S1cDzOflNv/5 PVVVQBcbsivDqMJGDq7xdAzDsg4MxIkvc8dC6CmsFpu5ED0SQQmSflq X-Developer-Key: i=maulik.shah@oss.qualcomm.com; a=ed25519; pk=bd9h5FIIliUddIk8p3BlQWBlzKEQ/YW5V+fe759hTWQ= X-Proofpoint-GUID: 6Zsx1Htgij1JpKKlpflZ7tVzxLLQRxN1 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI1MDA4MSBTYWx0ZWRfX9koPK+hdBDRf az2Q11wlet6x/cab0FlekjBjPOz44fS3aiTMF2gt5sjhm3rL6p4M8Zjtd9k03pIa/nUiT8lTHUQ cKOhxLTacTKwZJElpGgGTfwb5n5ZwtMX0egJC5uIJgiWHRNMtbVdcF+bFq8EcRHIuxxAvTwyKQD l7xT/LDULao3Jl+egdYCWjbzff5Qv9xXqpe7Z8jLfDF6DZr2E0ES91jm2eKsKSHzFK2jDgSEo/v bTO75vuUIScekXCYZ/PcnFah7HcFE5jjObSMXAqXdhyenusXOErrpw/P9mLl4Lk8kx9YT67Ot4T UQBCUpGCERl4QU6+oYkMVo0wcq3OrIklPMFQbE1v8dY/yDTBfUBXx/dZL6N26a/m7vMUPXLeZSe jfWgBhTLNAPwCRBsbqZVZZGl/sQ1tnVmggRVUjNY71ow38wUSkhscEmVb36B67dwdK35+aOB X-Authority-Analysis: v=2.4 cv=HNnDFptv c=1 sm=1 tr=0 ts=6832db30 cx=c_pps a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=EUspDBNiAAAA:8 a=GL-xn7CBy2CN3rfaf34A:9 a=QEXdDO2ut3YA:10 a=GvdueXVYPmCkWapjIL-Q:22 X-Proofpoint-ORIG-GUID: 6Zsx1Htgij1JpKKlpflZ7tVzxLLQRxN1 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-25_03,2025-05-22_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 suspectscore=0 malwarescore=0 lowpriorityscore=0 adultscore=0 priorityscore=1501 mlxlogscore=684 phishscore=0 mlxscore=0 spamscore=0 bulkscore=0 impostorscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000 definitions=main-2505250081 Add QMP handle which is used to send QMP command to always on processor to populate DDR stats. Add QMP handle for SM8450/SM8550/SM8650/SM8750. Signed-off-by: Maulik Shah --- arch/arm64/boot/dts/qcom/sm8450.dtsi | 1 + arch/arm64/boot/dts/qcom/sm8550.dtsi | 1 + arch/arm64/boot/dts/qcom/sm8650.dtsi | 1 + arch/arm64/boot/dts/qcom/sm8750.dtsi | 1 + 4 files changed, 4 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi index 54c6d0fdb2afa51084c510eddc341d6087189611..33574ad706b915136546c7f92c7cd0b8a0d62b7e 100644 --- a/arch/arm64/boot/dts/qcom/sm8450.dtsi +++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi @@ -3739,6 +3739,7 @@ aoss_qmp: power-management@c300000 { sram@c3f0000 { compatible = "qcom,rpmh-stats"; reg = <0 0x0c3f0000 0 0x400>; + qcom,qmp = <&aoss_qmp>; }; spmi_bus: spmi@c400000 { diff --git a/arch/arm64/boot/dts/qcom/sm8550.dtsi b/arch/arm64/boot/dts/qcom/sm8550.dtsi index 82cabf777cd2c1dc87457aeede913873e7322ec2..e8371a90b9b98fbc12a429def8f6246c6418540a 100644 --- a/arch/arm64/boot/dts/qcom/sm8550.dtsi +++ b/arch/arm64/boot/dts/qcom/sm8550.dtsi @@ -3943,6 +3943,7 @@ aoss_qmp: power-management@c300000 { sram@c3f0000 { compatible = "qcom,rpmh-stats"; reg = <0 0x0c3f0000 0 0x400>; + qcom,qmp = <&aoss_qmp>; }; spmi_bus: spmi@c400000 { diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qcom/sm8650.dtsi index c2937f7217943c4ca91a91eadc8259b2d6a01372..875b5a89d2555f258665c881ee3d96965b6d7a6a 100644 --- a/arch/arm64/boot/dts/qcom/sm8650.dtsi +++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi @@ -5725,6 +5725,7 @@ aoss_qmp: power-management@c300000 { sram@c3f0000 { compatible = "qcom,rpmh-stats"; reg = <0 0x0c3f0000 0 0x400>; + qcom,qmp = <&aoss_qmp>; }; spmi_bus: spmi@c400000 { diff --git a/arch/arm64/boot/dts/qcom/sm8750.dtsi b/arch/arm64/boot/dts/qcom/sm8750.dtsi index 149d2ed17641a085d510f3a8eab5a96304787f0c..4c54ed84e2d1ec836438448e2a02b6fe028f4c24 100644 --- a/arch/arm64/boot/dts/qcom/sm8750.dtsi +++ b/arch/arm64/boot/dts/qcom/sm8750.dtsi @@ -2490,6 +2490,7 @@ aoss_qmp: power-management@c300000 { sram@c3f0000 { compatible = "qcom,rpmh-stats"; reg = <0x0 0x0c3f0000 0x0 0x400>; + qcom,qmp = <&aoss_qmp>; }; spmi_bus: spmi@c400000 {