diff options
author | Tvrtko Ursulin <tvrtko.ursulin@intel.com> | 2017-10-10 08:39:07 +0100 |
---|---|---|
committer | Tvrtko Ursulin <tvrtko.ursulin@intel.com> | 2017-11-22 11:18:45 +0000 |
commit | 0f86d5976e6152f94cf8245a9d16f671dbaa9671 (patch) | |
tree | f0c6f01056694d260cd3c4ec10674c05849abe47 /lib/igt_perf.c | |
parent | 47fef4731e0f0f77b35a09e091b11c56669feb1b (diff) |
lib/perf: Fix data types and general tidy
Configuration and format are uint64_t in the perf API.
Tidy some other details as well.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'lib/igt_perf.c')
-rw-r--r-- | lib/igt_perf.c | 40 |
1 files changed, 19 insertions, 21 deletions
diff --git a/lib/igt_perf.c b/lib/igt_perf.c index 961a858a..20847430 100644 --- a/lib/igt_perf.c +++ b/lib/igt_perf.c @@ -9,49 +9,47 @@ uint64_t i915_type_id(void) { - char buf[1024]; - int fd, n; - - fd = open("/sys/bus/event_source/devices/i915/type", 0); - if (fd < 0) { - n = -1; - } else { - n = read(fd, buf, sizeof(buf)-1); - close(fd); - } - if (n < 0) + char buf[64]; + ssize_t ret; + int fd; + + fd = open("/sys/bus/event_source/devices/i915/type", O_RDONLY); + if (fd < 0) + return 0; + + ret = read(fd, buf, sizeof(buf) - 1); + close(fd); + if (ret < 1) return 0; - buf[n] = '\0'; - return strtoull(buf, 0, 0); + buf[ret] = '\0'; + + return strtoull(buf, NULL, 0); } -static int _perf_open(int config, int group, int format) +static int _perf_open(uint64_t config, int group, uint64_t format) { - struct perf_event_attr attr; - - memset(&attr, 0, sizeof (attr)); + struct perf_event_attr attr = { }; attr.type = i915_type_id(); if (attr.type == 0) return -ENOENT; - attr.config = config; - if (group >= 0) format &= ~PERF_FORMAT_GROUP; attr.read_format = format; + attr.config = config; return perf_event_open(&attr, -1, 0, group, 0); } -int perf_i915_open(int config) +int perf_i915_open(uint64_t config) { return _perf_open(config, -1, PERF_FORMAT_TOTAL_TIME_ENABLED); } -int perf_i915_open_group(int config, int group) +int perf_i915_open_group(uint64_t config, int group) { return _perf_open(config, group, PERF_FORMAT_TOTAL_TIME_ENABLED | PERF_FORMAT_GROUP); |