* [PATCH 0/2] Add AXI address filter support for MMDC profiling
@ 2017-02-14 9:01 ` Tiberiu Breana
0 siblings, 0 replies; 8+ messages in thread
From: Tiberiu Breana @ 2017-02-14 9:01 UTC (permalink / raw)
To: shawnguo, frank.li
Cc: linux-arm-kernel, linux-kernel, peterz, mingo, acme,
alexander.shishkin, lznuaa, mark.rutland, Tiberiu Breana
This patch set is aimed at the i.MX6 MMDC driver:
Patch 1 is a bug fix for the "write-accesses" event definition.
Patch 2 adds AXI address filter support for MMDC profiling.
Tiberiu Breana (2):
Fix mmdc_pmu_write_accesses event definition
Add AXI address filter support for MMDC profiling
arch/arm/mach-imx/mmdc.c | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
--
2.7.4
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 0/2] Add AXI address filter support for MMDC profiling
@ 2017-02-14 9:01 ` Tiberiu Breana
0 siblings, 0 replies; 8+ messages in thread
From: Tiberiu Breana @ 2017-02-14 9:01 UTC (permalink / raw)
To: linux-arm-kernel
This patch set is aimed at the i.MX6 MMDC driver:
Patch 1 is a bug fix for the "write-accesses" event definition.
Patch 2 adds AXI address filter support for MMDC profiling.
Tiberiu Breana (2):
Fix mmdc_pmu_write_accesses event definition
Add AXI address filter support for MMDC profiling
arch/arm/mach-imx/mmdc.c | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
--
2.7.4
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/2] Fix mmdc_pmu_write_accesses event definition
2017-02-14 9:01 ` Tiberiu Breana
@ 2017-02-14 9:01 ` Tiberiu Breana
-1 siblings, 0 replies; 8+ messages in thread
From: Tiberiu Breana @ 2017-02-14 9:01 UTC (permalink / raw)
To: shawnguo, frank.li
Cc: linux-arm-kernel, linux-kernel, peterz, mingo, acme,
alexander.shishkin, lznuaa, mark.rutland, Tiberiu Breana
Fixed an error in the "write-accesses" event definition.
Signed-off-by: Tiberiu Breana <andrei-tiberiu.breana@nxp.com>
---
arch/arm/mach-imx/mmdc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/mach-imx/mmdc.c b/arch/arm/mach-imx/mmdc.c
index c03bf28..89a926f 100644
--- a/arch/arm/mach-imx/mmdc.c
+++ b/arch/arm/mach-imx/mmdc.c
@@ -87,7 +87,7 @@ static DEFINE_IDA(mmdc_ida);
PMU_EVENT_ATTR_STRING(total-cycles, mmdc_pmu_total_cycles, "event=0x00")
PMU_EVENT_ATTR_STRING(busy-cycles, mmdc_pmu_busy_cycles, "event=0x01")
PMU_EVENT_ATTR_STRING(read-accesses, mmdc_pmu_read_accesses, "event=0x02")
-PMU_EVENT_ATTR_STRING(write-accesses, mmdc_pmu_write_accesses, "config=0x03")
+PMU_EVENT_ATTR_STRING(write-accesses, mmdc_pmu_write_accesses, "event=0x03")
PMU_EVENT_ATTR_STRING(read-bytes, mmdc_pmu_read_bytes, "event=0x04")
PMU_EVENT_ATTR_STRING(read-bytes.unit, mmdc_pmu_read_bytes_unit, "MB");
PMU_EVENT_ATTR_STRING(read-bytes.scale, mmdc_pmu_read_bytes_scale, "0.000001");
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 1/2] Fix mmdc_pmu_write_accesses event definition
@ 2017-02-14 9:01 ` Tiberiu Breana
0 siblings, 0 replies; 8+ messages in thread
From: Tiberiu Breana @ 2017-02-14 9:01 UTC (permalink / raw)
To: linux-arm-kernel
Fixed an error in the "write-accesses" event definition.
Signed-off-by: Tiberiu Breana <andrei-tiberiu.breana@nxp.com>
---
arch/arm/mach-imx/mmdc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/mach-imx/mmdc.c b/arch/arm/mach-imx/mmdc.c
index c03bf28..89a926f 100644
--- a/arch/arm/mach-imx/mmdc.c
+++ b/arch/arm/mach-imx/mmdc.c
@@ -87,7 +87,7 @@ static DEFINE_IDA(mmdc_ida);
PMU_EVENT_ATTR_STRING(total-cycles, mmdc_pmu_total_cycles, "event=0x00")
PMU_EVENT_ATTR_STRING(busy-cycles, mmdc_pmu_busy_cycles, "event=0x01")
PMU_EVENT_ATTR_STRING(read-accesses, mmdc_pmu_read_accesses, "event=0x02")
-PMU_EVENT_ATTR_STRING(write-accesses, mmdc_pmu_write_accesses, "config=0x03")
+PMU_EVENT_ATTR_STRING(write-accesses, mmdc_pmu_write_accesses, "event=0x03")
PMU_EVENT_ATTR_STRING(read-bytes, mmdc_pmu_read_bytes, "event=0x04")
PMU_EVENT_ATTR_STRING(read-bytes.unit, mmdc_pmu_read_bytes_unit, "MB");
PMU_EVENT_ATTR_STRING(read-bytes.scale, mmdc_pmu_read_bytes_scale, "0.000001");
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/2] Add AXI address filter support for MMDC profiling
2017-02-14 9:01 ` Tiberiu Breana
@ 2017-02-14 9:01 ` Tiberiu Breana
-1 siblings, 0 replies; 8+ messages in thread
From: Tiberiu Breana @ 2017-02-14 9:01 UTC (permalink / raw)
To: shawnguo, frank.li
Cc: linux-arm-kernel, linux-kernel, peterz, mingo, acme,
alexander.shishkin, lznuaa, mark.rutland, Tiberiu Breana
Add support for an extra config parameter for perf commands:
axi_id, which will be written in the MMDC's MADPCR1 register,
to filter memory usage profiling (see i.MX6 reference manual,
chapter 44.7 MMDC Profiling for AXI id usage).
Signed-off-by: Tiberiu Breana <andrei-tiberiu.breana@nxp.com>
---
arch/arm/mach-imx/mmdc.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/arch/arm/mach-imx/mmdc.c b/arch/arm/mach-imx/mmdc.c
index 89a926f..7826289 100644
--- a/arch/arm/mach-imx/mmdc.c
+++ b/arch/arm/mach-imx/mmdc.c
@@ -1,4 +1,5 @@
/*
+ * Copyright 2017 NXP
* Copyright 2011,2016 Freescale Semiconductor, Inc.
* Copyright 2011 Linaro Ltd.
*
@@ -47,6 +48,7 @@
#define PROFILE_SEL 0x10
#define MMDC_MADPCR0 0x410
+#define MMDC_MADPCR1 0x414
#define MMDC_MADPSR0 0x418
#define MMDC_MADPSR1 0x41C
#define MMDC_MADPSR2 0x420
@@ -57,6 +59,7 @@
#define MMDC_NUM_COUNTERS 6
#define MMDC_FLAG_PROFILE_SEL 0x1
+#define MMDC_PRF_AXI_ID_CLEAR 0x0
#define to_mmdc_pmu(p) container_of(p, struct mmdc_pmu, pmu)
@@ -161,8 +164,11 @@ static struct attribute_group mmdc_pmu_events_attr_group = {
};
PMU_FORMAT_ATTR(event, "config:0-63");
+PMU_FORMAT_ATTR(axi_id, "config1:0-63");
+
static struct attribute *mmdc_pmu_format_attrs[] = {
&format_attr_event.attr,
+ &format_attr_axi_id.attr,
NULL,
};
@@ -345,6 +351,14 @@ static void mmdc_pmu_event_start(struct perf_event *event, int flags)
writel(DBG_RST, reg);
+ /*
+ * Write the AXI id parameter to MADPCR1.
+ */
+ val = event->attr.config1;
+ reg = mmdc_base + MMDC_MADPCR1;
+ writel(val, reg);
+
+ reg = mmdc_base + MMDC_MADPCR0;
val = DBG_EN;
if (pmu_mmdc->devtype_data->flags & MMDC_FLAG_PROFILE_SEL)
val |= PROFILE_SEL;
@@ -382,6 +396,10 @@ static void mmdc_pmu_event_stop(struct perf_event *event, int flags)
reg = mmdc_base + MMDC_MADPCR0;
writel(PRF_FRZ, reg);
+
+ reg = mmdc_base + MMDC_MADPCR1;
+ writel(MMDC_PRF_AXI_ID_CLEAR, reg);
+
mmdc_pmu_event_update(event);
}
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/2] Add AXI address filter support for MMDC profiling
@ 2017-02-14 9:01 ` Tiberiu Breana
0 siblings, 0 replies; 8+ messages in thread
From: Tiberiu Breana @ 2017-02-14 9:01 UTC (permalink / raw)
To: linux-arm-kernel
Add support for an extra config parameter for perf commands:
axi_id, which will be written in the MMDC's MADPCR1 register,
to filter memory usage profiling (see i.MX6 reference manual,
chapter 44.7 MMDC Profiling for AXI id usage).
Signed-off-by: Tiberiu Breana <andrei-tiberiu.breana@nxp.com>
---
arch/arm/mach-imx/mmdc.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/arch/arm/mach-imx/mmdc.c b/arch/arm/mach-imx/mmdc.c
index 89a926f..7826289 100644
--- a/arch/arm/mach-imx/mmdc.c
+++ b/arch/arm/mach-imx/mmdc.c
@@ -1,4 +1,5 @@
/*
+ * Copyright 2017 NXP
* Copyright 2011,2016 Freescale Semiconductor, Inc.
* Copyright 2011 Linaro Ltd.
*
@@ -47,6 +48,7 @@
#define PROFILE_SEL 0x10
#define MMDC_MADPCR0 0x410
+#define MMDC_MADPCR1 0x414
#define MMDC_MADPSR0 0x418
#define MMDC_MADPSR1 0x41C
#define MMDC_MADPSR2 0x420
@@ -57,6 +59,7 @@
#define MMDC_NUM_COUNTERS 6
#define MMDC_FLAG_PROFILE_SEL 0x1
+#define MMDC_PRF_AXI_ID_CLEAR 0x0
#define to_mmdc_pmu(p) container_of(p, struct mmdc_pmu, pmu)
@@ -161,8 +164,11 @@ static struct attribute_group mmdc_pmu_events_attr_group = {
};
PMU_FORMAT_ATTR(event, "config:0-63");
+PMU_FORMAT_ATTR(axi_id, "config1:0-63");
+
static struct attribute *mmdc_pmu_format_attrs[] = {
&format_attr_event.attr,
+ &format_attr_axi_id.attr,
NULL,
};
@@ -345,6 +351,14 @@ static void mmdc_pmu_event_start(struct perf_event *event, int flags)
writel(DBG_RST, reg);
+ /*
+ * Write the AXI id parameter to MADPCR1.
+ */
+ val = event->attr.config1;
+ reg = mmdc_base + MMDC_MADPCR1;
+ writel(val, reg);
+
+ reg = mmdc_base + MMDC_MADPCR0;
val = DBG_EN;
if (pmu_mmdc->devtype_data->flags & MMDC_FLAG_PROFILE_SEL)
val |= PROFILE_SEL;
@@ -382,6 +396,10 @@ static void mmdc_pmu_event_stop(struct perf_event *event, int flags)
reg = mmdc_base + MMDC_MADPCR0;
writel(PRF_FRZ, reg);
+
+ reg = mmdc_base + MMDC_MADPCR1;
+ writel(MMDC_PRF_AXI_ID_CLEAR, reg);
+
mmdc_pmu_event_update(event);
}
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] Fix mmdc_pmu_write_accesses event definition
2017-02-14 9:01 ` Tiberiu Breana
@ 2017-02-14 15:24 ` Zhi Li
-1 siblings, 0 replies; 8+ messages in thread
From: Zhi Li @ 2017-02-14 15:24 UTC (permalink / raw)
To: Tiberiu Breana
Cc: Shawn Guo, Frank Li, linux-arm-kernel, kernel list,
Peter Zijlstra, Ingo Molnar, acme, alexander.shishkin,
Mark Rutland
Subject should add prefix like:
ARM: imx: fix xxxx
best regards
Frank Li
On Tue, Feb 14, 2017 at 3:01 AM, Tiberiu Breana
<andrei-tiberiu.breana@nxp.com> wrote:
> Fixed an error in the "write-accesses" event definition.
>
> Signed-off-by: Tiberiu Breana <andrei-tiberiu.breana@nxp.com>
> ---
> arch/arm/mach-imx/mmdc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-imx/mmdc.c b/arch/arm/mach-imx/mmdc.c
> index c03bf28..89a926f 100644
> --- a/arch/arm/mach-imx/mmdc.c
> +++ b/arch/arm/mach-imx/mmdc.c
> @@ -87,7 +87,7 @@ static DEFINE_IDA(mmdc_ida);
> PMU_EVENT_ATTR_STRING(total-cycles, mmdc_pmu_total_cycles, "event=0x00")
> PMU_EVENT_ATTR_STRING(busy-cycles, mmdc_pmu_busy_cycles, "event=0x01")
> PMU_EVENT_ATTR_STRING(read-accesses, mmdc_pmu_read_accesses, "event=0x02")
> -PMU_EVENT_ATTR_STRING(write-accesses, mmdc_pmu_write_accesses, "config=0x03")
> +PMU_EVENT_ATTR_STRING(write-accesses, mmdc_pmu_write_accesses, "event=0x03")
> PMU_EVENT_ATTR_STRING(read-bytes, mmdc_pmu_read_bytes, "event=0x04")
> PMU_EVENT_ATTR_STRING(read-bytes.unit, mmdc_pmu_read_bytes_unit, "MB");
> PMU_EVENT_ATTR_STRING(read-bytes.scale, mmdc_pmu_read_bytes_scale, "0.000001");
> --
> 2.7.4
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/2] Fix mmdc_pmu_write_accesses event definition
@ 2017-02-14 15:24 ` Zhi Li
0 siblings, 0 replies; 8+ messages in thread
From: Zhi Li @ 2017-02-14 15:24 UTC (permalink / raw)
To: linux-arm-kernel
Subject should add prefix like:
ARM: imx: fix xxxx
best regards
Frank Li
On Tue, Feb 14, 2017 at 3:01 AM, Tiberiu Breana
<andrei-tiberiu.breana@nxp.com> wrote:
> Fixed an error in the "write-accesses" event definition.
>
> Signed-off-by: Tiberiu Breana <andrei-tiberiu.breana@nxp.com>
> ---
> arch/arm/mach-imx/mmdc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-imx/mmdc.c b/arch/arm/mach-imx/mmdc.c
> index c03bf28..89a926f 100644
> --- a/arch/arm/mach-imx/mmdc.c
> +++ b/arch/arm/mach-imx/mmdc.c
> @@ -87,7 +87,7 @@ static DEFINE_IDA(mmdc_ida);
> PMU_EVENT_ATTR_STRING(total-cycles, mmdc_pmu_total_cycles, "event=0x00")
> PMU_EVENT_ATTR_STRING(busy-cycles, mmdc_pmu_busy_cycles, "event=0x01")
> PMU_EVENT_ATTR_STRING(read-accesses, mmdc_pmu_read_accesses, "event=0x02")
> -PMU_EVENT_ATTR_STRING(write-accesses, mmdc_pmu_write_accesses, "config=0x03")
> +PMU_EVENT_ATTR_STRING(write-accesses, mmdc_pmu_write_accesses, "event=0x03")
> PMU_EVENT_ATTR_STRING(read-bytes, mmdc_pmu_read_bytes, "event=0x04")
> PMU_EVENT_ATTR_STRING(read-bytes.unit, mmdc_pmu_read_bytes_unit, "MB");
> PMU_EVENT_ATTR_STRING(read-bytes.scale, mmdc_pmu_read_bytes_scale, "0.000001");
> --
> 2.7.4
>
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2017-02-14 15:24 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-14 9:01 [PATCH 0/2] Add AXI address filter support for MMDC profiling Tiberiu Breana
2017-02-14 9:01 ` Tiberiu Breana
2017-02-14 9:01 ` [PATCH 1/2] Fix mmdc_pmu_write_accesses event definition Tiberiu Breana
2017-02-14 9:01 ` Tiberiu Breana
2017-02-14 15:24 ` Zhi Li
2017-02-14 15:24 ` Zhi Li
2017-02-14 9:01 ` [PATCH 2/2] Add AXI address filter support for MMDC profiling Tiberiu Breana
2017-02-14 9:01 ` Tiberiu Breana
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.