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