[Intel-gfx] [PATCH i-g-t] HAX: Find CRC failures more reliably, v2
Maarten Lankhorst
maarten.lankhorst at linux.intel.com
Wed Oct 25 08:36:03 UTC 2017
Do not close fd 0 by accident.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
---
lib/igt_debugfs.c | 40 +++++++++++-----------------------------
1 file changed, 11 insertions(+), 29 deletions(-)
diff --git a/lib/igt_debugfs.c b/lib/igt_debugfs.c
index 8b33b478a9a9..c2a3a1091644 100644
--- a/lib/igt_debugfs.c
+++ b/lib/igt_debugfs.c
@@ -582,20 +582,14 @@ static void pipe_crc_exit_handler(int sig)
*/
void igt_require_pipe_crc(int fd)
{
- const char *cmd = "pipe A none";
- int ctl, written;
-
- ctl = igt_debugfs_open(fd, "crtc-0/crc/control", O_RDONLY);
- if (ctl < 0) {
- ctl = igt_debugfs_open(fd, "i915_display_crc_ctl", O_WRONLY);
- igt_require_f(ctl,
- "No display_crc_ctl found, kernel too old\n");
-
- written = write(ctl, cmd, strlen(cmd));
- igt_require_f(written < 0,
- "CRCs not supported on this platform\n");
- }
- close(ctl);
+ int dir;
+ struct stat stat;
+
+ dir = igt_debugfs_dir(fd);
+ igt_assert(dir >= 0);
+ igt_assert_eq(fstatat(dir, "crtc-0/crc/control", &stat, 0), 0);
+
+ close(dir);
}
static void igt_hpd_storm_exit_handler(int sig)
@@ -735,23 +729,11 @@ pipe_crc_new(int fd, enum pipe pipe, enum intel_pipe_crc_source source, int flag
sprintf(buf, "crtc-%d/crc/control", pipe);
pipe_crc->ctl_fd = openat(debugfs, buf, O_WRONLY);
- if (pipe_crc->ctl_fd == -1) {
- pipe_crc->ctl_fd = openat(debugfs,
- "i915_display_crc_ctl", O_WRONLY);
- igt_assert(pipe_crc->ctl_fd != -1);
- pipe_crc->is_legacy = true;
- }
+ igt_assert(pipe_crc->ctl_fd != -1);
- if (pipe_crc->is_legacy) {
- sprintf(buf, "i915_pipe_%s_crc", kmstest_pipe_name(pipe));
- pipe_crc->crc_fd = openat(debugfs, buf, flags);
- igt_assert(pipe_crc->crc_fd != -1);
- igt_debug("Using legacy frame CRC ABI\n");
- } else {
- pipe_crc->crc_fd = -1;
- igt_debug("Using generic frame CRC ABI\n");
- }
+ igt_debug("Using generic frame CRC ABI\n");
+ pipe_crc->crc_fd = -1;
pipe_crc->fd = fd;
pipe_crc->dir = debugfs;
pipe_crc->pipe = pipe;
--
2.14.1
More information about the Intel-gfx
mailing list