diff --git a/src/intel/perf/intel_perf.c b/src/intel/perf/intel_perf.c index 7858edc6089..72038b2c36e 100644 --- a/src/intel/perf/intel_perf.c +++ b/src/intel/perf/intel_perf.c @@ -43,6 +43,7 @@ #include "perf/i915/intel_perf.h" #include "perf/intel_perf.h" +#include "perf/intel_perf_common.h" #include "perf/intel_perf_regs.h" #include "perf/intel_perf_mdapi.h" #include "perf/intel_perf_metrics.h" @@ -135,27 +136,6 @@ get_sysfs_dev_dir(struct intel_perf_config *perf, int fd) return false; } -static bool -read_file_uint64(const char *file, uint64_t *val) -{ - char buf[32]; - int fd, n; - - fd = open(file, 0); - if (fd < 0) - return false; - while ((n = read(fd, buf, sizeof (buf) - 1)) < 0 && - errno == EINTR); - close(fd); - if (n < 0) - return false; - - buf[n] = '\0'; - *val = strtoull(buf, NULL, 0); - - return true; -} - static bool read_sysfs_drm_device_file_uint64(struct intel_perf_config *perf, const char *file, diff --git a/src/intel/perf/intel_perf_common.c b/src/intel/perf/intel_perf_common.c new file mode 100644 index 00000000000..309f4244a52 --- /dev/null +++ b/src/intel/perf/intel_perf_common.c @@ -0,0 +1,32 @@ +/* + * Copyright 2024 Intel Corporation + * SPDX-License-Identifier: MIT + */ + +#include "intel_perf_common.h" + +#include +#include +#include +#include + +bool +read_file_uint64(const char *file, uint64_t *val) +{ + char buf[32]; + int fd, n; + + fd = open(file, 0); + if (fd < 0) + return false; + while ((n = read(fd, buf, sizeof (buf) - 1)) < 0 && + errno == EINTR); + close(fd); + if (n < 0) + return false; + + buf[n] = '\0'; + *val = strtoull(buf, NULL, 0); + + return true; +} diff --git a/src/intel/perf/intel_perf_common.h b/src/intel/perf/intel_perf_common.h new file mode 100644 index 00000000000..33b7ac7dbf0 --- /dev/null +++ b/src/intel/perf/intel_perf_common.h @@ -0,0 +1,11 @@ +/* + * Copyright 2024 Intel Corporation + * SPDX-License-Identifier: MIT + */ + +#pragma once + +#include +#include + +bool read_file_uint64(const char *file, uint64_t *val); diff --git a/src/intel/perf/meson.build b/src/intel/perf/meson.build index d7babcba576..6bdcd2eeca0 100644 --- a/src/intel/perf/meson.build +++ b/src/intel/perf/meson.build @@ -19,6 +19,8 @@ endforeach intel_perf_sources = [ 'i915/intel_perf.c', 'i915/intel_perf.h', + 'intel_perf_common.c', + 'intel_perf_common.h', 'intel_perf.c', 'intel_perf_query.c', 'intel_perf_mdapi.c',