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
279 prev = local64_read(&hwc->prev_count); in amdgpu_perf_read()
281 switch (hwc->config_base) { in amdgpu_perf_read()
285 hwc->config, hwc->idx, &count); in amdgpu_perf_read()
291 } while (!local64_try_cmpxchg(&hwc->prev_count, &prev, count)); in amdgpu_perf_read()
299 struct hw_perf_event *hwc = &event->hw; in amdgpu_perf_stop() local
304 if (hwc->state & PERF_HES_UPTODATE) in amdgpu_perf_stop()
311 switch (hwc->config_base) { in amdgpu_perf_stop()
314 pe->adev->df.funcs->pmc_stop(pe->adev, hwc->config, hwc->idx, in amdgpu_perf_stop()
321 WARN_ON_ONCE(hwc->state & PERF_HES_STOPPED); in amdgpu_perf_stop()
322 hwc->state |= PERF_HES_STOPPED; in amdgpu_perf_stop()
324 if (hwc->state & PERF_HES_UPTODATE) in amdgpu_perf_stop()
328 hwc->state |= PERF_HES_UPTODATE; in amdgpu_perf_stop()
334 struct hw_perf_event *hwc = &event->hw; in amdgpu_perf_add() local
346 hwc->config_base = AMDGPU_PMU_EVENT_CONFIG_TYPE_DF; in amdgpu_perf_add()
349 hwc->config_base = (hwc->config >> in amdgpu_perf_add()
357 switch (hwc->config_base) { in amdgpu_perf_add()
361 hwc->config, 0 /* unused */, in amdgpu_perf_add()
366 hwc->idx = target_cntr; in amdgpu_perf_add()
385 struct hw_perf_event *hwc = &event->hw; in amdgpu_perf_del() local
395 switch (hwc->config_base) { in amdgpu_perf_del()
398 pe->adev->df.funcs->pmc_stop(pe->adev, hwc->config, hwc->idx, in amdgpu_perf_del()