Lines Matching refs:hwc
211 struct hw_perf_event *hwc = &event->hw; in amdgpu_perf_event_init() local
218 hwc->config = event->attr.config; in amdgpu_perf_event_init()
219 hwc->config_base = AMDGPU_PMU_PERF_TYPE_NONE; in amdgpu_perf_event_init()
227 struct hw_perf_event *hwc = &event->hw; in amdgpu_perf_start() local
233 if (WARN_ON_ONCE(!(hwc->state & PERF_HES_STOPPED))) in amdgpu_perf_start()
240 WARN_ON_ONCE(!(hwc->state & PERF_HES_UPTODATE)); in amdgpu_perf_start()
241 hwc->state = 0; in amdgpu_perf_start()
243 switch (hwc->config_base) { in amdgpu_perf_start()
248 hwc->config, 0 /* unused */, in amdgpu_perf_start()
253 hwc->idx = target_cntr; in amdgpu_perf_start()
256 pe->adev->df.funcs->pmc_start(pe->adev, hwc->config, in amdgpu_perf_start()
257 hwc->idx, 0); in amdgpu_perf_start()
269 struct hw_perf_event *hwc = &event->hw; in amdgpu_perf_read() local
280 prev = local64_read(&hwc->prev_count); in amdgpu_perf_read()
282 switch (hwc->config_base) { in amdgpu_perf_read()
286 hwc->config, hwc->idx, &count); in amdgpu_perf_read()
292 } while (local64_cmpxchg(&hwc->prev_count, prev, count) != prev); in amdgpu_perf_read()
300 struct hw_perf_event *hwc = &event->hw; in amdgpu_perf_stop() local
305 if (hwc->state & PERF_HES_UPTODATE) in amdgpu_perf_stop()
312 switch (hwc->config_base) { in amdgpu_perf_stop()
315 pe->adev->df.funcs->pmc_stop(pe->adev, hwc->config, hwc->idx, in amdgpu_perf_stop()
322 WARN_ON_ONCE(hwc->state & PERF_HES_STOPPED); in amdgpu_perf_stop()
323 hwc->state |= PERF_HES_STOPPED; in amdgpu_perf_stop()
325 if (hwc->state & PERF_HES_UPTODATE) in amdgpu_perf_stop()
329 hwc->state |= PERF_HES_UPTODATE; in amdgpu_perf_stop()
335 struct hw_perf_event *hwc = &event->hw; in amdgpu_perf_add() local
347 hwc->config_base = AMDGPU_PMU_EVENT_CONFIG_TYPE_DF; in amdgpu_perf_add()
350 hwc->config_base = (hwc->config >> in amdgpu_perf_add()
358 switch (hwc->config_base) { in amdgpu_perf_add()
362 hwc->config, 0 /* unused */, in amdgpu_perf_add()
367 hwc->idx = target_cntr; in amdgpu_perf_add()
386 struct hw_perf_event *hwc = &event->hw; in amdgpu_perf_del() local
396 switch (hwc->config_base) { in amdgpu_perf_del()
399 pe->adev->df.funcs->pmc_stop(pe->adev, hwc->config, hwc->idx, in amdgpu_perf_del()