lib: Add igt_drop_caches_set()

This is basically a "drop cache" interface to the igt_debugfs
facilities. Also, update existing users.

Signed-off-by: Oscar Mateo <oscar.mateo@intel.com>
Cc: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
Oscar Mateo
2013-11-04 16:30:47 +00:00
committed by Daniel Vetter
parent a97402e89a
commit 5f0ab94c3f
4 changed files with 51 additions and 22 deletions
+28
View File
@@ -316,3 +316,31 @@ igt_pipe_crc_get_crcs(igt_pipe_crc_t *pipe_crc, int n_crcs,
*out_crcs = crcs;
}
/*
* Drop caches
*/
int igt_drop_caches_set(uint64_t val)
{
igt_debugfs_t debugfs;
int fd;
char data[19];
size_t nbytes;
int ret = -1;
sprintf(data, "0x%" PRIx64, val);
igt_debugfs_init(&debugfs);
fd = igt_debugfs_open(&debugfs, "i915_gem_drop_caches", O_WRONLY);
if (fd >= 0)
{
nbytes = write(fd, data, strlen(data) + 1);
if (nbytes == strlen(data) + 1)
ret = 0;
close(fd);
}
return ret;
}
+15
View File
@@ -79,4 +79,19 @@ void igt_pipe_crc_stop(igt_pipe_crc_t *pipe_crc);
void igt_pipe_crc_get_crcs(igt_pipe_crc_t *pipe_crc, int n_crcs,
igt_crc_t **out_crcs);
/*
* Drop caches
*/
#define DROP_UNBOUND 0x1
#define DROP_BOUND 0x2
#define DROP_RETIRE 0x4
#define DROP_ACTIVE 0x8
#define DROP_ALL (DROP_UNBOUND | \
DROP_BOUND | \
DROP_RETIRE | \
DROP_ACTIVE)
int igt_drop_caches_set(uint64_t val);
#endif /* __IGT_DEBUGFS_H__ */