Lines Matching +full:0 +full:x41c
18 #define PM_THRMULT_MSKS 0x40000
20 #define PM_THRESH_MSK 0x3f
23 #define PM_PMCSEL_MSK 0x7f
28 * 0: can go on any PMC
49 return 0; in mpc7450_classify_event()
75 * 0 = uses neither, 1 = uses threshold, 2 = uses both
85 if (sel == 0x1e || sel == 0x1f) in mpc7450_threshold_use()
87 if (sel == 0x28 || sel == 0x2b) in mpc7450_threshold_use()
91 if (sel == 0x20) in mpc7450_threshold_use()
95 if (sel == 0xc || sel == 0xd) in mpc7450_threshold_use()
97 if (sel == 0x11) in mpc7450_threshold_use()
101 if (sel == 0x10) in mpc7450_threshold_use()
105 return 0; in mpc7450_threshold_use()
116 * 0 - 11: Count of events needing PMC1 .. PMC6
135 { 0x00844002, 0x00111001 }, /* PMC1 mask, value: P1,G2,G3,G4 */
136 { 0x00844008, 0x00111004 }, /* PMC2: P2,G2,G3,G4 */
137 { 0x00800020, 0x00100010 }, /* PMC3: P3,G4 */
138 { 0x00840080, 0x00110040 }, /* PMC4: P4,G3,G4 */
139 { 0x00000200, 0x00000100 }, /* PMC5: P5 */
140 { 0x00000800, 0x00000400 } /* PMC6: P6 */
144 { 0x00000000, 0x00000000 }, /* class 0: no constraint */
145 { 0x00800000, 0x00100000 }, /* class 1: G4 */
146 { 0x00040000, 0x00010000 }, /* class 2: G3 */
147 { 0x00004000, 0x00001000 }, /* class 3: G2 */
158 if (class < 0) in mpc7450_get_constraint()
162 mask = pmcbits[pmc - 1][0]; in mpc7450_get_constraint()
165 mask = classbits[class][0]; in mpc7450_get_constraint()
172 mask |= 0x3f << 24; in mpc7450_get_constraint()
175 mask |= 0x40000000; in mpc7450_get_constraint()
177 value |= 0x40000000; in mpc7450_get_constraint()
183 return 0; in mpc7450_get_constraint()
187 { 0x217, 0x317 }, /* PM_L1_DCACHE_MISS */
188 { 0x418, 0x50f, 0x60f }, /* PM_SNOOP_RETRY */
189 { 0x502, 0x602 }, /* PM_L2_HIT */
190 { 0x503, 0x603 }, /* PM_L3_HIT */
191 { 0x504, 0x604 }, /* PM_L2_ICACHE_MISS */
192 { 0x505, 0x605 }, /* PM_L3_ICACHE_MISS */
193 { 0x506, 0x606 }, /* PM_L2_DCACHE_MISS */
194 { 0x507, 0x607 }, /* PM_L3_DCACHE_MISS */
195 { 0x50a, 0x623 }, /* PM_LD_HIT_L3 */
196 { 0x50b, 0x624 }, /* PM_ST_HIT_L3 */
197 { 0x50d, 0x60d }, /* PM_L2_TOUCH_HIT */
198 { 0x50e, 0x60e }, /* PM_L3_TOUCH_HIT */
199 { 0x512, 0x612 }, /* PM_INT_LOCAL */
200 { 0x513, 0x61d }, /* PM_L2_MISS */
201 { 0x514, 0x61e }, /* PM_L3_MISS */
212 for (i = 0; i < ARRAY_SIZE(event_alternatives); ++i) { in find_alternative()
213 if (event < event_alternatives[i][0]) in find_alternative()
215 for (j = 0; j < MAX_ALT && event_alternatives[i][j]; ++j) in find_alternative()
227 alt[0] = event; in mpc7450_get_alternatives()
230 if (i >= 0) { in mpc7450_get_alternatives()
231 for (j = 0; j < MAX_ALT; ++j) { in mpc7450_get_alternatives()
241 * Bitmaps of which PMCs each class can use for classes 0 - 3.
245 0x3f, 0x0f, 0x0b, 0x03, 0
250 6, 0, 27, 22, 17, 11
253 0x7f, 0x3f, 0x1f, 0x1f, 0x1f, 0x3f
267 u32 pmc_inuse = 0, pmc_avail; in mpc7450_compute_mmcr()
268 u32 mmcr0 = 0, mmcr1 = 0, mmcr2 = 0; in mpc7450_compute_mmcr()
275 for (i = 0; i < N_CLASSES; ++i) in mpc7450_compute_mmcr()
276 n_classevent[i] = 0; in mpc7450_compute_mmcr()
277 for (i = 0; i < n_ev; ++i) { in mpc7450_compute_mmcr()
279 if (class < 0) in mpc7450_compute_mmcr()
286 for (class = N_CLASSES - 1; class >= 0; --class) { in mpc7450_compute_mmcr()
287 for (i = 0; i < n_classevent[class]; ++i) { in mpc7450_compute_mmcr()
307 mmcr2 = 0x80000000; in mpc7450_compute_mmcr()
321 if (pmc_inuse & 0x3e) in mpc7450_compute_mmcr()
335 return 0; in mpc7450_compute_mmcr()
340 * Note that the pmc argument is 0-based here, not 1-based.
353 [PERF_COUNT_HW_CACHE_MISSES] = 0x217, /* PM_L1_DCACHE_MISS */
354 [PERF_COUNT_HW_BRANCH_INSTRUCTIONS] = 0x122, /* PM_BR_CMPL */
355 [PERF_COUNT_HW_BRANCH_MISSES] = 0x41c, /* PM_BR_MPRED */
362 * 0 means not supported, -1 means nonsensical, other values
367 [C(OP_READ)] = { 0, 0x225 },
368 [C(OP_WRITE)] = { 0, 0x227 },
369 [C(OP_PREFETCH)] = { 0, 0 },
372 [C(OP_READ)] = { 0x129, 0x115 },
374 [C(OP_PREFETCH)] = { 0x634, 0 },
377 [C(OP_READ)] = { 0, 0 },
378 [C(OP_WRITE)] = { 0, 0 },
379 [C(OP_PREFETCH)] = { 0, 0 },
382 [C(OP_READ)] = { 0, 0x312 },
387 [C(OP_READ)] = { 0, 0x223 },
392 [C(OP_READ)] = { 0x122, 0x41c },
407 .add_fields = 0x00111555ul,
408 .test_adder = 0x00301000ul,