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()
236 WARN_ON_ONCE(!(hwc->state & PERF_HES_UPTODATE)); in amdgpu_perf_start()
237 hwc->state = 0; in amdgpu_perf_start()
239 switch (hwc->config_base) { in amdgpu_perf_start()
244 hwc->config, 0 /* unused */, in amdgpu_perf_start()
249 hwc->idx = target_cntr; in amdgpu_perf_start()
252 pe->adev->df.funcs->pmc_start(pe->adev, hwc->config, in amdgpu_perf_start()
253 hwc->idx, 0); in amdgpu_perf_start()
265 struct hw_perf_event *hwc = &event->hw; in amdgpu_perf_read() local
272 prev = local64_read(&hwc->prev_count); in amdgpu_perf_read()
274 switch (hwc->config_base) { in amdgpu_perf_read()
278 hwc->config, hwc->idx, &count); in amdgpu_perf_read()
284 } while (local64_cmpxchg(&hwc->prev_count, prev, count) != prev); in amdgpu_perf_read()
292 struct hw_perf_event *hwc = &event->hw; in amdgpu_perf_stop() local
297 if (hwc->state & PERF_HES_UPTODATE) in amdgpu_perf_stop()
300 switch (hwc->config_base) { in amdgpu_perf_stop()
303 pe->adev->df.funcs->pmc_stop(pe->adev, hwc->config, hwc->idx, in amdgpu_perf_stop()
310 WARN_ON_ONCE(hwc->state & PERF_HES_STOPPED); in amdgpu_perf_stop()
311 hwc->state |= PERF_HES_STOPPED; in amdgpu_perf_stop()
313 if (hwc->state & PERF_HES_UPTODATE) in amdgpu_perf_stop()
317 hwc->state |= PERF_HES_UPTODATE; in amdgpu_perf_stop()
323 struct hw_perf_event *hwc = &event->hw; in amdgpu_perf_add() local
331 hwc->config_base = AMDGPU_PMU_EVENT_CONFIG_TYPE_DF; in amdgpu_perf_add()
334 hwc->config_base = (hwc->config >> in amdgpu_perf_add()
342 switch (hwc->config_base) { in amdgpu_perf_add()
346 hwc->config, 0 /* unused */, in amdgpu_perf_add()
351 hwc->idx = target_cntr; in amdgpu_perf_add()
370 struct hw_perf_event *hwc = &event->hw; in amdgpu_perf_del() local
377 switch (hwc->config_base) { in amdgpu_perf_del()
380 pe->adev->df.funcs->pmc_stop(pe->adev, hwc->config, hwc->idx, in amdgpu_perf_del()