diff --git a/docs/reference/intel-gpu-tools/Makefile.am b/docs/reference/intel-gpu-tools/Makefile.am
index 0152a40e..ee1e900f 100644
--- a/docs/reference/intel-gpu-tools/Makefile.am
+++ b/docs/reference/intel-gpu-tools/Makefile.am
@@ -134,7 +134,11 @@ IGNORE_HFILES=gen6_render.h gen7_media.h gen7_render.h gen8_media.h \
 # e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
 HTML_IMAGES=
 
-test_program_files = xml/igt_test_programs_core_description.xml \
+test_program_files = xml/igt_test_programs_amdgpu_description.xml \
+		     xml/igt_test_programs_amdgpu_programs.xml \
+		     xml/igt_test_programs_chamelium_description.xml \
+		     xml/igt_test_programs_chamelium_programs.xml \
+		     xml/igt_test_programs_core_description.xml \
 		     xml/igt_test_programs_core_programs.xml \
 		     xml/igt_test_programs_debugfs_description.xml \
 		     xml/igt_test_programs_debugfs_programs.xml \
@@ -146,14 +150,28 @@ test_program_files = xml/igt_test_programs_core_description.xml \
 		     xml/igt_test_programs_gem_programs.xml \
 		     xml/igt_test_programs_gen3_description.xml \
 		     xml/igt_test_programs_gen3_programs.xml \
+		     xml/igt_test_programs_gen7_description.xml \
+		     xml/igt_test_programs_gen7_programs.xml \
+		     xml/igt_test_programs_gvt_description.xml \
+		     xml/igt_test_programs_gvt_programs.xml \
 		     xml/igt_test_programs_kms_description.xml \
 		     xml/igt_test_programs_kms_programs.xml \
+		     xml/igt_test_programs_meta_description.xml \
+		     xml/igt_test_programs_meta_programs.xml \
+		     xml/igt_test_programs_perf_description.xml \
+		     xml/igt_test_programs_perf_programs.xml \
 		     xml/igt_test_programs_pm_description.xml \
 		     xml/igt_test_programs_pm_programs.xml \
 		     xml/igt_test_programs_prime_description.xml \
 		     xml/igt_test_programs_prime_programs.xml \
-		     xml/igt_test_programs_sysfs_description.xml \
-		     xml/igt_test_programs_sysfs_programs.xml \
+		     xml/igt_test_programs_sw_sync_description.xml \
+		     xml/igt_test_programs_sw_sync_programs.xml \
+		     xml/igt_test_programs_testdisplay_description.xml \
+		     xml/igt_test_programs_testdisplay_programs.xml \
+		     xml/igt_test_programs_tools_description.xml \
+		     xml/igt_test_programs_tools_programs.xml \
+		     xml/igt_test_programs_vgem_description.xml \
+		     xml/igt_test_programs_vgem_programs.xml \
 		     $(NULL)
 
 # Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
diff --git a/docs/reference/intel-gpu-tools/igt_test_programs.xml b/docs/reference/intel-gpu-tools/igt_test_programs.xml
index 97159df9..ec05d53e 100644
--- a/docs/reference/intel-gpu-tools/igt_test_programs.xml
+++ b/docs/reference/intel-gpu-tools/igt_test_programs.xml
@@ -100,19 +100,46 @@
     </refsect1>
   </refentry>
 
+  <refentry id="igt-amdgpu-tests">
+    <refnamediv>
+      <refname>AMDGPU Tests</refname>
+      <refpurpose>Tests for amdgpu driver behaviour</refpurpose>
+    </refnamediv>
+    <xi:include href="igt_test_programs_amdgpu_programs.xml"/>
+    <xi:include href="igt_test_programs_amdgpu_description.xml"/>
+  </refentry>
+
+  <refentry id="igt-chamelium-tests">
+    <refnamediv>
+      <refname>Chamelium Tests</refname>
+      <refpurpose>Tests using the Chamelium platform</refpurpose>
+    </refnamediv>
+    <xi:include href="igt_test_programs_chamelium_programs.xml"/>
+    <xi:include href="igt_test_programs_chamelium_description.xml"/>
+  </refentry>
+
   <refentry id="igt-core-tests">
     <refnamediv>
       <refname>Core Tests</refname>
