From: Lyude Paul <lyude@xxxxxxxxxx> Like igt_debugfs_connector_dir(), but for pipes instead. Signed-off-by: Lyude Paul <lyude@xxxxxxxxxx> --- lib/igt_debugfs.c | 29 +++++++++++++++++++++++++++++ lib/igt_debugfs.h | 1 + 2 files changed, 30 insertions(+) diff --git a/lib/igt_debugfs.c b/lib/igt_debugfs.c index bf6be552..3c3b11e1 100644 --- a/lib/igt_debugfs.c +++ b/lib/igt_debugfs.c @@ -260,6 +260,35 @@ int igt_debugfs_connector_dir(int device, char *conn_name, int mode) return ret; } +/** + * igt_debugfs_pipe_dir: + * @device: fd of the device + * @pipe: index of pipe + * @mode: mode bits as used by open() + * + * This opens the debugfs directory corresponding to the pipe index on the + * device for use with igt_sysfs_get() and related functions. + * + * Returns: + * The directory fd, or -1 on failure. + */ +int igt_debugfs_pipe_dir(int device, int pipe, int mode) +{ + char buf[128]; + int dir, ret; + + dir = igt_debugfs_dir(device); + if (dir < 0) + return dir; + + snprintf(buf, sizeof(buf), "crtc-%d", pipe); + ret = openat(dir, buf, mode); + + close(dir); + + return ret; +} + /** * igt_debugfs_open: * @filename: name of the debugfs node to open diff --git a/lib/igt_debugfs.h b/lib/igt_debugfs.h index 7d1a6175..15741a40 100644 --- a/lib/igt_debugfs.h +++ b/lib/igt_debugfs.h @@ -36,6 +36,7 @@ char *igt_debugfs_path(int device, char *path, int pathlen); int igt_debugfs_dir(int device); int igt_debugfs_connector_dir(int device, char *conn_name, int mode); +int igt_debugfs_pipe_dir(int device, int pipe, int mode); int igt_debugfs_open(int fd, const char *filename, int mode); void __igt_debugfs_read(int fd, const char *filename, char *buf, int size); -- 2.25.1 _______________________________________________ Nouveau mailing list Nouveau@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/nouveau