From patchwork Tue Apr 29 03:52:33 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maulik Shah X-Patchwork-Id: 885812 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 565822741B4 for ; Tue, 29 Apr 2025 03:53:10 +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=1745898792; cv=none; b=p2y2ADW7Z/t4GAXSXjdVuxX2OScTSL/Gu2MJ4FIxqHvAr83cXC2C08Yjyhv1bOGByuVFR5/HnXYZadbeoKr56AITHyhfNBTDRvtl4uSsFKT1wlzAJeZ61EmM2rmJh7cXwOaJXcVGni/vUG4/i6H0t0VP4bhpyLaf87vEbhrRv3E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745898792; c=relaxed/simple; bh=KBLVRw4EQ8n87HBdGxGZz0NBPnzcgQ3qqKwMHrpwiy8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KA6DfmUntoSi6S8t93xzjyymvirv6F7/GzWrjweUCcCBDdYWiQnAf74UGdKQlRDH2zMcZ5h3Ik7Bt5NcEdDLxnsgqWxhV5A9+n9d4hJ0+TI6LTLMQHvMwbuL5E0ZNutqTlTFPI7WuTjxaA19UqDGkNfWM3We/6/nURXyKqpMU68= 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=Qjy4WSpJ; 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="Qjy4WSpJ" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53SNq0kD000503 for ; Tue, 29 Apr 2025 03:53: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= 2m1IDBjD0TjZMEvSLlP6dKihhi0FrOlQ9FbxHyc3VOc=; b=Qjy4WSpJ8hkhWP7M JQI8swUaxPwD7v3VyCdN/W//2Jezt/dHCvXd4O9PQxfSe6FNxfFaYdQREDKS1UP2 bn1OwzSb9181uzedRQ9AtolpO/SXuc8Sgy1EXeUdUDV0nkwA72wPcQ86wPPikt5o kMCLIMjjYcj1VYqSCyW6V36NiMmyd2gX2v2dB45Fe5eRhAFHqQJ7SEgtg39iWodN 29adIIkbCtSYKungOhvZEmwBWItYECEmZJzk+/+1ceTqfZyy6Uu1CnMfAv38rl2F quplGJ1/Trk1kmxFslFm7Z0AfwswS2n7CIV3ilpvC8c32/YGuLvVNLYb8GFf+3/7 LFH2dg== Received: from mail-pj1-f69.google.com (mail-pj1-f69.google.com [209.85.216.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 468qv9k4ne-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 29 Apr 2025 03:53:09 +0000 (GMT) Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-308677f7d8cso4897367a91.1 for ; Mon, 28 Apr 2025 20:53:08 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745898788; x=1746503588; 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=2m1IDBjD0TjZMEvSLlP6dKihhi0FrOlQ9FbxHyc3VOc=; b=HdDrj9Ykthc/zl3/XO9ALmP7vmht4G1Yc9puOxPG87+othku6oZSRROHeYt6BbOwhh obOxGT2JvEWQ3j14mAX8Mo26Z+sQrPzqfW83XusqmG1zxYO1T0Lgj1zrd7WuP00Wb0Rw 21nEqBdHRaWoq0f9Vfwtu7OgGAtXaDjgy17B0bV9mxZTjP8vDtt6G7DqR9d5uuE3PMaf BrqNux86fMl56j4B4ceDy3KjdoCXNUOX14zl88FdLn2YZ7po6fCmcIZiKNk3pT6ys6dx BCrbxhyfnjc6MjHRuyhCeLSwIHoGNoCQvelnPqO0rKx7P5qwPfjPFDe5WwRoG/ifCRBf Y0zw== X-Gm-Message-State: AOJu0YwW76QiNGq58haqZviXTj/TOjLnr0nxSkMDlXJpgJ5GO2CJHwGS kmY+zQhIWkQcwPJDOUS35whv6iyFW5lmLS8FEjK1Cte1C76gybI6dMzWAYMYFFSr3L4vUaaTCae JZxWmJpxgaZ+zMhlApsqvpYEq8ew1VK7HIM7/tzA4mQ4euIl8y0JRebALOi2JbniR X-Gm-Gg: ASbGncvI2pnwbcXDV38DrFxhOPQu4A+mJF7FWvJuHrpiMKXz3QRK6tsCcSRUOrVizQ1 ChYcFuD5EACNVkZCDObk/uzrGWxqm3e3MuP/Fo8OH2REiyAR40hWI/Cob0SEveoGK+b9vmdaZ4W Krro+oFx+U6GDCUSmqxkG2bHc+z2oL8eUqZRJvgKiykznHNuB8mbmiKvHY7VNpv7o01n4sRd9+R OKRfRDOBrUZjFVELD0Wbfn4C2qY32A6rX3gM37hZ2dEpUE1aDU46R3ghe8hdcZ6gDY/zxV+6IJW 1B5lJrrJFtF7PuSCx/FFof1BLA== X-Received: by 2002:a17:90b:180d:b0:2ea:3f34:f18f with SMTP id 98e67ed59e1d1-30a2155e3a9mr2893530a91.19.1745898787616; Mon, 28 Apr 2025 20:53:07 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF1q4t1m3f4GvYJbXnKaMCxaGgbZDgtqDg7V77DGHIyDPWC3NyYh4PdtUYfHdknPZWwBPYZmQ== X-Received: by 2002:a17:90b:180d:b0:2ea:3f34:f18f with SMTP id 98e67ed59e1d1-30a2155e3a9mr2893499a91.19.1745898787237; Mon, 28 Apr 2025 20:53:07 -0700 (PDT) Received: from [10.213.103.17] ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-309ef1246d2sm9960522a91.36.2025.04.28.20.53.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Apr 2025 20:53:06 -0700 (PDT) From: Maulik Shah Date: Tue, 29 Apr 2025 09:22:33 +0530 Subject: [PATCH 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: <20250429-ddr_stats_-v1-1-4fc818aab7bb@oss.qualcomm.com> References: <20250429-ddr_stats_-v1-0-4fc818aab7bb@oss.qualcomm.com> In-Reply-To: <20250429-ddr_stats_-v1-0-4fc818aab7bb@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=1745898780; l=5276; i=maulik.shah@oss.qualcomm.com; s=20240109; h=from:subject:message-id; bh=KBLVRw4EQ8n87HBdGxGZz0NBPnzcgQ3qqKwMHrpwiy8=; b=jvfrpmCuDX3A2WMdlLy9dc+yPuxLUDhMVexQtph/E3DHCI2h6+8VcfU7HExxKmmpoe+LEsh3X iMmglpf78YQC0EtqPgjbl/8smS0fRGPXNrZjh8XcfDu/9UYbeZyQ09Y X-Developer-Key: i=maulik.shah@oss.qualcomm.com; a=ed25519; pk=bd9h5FIIliUddIk8p3BlQWBlzKEQ/YW5V+fe759hTWQ= X-Authority-Analysis: v=2.4 cv=AO34vM+d c=1 sm=1 tr=0 ts=68104d25 cx=c_pps a=vVfyC5vLCtgYJKYeQD43oA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=EUspDBNiAAAA:8 a=K4m-N6GZnQPiituObOwA:9 a=QEXdDO2ut3YA:10 a=rl5im9kqc5Lf4LNbBjHf:22 X-Proofpoint-GUID: AL6bWGx4f7xJts2tPCy263n6udlWu1gd X-Proofpoint-ORIG-GUID: AL6bWGx4f7xJts2tPCy263n6udlWu1gd X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNDI5MDAyNyBTYWx0ZWRfX8bMH+LoqdUuB XGYV8IuSDFSl5+KWr81k9mgfyKj0iV7Qm6CFsAuQswWoPWNTa14ZEknWfBZ6wWkfAENBAeXbihb JUpDp4Lc79l5Oay/YA3OrWu+o5KS/+lSQ0K8DyEgMf5zYsCCEQ30aVzpyu/jtBILP6yS9Bag2t0 dWbtA5ra35p4dCaNJBL7RmgQv1jdsKGa3UsS8y+es7go37Kak9csOKmPlq3oKHGa7S9m6Z7dBT3 849Wz7kg62WOvDMGk4Ey+HpUSS8TjfAsi6iWgDegPWmROQsL+Y5YegTh07Kqm+ndIytZKyamEMX hQuYmmuzwrdxkzfNXSLN+VfMjEkQidUy52YP7LOUWb4nwdP8Bo0160SzNdyeLvax5WfNYO3+SR5 PsRqaPlVOseMKNn7EFsmuGQG4GFBYWziRHuneilcXMGy9oRkxLixLHAVuQRf6oKeNEPeLLjB 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-04-29_01,2025-04-24_02,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 adultscore=0 clxscore=1015 malwarescore=0 spamscore=0 suspectscore=0 mlxlogscore=999 mlxscore=0 bulkscore=0 impostorscore=0 lowpriorityscore=0 phishscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2504290027 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..ee11fb0919742454d40442112787c087ba8f6598 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 0x14 +#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, name; + + /* + * 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 + */ + name = DDR_STATS_TYPE(data->name); + if (name == 0x0) { + name = DDR_STATS_LPM_NAME(data->name); + seq_printf(s, "DDR LPM Stat Name:0x%x\tcount:%u\tDuration (ticks):%llu\n", + name, data->count, data->duration); + } else if (name == 0x1) { + name = DDR_STATS_FREQ(data->name); + if (!name || !data->count) + return; + + cp_idx = DDR_STATS_CP_IDX(data->name); + seq_printf(s, "DDR Freq %uMhz:\tCP IDX:%u\tcount:%u\tDuration (ticks):%llu\n", + name, cp_idx, data->count, data->duration); + } +} + +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 0; + + 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 Tue Apr 29 03:52:35 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maulik Shah X-Patchwork-Id: 885811 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 4DF0726B2C4 for ; Tue, 29 Apr 2025 03:53: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=1745898797; cv=none; b=E3KQG7S9Qv7NJn45VZtue0f4Lod5LmyX1i0Yh7gzUcYJ/fmzTDAUCcA3ExnbPC7riIDlr6XUScG+gi/B+ynAzuCcfPB8WMBpLr/PPDoE7/mZOGXIRAqW4ROOsIsvcJoywhX/9jnKNMr72HNAc6iRRd7igo5Ylo3budTR4Uvnc9w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745898797; c=relaxed/simple; bh=vNy7Hg/TiGtEZictJW89jX/dHyDjn42M2TrCGJb8CAM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pOVM+4bmZUjucG9jXuCC0XfgaOehW09ivmZyC+lPUg0ScSksJIpaV77LTseog+N8axCKQCJQS/QKszqZNNv+MvjSQ3FkpERecTEdelX0vsZ2ZA/bBxe4JjoLh7su30c0HBlOfSZvR2MRNDBv0gtTUiRMF5AVGgnlR612oEiMaYM= 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=MZvp3WpP; 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="MZvp3WpP" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53SNq5Vh030434 for ; Tue, 29 Apr 2025 03:53: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= 5YbBsH4zeCrmK/Ek4rH6YPASrY2/sAhfKu9QU9dC1zs=; b=MZvp3WpPHdeZJzCf gCG0i4xY2pvHYfsv2cGDPKeriUzsGnNpN1YWrSxHSHNM0ExM2BZ0ZUYiEnjjZ6Q1 IEK2ZBe+SZZ/tTyssqF7xjrOFX5pH6fjGPCrEa6MXRYDsDBKPffmZgv+6HEVClVE M/aWkOJcPKrg/7udwQWOStH9unnktuS3YBpLlb6NTAM9CB934/KocwwABri2MsV6 V5hbzXjRabvpt9/rJzOIQWP+F8HT44YqLQJciWMPcFkz1TYwimW15gECVFz5762P ijdDc6wjoMUNauNbF+8aGZ0A4pV/TbWFWJDlWxNLq/lCgQihEBZ2uLHwnCWylFKe 7hZgYw== Received: from mail-pj1-f72.google.com (mail-pj1-f72.google.com [209.85.216.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 468pevj8rv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 29 Apr 2025 03:53:15 +0000 (GMT) Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-3087a703066so5312895a91.0 for ; Mon, 28 Apr 2025 20:53:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745898794; x=1746503594; 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=CFE033wVVT2QneSOCwOm5qUoE96J/beTk3+Kz16wpGNa/W0rK9JQvshUXrdQNh9GAG R5lBUcVHw0TKflzMuWLU8BMvL9jslWwvEMq/XKpsl6G5C+hvJLAW9x2gP2G/NYzG06i6 8iGxtzFxrjNHCETdh/EwZM1Tfj9Vc1r/JSKww9O/Q1qyvHK37S8T9XHJVzqzRKx7sYAo PFipdijrxlY0AzTwCfCChHfhGsxHka+H+3gBYxbmGYYq9vnTITWn6vaNkNvnX42jsQ6h NSdqy4K1RReXwA3z1YIw3gfz1Doj+NWYgrLQhzR8nXIi4RS/cL7P8Gy59z6NE52EXDJW ZiFQ== X-Gm-Message-State: AOJu0YxHtBuqDVKosrcNVsCHCC6OLLH299SkCnah4K7qnxfVt8LsFp0s 3e8O/PWSoeed/U7a6jQrlhOm4LDBrtj6Mwx8Q54H7MaBOXUy8xnQ3uYoHhzuRbvYaqqvy+BbNWN XJH7RMVS9pB274ngau2pRtph1K058InNtSng/2WhhvkopytJqNhUqdxBTnlB01XIE X-Gm-Gg: ASbGncssW4+V4pge5Dr2ntnWIo4c0HCFRYmJVSrQV8bLtLs2+T+UjTDGocNrmLTUrhW RCGnXLc6ugEfn6vSmpgdjevrWghRqh4xxuLQ4ycc6N+b1/3hzHZOhZJpoEVdIeun8ZdUlGTO4+8 U9nuJgXbonZJ3YA7NqjS/K+gZ1t++pj8QeDV7JED4ePgmM6IRetsAB96UYHVueb/RwGwcfTGo+M FsJVLJdD/1jSkcV2BzGAWg1ktkrt4Belj/0CQZVYrpAZgWy3onfVsIjJclFrhDSVfS4seH7L9KH wsdF8+Hc2ByxaESlRMU4ikaPRA== X-Received: by 2002:a17:90b:1d51:b0:308:539d:7577 with SMTP id 98e67ed59e1d1-30a01033a09mr19761872a91.0.1745898794127; Mon, 28 Apr 2025 20:53:14 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHz/yoGOCtkxG61Y388At57vkidFm4d9jlbyUVuP2IvXjqVOZVOballcMOOvtXcLz9jntlNHA== X-Received: by 2002:a17:90b:1d51:b0:308:539d:7577 with SMTP id 98e67ed59e1d1-30a01033a09mr19761844a91.0.1745898793767; Mon, 28 Apr 2025 20:53:13 -0700 (PDT) Received: from [10.213.103.17] ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-309ef1246d2sm9960522a91.36.2025.04.28.20.53.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Apr 2025 20:53:13 -0700 (PDT) From: Maulik Shah Date: Tue, 29 Apr 2025 09:22:35 +0530 Subject: [PATCH 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: <20250429-ddr_stats_-v1-3-4fc818aab7bb@oss.qualcomm.com> References: <20250429-ddr_stats_-v1-0-4fc818aab7bb@oss.qualcomm.com> In-Reply-To: <20250429-ddr_stats_-v1-0-4fc818aab7bb@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=1745898780; l=2423; i=maulik.shah@oss.qualcomm.com; s=20240109; h=from:subject:message-id; bh=vNy7Hg/TiGtEZictJW89jX/dHyDjn42M2TrCGJb8CAM=; b=m8vzzDztRzCVdUvyFvXn4roSIywRLgmQCPiNd+b9l29u4EfXBExYqBT0NFPXUd/tYfhPwRwRH qSMweHgCM7+BHqNJRzp/0oJgzFTDpF9Q1t38BG7/3isJ2Dm2Vt9dk/m X-Developer-Key: i=maulik.shah@oss.qualcomm.com; a=ed25519; pk=bd9h5FIIliUddIk8p3BlQWBlzKEQ/YW5V+fe759hTWQ= X-Proofpoint-ORIG-GUID: MjWnO8fWHmKWgi7S8obk4uXPjL26yhwa X-Authority-Analysis: v=2.4 cv=aeBhnQot c=1 sm=1 tr=0 ts=68104d2b cx=c_pps a=RP+M6JBNLl+fLTcSJhASfg==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=XR8D0OoHHMoA:10 a=EUspDBNiAAAA:8 a=GL-xn7CBy2CN3rfaf34A:9 a=QEXdDO2ut3YA:10 a=iS9zxrgQBfv6-_F4QbHw:22 X-Proofpoint-GUID: MjWnO8fWHmKWgi7S8obk4uXPjL26yhwa X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNDI5MDAyNyBTYWx0ZWRfX0vGWst+lj3YA XFf+rSoQoGsTmN+LPJiVBoeyL2sN/A34YihKAwXr6g2QGDb/0Fxu7t18apyVVKExblDQCiAPGSV d1+oglqjWVGG0L+hHrajLfa2TQOZQAS5+sSPwEz6j8AsWcDT9PrgtBpHKWx3xTXG9552Ec/ThOr wDJhc6GkFzICM+WW4Ah88HsogioG5xFL+9MPTZtAcBTaIHcr8Gc6IR81YOsg4svitFKrO8ySqsn cciWypuzSq6anKGa+NMpzufSbO+NHu3V84+Bjay5Oj1CCB5afQwofqksyvgO9Yf91NmJldm5NsT /IJVdGQlTpvfxR26hAERSff3QGvIeB6b0fM5oTHGBxV95mTbM5JNgb8wBr78wk1Q0oW0E2Zr5tf /BqV6XU/WcPRzWScHcZG4tE2dv+th/4ricIhqszDHJufsm2DO1xqezaKrSYq4KUzksd2IZfM 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-04-29_01,2025-04-24_02,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 clxscore=1015 impostorscore=0 bulkscore=0 malwarescore=0 priorityscore=1501 spamscore=0 mlxlogscore=660 phishscore=0 suspectscore=0 lowpriorityscore=0 mlxscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2504290027 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 {