xref: /freebsd/lib/libpmc/pmc.dmc-620.3 (revision cedbdaf0e586c72fa990dceaa20c12c0ec9e3eba)
1*cedbdaf0SAleksandr Rybalko.\" Copyright (c) 2022 Ampere Computing.
2*cedbdaf0SAleksandr Rybalko.\"
3*cedbdaf0SAleksandr Rybalko.\" Redistribution and use in source and binary forms, with or without
4*cedbdaf0SAleksandr Rybalko.\" modification, are permitted provided that the following conditions
5*cedbdaf0SAleksandr Rybalko.\" are met:
6*cedbdaf0SAleksandr Rybalko.\" 1. Redistributions of source code must retain the above copyright
7*cedbdaf0SAleksandr Rybalko.\"    notice, this list of conditions and the following disclaimer.
8*cedbdaf0SAleksandr Rybalko.\" 2. Redistributions in binary form must reproduce the above copyright
9*cedbdaf0SAleksandr Rybalko.\"    notice, this list of conditions and the following disclaimer in the
10*cedbdaf0SAleksandr Rybalko.\"    documentation and/or other materials provided with the distribution.
11*cedbdaf0SAleksandr Rybalko.\"
12*cedbdaf0SAleksandr Rybalko.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
13*cedbdaf0SAleksandr Rybalko.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
14*cedbdaf0SAleksandr Rybalko.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
15*cedbdaf0SAleksandr Rybalko.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
16*cedbdaf0SAleksandr Rybalko.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
17*cedbdaf0SAleksandr Rybalko.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
18*cedbdaf0SAleksandr Rybalko.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
19*cedbdaf0SAleksandr Rybalko.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
20*cedbdaf0SAleksandr Rybalko.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
21*cedbdaf0SAleksandr Rybalko.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
22*cedbdaf0SAleksandr Rybalko.\" SUCH DAMAGE.
23*cedbdaf0SAleksandr Rybalko.\"
24*cedbdaf0SAleksandr Rybalko.Dd Jul 22, 2022
25*cedbdaf0SAleksandr Rybalko.Dt PMC.DMC-620 3
26*cedbdaf0SAleksandr Rybalko.Os
27*cedbdaf0SAleksandr Rybalko.Sh NAME
28*cedbdaf0SAleksandr Rybalko.Nm pmc.dmc-620
29*cedbdaf0SAleksandr Rybalko.Nd measure the
30*cedbdaf0SAleksandr Rybalko.Tn Arm
31*cedbdaf0SAleksandr Rybalko.Tn DMC-620
32*cedbdaf0SAleksandr RybalkoDynamic Memory Controller performance counter events.
33*cedbdaf0SAleksandr Rybalko.Sh LIBRARY
34*cedbdaf0SAleksandr Rybalko.Lb libpmc
35*cedbdaf0SAleksandr Rybalko.Sh SYNOPSIS
36*cedbdaf0SAleksandr Rybalko.In pmc.h
37*cedbdaf0SAleksandr Rybalko.Sh DESCRIPTION
38*cedbdaf0SAleksandr Rybalko.Tn DMC-620
39*cedbdaf0SAleksandr RybalkoPMU counters may be configured to count any one of a defined set of hardware
40*cedbdaf0SAleksandr Rybalkoevents.
41*cedbdaf0SAleksandr Rybalko.Pp
42*cedbdaf0SAleksandr Rybalko.Tn Arm
43*cedbdaf0SAleksandr Rybalko.Tn CoreLink
44*cedbdaf0SAleksandr Rybalko.Tn DMC-620 Dynamic Memory Controller performance counters are documented in
45*cedbdaf0SAleksandr Rybalko.Rs
46*cedbdaf0SAleksandr Rybalko.%B "ARM CoreLink DMC-620 Dynamic Memory Controller Technical Reference Manual"
47*cedbdaf0SAleksandr Rybalko.%T "Revision: r0p0"
48*cedbdaf0SAleksandr Rybalko.%D 2017
49*cedbdaf0SAleksandr Rybalko.%Q "ARM Limited"
50*cedbdaf0SAleksandr Rybalko.Re
51*cedbdaf0SAleksandr Rybalko.Ss PMC Capabilities
52*cedbdaf0SAleksandr Rybalko.Tn DMC-620
53*cedbdaf0SAleksandr RybalkoPMU counters support the following capabilities:
54*cedbdaf0SAleksandr Rybalko.Bl -column "PMC_CAP_INTERRUPT" "Support"
55*cedbdaf0SAleksandr Rybalko.It Sy Capability Ta Em Support
56*cedbdaf0SAleksandr Rybalko.It PMC_CAP_CASCADE Ta \&No
57*cedbdaf0SAleksandr Rybalko.It PMC_CAP_EDGE Ta \&No
58*cedbdaf0SAleksandr Rybalko.It PMC_CAP_INTERRUPT Ta Yes
59*cedbdaf0SAleksandr Rybalko.It PMC_CAP_INVERT Ta Yes
60*cedbdaf0SAleksandr Rybalko.It PMC_CAP_READ Ta Yes
61*cedbdaf0SAleksandr Rybalko.It PMC_CAP_PRECISE Ta \&No
62*cedbdaf0SAleksandr Rybalko.It PMC_CAP_SYSTEM Ta Yes
63*cedbdaf0SAleksandr Rybalko.It PMC_CAP_TAGGING Ta \&No
64*cedbdaf0SAleksandr Rybalko.It PMC_CAP_THRESHOLD Ta Yes
65*cedbdaf0SAleksandr Rybalko.It PMC_CAP_USER Ta \&No
66*cedbdaf0SAleksandr Rybalko.It PMC_CAP_WRITE Ta Yes
67*cedbdaf0SAleksandr Rybalko.El
68*cedbdaf0SAleksandr Rybalko.Ss Event Qualifiers
69*cedbdaf0SAleksandr RybalkoEvent specifiers for these PMCs support the following common
70*cedbdaf0SAleksandr Rybalkoqualifiers:
71*cedbdaf0SAleksandr Rybalko.Bl -tag -width indent
72*cedbdaf0SAleksandr Rybalko.It Li inc= Ns Ar value
73*cedbdaf0SAleksandr RybalkoTwo-bit value that controls direction of count for PMC.
74*cedbdaf0SAleksandr RybalkoBehavior depend on selected event.
75*cedbdaf0SAleksandr Rybalko.It Li inv
76*cedbdaf0SAleksandr RybalkoInvert the sense of comparison.
77*cedbdaf0SAleksandr Rybalko.It Li match= Ns Ar value
78*cedbdaf0SAleksandr RybalkoCount only events matched by
79*cedbdaf0SAleksandr Rybalko.Ar value.
80*cedbdaf0SAleksandr Rybalko.It Li mask= Ns Ar qualifier
81*cedbdaf0SAleksandr RybalkoAllow to apply
82*cedbdaf0SAleksandr Rybalko.Ar qualifier
83*cedbdaf0SAleksandr Rybalkomask to compared
84*cedbdaf0SAleksandr Rybalko.Ar value .
85*cedbdaf0SAleksandr Rybalko.El
86*cedbdaf0SAleksandr Rybalko.Ss Class Name Prefix
87*cedbdaf0SAleksandr RybalkoThese PMCs use a class name prefix of
88*cedbdaf0SAleksandr Rybalko.Dq Li DMC620_CD2_
89*cedbdaf0SAleksandr Rybalkoor
90*cedbdaf0SAleksandr Rybalko.Dq Li DMC620_C_ .
91*cedbdaf0SAleksandr Rybalko.Ss Event Specifiers
92*cedbdaf0SAleksandr RybalkoThe following PMC events are available:
93*cedbdaf0SAleksandr Rybalko.Bl -column
94*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_cycle_count
95*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_allocate
96*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_queue_depth
97*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_waiting_for_wr_data
98*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_read_backlog
99*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_waiting_for_mi
100*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_hazard_resolution
101*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_enqueue
102*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_arbitrate
103*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_lrank_turnaround_activate
104*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_prank_turnaround_activate
105*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_read_depth
106*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_write_depth
107*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_highhigh_qos_depth
108*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_high_qos_depth
109*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_medium_qos_depth
110*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_low_qos_depth
111*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_activate
112*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_rdwr
113*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_refresh
114*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_training_request
115*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_t_mac_tracker
116*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_bk_fsm_tracker
117*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_bk_open_tracker
118*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_ranks_in_pwr_down
119*cedbdaf0SAleksandr Rybalko.It Sy clkdiv2_ranks_in_sref
120*cedbdaf0SAleksandr Rybalko.It Sy clk_cycle_count
121*cedbdaf0SAleksandr Rybalko.It Sy clk_request
122*cedbdaf0SAleksandr Rybalko.It Sy clk_upload_stall
123*cedbdaf0SAleksandr Rybalko.El
124*cedbdaf0SAleksandr Rybalko.Sh SEE ALSO
125*cedbdaf0SAleksandr Rybalko.Xr pmc 3 ,
126*cedbdaf0SAleksandr Rybalko.Xr pmc.atom 3 ,
127*cedbdaf0SAleksandr Rybalko.Xr pmc.core 3 ,
128*cedbdaf0SAleksandr Rybalko.Xr pmc.core2 3 ,
129*cedbdaf0SAleksandr Rybalko.Xr pmc.corei7 3 ,
130*cedbdaf0SAleksandr Rybalko.Xr pmc.corei7uc 3 ,
131*cedbdaf0SAleksandr Rybalko.Xr pmc.iaf 3 ,
132*cedbdaf0SAleksandr Rybalko.Xr pmc.iaf 3 ,
133*cedbdaf0SAleksandr Rybalko.Xr pmc.k7 3 ,
134*cedbdaf0SAleksandr Rybalko.Xr pmc.k8 3 ,
135*cedbdaf0SAleksandr Rybalko.Xr pmc.p4 3 ,
136*cedbdaf0SAleksandr Rybalko.Xr pmc.p5 3 ,
137*cedbdaf0SAleksandr Rybalko.Xr pmc.p6 3 ,
138*cedbdaf0SAleksandr Rybalko.Xr pmc.soft 3 ,
139*cedbdaf0SAleksandr Rybalko.Xr pmc.tsc 3 ,
140*cedbdaf0SAleksandr Rybalko.Xr pmc.westmere 3 ,
141*cedbdaf0SAleksandr Rybalko.Xr pmc.westmereuc 3 ,
142*cedbdaf0SAleksandr Rybalko.Xr pmc_cpuinfo 3 ,
143*cedbdaf0SAleksandr Rybalko.Xr pmclog 3 ,
144*cedbdaf0SAleksandr Rybalko.Xr hwpmc 4
145*cedbdaf0SAleksandr Rybalko.Sh HISTORY
146*cedbdaf0SAleksandr RybalkoThe
147*cedbdaf0SAleksandr Rybalko.Nm pmc
148*cedbdaf0SAleksandr Rybalkolibrary first appeared in
149*cedbdaf0SAleksandr Rybalko.Fx 6.0 .
150*cedbdaf0SAleksandr Rybalko.br
151*cedbdaf0SAleksandr RybalkoThe
152*cedbdaf0SAleksandr Rybalko.Nm pmc.dmc-620
153*cedbdaf0SAleksandr Rybalkodriver was added in
154*cedbdaf0SAleksandr Rybalko.Fx 14.0 .
155*cedbdaf0SAleksandr Rybalko.Sh AUTHORS
156*cedbdaf0SAleksandr Rybalko.An -nosplit
157*cedbdaf0SAleksandr RybalkoThe
158*cedbdaf0SAleksandr Rybalko.Lb libpmc
159*cedbdaf0SAleksandr Rybalkolibrary was written by
160*cedbdaf0SAleksandr Rybalko.An Joseph Koshy Aq Mt jkoshy@FreeBSD.org .
161*cedbdaf0SAleksandr Rybalko.An Oleksandr Rybalko Aq Mt ray@FreeBSD.org .
162*cedbdaf0SAleksandr Rybalko.br
163*cedbdaf0SAleksandr RybalkoThe DMC-620 PMU driver was sponsored by Ampere Computing LLC.
164*cedbdaf0SAleksandr RybalkoThis manual page was written by
165*cedbdaf0SAleksandr Rybalko.An Oleksandr Rybalko Aq Mt ray@FreeBSD.org .
166