-      <refpurpose>Tests for core drm ioctls and behaviour.</refpurpose>
+      <refpurpose>Tests for core drm ioctls and behaviour</refpurpose>
     </refnamediv>
     <xi:include href="igt_test_programs_core_programs.xml"/>
     <xi:include href="igt_test_programs_core_description.xml"/>
   </refentry>
 
+  <refentry id="igt-debugfs-tests">
+    <refnamediv>
+      <refname>Debugfs Tests</refname>
+      <refpurpose>Tests for debugfs behaviour</refpurpose>
+    </refnamediv>
+    <xi:include href="igt_test_programs_debugfs_programs.xml"/>
+    <xi:include href="igt_test_programs_debugfs_description.xml"/>
+  </refentry>
+
   <refentry id="igt-drm-tests">
     <refnamediv>
       <refname>DRM Tests</refname>
-      <refpurpose>Tests for libdrm behaviour.</refpurpose>
+      <refpurpose>Tests for libdrm behaviour</refpurpose>
     </refnamediv>
     <xi:include href="igt_test_programs_drm_programs.xml"/>
     <xi:include href="igt_test_programs_drm_description.xml"/>
@@ -121,7 +148,7 @@
   <refentry id="igt-drv-tests">
     <refnamediv>
       <refname>DRV Tests</refname>
-      <refpurpose>Tests for overall driver behaviour.</refpurpose>
+      <refpurpose>Tests for overall driver behaviour</refpurpose>
     </refnamediv>
     <xi:include href="igt_test_programs_drv_programs.xml"/>
     <xi:include href="igt_test_programs_drv_description.xml"/>
@@ -130,21 +157,66 @@
   <refentry id="igt-gem-tests">
     <refnamediv>
       <refname>GEM Tests</refname>
-      <refpurpose>Tests for core drm ioctls and behaviour.</refpurpose>
+      <refpurpose>Tests for the graphics execution manager</refpurpose>
     </refnamediv>
     <xi:include href="igt_test_programs_gem_programs.xml"/>
     <xi:include href="igt_test_programs_gem_description.xml"/>
   </refentry>
 
+  <refentry id="igt-gen3-tests">
+    <refnamediv>
+      <refname>Gen 3 Tests</refname>
+      <refpurpose>Tests specific to gen 3</refpurpose>
+    </refnamediv>
+    <xi:include href="igt_test_programs_gen3_programs.xml"/>
+    <xi:include href="igt_test_programs_gen3_description.xml"/>
+  </refentry>
+
+  <refentry id="igt-gen7-tests">
+    <refnamediv>
+      <refname>Gen 7 Tests</refname>
+      <refpurpose>Tests specific to gen 7</refpurpose>
+    </refnamediv>
+    <xi:include href="igt_test_programs_gen7_programs.xml"/>
+    <xi:include href="igt_test_programs_gen7_description.xml"/>
+  </refentry>
+
+  <refentry id="igt-gvt-tests">
+    <refnamediv>
+      <refname>GVT Tests</refname>
+      <refpurpose>Tests for graphics virtualization technology</refpurpose>
+    </refnamediv>
+    <xi:include href="igt_test_programs_gvt_programs.xml"/>
+    <xi:include href="igt_test_programs_gvt_description.xml"/>
+  </refentry>
+
   <refentry id="igt-kms-tests">
     <refnamediv>
       <refname>KMS Tests</refname>
-      <refpurpose>Mode setting tests</refpurpose>
+      <refpurpose>Tests for kernel mode setting</refpurpose>
     </refnamediv>
     <xi:include href="igt_test_programs_kms_programs.xml"/>
     <xi:include href="igt_test_programs_kms_description.xml"/>
   </refentry>
 
+  <refentry id="igt-meta-tests">
+    <refnamediv>
+      <refname>Meta Tests</refname>
+      <refpurpose>Tests for the CI system itself</refpurpose>
+    </refnamediv>
+    <xi:include href="igt_test_programs_meta_programs.xml"/>
+    <xi:include href="igt_test_programs_meta_description.xml"/>
+  </refentry>
+
+  <refentry id="igt-perf-tests">
+    <refnamediv>
+      <refname>Perf Tests</refname>
+      <refpurpose>Tests for the performance metrics</refpurpose>
+    </refnamediv>
+    <xi:include href="igt_test_programs_perf_programs.xml"/>
+    <xi:include href="igt_test_programs_perf_description.xml"/>
+  </refentry>
+
   <refentry id="igt-pm-tests">
     <refnamediv>
       <refname>PM Tests</refname>
