@@ -54,65 +54,24 @@ static struct attribute *scf_pmu_event_attrs[] = {
5454 ARM_CSPMU_EVENT_ATTR (scf_cache_wb , 0xF3 ),
5555
5656 NV_CSPMU_EVENT_ATTR_4 (socket , rd_data , 0x101 ),
57- NV_CSPMU_EVENT_ATTR_4 (socket , dl_rsp , 0x105 ),
5857 NV_CSPMU_EVENT_ATTR_4 (socket , wb_data , 0x109 ),
59- NV_CSPMU_EVENT_ATTR_4 (socket , ev_rsp , 0x10d ),
60- NV_CSPMU_EVENT_ATTR_4 (socket , prb_data , 0x111 ),
6158
6259 NV_CSPMU_EVENT_ATTR_4 (socket , rd_outstanding , 0x115 ),
63- NV_CSPMU_EVENT_ATTR_4 (socket , dl_outstanding , 0x119 ),
64- NV_CSPMU_EVENT_ATTR_4 (socket , wb_outstanding , 0x11d ),
65- NV_CSPMU_EVENT_ATTR_4 (socket , wr_outstanding , 0x121 ),
66- NV_CSPMU_EVENT_ATTR_4 (socket , ev_outstanding , 0x125 ),
67- NV_CSPMU_EVENT_ATTR_4 (socket , prb_outstanding , 0x129 ),
6860
6961 NV_CSPMU_EVENT_ATTR_4 (socket , rd_access , 0x12d ),
70- NV_CSPMU_EVENT_ATTR_4 (socket , dl_access , 0x131 ),
7162 NV_CSPMU_EVENT_ATTR_4 (socket , wb_access , 0x135 ),
7263 NV_CSPMU_EVENT_ATTR_4 (socket , wr_access , 0x139 ),
73- NV_CSPMU_EVENT_ATTR_4 (socket , ev_access , 0x13d ),
74- NV_CSPMU_EVENT_ATTR_4 (socket , prb_access , 0x141 ),
75-
76- NV_CSPMU_EVENT_ATTR_4 (ocu , gmem_rd_data , 0x145 ),
77- NV_CSPMU_EVENT_ATTR_4 (ocu , gmem_rd_access , 0x149 ),
78- NV_CSPMU_EVENT_ATTR_4 (ocu , gmem_wb_access , 0x14d ),
79- NV_CSPMU_EVENT_ATTR_4 (ocu , gmem_rd_outstanding , 0x151 ),
80- NV_CSPMU_EVENT_ATTR_4 (ocu , gmem_wr_outstanding , 0x155 ),
81-
82- NV_CSPMU_EVENT_ATTR_4 (ocu , rem_rd_data , 0x159 ),
83- NV_CSPMU_EVENT_ATTR_4 (ocu , rem_rd_access , 0x15d ),
84- NV_CSPMU_EVENT_ATTR_4 (ocu , rem_wb_access , 0x161 ),
85- NV_CSPMU_EVENT_ATTR_4 (ocu , rem_rd_outstanding , 0x165 ),
86- NV_CSPMU_EVENT_ATTR_4 (ocu , rem_wr_outstanding , 0x169 ),
8764
8865 ARM_CSPMU_EVENT_ATTR (gmem_rd_data , 0x16d ),
8966 ARM_CSPMU_EVENT_ATTR (gmem_rd_access , 0x16e ),
9067 ARM_CSPMU_EVENT_ATTR (gmem_rd_outstanding , 0x16f ),
91- ARM_CSPMU_EVENT_ATTR (gmem_dl_rsp , 0x170 ),
92- ARM_CSPMU_EVENT_ATTR (gmem_dl_access , 0x171 ),
93- ARM_CSPMU_EVENT_ATTR (gmem_dl_outstanding , 0x172 ),
9468 ARM_CSPMU_EVENT_ATTR (gmem_wb_data , 0x173 ),
9569 ARM_CSPMU_EVENT_ATTR (gmem_wb_access , 0x174 ),
96- ARM_CSPMU_EVENT_ATTR (gmem_wb_outstanding , 0x175 ),
97- ARM_CSPMU_EVENT_ATTR (gmem_ev_rsp , 0x176 ),
98- ARM_CSPMU_EVENT_ATTR (gmem_ev_access , 0x177 ),
99- ARM_CSPMU_EVENT_ATTR (gmem_ev_outstanding , 0x178 ),
10070 ARM_CSPMU_EVENT_ATTR (gmem_wr_data , 0x179 ),
101- ARM_CSPMU_EVENT_ATTR (gmem_wr_outstanding , 0x17a ),
10271 ARM_CSPMU_EVENT_ATTR (gmem_wr_access , 0x17b ),
10372
10473 NV_CSPMU_EVENT_ATTR_4 (socket , wr_data , 0x17c ),
10574
106- NV_CSPMU_EVENT_ATTR_4 (ocu , gmem_wr_data , 0x180 ),
107- NV_CSPMU_EVENT_ATTR_4 (ocu , gmem_wb_data , 0x184 ),
108- NV_CSPMU_EVENT_ATTR_4 (ocu , gmem_wr_access , 0x188 ),
109- NV_CSPMU_EVENT_ATTR_4 (ocu , gmem_wb_outstanding , 0x18c ),
110-
111- NV_CSPMU_EVENT_ATTR_4 (ocu , rem_wr_data , 0x190 ),
112- NV_CSPMU_EVENT_ATTR_4 (ocu , rem_wb_data , 0x194 ),
113- NV_CSPMU_EVENT_ATTR_4 (ocu , rem_wr_access , 0x198 ),
114- NV_CSPMU_EVENT_ATTR_4 (ocu , rem_wb_outstanding , 0x19c ),
115-
11675 ARM_CSPMU_EVENT_ATTR (gmem_wr_total_bytes , 0x1a0 ),
11776 ARM_CSPMU_EVENT_ATTR (remote_socket_wr_total_bytes , 0x1a1 ),
11877 ARM_CSPMU_EVENT_ATTR (remote_socket_rd_data , 0x1a2 ),
@@ -122,35 +81,12 @@ static struct attribute *scf_pmu_event_attrs[] = {
12281 ARM_CSPMU_EVENT_ATTR (cmem_rd_data , 0x1a5 ),
12382 ARM_CSPMU_EVENT_ATTR (cmem_rd_access , 0x1a6 ),
12483 ARM_CSPMU_EVENT_ATTR (cmem_rd_outstanding , 0x1a7 ),
125- ARM_CSPMU_EVENT_ATTR (cmem_dl_rsp , 0x1a8 ),
126- ARM_CSPMU_EVENT_ATTR (cmem_dl_access , 0x1a9 ),
127- ARM_CSPMU_EVENT_ATTR (cmem_dl_outstanding , 0x1aa ),
12884 ARM_CSPMU_EVENT_ATTR (cmem_wb_data , 0x1ab ),
12985 ARM_CSPMU_EVENT_ATTR (cmem_wb_access , 0x1ac ),
130- ARM_CSPMU_EVENT_ATTR (cmem_wb_outstanding , 0x1ad ),
131- ARM_CSPMU_EVENT_ATTR (cmem_ev_rsp , 0x1ae ),
132- ARM_CSPMU_EVENT_ATTR (cmem_ev_access , 0x1af ),
133- ARM_CSPMU_EVENT_ATTR (cmem_ev_outstanding , 0x1b0 ),
13486 ARM_CSPMU_EVENT_ATTR (cmem_wr_data , 0x1b1 ),
135- ARM_CSPMU_EVENT_ATTR (cmem_wr_outstanding , 0x1b2 ),
136-
137- NV_CSPMU_EVENT_ATTR_4 (ocu , cmem_rd_data , 0x1b3 ),
138- NV_CSPMU_EVENT_ATTR_4 (ocu , cmem_rd_access , 0x1b7 ),
139- NV_CSPMU_EVENT_ATTR_4 (ocu , cmem_wb_access , 0x1bb ),
140- NV_CSPMU_EVENT_ATTR_4 (ocu , cmem_rd_outstanding , 0x1bf ),
141- NV_CSPMU_EVENT_ATTR_4 (ocu , cmem_wr_outstanding , 0x1c3 ),
142-
143- ARM_CSPMU_EVENT_ATTR (ocu_prb_access , 0x1c7 ),
144- ARM_CSPMU_EVENT_ATTR (ocu_prb_data , 0x1c8 ),
145- ARM_CSPMU_EVENT_ATTR (ocu_prb_outstanding , 0x1c9 ),
14687
14788 ARM_CSPMU_EVENT_ATTR (cmem_wr_access , 0x1ca ),
14889
149- NV_CSPMU_EVENT_ATTR_4 (ocu , cmem_wr_access , 0x1cb ),
150- NV_CSPMU_EVENT_ATTR_4 (ocu , cmem_wb_data , 0x1cf ),
151- NV_CSPMU_EVENT_ATTR_4 (ocu , cmem_wr_data , 0x1d3 ),
152- NV_CSPMU_EVENT_ATTR_4 (ocu , cmem_wb_outstanding , 0x1d7 ),
153-
15490 ARM_CSPMU_EVENT_ATTR (cmem_wr_total_bytes , 0x1db ),
15591
15692 ARM_CSPMU_EVENT_ATTR (cycles , ARM_CSPMU_EVT_CYCLES_DEFAULT ),
@@ -194,6 +130,7 @@ static struct attribute *pcie_pmu_format_attrs[] = {
194130
195131static struct attribute * nvlink_c2c_pmu_format_attrs [] = {
196132 ARM_CSPMU_FORMAT_EVENT_ATTR ,
133+ ARM_CSPMU_FORMAT_ATTR (port , "config1:0-1" ),
197134 NULL ,
198135};
199136
@@ -238,10 +175,12 @@ static u32 nv_cspmu_event_filter(const struct perf_event *event)
238175 const struct nv_cspmu_ctx * ctx =
239176 to_nv_cspmu_ctx (to_arm_cspmu (event -> pmu ));
240177
241- if (ctx -> filter_mask == 0 )
178+ const u32 filter_val = event -> attr .config1 & ctx -> filter_mask ;
179+
180+ if (filter_val == 0 )
242181 return ctx -> filter_default_val ;
243182
244- return event -> attr . config1 & ctx -> filter_mask ;
183+ return filter_val ;
245184}
246185
247186enum nv_cspmu_name_fmt {
@@ -274,7 +213,7 @@ static const struct nv_cspmu_match nv_cspmu_match[] = {
274213 {
275214 .prodid = 0x104 ,
276215 .prodid_mask = NV_PRODID_MASK ,
277- .filter_mask = 0x0 ,
216+ .filter_mask = NV_NVL_C2C_FILTER_ID_MASK ,
278217 .filter_default_val = NV_NVL_C2C_FILTER_ID_MASK ,
279218 .name_pattern = "nvidia_nvlink_c2c1_pmu_%u" ,
280219 .name_fmt = NAME_FMT_SOCKET ,
@@ -284,7 +223,7 @@ static const struct nv_cspmu_match nv_cspmu_match[] = {
284223 {
285224 .prodid = 0x105 ,
286225 .prodid_mask = NV_PRODID_MASK ,
287- .filter_mask = 0x0 ,
226+ .filter_mask = NV_NVL_C2C_FILTER_ID_MASK ,
288227 .filter_default_val = NV_NVL_C2C_FILTER_ID_MASK ,
289228 .name_pattern = "nvidia_nvlink_c2c0_pmu_%u" ,
290229 .name_fmt = NAME_FMT_SOCKET ,
0 commit comments