Lines Matching defs:cpump

121 	struct paiext_map *cpump = mp->mapptr;
125 if (refcount_dec_and_test(&cpump->refcnt)) /* Last reference gone */
151 struct paiext_map *cpump;
161 cpump = mp->mapptr;
162 if (!cpump) { /* Paiext_map allocated? */
164 cpump = kzalloc(sizeof(*cpump), GFP_KERNEL);
165 if (!cpump)
178 mp->mapptr = cpump;
179 cpump->area = kzalloc(PAIE1_CTRBLOCK_SZ, GFP_KERNEL);
180 cpump->paiext_cb = kzalloc(PAIE1_CB_SZ, GFP_KERNEL);
181 cpump->save = kvmalloc_array(paiext_cnt + 1,
184 if (!cpump->save || !cpump->area || !cpump->paiext_cb) {
188 refcount_set(&cpump->refcnt, 1);
189 cpump->mode = a->sample_period ? PAI_MODE_SAMPLING
196 if (cpump->mode == PAI_MODE_SAMPLING ||
197 (cpump->mode == PAI_MODE_COUNTING && a->sample_period)) {
201 refcount_inc(&cpump->refcnt);
297 struct paiext_map *cpump = mp->mapptr;
302 return paiext_getctr(cpump->area,
306 sum += paiext_getctr(cpump->area, i);
330 struct paiext_map *cpump = mp->mapptr;
337 cpump->event = event;
345 struct paiext_map *cpump = mp->mapptr;
346 struct paiext_cb *pcb = cpump->paiext_cb;
348 if (++cpump->active_events == 1) {
349 S390_lowcore.aicd = virt_to_phys(cpump->paiext_cb);
350 pcb->acc = virt_to_phys(cpump->area) | 0x1;
365 struct paiext_map *cpump = mp->mapptr;
371 cpump->event = NULL;
379 struct paiext_map *cpump = mp->mapptr;
380 struct paiext_cb *pcb = cpump->paiext_cb;
383 if (--cpump->active_events == 0) {
435 static int paiext_push_sample(size_t rawsize, struct paiext_map *cpump,
460 raw.frag.data = cpump->save;
467 memcpy((void *)PAI_SAVE_AREA(event), cpump->area,
476 struct paiext_map *cpump = mp->mapptr;
477 struct perf_event *event = cpump->event;
483 rawsize = paiext_copy(cpump->save, cpump->area,
486 rc = paiext_push_sample(rawsize, cpump, event);