aboutsummaryrefslogtreecommitdiff
path: root/includes/gpu_util.h
diff options
context:
space:
mode:
authorBurt P <pburt0@gmail.com>2018-03-23 13:03:06 -0500
committerLeandro A. F. Pereira <leandro@hardinfo.org>2018-04-24 07:43:43 -0700
commitc31e6b4dcd31d0d1c622062589b38a4e2a8150b4 (patch)
tree08ada7c9eb01c766765b2043257d6c9658899096 /includes/gpu_util.h
parent664b6bd2aff36e8567c74d6acab45bd03d0e6801 (diff)
[new] gpu_util: functions and data structures for gpu information
Enumerates GPUs into a list. Currently from PCI and device tree. Signed-off-by: Burt P <pburt0@gmail.com>
Diffstat (limited to 'includes/gpu_util.h')
-rw-r--r--includes/gpu_util.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/includes/gpu_util.h b/includes/gpu_util.h
new file mode 100644
index 00000000..535fb6e8
--- /dev/null
+++ b/includes/gpu_util.h
@@ -0,0 +1,50 @@
+/*
+ * HardInfo - Displays System Information
+ * Copyright (C) 2003-2017 Leandro A. F. Pereira <leandro@hardinfo.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef __GPU_UTIL_H__
+#define __GPU_UTIL_H__
+
+#include <stdint.h>
+#include "pci_util.h"
+#include "dt_util.h"
+
+typedef struct gpud {
+ char *id; /* ours */
+ char *nice_name;
+ char *vendor_str;
+ char *device_str;
+ char *location;
+
+ char *drm_dev;
+ char *sysfs_drm_path;
+ pcid *pci_dev;
+ char *dt_compat;
+ const char *dt_vendor, *dt_device;
+
+ /* ... */
+
+ struct gpud *next; /* this is a linked list */
+} gpud;
+
+gpud *gpu_get_device_list();
+int gpud_list_count(gpud *);
+void gpud_list_free(gpud *);
+
+void gpud_free(gpud *);
+
+#endif