[igt-dev] [PATCH i-g-t 1/3] lib/drmtest: Add helpers to check and require amdgpu

Nicholas Kazlauskas nicholas.kazlauskas at amd.com
Fri Mar 8 14:36:01 UTC 2019


These helpers will be used to address amdgpu specific quirks and
features. They're implemented like the i915 and VC4 helpers.

In order for the string comparison to pick up "amdgpu" the buffer size
had to be expanded for __is_device. I've gone ahead and made it 12 bytes
to cover everything that's there right now.

Cc: Leo Li <sunpeng.li at amd.com>
Cc: Harry Wentland <harry.wentland at amd.com>
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas at amd.com>
---
 lib/drmtest.c | 12 +++++++++++-
 lib/drmtest.h |  2 ++
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/lib/drmtest.c b/lib/drmtest.c
index 6506791b..d09638e8 100644
--- a/lib/drmtest.c
+++ b/lib/drmtest.c
@@ -93,7 +93,7 @@ static int __get_drm_device_name(int fd, char *name, int name_size)
 
 static bool __is_device(int fd, const char *expect)
 {
-	char name[5] = "";
+	char name[12] = "";
 
 	if (__get_drm_device_name(fd, name, sizeof(name) - 1))
 		return false;
@@ -101,6 +101,11 @@ static bool __is_device(int fd, const char *expect)
 	return strcmp(expect, name) == 0;
 }
 
+bool is_amdgpu_device(int fd)
+{
+	return __is_device(fd, "amdgpu");
+}
+
 bool is_i915_device(int fd)
 {
 	return __is_device(fd, "i915");
@@ -485,6 +490,11 @@ int drm_open_driver_render(int chipset)
 	return fd;
 }
 
+void igt_require_amdgpu(int fd)
+{
+	igt_require(is_amdgpu_device(fd));
+}
+
 void igt_require_intel(int fd)
 {
 	igt_require(is_i915_device(fd) && has_known_intel_chipset(fd));
diff --git a/lib/drmtest.h b/lib/drmtest.h
index ca347a71..f509e0d4 100644
--- a/lib/drmtest.h
+++ b/lib/drmtest.h
@@ -79,9 +79,11 @@ int __drm_open_driver(int chipset);
 
 void gem_quiescent_gpu(int fd);
 
+void igt_require_amdgpu(int fd);
 void igt_require_intel(int fd);
 void igt_require_vc4(int fd);
 
+bool is_amdgpu_device(int fd);
 bool is_i915_device(int fd);
 bool is_vc4_device(int fd);
 
-- 
2.17.1



More information about the igt-dev mailing list