linux-stable/arch/arm/mach-imx
Zhengyu Shen e76bdfd740 ARM: imx: Added perf functionality to mmdc driver
MMDC is a multi-mode DDR controller that supports DDR3/DDR3L x16/x32/x64
and LPDDR2 two channel x16/x32 memory types. MMDC is configurable, high
performance, and optimized. MMDC is present on i.MX6 Quad and i.MX6
QuadPlus devices, but this driver only supports i.MX6 Quad at the moment.
MMDC provides registers for performance counters which read via this
driver to help debug memory throughput and similar issues.

$ perf stat -a -e mmdc/busy-cycles/,mmdc/read-accesses/,mmdc/read-bytes/,mmdc/total-cycles/,mmdc/write-accesses/,mmdc/write-bytes/ dd if=/dev/zero of=/dev/null bs=1M count=5000
Performance counter stats for 'dd if=/dev/zero of=/dev/null bs=1M count=5000':

         898021787      mmdc/busy-cycles/
          14819600      mmdc/read-accesses/
            471.30 MB   mmdc/read-bytes/
        2815419216      mmdc/total-cycles/
          13367354      mmdc/write-accesses/
            427.76 MB   mmdc/write-bytes/

       5.334757334 seconds time elapsed

Signed-off-by: Zhengyu Shen <zhengyu.shen@nxp.com>
Signed-off-by: Frank Li <frank.li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2016-10-23 20:39:01 +08:00
..
devices ARM: imx: remove platform-mxc_rnga 2016-08-16 13:59:15 +08:00
3ds_debugboard.c ARM: imx: use endian-safe readl/readw/writel/writew 2016-02-02 13:24:17 +08:00
3ds_debugboard.h
anatop.c ARM: imx: Add msl code support for imx6qp 2016-02-14 11:07:17 +08:00
avic.c ARM: i.MX: Fix FIQ interrupt handling for TZIC 2016-06-21 15:57:05 +08:00
board-mx31lilly.h
board-mx31lite.h
board-mx31moboard.h
common.h ARM: SoC platform updates for v4.9 2016-10-07 21:18:42 -07:00
cpu-imx5.c ARM: imx: remove last call to cpu_is_mx5* 2016-06-28 10:26:42 +08:00
cpu-imx25.c ARM: mx25: Retrieve IIM base from dt 2015-03-13 22:06:35 +08:00
cpu-imx27.c ARM: imx: use endian-safe readl/readw/writel/writew 2016-02-02 13:24:17 +08:00
cpu-imx31.c ARM: imx: use endian-safe readl/readw/writel/writew 2016-02-02 13:24:17 +08:00
cpu-imx35.c ARM: imx: use endian-safe readl/readw/writel/writew 2016-02-02 13:24:17 +08:00
cpu.c ARM: imx: remove cpu_is_mx*() 2016-06-28 10:26:45 +08:00
cpuidle-imx5.c cpuidle: Invert CPUIDLE_FLAG_TIME_VALID logic 2014-11-12 21:17:27 +01:00
cpuidle-imx6q.c ARM: imx: rename imx6q_set_int_mem_clk_lpm() function 2016-08-29 22:39:27 +08:00
cpuidle-imx6sl.c ARM: imx6: set initial power mode in pm function 2015-06-03 14:44:31 +08:00
cpuidle-imx6sx.c ARM: imx: add cpuidle support for i.mx6ul 2016-08-29 22:39:28 +08:00
cpuidle.h ARM: imx: support arm power off in cpuidle for i.mx6sx 2015-01-05 21:34:29 +08:00
crmregs-imx3.h
devices-imx21.h
devices-imx27.h
devices-imx31.h
devices-imx35.h
ehci-imx27.c
ehci-imx31.c
ehci-imx35.c
ehci.h
epit.c ARM: imx: use endian-safe readl/readw/writel/writew 2016-02-02 13:24:17 +08:00
gpc.c ARM: imx6: mark GPC node as not populated after irq init to probe pm domain driver 2016-08-09 12:36:28 -05:00
hardware.h ARM: imx: (trivial) fix typo and grammar 2016-09-05 10:36:19 +08:00
headsmp.S ARM: imx: enable big endian mode 2016-02-02 13:31:19 +08:00
hotplug.c
iim.h
imx27-dt.c ARM: imx: rework mx27_pm_init() call 2016-06-28 10:26:40 +08:00
imx31-dt.c ARM: imx: deconstruct mxc_rnga initialization 2016-06-28 10:26:34 +08:00
imx35-dt.c ARM: i.MX: Do not explicitly call l2x0_of_init() 2016-06-21 20:40:47 +08:00
iomux-imx31.c ARM: imx: use endian-safe readl/readw/writel/writew 2016-02-02 13:24:17 +08:00
iomux-mx2x.h
iomux-mx3.h ARM: i.MX31 iomux: remove duplicates with alternate name 2016-08-08 21:41:17 +08:00
iomux-mx21.h
iomux-mx27.h
iomux-mx35.h
iomux-v1.c ARM: imx: use endian-safe readl/readw/writel/writew 2016-02-02 13:24:17 +08:00
iomux-v1.h
iomux-v3.c ARM: imx: use endian-safe readl/readw/writel/writew 2016-02-02 13:24:17 +08:00
iomux-v3.h ARM: imx: Fix trivial typo in comments 2015-03-03 12:05:46 +08:00
irq-common.c ARM: i.MX: Fix FIQ interrupt handling for TZIC 2016-06-21 15:57:05 +08:00
irq-common.h
Kconfig ARM: select PCI_DOMAINS config from ARCH_MULTIPLATFORM 2016-09-21 22:45:13 +02:00
mach-armadillo5x0.c ARM: imx legacy: armadillo5x0: move peripheral initialization to .init_late 2016-09-20 22:35:08 +08:00
mach-bug.c
mach-imx1.c ARM: i.MX: Move SOC_IMX1 into 'Device tree only' 2016-08-09 22:47:29 +08:00
mach-imx6q.c ARM: SoC platform updates for v4.8 2016-08-01 18:27:08 -04:00
mach-imx6sl.c ARM: SoC cleanups for v4.8 2016-08-01 18:21:13 -04:00
mach-imx6sx.c ARM: SoC cleanups for v4.8 2016-08-01 18:21:13 -04:00
mach-imx6ul.c ARM: SoC platform updates for v4.9 2016-10-07 21:18:42 -07:00
mach-imx7d.c ARM: SoC platform updates for v4.8 2016-08-01 18:27:08 -04:00
mach-imx25.c ARM: mx25: Add basic suspend/resume support 2016-02-14 11:24:18 +08:00
mach-imx27_visstrim_m10.c ARM: imx legacy: imx27-visstrim-m10: move peripheral initialization to .init_late 2016-09-20 22:35:17 +08:00
mach-imx50.c ARM: imx: Use IRQCHIP_DECLARE for TZIC 2016-06-12 19:47:18 +08:00
mach-imx51.c ARM: SoC platform updates for v4.8 2016-08-01 18:27:08 -04:00
mach-imx53.c ARM: SoC cleanups for v4.8 2016-08-01 18:21:13 -04:00
mach-kzm_arm11_01.c ARM: SoC platform updates for v4.9 2016-10-07 21:18:42 -07:00
mach-ls1021a.c ARM: imx: Add Freescale LS1021A SMP support 2014-11-23 14:56:21 +08:00
mach-mx21ads.c ARM: imx legacy: mx21ads: move peripheral initialization to .init_late 2016-09-20 22:39:06 +08:00
mach-mx27_3ds.c ARM: imx legacy: mx27-3ds: move peripheral initialization to .init_late 2016-09-20 22:35:20 +08:00
mach-mx27ads.c ARM: imx legacy: mx27ads: move peripheral initialization to .init_late 2016-09-20 22:39:07 +08:00
mach-mx31_3ds.c ARM: imx legacy: mx31-3ds: move peripheral initialization to .init_late 2016-09-20 22:35:00 +08:00
mach-mx31ads.c ARM: imx legacy: mx31ads: move peripheral initialization to .init_late 2016-09-20 22:34:51 +08:00
mach-mx31lilly.c ARM: imx legacy: mx31lilly: move peripheral initialization to .init_late 2016-09-20 22:34:54 +08:00
mach-mx31lite.c ARM: imx legacy: mx31lite: move peripheral initialization to .init_late 2016-09-20 22:34:47 +08:00
mach-mx31moboard.c ARM: imx legacy: mx31moboard: move peripheral initialization to .init_late 2016-09-20 22:35:11 +08:00
mach-mx35_3ds.c ARM: imx legacy: mx35-3ds: move peripheral initialization to .init_late 2016-09-20 22:35:23 +08:00
mach-pca100.c ARM: imx legacy: pca100: move peripheral initialization to .init_late 2016-09-20 22:39:07 +08:00
mach-pcm037.c ARM: SoC platform updates for v4.9 2016-10-07 21:18:42 -07:00
mach-pcm037_eet.c
mach-pcm043.c ARM: imx legacy: pcm043: move peripheral initialization to .init_late 2016-09-20 22:39:06 +08:00
mach-qong.c ARM: imx legacy: qong: move peripheral initialization to .init_late 2016-09-20 22:35:04 +08:00
mach-vf610.c ARM: vf610: enable Cortex-M4 configuration on Vybrid SoC 2015-05-20 23:10:14 +02:00
mach-vpr200.c ARM: imx legacy: vpr200: move peripheral initialization to .init_late 2016-09-20 22:35:14 +08:00
Makefile Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild 2016-10-14 14:26:58 -07:00
Makefile.boot ARM: vf610: enable Cortex-M4 configuration on Vybrid SoC 2015-05-20 23:10:14 +02:00
mm-imx3.c ARM: imx: deconstruct mx3_idle 2016-06-28 10:26:37 +08:00
mm-imx21.c
mm-imx27.c ARM: imx: rework mx27_pm_init() call 2016-06-28 10:26:40 +08:00
mmdc.c ARM: imx: Added perf functionality to mmdc driver 2016-10-23 20:39:01 +08:00
mx2x.h
mx3x.h ARM: imx: move revision definitions and declarations into a header 2015-06-03 14:44:30 +08:00
mx21.h
mx27.h ARM: imx: move revision definitions and declarations into a header 2015-06-03 14:44:30 +08:00
mx31.h
mx31lilly-db.c ARM: imx legacy: mx31lilly: move peripheral initialization to .init_late 2016-09-20 22:34:54 +08:00
mx31lite-db.c ARM: imx legacy: mx31lite: move peripheral initialization to .init_late 2016-09-20 22:34:47 +08:00
mx31moboard-devboard.c
mx31moboard-marxbot.c
mx31moboard-smartbot.c
mx35.h
mxc.h ARM: imx: remove cpu_is_mx*() 2016-06-28 10:26:45 +08:00
pcm037.h
platsmp.c ARM: use const and __initconst for smp_operations 2015-12-01 22:17:45 +01:00
pm-imx5.c ARM: imx: use endian-safe readl/readw/writel/writew 2016-02-02 13:24:17 +08:00
pm-imx6.c ARM: SoC platform updates for v4.9 2016-10-07 21:18:42 -07:00
pm-imx25.c ARM: mx25: Add basic suspend/resume support 2016-02-14 11:24:18 +08:00
pm-imx27.c ARM: imx: rework mx27_pm_init() call 2016-06-28 10:26:40 +08:00
src.c ARM: imx: Make reset_control_ops const 2016-02-29 10:37:44 +08:00
ssi-fiq.S arm: move exports to definitions 2016-08-07 23:47:21 -04:00
suspend-imx6.S ARM: imx: add suspend/resume support for i.mx6ul 2015-09-17 08:54:35 +08:00
suspend-imx53.S ARM: imx53: Set DDR pins to high impedance when in suspend to RAM. 2015-06-03 14:49:36 +08:00
system.c ARM: imx: remove cpu_is_mx1 check 2016-06-28 10:26:20 +08:00
tzic.c ARM: SoC platform updates for v4.8 2016-08-01 18:27:08 -04:00
ulpi.h