@@ -157,37 +229,46 @@
   <refentry id="igt-prime-tests">
     <refnamediv>
       <refname>Prime Tests</refname>
-      <refpurpose>Buffer sharing tests</refpurpose>
+      <refpurpose>Tests for buffer sharding</refpurpose>
     </refnamediv>
     <xi:include href="igt_test_programs_prime_programs.xml"/>
     <xi:include href="igt_test_programs_prime_description.xml"/>
   </refentry>
 
-  <refentry id="igt-gen3-tests">
+  <refentry id="igt-sw-sync-tests">
     <refnamediv>
-      <refname>Gen 3 Tests</refname>
-      <refpurpose>Gen 3 specific tests</refpurpose>
+      <refname>SW Sync Tests</refname>
+      <refpurpose>Tests for software sync (fencing)</refpurpose>
     </refnamediv>
-    <xi:include href="igt_test_programs_gen3_programs.xml"/>
-    <xi:include href="igt_test_programs_gen3_description.xml"/>
+    <xi:include href="igt_test_programs_sw_sync_programs.xml"/>
+    <xi:include href="igt_test_programs_sw_sync_description.xml"/>
   </refentry>
 
-  <refentry id="igt-sysfs-tests">
+  <refentry id="igt-testdisplay-tests">
     <refnamediv>
-      <refname>Sysfs Tests</refname>
-      <refpurpose>Sysfs tests</refpurpose>
+      <refname>Display Tests</refname>
+      <refpurpose>Tests for display validation</refpurpose>
     </refnamediv>
-    <xi:include href="igt_test_programs_sysfs_programs.xml"/>
-    <xi:include href="igt_test_programs_sysfs_description.xml"/>
+    <xi:include href="igt_test_programs_testdisplay_programs.xml"/>
+    <xi:include href="igt_test_programs_testdisplay_description.xml"/>
   </refentry>
 
-  <refentry id="igt-debugfs-tests">
+  <refentry id="igt-tools-tests">
     <refnamediv>
-      <refname>Debugfs Tests</refname>
-      <refpurpose>Debugfs tests</refpurpose>
+      <refname>Tools Tests</refname>
+      <refpurpose>Tests for IGT tools behaviour</refpurpose>
     </refnamediv>
-    <xi:include href="igt_test_programs_debugfs_programs.xml"/>
-    <xi:include href="igt_test_programs_debugfs_description.xml"/>
+    <xi:include href="igt_test_programs_tools_programs.xml"/>
+    <xi:include href="igt_test_programs_tools_description.xml"/>
+  </refentry>
+
+  <refentry id="igt-vgem-tests">
+    <refnamediv>
+      <refname>vGEM Tests</refname>
+      <refpurpose>Tests for the vitual graphics execution manager</refpurpose>
+    </refnamediv>
+    <xi:include href="igt_test_programs_vgem_programs.xml"/>
+    <xi:include href="igt_test_programs_vgem_description.xml"/>
   </refentry>
 
   <glossary>
diff --git a/docs/reference/intel-gpu-tools/intel-gpu-tools-docs.xml b/docs/reference/intel-gpu-tools/intel-gpu-tools-docs.xml
index 990bbb80..f88afd2a 100644
--- a/docs/reference/intel-gpu-tools/intel-gpu-tools-docs.xml
+++ b/docs/reference/intel-gpu-tools/intel-gpu-tools-docs.xml
@@ -16,25 +16,31 @@
   <chapter>
     <title>API Reference</title>
     <xi:include href="xml/drmtest.xml"/>
+    <xi:include href="xml/igt_aux.xml"/>
+    <xi:include href="xml/igt_chamelium.xml"/>
     <xi:include href="xml/igt_core.xml"/>
-    <xi:include href="xml/igt_stats.xml"/>
     <xi:include href="xml/igt_debugfs.xml"/>
-    <xi:include href="xml/igt_sysfs.xml"/>
     <xi:include href="xml/igt_draw.xml"/>
-    <xi:include href="xml/igt_kms.xml"/>
-    <xi:include href="xml/igt_kmod.xml"/>
+    <xi:include href="xml/igt_dummyload.xml"/>
     <xi:include href="xml/igt_fb.xml"/>
