summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaulo Zanoni <paulo.r.zanoni@intel.com>2015-07-13 14:09:30 -0300
committerPaulo Zanoni <paulo.r.zanoni@intel.com>2015-07-14 15:21:26 -0300
commit7f952bd976416196f628c42a8d7bf77fe3c1540f (patch)
tree30076bc3d1dbdae1e24525efad70f1383f91583c
parent1048aa9aa5a9f095800ba41318af9ea351e943e9 (diff)
kms_frontbuffer_tracking: don't keep debugfs open
Make the code smaller and simpler, also ready for when we move debugfs_read() to lib/. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
-rw-r--r--tests/kms_frontbuffer_tracking.c68
1 files changed, 27 insertions, 41 deletions
diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c
index eb8ca192..e9be045a 100644
--- a/tests/kms_frontbuffer_tracking.c
+++ b/tests/kms_frontbuffer_tracking.c
@@ -138,7 +138,6 @@ struct {
} drm;
struct {
- int fd;
bool can_test;
bool supports_compressing;
@@ -146,17 +145,14 @@ struct {
struct timespec last_action;
} fbc = {
- .fd = -1,
.can_test = false,
.supports_last_action = false,
.supports_compressing = false,
};
struct {
- int fd;
bool can_test;
} psr = {
- .fd = -1,
.can_test = false,
};
@@ -560,45 +556,47 @@ static bool set_mode_for_params(struct modeset_params *params)
return (rc == 0);
}
-#define DEBUGFS_MSG_SIZE 256
-
-static void get_debugfs_string(int fd, char *buf)
+static void debugfs_read(const char *filename, char *buf, int buf_size)
{
- ssize_t n_read;
+ FILE *file;
+ size_t n_read;
+
+ file = igt_debugfs_fopen(filename, "r");
+ igt_assert(file);
- lseek(fd, 0, SEEK_SET);
+ n_read = fread(buf, 1, buf_size - 1, file);
+ igt_assert(n_read > 0);
+ igt_assert(feof(file));
- n_read = read(fd, buf, DEBUGFS_MSG_SIZE -1);
- igt_assert(n_read >= 0);
buf[n_read] = '\0';
+
+ igt_assert(fclose(file) == 0);
}
static bool fbc_is_enabled(void)
{
- char buf[DEBUGFS_MSG_SIZE];
-
- get_debugfs_string(fbc.fd, buf);
+ char buf[128];
+ debugfs_read("i915_fbc_status", buf, ARRAY_SIZE(buf));
return strstr(buf, "FBC enabled\n");
}
static bool psr_is_enabled(void)
{
- char buf[DEBUGFS_MSG_SIZE];
-
- get_debugfs_string(psr.fd, buf);
+ char buf[256];
+ debugfs_read("i915_edp_psr_status", buf, ARRAY_SIZE(buf));
return (strstr(buf, "\nActive: yes\n"));
}
static struct timespec fbc_get_last_action(void)
{
struct timespec ret = { 0, 0 };
- char buf[DEBUGFS_MSG_SIZE];
+ char buf[128];
char *action;
ssize_t n_read;
- get_debugfs_string(fbc.fd, buf);
+ debugfs_read("i915_fbc_status", buf, ARRAY_SIZE(buf));
action = strstr(buf, "\nLast action:");
igt_assert(action);
@@ -644,10 +642,10 @@ static void fbc_update_last_action(void)
static void fbc_setup_last_action(void)
{
ssize_t n_read;
- char buf[DEBUGFS_MSG_SIZE];
+ char buf[128];
char *action;
- get_debugfs_string(fbc.fd, buf);
+ debugfs_read("i915_fbc_status", buf, ARRAY_SIZE(buf));
action = strstr(buf, "\nLast action:");
if (!action) {
@@ -664,9 +662,9 @@ static void fbc_setup_last_action(void)
static bool fbc_is_compressing(void)
{
- char buf[DEBUGFS_MSG_SIZE];
+ char buf[128];
- get_debugfs_string(fbc.fd, buf);
+ debugfs_read("i915_fbc_status", buf, ARRAY_SIZE(buf));
return strstr(buf, "\nCompressing: yes\n") != NULL;
}
@@ -677,9 +675,9 @@ static bool fbc_wait_for_compression(void)
static void fbc_setup_compressing(void)
{
- char buf[DEBUGFS_MSG_SIZE];
+ char buf[128];
- get_debugfs_string(fbc.fd, buf);
+ debugfs_read("i915_fbc_status", buf, ARRAY_SIZE(buf));
if (strstr(buf, "\nCompressing:"))
fbc.supports_compressing = true;
@@ -1187,18 +1185,14 @@ static void teardown_crcs(void)
static bool fbc_supported_on_chipset(void)
{
- char buf[DEBUGFS_MSG_SIZE];
-
- get_debugfs_string(fbc.fd, buf);
+ char buf[128];
+ debugfs_read("i915_fbc_status", buf, ARRAY_SIZE(buf));
return !strstr(buf, "FBC unsupported on this chipset\n");
}
static void setup_fbc(void)
{
- fbc.fd = igt_debugfs_open("i915_fbc_status", O_RDONLY);
- igt_assert(fbc.fd >= 0);
-
if (!fbc_supported_on_chipset()) {
igt_info("Can't test FBC: not supported on this chipset\n");
return;
@@ -1211,16 +1205,13 @@ static void setup_fbc(void)
static void teardown_fbc(void)
{
- if (fbc.fd != -1)
- close(fbc.fd);
}
static bool psr_sink_has_support(void)
{
- char buf[DEBUGFS_MSG_SIZE];
-
- get_debugfs_string(psr.fd, buf);
+ char buf[256];
+ debugfs_read("i915_edp_psr_status", buf, ARRAY_SIZE(buf));
return strstr(buf, "Sink_Support: yes\n");
}
@@ -1232,9 +1223,6 @@ static void setup_psr(void)
return;
}
- psr.fd = igt_debugfs_open("i915_edp_psr_status", O_RDONLY);
- igt_assert(psr.fd >= 0);
-
if (!psr_sink_has_support()) {
igt_info("Can't test PSR: not supported by sink.\n");
return;
@@ -1244,8 +1232,6 @@ static void setup_psr(void)
static void teardown_psr(void)
{
- if (psr.fd != -1)
- close(psr.fd);
}
static void setup_environment(void)