summaryrefslogtreecommitdiff
path: root/overlay/perf.c
blob: b8fdc675c5879f7c87d57587bae95188676dde79 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <stdint.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>

#include "perf.h"

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)
		return 0;

	buf[n] = '\0';
	return strtoull(buf, 0, 0);
}