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