-    <xi:include href="xml/igt_aux.xml"/>
+    <xi:include href="xml/igt_frame.xml"/>
     <xi:include href="xml/igt_gt.xml"/>
+    <xi:include href="xml/igt_gvt.xml"/>
+    <xi:include href="xml/igt_kmod.xml"/>
+    <xi:include href="xml/igt_kms.xml"/>
     <xi:include href="xml/igt_pm.xml"/>
-    <xi:include href="xml/ioctl_wrappers.xml"/>
+    <xi:include href="xml/igt_primes.xml"/>
+    <xi:include href="xml/igt_rand.xml"/>
+    <xi:include href="xml/igt_stats.xml"/>
+    <xi:include href="xml/igt_sysfs.xml"/>
+    <xi:include href="xml/igt_vc4.xml"/>
+    <xi:include href="xml/igt_vgem.xml"/>
+    <xi:include href="xml/igt_x86.xml"/>
     <xi:include href="xml/intel_batchbuffer.xml"/>
     <xi:include href="xml/intel_chipset.xml"/>
     <xi:include href="xml/intel_io.xml"/>
-    <xi:include href="xml/igt_vc4.xml"/>
-    <xi:include href="xml/igt_vgem.xml"/>
-    <xi:include href="xml/igt_dummyload.xml"/>
-    <xi:include href="xml/igt_chamelium.xml"/>
+    <xi:include href="xml/ioctl_wrappers.xml"/>
+    <xi:include href="xml/sw_sync.xml"/>
   </chapter>
   <xi:include href="xml/igt_test_programs.xml"/>
 
diff --git a/lib/igt_gvt.c b/lib/igt_gvt.c
index 4ab74332..a78e98e9 100644
--- a/lib/igt_gvt.c
+++ b/lib/igt_gvt.c
@@ -31,6 +31,13 @@
 #include <unistd.h>
 #include <fcntl.h>
 
+/**
+ * SECTION:igt_gvt
+ * @short_description: Graphics virtualization technology library
+ * @title: GVT
+ * @include: igt_gvt.h
+ */
+
 static bool is_gvt_enabled(void)
 {
 	bool enabled = false;
diff --git a/lib/igt_primes.c b/lib/igt_primes.c
index d5232e54..3578a3c6 100644
--- a/lib/igt_primes.c
+++ b/lib/igt_primes.c
@@ -28,6 +28,13 @@
 #include <string.h>
 #include <math.h>
 
+/**
+ * SECTION:igt_primes
+ * @short_description: Prime numbers helper library
+ * @title: Primes
+ * @include: igt_primes.h
+ */
+
 #define BITS_PER_CHAR 8
 #define BITS_PER_LONG (sizeof(long)*BITS_PER_CHAR)
 
diff --git a/lib/igt_rand.c b/lib/igt_rand.c
index b8d3a92c..664a4764 100644
--- a/lib/igt_rand.c
+++ b/lib/igt_rand.c
@@ -1,5 +1,12 @@
 #include "igt_rand.h"
 
+/**
+ * SECTION:igt_rand
+ * @short_description: Random numbers helper library
+ * @title: Random
+ * @include: igt_rand.h
+ */
+
 static uint32_t global = 0x12345678;
 
 uint32_t hars_petruska_f54_1_random_seed(uint32_t new_state)
diff --git a/lib/igt_x86.c b/lib/igt_x86.c
index f40b9a2f..6f03849f 100644
--- a/lib/igt_x86.c
+++ b/lib/igt_x86.c
@@ -40,6 +40,13 @@
 #include "igt_x86.h"
 #include <stdio.h>
 
+/**
+ * SECTION:igt_x86
+ * @short_description: x86 helper library
+ * @title: x86
+ * @include: igt_x86.h
+ */
+
 #define BASIC_CPUID 0x0
 #define EXTENDED_CPUID 0x80000000
 
diff --git a/lib/sw_sync.c b/lib/sw_sync.c
index c05a7876..7bd76702 100644
--- a/lib/sw_sync.c
+++ b/lib/sw_sync.c
@@ -41,6 +41,13 @@
 #include "drmtest.h"
 #include "ioctl_wrappers.h"
 
+/**
+ * SECTION:sw_sync
+ * @short_description: Software sync (fencing) support library
+ * @title: SW Sync
+ * @include: sw_sync.h
+ */
+
 struct int_sync_create_fence_data {
 	__u32	value;
 	char	name[32];
