]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
perf vendor events arm64: Add i.MX91 DDR Performance Monitor metrics
authorXu Yang <xu.yang_2@nxp.com>
Tue, 24 Sep 2024 06:12:51 +0000 (14:12 +0800)
committerNamhyung Kim <namhyung@kernel.org>
Mon, 28 Oct 2024 16:37:02 +0000 (09:37 -0700)
Add JSON metrics for i.MX91 DDR Performance Monitor.

Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: festevam@gmail.com
Cc: conor+dt@kernel.org
Cc: krzk+dt@kernel.org
Cc: robh@kernel.org
Cc: shawnguo@kernel.org
Cc: will@kernel.org
Cc: james.clark@linaro.org
Cc: mike.leach@linaro.org
Cc: leo.yan@linux.dev
Cc: linux-arm-kernel@lists.infradead.org
Cc: imx@lists.linux.dev
Cc: Frank.li@nxp.com
Cc: john.g.garry@oracle.com
Cc: kernel@pengutronix.de
Cc: s.hauer@pengutronix.de
Cc: devicetree@vger.kernel.org
Link: https://lore.kernel.org/r/20240924061251.3387850-3-xu.yang_2@nxp.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/ddrc.json [new file with mode: 0644]
tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/metrics.json [new file with mode: 0644]

diff --git a/tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/ddrc.json b/tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/ddrc.json
new file mode 100644 (file)
index 0000000..74ac126
--- /dev/null
@@ -0,0 +1,9 @@
+[
+   {
+           "BriefDescription": "ddr cycles event",
+           "EventCode": "0x00",
+           "EventName": "imx91_ddr.cycles",
+           "Unit": "imx9_ddr",
+           "Compat": "imx91"
+   }
+]
diff --git a/tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/metrics.json b/tools/perf/pmu-events/arch/arm64/freescale/imx91/sys/metrics.json
new file mode 100644 (file)
index 0000000..f0c5911
--- /dev/null
@@ -0,0 +1,26 @@
+[
+   {
+           "BriefDescription": "bandwidth usage for lpddr4 evk board",
+           "MetricName": "imx91_bandwidth_usage.lpddr4",
+           "MetricExpr": "(((( imx9_ddr0@ddrc_pm_0@ ) * 2 * 8 ) + (( imx9_ddr0@ddrc_pm_3@ + imx9_ddr0@ddrc_pm_5@ + imx9_ddr0@ddrc_pm_7@ + imx9_ddr0@ddrc_pm_9@ - imx9_ddr0@ddrc_pm_2@ - imx9_ddr0@ddrc_pm_4@ - imx9_ddr0@ddrc_pm_6@ - imx9_ddr0@ddrc_pm_8@ ) * 32 )) / duration_time) / (2400 * 1000000 * 2)",
+           "ScaleUnit": "1e2%",
+           "Unit": "imx9_ddr",
+           "Compat": "imx91"
+   },
+   {
+           "BriefDescription": "bytes all masters read from ddr",
+           "MetricName": "imx91_ddr_read.all",
+           "MetricExpr": "( imx9_ddr0@ddrc_pm_0@ ) * 2 * 8",
+           "ScaleUnit": "9.765625e-4KB",
+           "Unit": "imx9_ddr",
+           "Compat": "imx91"
+   },
+   {
+           "BriefDescription": "bytes all masters write to ddr",
+           "MetricName": "imx91_ddr_write.all",
+           "MetricExpr": "( imx9_ddr0@ddrc_pm_3@ + imx9_ddr0@ddrc_pm_5@ + imx9_ddr0@ddrc_pm_7@ + imx9_ddr0@ddrc_pm_9@ - imx9_ddr0@ddrc_pm_2@ - imx9_ddr0@ddrc_pm_4@ - imx9_ddr0@ddrc_pm_6@ - imx9_ddr0@ddrc_pm_8@ ) * 32",
+           "ScaleUnit": "9.765625e-4KB",
+           "Unit": "imx9_ddr",
+           "Compat": "imx91"
+   }
+]