-perf_event_set_period(struct hw_perf_event *hwc, u64 min, u64 max, u64 *count)
+perf_event_set_period(struct hw_perf_event *hwc, u64 min, u64 max, u64 *hw_period)
{
s64 left = local64_read(&hwc->period_left);
s64 period = hwc->sample_period;
{
s64 left = local64_read(&hwc->period_left);
s64 period = hwc->sample_period;
if (left > max)
left = max;
if (left > max)
left = max;
+ *hw_period = (u64)left;
static int perf_ibs_set_period(struct perf_ibs *perf_ibs,
struct hw_perf_event *hwc, u64 *period)
{
static int perf_ibs_set_period(struct perf_ibs *perf_ibs,
struct hw_perf_event *hwc, u64 *period)
{
/* ignore lower 4 bits in min count: */
/* ignore lower 4 bits in min count: */
- ret = perf_event_set_period(hwc, 1<<4, perf_ibs->max_period, period);
+ overflow = perf_event_set_period(hwc, 1<<4, perf_ibs->max_period, period);
local64_set(&hwc->prev_count, 0);
local64_set(&hwc->prev_count, 0);
}
static u64 get_ibs_fetch_count(u64 config)
}
static u64 get_ibs_fetch_count(u64 config)