intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH v6 1/3] drm/i915/perf: remove generated code
@ 2020-03-14 10:33 Lionel Landwerlin
  2020-03-14 10:33 ` [Intel-gfx] [PATCH v6 2/3] drm/i915/perf: remove redundant power configuration register override Lionel Landwerlin
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Lionel Landwerlin @ 2020-03-14 10:33 UTC (permalink / raw)
  To: intel-gfx

A little bit of history :

   Back when i915-perf was introduced (4.13), there was no way to
   dynamically add new OA configurations to i915. Only the generated
   configs baked in at build time were allowed.

   It quickly became obvious that we would need to allow applications
   to upload their own configurations, for instance to be able to test
   new ones, and so by the next stable version (4.14) we added uAPIs
   to allow uploading new configurations.

   When adding that capability, we took the opportunity to remove most
   HW configurations except the TestOa one which is a configuration
   IGT would rely on to verify that the HW is outputting correct
   values. At the time it made sense to have that confiuration in at
   the same time a given HW platform added to the i915-perf driver.

Now that IGT has become the reference point for HW configurations (see
commit 53f8f541ca ("lib: Add i915_perf library"), previously this was
located in the GPUTop repository), the need for having those
configurations in i915-perf is gone.

On the Mesa side, we haven't relied on this test configuration for a
while. The MDAPI library always required 4.14 feature level and always
loaded its configuration into i915.

I'm sure nobody will miss this generated stuff in i915 :)

v2: Fix selftests by creating an empty config

v3: Fix unlocking on allocation error (Dan Carpenter)

v4: Fixup checkpatch warnings

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
---
 drivers/gpu/drm/i915/Makefile              |  17 ---
 drivers/gpu/drm/i915/i915_perf.c           |  81 +-------------
 drivers/gpu/drm/i915/i915_perf_types.h     |   2 -
 drivers/gpu/drm/i915/oa/i915_oa_bdw.c      |  90 ---------------
 drivers/gpu/drm/i915/oa/i915_oa_bdw.h      |  16 ---
 drivers/gpu/drm/i915/oa/i915_oa_bxt.c      |  88 ---------------
 drivers/gpu/drm/i915/oa/i915_oa_bxt.h      |  16 ---
 drivers/gpu/drm/i915/oa/i915_oa_cflgt2.c   |  89 ---------------
 drivers/gpu/drm/i915/oa/i915_oa_cflgt2.h   |  16 ---
 drivers/gpu/drm/i915/oa/i915_oa_cflgt3.c   |  89 ---------------
 drivers/gpu/drm/i915/oa/i915_oa_cflgt3.h   |  16 ---
 drivers/gpu/drm/i915/oa/i915_oa_chv.c      |  89 ---------------
 drivers/gpu/drm/i915/oa/i915_oa_chv.h      |  16 ---
 drivers/gpu/drm/i915/oa/i915_oa_cnl.c      | 101 -----------------
 drivers/gpu/drm/i915/oa/i915_oa_cnl.h      |  16 ---
 drivers/gpu/drm/i915/oa/i915_oa_glk.c      |  88 ---------------
 drivers/gpu/drm/i915/oa/i915_oa_glk.h      |  16 ---
 drivers/gpu/drm/i915/oa/i915_oa_hsw.c      | 118 --------------------
 drivers/gpu/drm/i915/oa/i915_oa_hsw.h      |  16 ---
 drivers/gpu/drm/i915/oa/i915_oa_icl.c      |  98 -----------------
 drivers/gpu/drm/i915/oa/i915_oa_icl.h      |  16 ---
 drivers/gpu/drm/i915/oa/i915_oa_kblgt2.c   |  89 ---------------
 drivers/gpu/drm/i915/oa/i915_oa_kblgt2.h   |  16 ---
 drivers/gpu/drm/i915/oa/i915_oa_kblgt3.c   |  89 ---------------
 drivers/gpu/drm/i915/oa/i915_oa_kblgt3.h   |  16 ---
 drivers/gpu/drm/i915/oa/i915_oa_sklgt2.c   |  88 ---------------
 drivers/gpu/drm/i915/oa/i915_oa_sklgt2.h   |  16 ---
 drivers/gpu/drm/i915/oa/i915_oa_sklgt3.c   |  89 ---------------
 drivers/gpu/drm/i915/oa/i915_oa_sklgt3.h   |  16 ---
 drivers/gpu/drm/i915/oa/i915_oa_sklgt4.c   |  89 ---------------
 drivers/gpu/drm/i915/oa/i915_oa_sklgt4.h   |  16 ---
 drivers/gpu/drm/i915/oa/i915_oa_tgl.c      | 121 ---------------------
 drivers/gpu/drm/i915/oa/i915_oa_tgl.h      |  16 ---
 drivers/gpu/drm/i915/selftests/i915_perf.c |  98 ++++++++++++++++-
 34 files changed, 96 insertions(+), 1757 deletions(-)
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_bdw.c
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_bdw.h
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_bxt.c
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_bxt.h
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_cflgt2.c
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_cflgt2.h
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_cflgt3.c
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_cflgt3.h
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_chv.c
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_chv.h
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_cnl.c
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_cnl.h
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_glk.c
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_glk.h
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_hsw.c
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_hsw.h
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_icl.c
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_icl.h
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_kblgt2.c
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_kblgt2.h
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_kblgt3.c
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_kblgt3.h
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_sklgt2.c
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_sklgt2.h
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_sklgt3.c
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_sklgt3.h
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_sklgt4.c
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_sklgt4.h
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_tgl.c
 delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_tgl.h

diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index 9f887a86e555..6bff8af18842 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -243,23 +243,6 @@ i915-y += \
 	display/vlv_dsi.o \
 	display/vlv_dsi_pll.o
 
-# perf code
-i915-y += \
-	oa/i915_oa_hsw.o \
-	oa/i915_oa_bdw.o \
-	oa/i915_oa_chv.o \
-	oa/i915_oa_sklgt2.o \
-	oa/i915_oa_sklgt3.o \
-	oa/i915_oa_sklgt4.o \
-	oa/i915_oa_bxt.o \
-	oa/i915_oa_kblgt2.o \
-	oa/i915_oa_kblgt3.o \
-	oa/i915_oa_glk.o \
-	oa/i915_oa_cflgt2.o \
-	oa/i915_oa_cflgt3.o \
-	oa/i915_oa_cnl.o \
-	oa/i915_oa_icl.o \
-	oa/i915_oa_tgl.o
 i915-y += i915_perf.o
 
 # Post-mortem debug and GPU hang state capture
diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
index 1b074bb4a7fe..0069f09b988c 100644
--- a/drivers/gpu/drm/i915/i915_perf.c
+++ b/drivers/gpu/drm/i915/i915_perf.c
@@ -204,21 +204,6 @@
 
 #include "i915_drv.h"
 #include "i915_perf.h"
-#include "oa/i915_oa_hsw.h"
-#include "oa/i915_oa_bdw.h"
-#include "oa/i915_oa_chv.h"
-#include "oa/i915_oa_sklgt2.h"
-#include "oa/i915_oa_sklgt3.h"
-#include "oa/i915_oa_sklgt4.h"
-#include "oa/i915_oa_bxt.h"
-#include "oa/i915_oa_kblgt2.h"
-#include "oa/i915_oa_kblgt3.h"
-#include "oa/i915_oa_glk.h"
-#include "oa/i915_oa_cflgt2.h"
-#include "oa/i915_oa_cflgt3.h"
-#include "oa/i915_oa_cnl.h"
-#include "oa/i915_oa_icl.h"
-#include "oa/i915_oa_tgl.h"
 
 /* HW requires this to be a power of two, between 128k and 16M, though driver
  * is currently generally designed assuming the largest 16M size is used such
@@ -409,10 +394,7 @@ i915_perf_get_oa_config(struct i915_perf *perf, int metrics_set)
 	struct i915_oa_config *oa_config;
 
 	rcu_read_lock();
-	if (metrics_set == 1)
-		oa_config = &perf->test_config;
-	else
-		oa_config = idr_find(&perf->metrics_idr, metrics_set);
+	oa_config = idr_find(&perf->metrics_idr, metrics_set);
 	if (oa_config)
 		oa_config = i915_oa_config_get(oa_config);
 	rcu_read_unlock();
@@ -3716,7 +3698,6 @@ int i915_perf_open_ioctl(struct drm_device *dev, void *data,
 void i915_perf_register(struct drm_i915_private *i915)
 {
 	struct i915_perf *perf = &i915->perf;
-	int ret;
 
 	if (!perf->i915)
 		return;
@@ -3730,64 +3711,7 @@ void i915_perf_register(struct drm_i915_private *i915)
 	perf->metrics_kobj =
 		kobject_create_and_add("metrics",
 				       &i915->drm.primary->kdev->kobj);
-	if (!perf->metrics_kobj)
-		goto exit;
-
-	sysfs_attr_init(&perf->test_config.sysfs_metric_id.attr);
-
-	if (IS_TIGERLAKE(i915)) {
-		i915_perf_load_test_config_tgl(i915);
-	} else if (INTEL_GEN(i915) >= 11) {
-		i915_perf_load_test_config_icl(i915);
-	} else if (IS_CANNONLAKE(i915)) {
-		i915_perf_load_test_config_cnl(i915);
-	} else if (IS_COFFEELAKE(i915)) {
-		if (IS_CFL_GT2(i915))
-			i915_perf_load_test_config_cflgt2(i915);
-		if (IS_CFL_GT3(i915))
-			i915_perf_load_test_config_cflgt3(i915);
-	} else if (IS_GEMINILAKE(i915)) {
-		i915_perf_load_test_config_glk(i915);
-	} else if (IS_KABYLAKE(i915)) {
-		if (IS_KBL_GT2(i915))
-			i915_perf_load_test_config_kblgt2(i915);
-		else if (IS_KBL_GT3(i915))
-			i915_perf_load_test_config_kblgt3(i915);
-	} else if (IS_BROXTON(i915)) {
-		i915_perf_load_test_config_bxt(i915);
-	} else if (IS_SKYLAKE(i915)) {
-		if (IS_SKL_GT2(i915))
-			i915_perf_load_test_config_sklgt2(i915);
-		else if (IS_SKL_GT3(i915))
-			i915_perf_load_test_config_sklgt3(i915);
-		else if (IS_SKL_GT4(i915))
-			i915_perf_load_test_config_sklgt4(i915);
-	} else if (IS_CHERRYVIEW(i915)) {
-		i915_perf_load_test_config_chv(i915);
-	} else if (IS_BROADWELL(i915)) {
-		i915_perf_load_test_config_bdw(i915);
-	} else if (IS_HASWELL(i915)) {
-		i915_perf_load_test_config_hsw(i915);
-	}
-
-	if (perf->test_config.id == 0)
-		goto sysfs_error;
-
-	ret = sysfs_create_group(perf->metrics_kobj,
-				 &perf->test_config.sysfs_metric);
-	if (ret)
-		goto sysfs_error;
 
-	perf->test_config.perf = perf;
-	kref_init(&perf->test_config.ref);
-
-	goto exit;
-
-sysfs_error:
-	kobject_put(perf->metrics_kobj);
-	perf->metrics_kobj = NULL;
-
-exit:
 	mutex_unlock(&perf->lock);
 }
 
@@ -3807,9 +3731,6 @@ void i915_perf_unregister(struct drm_i915_private *i915)
 	if (!perf->metrics_kobj)
 		return;
 
-	sysfs_remove_group(perf->metrics_kobj,
-			   &perf->test_config.sysfs_metric);
-
 	kobject_put(perf->metrics_kobj);
 	perf->metrics_kobj = NULL;
 }
diff --git a/drivers/gpu/drm/i915/i915_perf_types.h b/drivers/gpu/drm/i915/i915_perf_types.h
index a0e22f00f6cf..f4ccd2adfee6 100644
--- a/drivers/gpu/drm/i915/i915_perf_types.h
+++ b/drivers/gpu/drm/i915/i915_perf_types.h
@@ -413,8 +413,6 @@ struct i915_perf {
 	 */
 	struct ratelimit_state spurious_report_rs;
 
-	struct i915_oa_config test_config;
-
 	u32 gen7_latched_oastatus1;
 	u32 ctx_oactxctrl_offset;
 	u32 ctx_flexeu0_offset;
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_bdw.c b/drivers/gpu/drm/i915/oa/i915_oa_bdw.c
deleted file mode 100644
index 14da5c3b569d..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_bdw.c
+++ /dev/null
@@ -1,90 +0,0 @@
-// SPDX-License-Identifier: MIT
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#include <linux/sysfs.h>
-
-#include "i915_drv.h"
-#include "i915_oa_bdw.h"
-
-static const struct i915_oa_reg b_counter_config_test_oa[] = {
-	{ _MMIO(0x2740), 0x00000000 },
-	{ _MMIO(0x2744), 0x00800000 },
-	{ _MMIO(0x2714), 0xf0800000 },
-	{ _MMIO(0x2710), 0x00000000 },
-	{ _MMIO(0x2724), 0xf0800000 },
-	{ _MMIO(0x2720), 0x00000000 },
-	{ _MMIO(0x2770), 0x00000004 },
-	{ _MMIO(0x2774), 0x00000000 },
-	{ _MMIO(0x2778), 0x00000003 },
-	{ _MMIO(0x277c), 0x00000000 },
-	{ _MMIO(0x2780), 0x00000007 },
-	{ _MMIO(0x2784), 0x00000000 },
-	{ _MMIO(0x2788), 0x00100002 },
-	{ _MMIO(0x278c), 0x0000fff7 },
-	{ _MMIO(0x2790), 0x00100002 },
-	{ _MMIO(0x2794), 0x0000ffcf },
-	{ _MMIO(0x2798), 0x00100082 },
-	{ _MMIO(0x279c), 0x0000ffef },
-	{ _MMIO(0x27a0), 0x001000c2 },
-	{ _MMIO(0x27a4), 0x0000ffe7 },
-	{ _MMIO(0x27a8), 0x00100001 },
-	{ _MMIO(0x27ac), 0x0000ffe7 },
-};
-
-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
-};
-
-static const struct i915_oa_reg mux_config_test_oa[] = {
-	{ _MMIO(0x9840), 0x000000a0 },
-	{ _MMIO(0x9888), 0x198b0000 },
-	{ _MMIO(0x9888), 0x078b0066 },
-	{ _MMIO(0x9888), 0x118b0000 },
-	{ _MMIO(0x9888), 0x258b0000 },
-	{ _MMIO(0x9888), 0x21850008 },
-	{ _MMIO(0x9888), 0x0d834000 },
-	{ _MMIO(0x9888), 0x07844000 },
-	{ _MMIO(0x9888), 0x17804000 },
-	{ _MMIO(0x9888), 0x21800000 },
-	{ _MMIO(0x9888), 0x4f800000 },
-	{ _MMIO(0x9888), 0x41800000 },
-	{ _MMIO(0x9888), 0x31800000 },
-	{ _MMIO(0x9840), 0x00000080 },
-};
-
-static ssize_t
-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
-{
-	return sprintf(buf, "1\n");
-}
-
-void
-i915_perf_load_test_config_bdw(struct drm_i915_private *dev_priv)
-{
-	strlcpy(dev_priv->perf.test_config.uuid,
-		"d6de6f55-e526-4f79-a6a6-d7315c09044e",
-		sizeof(dev_priv->perf.test_config.uuid));
-	dev_priv->perf.test_config.id = 1;
-
-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
-
-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
-
-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
-
-	dev_priv->perf.test_config.sysfs_metric.name = "d6de6f55-e526-4f79-a6a6-d7315c09044e";
-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
-
-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
-
-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
-}
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_bdw.h b/drivers/gpu/drm/i915/oa/i915_oa_bdw.h
deleted file mode 100644
index 0cee3334f0a6..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_bdw.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#ifndef __I915_OA_BDW_H__
-#define __I915_OA_BDW_H__
-
-struct drm_i915_private;
-
-void i915_perf_load_test_config_bdw(struct drm_i915_private *dev_priv);
-
-#endif
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_bxt.c b/drivers/gpu/drm/i915/oa/i915_oa_bxt.c
deleted file mode 100644
index 3e785bafcf99..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_bxt.c
+++ /dev/null
@@ -1,88 +0,0 @@
-// SPDX-License-Identifier: MIT
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#include <linux/sysfs.h>
-
-#include "i915_drv.h"
-#include "i915_oa_bxt.h"
-
-static const struct i915_oa_reg b_counter_config_test_oa[] = {
-	{ _MMIO(0x2740), 0x00000000 },
-	{ _MMIO(0x2744), 0x00800000 },
-	{ _MMIO(0x2714), 0xf0800000 },
-	{ _MMIO(0x2710), 0x00000000 },
-	{ _MMIO(0x2724), 0xf0800000 },
-	{ _MMIO(0x2720), 0x00000000 },
-	{ _MMIO(0x2770), 0x00000004 },
-	{ _MMIO(0x2774), 0x00000000 },
-	{ _MMIO(0x2778), 0x00000003 },
-	{ _MMIO(0x277c), 0x00000000 },
-	{ _MMIO(0x2780), 0x00000007 },
-	{ _MMIO(0x2784), 0x00000000 },
-	{ _MMIO(0x2788), 0x00100002 },
-	{ _MMIO(0x278c), 0x0000fff7 },
-	{ _MMIO(0x2790), 0x00100002 },
-	{ _MMIO(0x2794), 0x0000ffcf },
-	{ _MMIO(0x2798), 0x00100082 },
-	{ _MMIO(0x279c), 0x0000ffef },
-	{ _MMIO(0x27a0), 0x001000c2 },
-	{ _MMIO(0x27a4), 0x0000ffe7 },
-	{ _MMIO(0x27a8), 0x00100001 },
-	{ _MMIO(0x27ac), 0x0000ffe7 },
-};
-
-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
-};
-
-static const struct i915_oa_reg mux_config_test_oa[] = {
-	{ _MMIO(0x9840), 0x00000080 },
-	{ _MMIO(0x9888), 0x19800000 },
-	{ _MMIO(0x9888), 0x07800063 },
-	{ _MMIO(0x9888), 0x11800000 },
-	{ _MMIO(0x9888), 0x23810008 },
-	{ _MMIO(0x9888), 0x1d950400 },
-	{ _MMIO(0x9888), 0x0f922000 },
-	{ _MMIO(0x9888), 0x1f908000 },
-	{ _MMIO(0x9888), 0x37900000 },
-	{ _MMIO(0x9888), 0x55900000 },
-	{ _MMIO(0x9888), 0x47900000 },
-	{ _MMIO(0x9888), 0x33900000 },
-};
-
-static ssize_t
-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
-{
-	return sprintf(buf, "1\n");
-}
-
-void
-i915_perf_load_test_config_bxt(struct drm_i915_private *dev_priv)
-{
-	strlcpy(dev_priv->perf.test_config.uuid,
-		"5ee72f5c-092f-421e-8b70-225f7c3e9612",
-		sizeof(dev_priv->perf.test_config.uuid));
-	dev_priv->perf.test_config.id = 1;
-
-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
-
-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
-
-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
-
-	dev_priv->perf.test_config.sysfs_metric.name = "5ee72f5c-092f-421e-8b70-225f7c3e9612";
-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
-
-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
-
-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
-}
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_bxt.h b/drivers/gpu/drm/i915/oa/i915_oa_bxt.h
deleted file mode 100644
index 0bdf391323ec..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_bxt.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#ifndef __I915_OA_BXT_H__
-#define __I915_OA_BXT_H__
-
-struct drm_i915_private;
-
-void i915_perf_load_test_config_bxt(struct drm_i915_private *dev_priv);
-
-#endif
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_cflgt2.c b/drivers/gpu/drm/i915/oa/i915_oa_cflgt2.c
deleted file mode 100644
index 0ea86f70a06c..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_cflgt2.c
+++ /dev/null
@@ -1,89 +0,0 @@
-// SPDX-License-Identifier: MIT
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#include <linux/sysfs.h>
-
-#include "i915_drv.h"
-#include "i915_oa_cflgt2.h"
-
-static const struct i915_oa_reg b_counter_config_test_oa[] = {
-	{ _MMIO(0x2740), 0x00000000 },
-	{ _MMIO(0x2744), 0x00800000 },
-	{ _MMIO(0x2714), 0xf0800000 },
-	{ _MMIO(0x2710), 0x00000000 },
-	{ _MMIO(0x2724), 0xf0800000 },
-	{ _MMIO(0x2720), 0x00000000 },
-	{ _MMIO(0x2770), 0x00000004 },
-	{ _MMIO(0x2774), 0x00000000 },
-	{ _MMIO(0x2778), 0x00000003 },
-	{ _MMIO(0x277c), 0x00000000 },
-	{ _MMIO(0x2780), 0x00000007 },
-	{ _MMIO(0x2784), 0x00000000 },
-	{ _MMIO(0x2788), 0x00100002 },
-	{ _MMIO(0x278c), 0x0000fff7 },
-	{ _MMIO(0x2790), 0x00100002 },
-	{ _MMIO(0x2794), 0x0000ffcf },
-	{ _MMIO(0x2798), 0x00100082 },
-	{ _MMIO(0x279c), 0x0000ffef },
-	{ _MMIO(0x27a0), 0x001000c2 },
-	{ _MMIO(0x27a4), 0x0000ffe7 },
-	{ _MMIO(0x27a8), 0x00100001 },
-	{ _MMIO(0x27ac), 0x0000ffe7 },
-};
-
-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
-};
-
-static const struct i915_oa_reg mux_config_test_oa[] = {
-	{ _MMIO(0x9840), 0x00000080 },
-	{ _MMIO(0x9888), 0x11810000 },
-	{ _MMIO(0x9888), 0x07810013 },
-	{ _MMIO(0x9888), 0x1f810000 },
-	{ _MMIO(0x9888), 0x1d810000 },
-	{ _MMIO(0x9888), 0x1b930040 },
-	{ _MMIO(0x9888), 0x07e54000 },
-	{ _MMIO(0x9888), 0x1f908000 },
-	{ _MMIO(0x9888), 0x11900000 },
-	{ _MMIO(0x9888), 0x37900000 },
-	{ _MMIO(0x9888), 0x53900000 },
-	{ _MMIO(0x9888), 0x45900000 },
-	{ _MMIO(0x9888), 0x33900000 },
-};
-
-static ssize_t
-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
-{
-	return sprintf(buf, "1\n");
-}
-
-void
-i915_perf_load_test_config_cflgt2(struct drm_i915_private *dev_priv)
-{
-	strlcpy(dev_priv->perf.test_config.uuid,
-		"74fb4902-d3d3-4237-9e90-cbdc68d0a446",
-		sizeof(dev_priv->perf.test_config.uuid));
-	dev_priv->perf.test_config.id = 1;
-
-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
-
-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
-
-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
-
-	dev_priv->perf.test_config.sysfs_metric.name = "74fb4902-d3d3-4237-9e90-cbdc68d0a446";
-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
-
-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
-
-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
-}
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_cflgt2.h b/drivers/gpu/drm/i915/oa/i915_oa_cflgt2.h
deleted file mode 100644
index 6b862280ab78..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_cflgt2.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#ifndef __I915_OA_CFLGT2_H__
-#define __I915_OA_CFLGT2_H__
-
-struct drm_i915_private;
-
-void i915_perf_load_test_config_cflgt2(struct drm_i915_private *dev_priv);
-
-#endif
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_cflgt3.c b/drivers/gpu/drm/i915/oa/i915_oa_cflgt3.c
deleted file mode 100644
index fc632dd890bf..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_cflgt3.c
+++ /dev/null
@@ -1,89 +0,0 @@
-// SPDX-License-Identifier: MIT
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#include <linux/sysfs.h>
-
-#include "i915_drv.h"
-#include "i915_oa_cflgt3.h"
-
-static const struct i915_oa_reg b_counter_config_test_oa[] = {
-	{ _MMIO(0x2740), 0x00000000 },
-	{ _MMIO(0x2744), 0x00800000 },
-	{ _MMIO(0x2714), 0xf0800000 },
-	{ _MMIO(0x2710), 0x00000000 },
-	{ _MMIO(0x2724), 0xf0800000 },
-	{ _MMIO(0x2720), 0x00000000 },
-	{ _MMIO(0x2770), 0x00000004 },
-	{ _MMIO(0x2774), 0x00000000 },
-	{ _MMIO(0x2778), 0x00000003 },
-	{ _MMIO(0x277c), 0x00000000 },
-	{ _MMIO(0x2780), 0x00000007 },
-	{ _MMIO(0x2784), 0x00000000 },
-	{ _MMIO(0x2788), 0x00100002 },
-	{ _MMIO(0x278c), 0x0000fff7 },
-	{ _MMIO(0x2790), 0x00100002 },
-	{ _MMIO(0x2794), 0x0000ffcf },
-	{ _MMIO(0x2798), 0x00100082 },
-	{ _MMIO(0x279c), 0x0000ffef },
-	{ _MMIO(0x27a0), 0x001000c2 },
-	{ _MMIO(0x27a4), 0x0000ffe7 },
-	{ _MMIO(0x27a8), 0x00100001 },
-	{ _MMIO(0x27ac), 0x0000ffe7 },
-};
-
-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
-};
-
-static const struct i915_oa_reg mux_config_test_oa[] = {
-	{ _MMIO(0x9840), 0x00000080 },
-	{ _MMIO(0x9888), 0x11810000 },
-	{ _MMIO(0x9888), 0x07810013 },
-	{ _MMIO(0x9888), 0x1f810000 },
-	{ _MMIO(0x9888), 0x1d810000 },
-	{ _MMIO(0x9888), 0x1b930040 },
-	{ _MMIO(0x9888), 0x07e54000 },
-	{ _MMIO(0x9888), 0x1f908000 },
-	{ _MMIO(0x9888), 0x11900000 },
-	{ _MMIO(0x9888), 0x37900000 },
-	{ _MMIO(0x9888), 0x53900000 },
-	{ _MMIO(0x9888), 0x45900000 },
-	{ _MMIO(0x9888), 0x33900000 },
-};
-
-static ssize_t
-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
-{
-	return sprintf(buf, "1\n");
-}
-
-void
-i915_perf_load_test_config_cflgt3(struct drm_i915_private *dev_priv)
-{
-	strlcpy(dev_priv->perf.test_config.uuid,
-		"577e8e2c-3fa0-4875-8743-3538d585e3b0",
-		sizeof(dev_priv->perf.test_config.uuid));
-	dev_priv->perf.test_config.id = 1;
-
-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
-
-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
-
-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
-
-	dev_priv->perf.test_config.sysfs_metric.name = "577e8e2c-3fa0-4875-8743-3538d585e3b0";
-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
-
-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
-
-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
-}
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_cflgt3.h b/drivers/gpu/drm/i915/oa/i915_oa_cflgt3.h
deleted file mode 100644
index 4ca9d8f89b2f..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_cflgt3.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#ifndef __I915_OA_CFLGT3_H__
-#define __I915_OA_CFLGT3_H__
-
-struct drm_i915_private;
-
-void i915_perf_load_test_config_cflgt3(struct drm_i915_private *dev_priv);
-
-#endif
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_chv.c b/drivers/gpu/drm/i915/oa/i915_oa_chv.c
deleted file mode 100644
index 6cd4e9921a8a..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_chv.c
+++ /dev/null
@@ -1,89 +0,0 @@
-// SPDX-License-Identifier: MIT
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#include <linux/sysfs.h>
-
-#include "i915_drv.h"
-#include "i915_oa_chv.h"
-
-static const struct i915_oa_reg b_counter_config_test_oa[] = {
-	{ _MMIO(0x2740), 0x00000000 },
-	{ _MMIO(0x2744), 0x00800000 },
-	{ _MMIO(0x2714), 0xf0800000 },
-	{ _MMIO(0x2710), 0x00000000 },
-	{ _MMIO(0x2724), 0xf0800000 },
-	{ _MMIO(0x2720), 0x00000000 },
-	{ _MMIO(0x2770), 0x00000004 },
-	{ _MMIO(0x2774), 0x00000000 },
-	{ _MMIO(0x2778), 0x00000003 },
-	{ _MMIO(0x277c), 0x00000000 },
-	{ _MMIO(0x2780), 0x00000007 },
-	{ _MMIO(0x2784), 0x00000000 },
-	{ _MMIO(0x2788), 0x00100002 },
-	{ _MMIO(0x278c), 0x0000fff7 },
-	{ _MMIO(0x2790), 0x00100002 },
-	{ _MMIO(0x2794), 0x0000ffcf },
-	{ _MMIO(0x2798), 0x00100082 },
-	{ _MMIO(0x279c), 0x0000ffef },
-	{ _MMIO(0x27a0), 0x001000c2 },
-	{ _MMIO(0x27a4), 0x0000ffe7 },
-	{ _MMIO(0x27a8), 0x00100001 },
-	{ _MMIO(0x27ac), 0x0000ffe7 },
-};
-
-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
-};
-
-static const struct i915_oa_reg mux_config_test_oa[] = {
-	{ _MMIO(0x9840), 0x000000a0 },
-	{ _MMIO(0x9888), 0x59800000 },
-	{ _MMIO(0x9888), 0x59800001 },
-	{ _MMIO(0x9888), 0x338b0000 },
-	{ _MMIO(0x9888), 0x258b0066 },
-	{ _MMIO(0x9888), 0x058b0000 },
-	{ _MMIO(0x9888), 0x038b0000 },
-	{ _MMIO(0x9888), 0x03844000 },
-	{ _MMIO(0x9888), 0x47800080 },
-	{ _MMIO(0x9888), 0x57800000 },
-	{ _MMIO(0x1823a4), 0x00000000 },
-	{ _MMIO(0x9888), 0x59800000 },
-	{ _MMIO(0x9840), 0x00000080 },
-};
-
-static ssize_t
-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
-{
-	return sprintf(buf, "1\n");
-}
-
-void
-i915_perf_load_test_config_chv(struct drm_i915_private *dev_priv)
-{
-	strlcpy(dev_priv->perf.test_config.uuid,
-		"4a534b07-cba3-414d-8d60-874830e883aa",
-		sizeof(dev_priv->perf.test_config.uuid));
-	dev_priv->perf.test_config.id = 1;
-
-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
-
-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
-
-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
-
-	dev_priv->perf.test_config.sysfs_metric.name = "4a534b07-cba3-414d-8d60-874830e883aa";
-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
-
-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
-
-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
-}
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_chv.h b/drivers/gpu/drm/i915/oa/i915_oa_chv.h
deleted file mode 100644
index 3cac7bbc9c71..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_chv.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#ifndef __I915_OA_CHV_H__
-#define __I915_OA_CHV_H__
-
-struct drm_i915_private;
-
-void i915_perf_load_test_config_chv(struct drm_i915_private *dev_priv);
-
-#endif
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_cnl.c b/drivers/gpu/drm/i915/oa/i915_oa_cnl.c
deleted file mode 100644
index 1041e8914993..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_cnl.c
+++ /dev/null
@@ -1,101 +0,0 @@
-// SPDX-License-Identifier: MIT
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#include <linux/sysfs.h>
-
-#include "i915_drv.h"
-#include "i915_oa_cnl.h"
-
-static const struct i915_oa_reg b_counter_config_test_oa[] = {
-	{ _MMIO(0x2740), 0x00000000 },
-	{ _MMIO(0x2710), 0x00000000 },
-	{ _MMIO(0x2714), 0xf0800000 },
-	{ _MMIO(0x2720), 0x00000000 },
-	{ _MMIO(0x2724), 0xf0800000 },
-	{ _MMIO(0x2770), 0x00000004 },
-	{ _MMIO(0x2774), 0x0000ffff },
-	{ _MMIO(0x2778), 0x00000003 },
-	{ _MMIO(0x277c), 0x0000ffff },
-	{ _MMIO(0x2780), 0x00000007 },
-	{ _MMIO(0x2784), 0x0000ffff },
-	{ _MMIO(0x2788), 0x00100002 },
-	{ _MMIO(0x278c), 0x0000fff7 },
-	{ _MMIO(0x2790), 0x00100002 },
-	{ _MMIO(0x2794), 0x0000ffcf },
-	{ _MMIO(0x2798), 0x00100082 },
-	{ _MMIO(0x279c), 0x0000ffef },
-	{ _MMIO(0x27a0), 0x001000c2 },
-	{ _MMIO(0x27a4), 0x0000ffe7 },
-	{ _MMIO(0x27a8), 0x00100001 },
-	{ _MMIO(0x27ac), 0x0000ffe7 },
-};
-
-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
-};
-
-static const struct i915_oa_reg mux_config_test_oa[] = {
-	{ _MMIO(0xd04), 0x00000200 },
-	{ _MMIO(0x9884), 0x00000007 },
-	{ _MMIO(0x9888), 0x17060000 },
-	{ _MMIO(0x9840), 0x00000000 },
-	{ _MMIO(0x9884), 0x00000007 },
-	{ _MMIO(0x9888), 0x13034000 },
-	{ _MMIO(0x9884), 0x00000007 },
-	{ _MMIO(0x9888), 0x07060066 },
-	{ _MMIO(0x9884), 0x00000007 },
-	{ _MMIO(0x9888), 0x05060000 },
-	{ _MMIO(0x9884), 0x00000007 },
-	{ _MMIO(0x9888), 0x0f080040 },
-	{ _MMIO(0x9884), 0x00000007 },
-	{ _MMIO(0x9888), 0x07091000 },
-	{ _MMIO(0x9884), 0x00000007 },
-	{ _MMIO(0x9888), 0x0f041000 },
-	{ _MMIO(0x9884), 0x00000007 },
-	{ _MMIO(0x9888), 0x1d004000 },
-	{ _MMIO(0x9884), 0x00000007 },
-	{ _MMIO(0x9888), 0x35000000 },
-	{ _MMIO(0x9884), 0x00000007 },
-	{ _MMIO(0x9888), 0x49000000 },
-	{ _MMIO(0x9884), 0x00000007 },
-	{ _MMIO(0x9888), 0x3d000000 },
-	{ _MMIO(0x9884), 0x00000007 },
-	{ _MMIO(0x9888), 0x31000000 },
-};
-
-static ssize_t
-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
-{
-	return sprintf(buf, "1\n");
-}
-
-void
-i915_perf_load_test_config_cnl(struct drm_i915_private *dev_priv)
-{
-	strlcpy(dev_priv->perf.test_config.uuid,
-		"db41edd4-d8e7-4730-ad11-b9a2d6833503",
-		sizeof(dev_priv->perf.test_config.uuid));
-	dev_priv->perf.test_config.id = 1;
-
-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
-
-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
-
-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
-
-	dev_priv->perf.test_config.sysfs_metric.name = "db41edd4-d8e7-4730-ad11-b9a2d6833503";
-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
-
-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
-
-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
-}
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_cnl.h b/drivers/gpu/drm/i915/oa/i915_oa_cnl.h
deleted file mode 100644
index db379f5fcbb9..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_cnl.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#ifndef __I915_OA_CNL_H__
-#define __I915_OA_CNL_H__
-
-struct drm_i915_private;
-
-void i915_perf_load_test_config_cnl(struct drm_i915_private *dev_priv);
-
-#endif
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_glk.c b/drivers/gpu/drm/i915/oa/i915_oa_glk.c
deleted file mode 100644
index bd15ebe9aeeb..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_glk.c
+++ /dev/null
@@ -1,88 +0,0 @@
-// SPDX-License-Identifier: MIT
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#include <linux/sysfs.h>
-
-#include "i915_drv.h"
-#include "i915_oa_glk.h"
-
-static const struct i915_oa_reg b_counter_config_test_oa[] = {
-	{ _MMIO(0x2740), 0x00000000 },
-	{ _MMIO(0x2744), 0x00800000 },
-	{ _MMIO(0x2714), 0xf0800000 },
-	{ _MMIO(0x2710), 0x00000000 },
-	{ _MMIO(0x2724), 0xf0800000 },
-	{ _MMIO(0x2720), 0x00000000 },
-	{ _MMIO(0x2770), 0x00000004 },
-	{ _MMIO(0x2774), 0x00000000 },
-	{ _MMIO(0x2778), 0x00000003 },
-	{ _MMIO(0x277c), 0x00000000 },
-	{ _MMIO(0x2780), 0x00000007 },
-	{ _MMIO(0x2784), 0x00000000 },
-	{ _MMIO(0x2788), 0x00100002 },
-	{ _MMIO(0x278c), 0x0000fff7 },
-	{ _MMIO(0x2790), 0x00100002 },
-	{ _MMIO(0x2794), 0x0000ffcf },
-	{ _MMIO(0x2798), 0x00100082 },
-	{ _MMIO(0x279c), 0x0000ffef },
-	{ _MMIO(0x27a0), 0x001000c2 },
-	{ _MMIO(0x27a4), 0x0000ffe7 },
-	{ _MMIO(0x27a8), 0x00100001 },
-	{ _MMIO(0x27ac), 0x0000ffe7 },
-};
-
-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
-};
-
-static const struct i915_oa_reg mux_config_test_oa[] = {
-	{ _MMIO(0x9840), 0x00000080 },
-	{ _MMIO(0x9888), 0x19800000 },
-	{ _MMIO(0x9888), 0x07800063 },
-	{ _MMIO(0x9888), 0x11800000 },
-	{ _MMIO(0x9888), 0x23810008 },
-	{ _MMIO(0x9888), 0x1d950400 },
-	{ _MMIO(0x9888), 0x0f922000 },
-	{ _MMIO(0x9888), 0x1f908000 },
-	{ _MMIO(0x9888), 0x37900000 },
-	{ _MMIO(0x9888), 0x55900000 },
-	{ _MMIO(0x9888), 0x47900000 },
-	{ _MMIO(0x9888), 0x33900000 },
-};
-
-static ssize_t
-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
-{
-	return sprintf(buf, "1\n");
-}
-
-void
-i915_perf_load_test_config_glk(struct drm_i915_private *dev_priv)
-{
-	strlcpy(dev_priv->perf.test_config.uuid,
-		"dd3fd789-e783-4204-8cd0-b671bbccb0cf",
-		sizeof(dev_priv->perf.test_config.uuid));
-	dev_priv->perf.test_config.id = 1;
-
-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
-
-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
-
-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
-
-	dev_priv->perf.test_config.sysfs_metric.name = "dd3fd789-e783-4204-8cd0-b671bbccb0cf";
-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
-
-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
-
-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
-}
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_glk.h b/drivers/gpu/drm/i915/oa/i915_oa_glk.h
deleted file mode 100644
index 779f343efd11..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_glk.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#ifndef __I915_OA_GLK_H__
-#define __I915_OA_GLK_H__
-
-struct drm_i915_private;
-
-void i915_perf_load_test_config_glk(struct drm_i915_private *dev_priv);
-
-#endif
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_hsw.c b/drivers/gpu/drm/i915/oa/i915_oa_hsw.c
deleted file mode 100644
index 133721a8619f..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_hsw.c
+++ /dev/null
@@ -1,118 +0,0 @@
-// SPDX-License-Identifier: MIT
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#include <linux/sysfs.h>
-
-#include "i915_drv.h"
-#include "i915_oa_hsw.h"
-
-static const struct i915_oa_reg b_counter_config_render_basic[] = {
-	{ _MMIO(0x2724), 0x00800000 },
-	{ _MMIO(0x2720), 0x00000000 },
-	{ _MMIO(0x2714), 0x00800000 },
-	{ _MMIO(0x2710), 0x00000000 },
-};
-
-static const struct i915_oa_reg flex_eu_config_render_basic[] = {
-};
-
-static const struct i915_oa_reg mux_config_render_basic[] = {
-	{ _MMIO(0x9840), 0x00000080 },
-	{ _MMIO(0x253a4), 0x01600000 },
-	{ _MMIO(0x25440), 0x00100000 },
-	{ _MMIO(0x25128), 0x00000000 },
-	{ _MMIO(0x2691c), 0x00000800 },
-	{ _MMIO(0x26aa0), 0x01500000 },
-	{ _MMIO(0x26b9c), 0x00006000 },
-	{ _MMIO(0x2791c), 0x00000800 },
-	{ _MMIO(0x27aa0), 0x01500000 },
-	{ _MMIO(0x27b9c), 0x00006000 },
-	{ _MMIO(0x2641c), 0x00000400 },
-	{ _MMIO(0x25380), 0x00000010 },
-	{ _MMIO(0x2538c), 0x00000000 },
-	{ _MMIO(0x25384), 0x0800aaaa },
-	{ _MMIO(0x25400), 0x00000004 },
-	{ _MMIO(0x2540c), 0x06029000 },
-	{ _MMIO(0x25410), 0x00000002 },
-	{ _MMIO(0x25404), 0x5c30ffff },
-	{ _MMIO(0x25100), 0x00000016 },
-	{ _MMIO(0x25110), 0x00000400 },
-	{ _MMIO(0x25104), 0x00000000 },
-	{ _MMIO(0x26804), 0x00001211 },
-	{ _MMIO(0x26884), 0x00000100 },
-	{ _MMIO(0x26900), 0x00000002 },
-	{ _MMIO(0x26908), 0x00700000 },
-	{ _MMIO(0x26904), 0x00000000 },
-	{ _MMIO(0x26984), 0x00001022 },
-	{ _MMIO(0x26a04), 0x00000011 },
-	{ _MMIO(0x26a80), 0x00000006 },
-	{ _MMIO(0x26a88), 0x00000c02 },
-	{ _MMIO(0x26a84), 0x00000000 },
-	{ _MMIO(0x26b04), 0x00001000 },
-	{ _MMIO(0x26b80), 0x00000002 },
-	{ _MMIO(0x26b8c), 0x00000007 },
-	{ _MMIO(0x26b84), 0x00000000 },
-	{ _MMIO(0x27804), 0x00004844 },
-	{ _MMIO(0x27884), 0x00000400 },
-	{ _MMIO(0x27900), 0x00000002 },
-	{ _MMIO(0x27908), 0x0e000000 },
-	{ _MMIO(0x27904), 0x00000000 },
-	{ _MMIO(0x27984), 0x00004088 },
-	{ _MMIO(0x27a04), 0x00000044 },
-	{ _MMIO(0x27a80), 0x00000006 },
-	{ _MMIO(0x27a88), 0x00018040 },
-	{ _MMIO(0x27a84), 0x00000000 },
-	{ _MMIO(0x27b04), 0x00004000 },
-	{ _MMIO(0x27b80), 0x00000002 },
-	{ _MMIO(0x27b8c), 0x000000e0 },
-	{ _MMIO(0x27b84), 0x00000000 },
-	{ _MMIO(0x26104), 0x00002222 },
-	{ _MMIO(0x26184), 0x0c006666 },
-	{ _MMIO(0x26284), 0x04000000 },
-	{ _MMIO(0x26304), 0x04000000 },
-	{ _MMIO(0x26400), 0x00000002 },
-	{ _MMIO(0x26410), 0x000000a0 },
-	{ _MMIO(0x26404), 0x00000000 },
-	{ _MMIO(0x25420), 0x04108020 },
-	{ _MMIO(0x25424), 0x1284a420 },
-	{ _MMIO(0x2541c), 0x00000000 },
-	{ _MMIO(0x25428), 0x00042049 },
-};
-
-static ssize_t
-show_render_basic_id(struct device *kdev, struct device_attribute *attr, char *buf)
-{
-	return sprintf(buf, "1\n");
-}
-
-void
-i915_perf_load_test_config_hsw(struct drm_i915_private *dev_priv)
-{
-	strlcpy(dev_priv->perf.test_config.uuid,
-		"403d8832-1a27-4aa6-a64e-f5389ce7b212",
-		sizeof(dev_priv->perf.test_config.uuid));
-	dev_priv->perf.test_config.id = 1;
-
-	dev_priv->perf.test_config.mux_regs = mux_config_render_basic;
-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_render_basic);
-
-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_render_basic;
-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_render_basic);
-
-	dev_priv->perf.test_config.flex_regs = flex_eu_config_render_basic;
-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_render_basic);
-
-	dev_priv->perf.test_config.sysfs_metric.name = "403d8832-1a27-4aa6-a64e-f5389ce7b212";
-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
-
-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
-
-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
-	dev_priv->perf.test_config.sysfs_metric_id.show = show_render_basic_id;
-}
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_hsw.h b/drivers/gpu/drm/i915/oa/i915_oa_hsw.h
deleted file mode 100644
index ba97f732f136..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_hsw.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#ifndef __I915_OA_HSW_H__
-#define __I915_OA_HSW_H__
-
-struct drm_i915_private;
-
-void i915_perf_load_test_config_hsw(struct drm_i915_private *dev_priv);
-
-#endif
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_icl.c b/drivers/gpu/drm/i915/oa/i915_oa_icl.c
deleted file mode 100644
index 2d92041b754f..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_icl.c
+++ /dev/null
@@ -1,98 +0,0 @@
-// SPDX-License-Identifier: MIT
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#include <linux/sysfs.h>
-
-#include "i915_drv.h"
-#include "i915_oa_icl.h"
-
-static const struct i915_oa_reg b_counter_config_test_oa[] = {
-	{ _MMIO(0x2740), 0x00000000 },
-	{ _MMIO(0x2710), 0x00000000 },
-	{ _MMIO(0x2714), 0xf0800000 },
-	{ _MMIO(0x2720), 0x00000000 },
-	{ _MMIO(0x2724), 0xf0800000 },
-	{ _MMIO(0x2770), 0x00000004 },
-	{ _MMIO(0x2774), 0x0000ffff },
-	{ _MMIO(0x2778), 0x00000003 },
-	{ _MMIO(0x277c), 0x0000ffff },
-	{ _MMIO(0x2780), 0x00000007 },
-	{ _MMIO(0x2784), 0x0000ffff },
-	{ _MMIO(0x2788), 0x00100002 },
-	{ _MMIO(0x278c), 0x0000fff7 },
-	{ _MMIO(0x2790), 0x00100002 },
-	{ _MMIO(0x2794), 0x0000ffcf },
-	{ _MMIO(0x2798), 0x00100082 },
-	{ _MMIO(0x279c), 0x0000ffef },
-	{ _MMIO(0x27a0), 0x001000c2 },
-	{ _MMIO(0x27a4), 0x0000ffe7 },
-	{ _MMIO(0x27a8), 0x00100001 },
-	{ _MMIO(0x27ac), 0x0000ffe7 },
-};
-
-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
-};
-
-static const struct i915_oa_reg mux_config_test_oa[] = {
-	{ _MMIO(0xd04), 0x00000200 },
-	{ _MMIO(0x9840), 0x00000000 },
-	{ _MMIO(0x9884), 0x00000000 },
-	{ _MMIO(0x9888), 0x10060000 },
-	{ _MMIO(0x9888), 0x22060000 },
-	{ _MMIO(0x9888), 0x16060000 },
-	{ _MMIO(0x9888), 0x24060000 },
-	{ _MMIO(0x9888), 0x18060000 },
-	{ _MMIO(0x9888), 0x1a060000 },
-	{ _MMIO(0x9888), 0x12060000 },
-	{ _MMIO(0x9888), 0x14060000 },
-	{ _MMIO(0x9888), 0x10060000 },
-	{ _MMIO(0x9888), 0x22060000 },
-	{ _MMIO(0x9884), 0x00000003 },
-	{ _MMIO(0x9888), 0x16130000 },
-	{ _MMIO(0x9888), 0x24000001 },
-	{ _MMIO(0x9888), 0x0e130056 },
-	{ _MMIO(0x9888), 0x10130000 },
-	{ _MMIO(0x9888), 0x1a130000 },
-	{ _MMIO(0x9888), 0x541f0001 },
-	{ _MMIO(0x9888), 0x181f0000 },
-	{ _MMIO(0x9888), 0x4c1f0000 },
-	{ _MMIO(0x9888), 0x301f0000 },
-};
-
-static ssize_t
-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
-{
-	return sprintf(buf, "1\n");
-}
-
-void
-i915_perf_load_test_config_icl(struct drm_i915_private *dev_priv)
-{
-	strlcpy(dev_priv->perf.test_config.uuid,
-		"a291665e-244b-4b76-9b9a-01de9d3c8068",
-		sizeof(dev_priv->perf.test_config.uuid));
-	dev_priv->perf.test_config.id = 1;
-
-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
-
-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
-
-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
-
-	dev_priv->perf.test_config.sysfs_metric.name = "a291665e-244b-4b76-9b9a-01de9d3c8068";
-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
-
-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
-
-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
-}
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_icl.h b/drivers/gpu/drm/i915/oa/i915_oa_icl.h
deleted file mode 100644
index 5c64112d720e..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_icl.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#ifndef __I915_OA_ICL_H__
-#define __I915_OA_ICL_H__
-
-struct drm_i915_private;
-
-void i915_perf_load_test_config_icl(struct drm_i915_private *dev_priv);
-
-#endif
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_kblgt2.c b/drivers/gpu/drm/i915/oa/i915_oa_kblgt2.c
deleted file mode 100644
index 1c3a67c9cfe0..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_kblgt2.c
+++ /dev/null
@@ -1,89 +0,0 @@
-// SPDX-License-Identifier: MIT
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#include <linux/sysfs.h>
-
-#include "i915_drv.h"
-#include "i915_oa_kblgt2.h"
-
-static const struct i915_oa_reg b_counter_config_test_oa[] = {
-	{ _MMIO(0x2740), 0x00000000 },
-	{ _MMIO(0x2744), 0x00800000 },
-	{ _MMIO(0x2714), 0xf0800000 },
-	{ _MMIO(0x2710), 0x00000000 },
-	{ _MMIO(0x2724), 0xf0800000 },
-	{ _MMIO(0x2720), 0x00000000 },
-	{ _MMIO(0x2770), 0x00000004 },
-	{ _MMIO(0x2774), 0x00000000 },
-	{ _MMIO(0x2778), 0x00000003 },
-	{ _MMIO(0x277c), 0x00000000 },
-	{ _MMIO(0x2780), 0x00000007 },
-	{ _MMIO(0x2784), 0x00000000 },
-	{ _MMIO(0x2788), 0x00100002 },
-	{ _MMIO(0x278c), 0x0000fff7 },
-	{ _MMIO(0x2790), 0x00100002 },
-	{ _MMIO(0x2794), 0x0000ffcf },
-	{ _MMIO(0x2798), 0x00100082 },
-	{ _MMIO(0x279c), 0x0000ffef },
-	{ _MMIO(0x27a0), 0x001000c2 },
-	{ _MMIO(0x27a4), 0x0000ffe7 },
-	{ _MMIO(0x27a8), 0x00100001 },
-	{ _MMIO(0x27ac), 0x0000ffe7 },
-};
-
-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
-};
-
-static const struct i915_oa_reg mux_config_test_oa[] = {
-	{ _MMIO(0x9840), 0x00000080 },
-	{ _MMIO(0x9888), 0x11810000 },
-	{ _MMIO(0x9888), 0x07810013 },
-	{ _MMIO(0x9888), 0x1f810000 },
-	{ _MMIO(0x9888), 0x1d810000 },
-	{ _MMIO(0x9888), 0x1b930040 },
-	{ _MMIO(0x9888), 0x07e54000 },
-	{ _MMIO(0x9888), 0x1f908000 },
-	{ _MMIO(0x9888), 0x11900000 },
-	{ _MMIO(0x9888), 0x37900000 },
-	{ _MMIO(0x9888), 0x53900000 },
-	{ _MMIO(0x9888), 0x45900000 },
-	{ _MMIO(0x9888), 0x33900000 },
-};
-
-static ssize_t
-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
-{
-	return sprintf(buf, "1\n");
-}
-
-void
-i915_perf_load_test_config_kblgt2(struct drm_i915_private *dev_priv)
-{
-	strlcpy(dev_priv->perf.test_config.uuid,
-		"baa3c7e4-52b6-4b85-801e-465a94b746dd",
-		sizeof(dev_priv->perf.test_config.uuid));
-	dev_priv->perf.test_config.id = 1;
-
-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
-
-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
-
-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
-
-	dev_priv->perf.test_config.sysfs_metric.name = "baa3c7e4-52b6-4b85-801e-465a94b746dd";
-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
-
-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
-
-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
-}
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_kblgt2.h b/drivers/gpu/drm/i915/oa/i915_oa_kblgt2.h
deleted file mode 100644
index 810532fa6b63..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_kblgt2.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#ifndef __I915_OA_KBLGT2_H__
-#define __I915_OA_KBLGT2_H__
-
-struct drm_i915_private;
-
-void i915_perf_load_test_config_kblgt2(struct drm_i915_private *dev_priv);
-
-#endif
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_kblgt3.c b/drivers/gpu/drm/i915/oa/i915_oa_kblgt3.c
deleted file mode 100644
index ebbe5a9c9fdc..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_kblgt3.c
+++ /dev/null
@@ -1,89 +0,0 @@
-// SPDX-License-Identifier: MIT
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#include <linux/sysfs.h>
-
-#include "i915_drv.h"
-#include "i915_oa_kblgt3.h"
-
-static const struct i915_oa_reg b_counter_config_test_oa[] = {
-	{ _MMIO(0x2740), 0x00000000 },
-	{ _MMIO(0x2744), 0x00800000 },
-	{ _MMIO(0x2714), 0xf0800000 },
-	{ _MMIO(0x2710), 0x00000000 },
-	{ _MMIO(0x2724), 0xf0800000 },
-	{ _MMIO(0x2720), 0x00000000 },
-	{ _MMIO(0x2770), 0x00000004 },
-	{ _MMIO(0x2774), 0x00000000 },
-	{ _MMIO(0x2778), 0x00000003 },
-	{ _MMIO(0x277c), 0x00000000 },
-	{ _MMIO(0x2780), 0x00000007 },
-	{ _MMIO(0x2784), 0x00000000 },
-	{ _MMIO(0x2788), 0x00100002 },
-	{ _MMIO(0x278c), 0x0000fff7 },
-	{ _MMIO(0x2790), 0x00100002 },
-	{ _MMIO(0x2794), 0x0000ffcf },
-	{ _MMIO(0x2798), 0x00100082 },
-	{ _MMIO(0x279c), 0x0000ffef },
-	{ _MMIO(0x27a0), 0x001000c2 },
-	{ _MMIO(0x27a4), 0x0000ffe7 },
-	{ _MMIO(0x27a8), 0x00100001 },
-	{ _MMIO(0x27ac), 0x0000ffe7 },
-};
-
-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
-};
-
-static const struct i915_oa_reg mux_config_test_oa[] = {
-	{ _MMIO(0x9840), 0x00000080 },
-	{ _MMIO(0x9888), 0x11810000 },
-	{ _MMIO(0x9888), 0x07810013 },
-	{ _MMIO(0x9888), 0x1f810000 },
-	{ _MMIO(0x9888), 0x1d810000 },
-	{ _MMIO(0x9888), 0x1b930040 },
-	{ _MMIO(0x9888), 0x07e54000 },
-	{ _MMIO(0x9888), 0x1f908000 },
-	{ _MMIO(0x9888), 0x11900000 },
-	{ _MMIO(0x9888), 0x37900000 },
-	{ _MMIO(0x9888), 0x53900000 },
-	{ _MMIO(0x9888), 0x45900000 },
-	{ _MMIO(0x9888), 0x33900000 },
-};
-
-static ssize_t
-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
-{
-	return sprintf(buf, "1\n");
-}
-
-void
-i915_perf_load_test_config_kblgt3(struct drm_i915_private *dev_priv)
-{
-	strlcpy(dev_priv->perf.test_config.uuid,
-		"f1792f32-6db2-4b50-b4b2-557128f1688d",
-		sizeof(dev_priv->perf.test_config.uuid));
-	dev_priv->perf.test_config.id = 1;
-
-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
-
-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
-
-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
-
-	dev_priv->perf.test_config.sysfs_metric.name = "f1792f32-6db2-4b50-b4b2-557128f1688d";
-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
-
-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
-
-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
-}
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_kblgt3.h b/drivers/gpu/drm/i915/oa/i915_oa_kblgt3.h
deleted file mode 100644
index 13d70456fabd..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_kblgt3.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#ifndef __I915_OA_KBLGT3_H__
-#define __I915_OA_KBLGT3_H__
-
-struct drm_i915_private;
-
-void i915_perf_load_test_config_kblgt3(struct drm_i915_private *dev_priv);
-
-#endif
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_sklgt2.c b/drivers/gpu/drm/i915/oa/i915_oa_sklgt2.c
deleted file mode 100644
index 1bc359ed34e8..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_sklgt2.c
+++ /dev/null
@@ -1,88 +0,0 @@
-// SPDX-License-Identifier: MIT
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#include <linux/sysfs.h>
-
-#include "i915_drv.h"
-#include "i915_oa_sklgt2.h"
-
-static const struct i915_oa_reg b_counter_config_test_oa[] = {
-	{ _MMIO(0x2740), 0x00000000 },
-	{ _MMIO(0x2714), 0xf0800000 },
-	{ _MMIO(0x2710), 0x00000000 },
-	{ _MMIO(0x2724), 0xf0800000 },
-	{ _MMIO(0x2720), 0x00000000 },
-	{ _MMIO(0x2770), 0x00000004 },
-	{ _MMIO(0x2774), 0x00000000 },
-	{ _MMIO(0x2778), 0x00000003 },
-	{ _MMIO(0x277c), 0x00000000 },
-	{ _MMIO(0x2780), 0x00000007 },
-	{ _MMIO(0x2784), 0x00000000 },
-	{ _MMIO(0x2788), 0x00100002 },
-	{ _MMIO(0x278c), 0x0000fff7 },
-	{ _MMIO(0x2790), 0x00100002 },
-	{ _MMIO(0x2794), 0x0000ffcf },
-	{ _MMIO(0x2798), 0x00100082 },
-	{ _MMIO(0x279c), 0x0000ffef },
-	{ _MMIO(0x27a0), 0x001000c2 },
-	{ _MMIO(0x27a4), 0x0000ffe7 },
-	{ _MMIO(0x27a8), 0x00100001 },
-	{ _MMIO(0x27ac), 0x0000ffe7 },
-};
-
-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
-};
-
-static const struct i915_oa_reg mux_config_test_oa[] = {
-	{ _MMIO(0x9840), 0x00000080 },
-	{ _MMIO(0x9888), 0x11810000 },
-	{ _MMIO(0x9888), 0x07810016 },
-	{ _MMIO(0x9888), 0x1f810000 },
-	{ _MMIO(0x9888), 0x1d810000 },
-	{ _MMIO(0x9888), 0x1b930040 },
-	{ _MMIO(0x9888), 0x07e54000 },
-	{ _MMIO(0x9888), 0x1f908000 },
-	{ _MMIO(0x9888), 0x11900000 },
-	{ _MMIO(0x9888), 0x37900000 },
-	{ _MMIO(0x9888), 0x53900000 },
-	{ _MMIO(0x9888), 0x45900000 },
-	{ _MMIO(0x9888), 0x33900000 },
-};
-
-static ssize_t
-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
-{
-	return sprintf(buf, "1\n");
-}
-
-void
-i915_perf_load_test_config_sklgt2(struct drm_i915_private *dev_priv)
-{
-	strlcpy(dev_priv->perf.test_config.uuid,
-		"1651949f-0ac0-4cb1-a06f-dafd74a407d1",
-		sizeof(dev_priv->perf.test_config.uuid));
-	dev_priv->perf.test_config.id = 1;
-
-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
-
-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
-
-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
-
-	dev_priv->perf.test_config.sysfs_metric.name = "1651949f-0ac0-4cb1-a06f-dafd74a407d1";
-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
-
-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
-
-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
-}
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_sklgt2.h b/drivers/gpu/drm/i915/oa/i915_oa_sklgt2.h
deleted file mode 100644
index fda70c51a6ec..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_sklgt2.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#ifndef __I915_OA_SKLGT2_H__
-#define __I915_OA_SKLGT2_H__
-
-struct drm_i915_private;
-
-void i915_perf_load_test_config_sklgt2(struct drm_i915_private *dev_priv);
-
-#endif
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_sklgt3.c b/drivers/gpu/drm/i915/oa/i915_oa_sklgt3.c
deleted file mode 100644
index 6e352f881310..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_sklgt3.c
+++ /dev/null
@@ -1,89 +0,0 @@
-// SPDX-License-Identifier: MIT
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#include <linux/sysfs.h>
-
-#include "i915_drv.h"
-#include "i915_oa_sklgt3.h"
-
-static const struct i915_oa_reg b_counter_config_test_oa[] = {
-	{ _MMIO(0x2740), 0x00000000 },
-	{ _MMIO(0x2744), 0x00800000 },
-	{ _MMIO(0x2714), 0xf0800000 },
-	{ _MMIO(0x2710), 0x00000000 },
-	{ _MMIO(0x2724), 0xf0800000 },
-	{ _MMIO(0x2720), 0x00000000 },
-	{ _MMIO(0x2770), 0x00000004 },
-	{ _MMIO(0x2774), 0x00000000 },
-	{ _MMIO(0x2778), 0x00000003 },
-	{ _MMIO(0x277c), 0x00000000 },
-	{ _MMIO(0x2780), 0x00000007 },
-	{ _MMIO(0x2784), 0x00000000 },
-	{ _MMIO(0x2788), 0x00100002 },
-	{ _MMIO(0x278c), 0x0000fff7 },
-	{ _MMIO(0x2790), 0x00100002 },
-	{ _MMIO(0x2794), 0x0000ffcf },
-	{ _MMIO(0x2798), 0x00100082 },
-	{ _MMIO(0x279c), 0x0000ffef },
-	{ _MMIO(0x27a0), 0x001000c2 },
-	{ _MMIO(0x27a4), 0x0000ffe7 },
-	{ _MMIO(0x27a8), 0x00100001 },
-	{ _MMIO(0x27ac), 0x0000ffe7 },
-};
-
-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
-};
-
-static const struct i915_oa_reg mux_config_test_oa[] = {
-	{ _MMIO(0x9840), 0x00000080 },
-	{ _MMIO(0x9888), 0x11810000 },
-	{ _MMIO(0x9888), 0x07810013 },
-	{ _MMIO(0x9888), 0x1f810000 },
-	{ _MMIO(0x9888), 0x1d810000 },
-	{ _MMIO(0x9888), 0x1b930040 },
-	{ _MMIO(0x9888), 0x07e54000 },
-	{ _MMIO(0x9888), 0x1f908000 },
-	{ _MMIO(0x9888), 0x11900000 },
-	{ _MMIO(0x9888), 0x37900000 },
-	{ _MMIO(0x9888), 0x53900000 },
-	{ _MMIO(0x9888), 0x45900000 },
-	{ _MMIO(0x9888), 0x33900000 },
-};
-
-static ssize_t
-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
-{
-	return sprintf(buf, "1\n");
-}
-
-void
-i915_perf_load_test_config_sklgt3(struct drm_i915_private *dev_priv)
-{
-	strlcpy(dev_priv->perf.test_config.uuid,
-		"2b985803-d3c9-4629-8a4f-634bfecba0e8",
-		sizeof(dev_priv->perf.test_config.uuid));
-	dev_priv->perf.test_config.id = 1;
-
-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
-
-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
-
-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
-
-	dev_priv->perf.test_config.sysfs_metric.name = "2b985803-d3c9-4629-8a4f-634bfecba0e8";
-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
-
-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
-
-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
-}
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_sklgt3.h b/drivers/gpu/drm/i915/oa/i915_oa_sklgt3.h
deleted file mode 100644
index df74eba5799e..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_sklgt3.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#ifndef __I915_OA_SKLGT3_H__
-#define __I915_OA_SKLGT3_H__
-
-struct drm_i915_private;
-
-void i915_perf_load_test_config_sklgt3(struct drm_i915_private *dev_priv);
-
-#endif
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_sklgt4.c b/drivers/gpu/drm/i915/oa/i915_oa_sklgt4.c
deleted file mode 100644
index 8f345115a306..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_sklgt4.c
+++ /dev/null
@@ -1,89 +0,0 @@
-// SPDX-License-Identifier: MIT
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#include <linux/sysfs.h>
-
-#include "i915_drv.h"
-#include "i915_oa_sklgt4.h"
-
-static const struct i915_oa_reg b_counter_config_test_oa[] = {
-	{ _MMIO(0x2740), 0x00000000 },
-	{ _MMIO(0x2744), 0x00800000 },
-	{ _MMIO(0x2714), 0xf0800000 },
-	{ _MMIO(0x2710), 0x00000000 },
-	{ _MMIO(0x2724), 0xf0800000 },
-	{ _MMIO(0x2720), 0x00000000 },
-	{ _MMIO(0x2770), 0x00000004 },
-	{ _MMIO(0x2774), 0x00000000 },
-	{ _MMIO(0x2778), 0x00000003 },
-	{ _MMIO(0x277c), 0x00000000 },
-	{ _MMIO(0x2780), 0x00000007 },
-	{ _MMIO(0x2784), 0x00000000 },
-	{ _MMIO(0x2788), 0x00100002 },
-	{ _MMIO(0x278c), 0x0000fff7 },
-	{ _MMIO(0x2790), 0x00100002 },
-	{ _MMIO(0x2794), 0x0000ffcf },
-	{ _MMIO(0x2798), 0x00100082 },
-	{ _MMIO(0x279c), 0x0000ffef },
-	{ _MMIO(0x27a0), 0x001000c2 },
-	{ _MMIO(0x27a4), 0x0000ffe7 },
-	{ _MMIO(0x27a8), 0x00100001 },
-	{ _MMIO(0x27ac), 0x0000ffe7 },
-};
-
-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
-};
-
-static const struct i915_oa_reg mux_config_test_oa[] = {
-	{ _MMIO(0x9840), 0x00000080 },
-	{ _MMIO(0x9888), 0x11810000 },
-	{ _MMIO(0x9888), 0x07810013 },
-	{ _MMIO(0x9888), 0x1f810000 },
-	{ _MMIO(0x9888), 0x1d810000 },
-	{ _MMIO(0x9888), 0x1b930040 },
-	{ _MMIO(0x9888), 0x07e54000 },
-	{ _MMIO(0x9888), 0x1f908000 },
-	{ _MMIO(0x9888), 0x11900000 },
-	{ _MMIO(0x9888), 0x37900000 },
-	{ _MMIO(0x9888), 0x53900000 },
-	{ _MMIO(0x9888), 0x45900000 },
-	{ _MMIO(0x9888), 0x33900000 },
-};
-
-static ssize_t
-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
-{
-	return sprintf(buf, "1\n");
-}
-
-void
-i915_perf_load_test_config_sklgt4(struct drm_i915_private *dev_priv)
-{
-	strlcpy(dev_priv->perf.test_config.uuid,
-		"882fa433-1f4a-4a67-a962-c741888fe5f5",
-		sizeof(dev_priv->perf.test_config.uuid));
-	dev_priv->perf.test_config.id = 1;
-
-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
-
-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
-
-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
-
-	dev_priv->perf.test_config.sysfs_metric.name = "882fa433-1f4a-4a67-a962-c741888fe5f5";
-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
-
-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
-
-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
-}
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_sklgt4.h b/drivers/gpu/drm/i915/oa/i915_oa_sklgt4.h
deleted file mode 100644
index 378ab7ab78d5..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_sklgt4.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2018-2019 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#ifndef __I915_OA_SKLGT4_H__
-#define __I915_OA_SKLGT4_H__
-
-struct drm_i915_private;
-
-void i915_perf_load_test_config_sklgt4(struct drm_i915_private *dev_priv);
-
-#endif
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_tgl.c b/drivers/gpu/drm/i915/oa/i915_oa_tgl.c
deleted file mode 100644
index a29d93707345..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_tgl.c
+++ /dev/null
@@ -1,121 +0,0 @@
-// SPDX-License-Identifier: MIT
-/*
- * Copyright © 2018 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#include <linux/sysfs.h>
-
-#include "i915_drv.h"
-#include "i915_oa_tgl.h"
-
-static const struct i915_oa_reg b_counter_config_test_oa[] = {
-	{ _MMIO(0xD920), 0x00000000 },
-	{ _MMIO(0xD900), 0x00000000 },
-	{ _MMIO(0xD904), 0xF0800000 },
-	{ _MMIO(0xD910), 0x00000000 },
-	{ _MMIO(0xD914), 0xF0800000 },
-	{ _MMIO(0xDC40), 0x00FF0000 },
-	{ _MMIO(0xD940), 0x00000004 },
-	{ _MMIO(0xD944), 0x0000FFFF },
-	{ _MMIO(0xDC00), 0x00000004 },
-	{ _MMIO(0xDC04), 0x0000FFFF },
-	{ _MMIO(0xD948), 0x00000003 },
-	{ _MMIO(0xD94C), 0x0000FFFF },
-	{ _MMIO(0xDC08), 0x00000003 },
-	{ _MMIO(0xDC0C), 0x0000FFFF },
-	{ _MMIO(0xD950), 0x00000007 },
-	{ _MMIO(0xD954), 0x0000FFFF },
-	{ _MMIO(0xDC10), 0x00000007 },
-	{ _MMIO(0xDC14), 0x0000FFFF },
-	{ _MMIO(0xD958), 0x00100002 },
-	{ _MMIO(0xD95C), 0x0000FFF7 },
-	{ _MMIO(0xDC18), 0x00100002 },
-	{ _MMIO(0xDC1C), 0x0000FFF7 },
-	{ _MMIO(0xD960), 0x00100002 },
-	{ _MMIO(0xD964), 0x0000FFCF },
-	{ _MMIO(0xDC20), 0x00100002 },
-	{ _MMIO(0xDC24), 0x0000FFCF },
-	{ _MMIO(0xD968), 0x00100082 },
-	{ _MMIO(0xD96C), 0x0000FFEF },
-	{ _MMIO(0xDC28), 0x00100082 },
-	{ _MMIO(0xDC2C), 0x0000FFEF },
-	{ _MMIO(0xD970), 0x001000C2 },
-	{ _MMIO(0xD974), 0x0000FFE7 },
-	{ _MMIO(0xDC30), 0x001000C2 },
-	{ _MMIO(0xDC34), 0x0000FFE7 },
-	{ _MMIO(0xD978), 0x00100001 },
-	{ _MMIO(0xD97C), 0x0000FFE7 },
-	{ _MMIO(0xDC38), 0x00100001 },
-	{ _MMIO(0xDC3C), 0x0000FFE7 },
-};
-
-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
-};
-
-static const struct i915_oa_reg mux_config_test_oa[] = {
-	{ _MMIO(0x0D04), 0x00000200 },
-	{ _MMIO(0x9840), 0x00000000 },
-	{ _MMIO(0x9884), 0x00000000 },
-	{ _MMIO(0x9888), 0x280E0000 },
-	{ _MMIO(0x9888), 0x1E0E0147 },
-	{ _MMIO(0x9888), 0x180E0000 },
-	{ _MMIO(0x9888), 0x160E0000 },
-	{ _MMIO(0x9888), 0x1E0F1000 },
-	{ _MMIO(0x9888), 0x1E104000 },
-	{ _MMIO(0x9888), 0x2E020100 },
-	{ _MMIO(0x9888), 0x2C030004 },
-	{ _MMIO(0x9888), 0x38003000 },
-	{ _MMIO(0x9888), 0x1E0A8000 },
-	{ _MMIO(0x9884), 0x00000003 },
-	{ _MMIO(0x9888), 0x49110000 },
-	{ _MMIO(0x9888), 0x5D101400 },
-	{ _MMIO(0x9888), 0x1D140020 },
-	{ _MMIO(0x9888), 0x1D1103A3 },
-	{ _MMIO(0x9888), 0x01110000 },
-	{ _MMIO(0x9888), 0x61111000 },
-	{ _MMIO(0x9888), 0x1F128000 },
-	{ _MMIO(0x9888), 0x17100000 },
-	{ _MMIO(0x9888), 0x55100630 },
-	{ _MMIO(0x9888), 0x57100000 },
-	{ _MMIO(0x9888), 0x31100000 },
-	{ _MMIO(0x9884), 0x00000003 },
-	{ _MMIO(0x9888), 0x65100002 },
-	{ _MMIO(0x9884), 0x00000000 },
-	{ _MMIO(0x9888), 0x42000001 },
-};
-
-static ssize_t
-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
-{
-	return sprintf(buf, "1\n");
-}
-
-void
-i915_perf_load_test_config_tgl(struct drm_i915_private *dev_priv)
-{
-	strlcpy(dev_priv->perf.test_config.uuid,
-		"80a833f0-2504-4321-8894-e9277844ce7b",
-		sizeof(dev_priv->perf.test_config.uuid));
-	dev_priv->perf.test_config.id = 1;
-
-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
-
-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
-
-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
-
-	dev_priv->perf.test_config.sysfs_metric.name = "80a833f0-2504-4321-8894-e9277844ce7b";
-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
-
-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
-
-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
-}
diff --git a/drivers/gpu/drm/i915/oa/i915_oa_tgl.h b/drivers/gpu/drm/i915/oa/i915_oa_tgl.h
deleted file mode 100644
index 4c25f0be825c..000000000000
--- a/drivers/gpu/drm/i915/oa/i915_oa_tgl.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2018 Intel Corporation
- *
- * Autogenerated file by GPU Top : https://github.com/rib/gputop
- * DO NOT EDIT manually!
- */
-
-#ifndef __I915_OA_TGL_H__
-#define __I915_OA_TGL_H__
-
-struct drm_i915_private;
-
-void i915_perf_load_test_config_tgl(struct drm_i915_private *dev_priv);
-
-#endif
diff --git a/drivers/gpu/drm/i915/selftests/i915_perf.c b/drivers/gpu/drm/i915/selftests/i915_perf.c
index d1a1568c47ba..b64deb7c3ac7 100644
--- a/drivers/gpu/drm/i915/selftests/i915_perf.c
+++ b/drivers/gpu/drm/i915/selftests/i915_perf.c
@@ -14,10 +14,85 @@
 #include "igt_flush_test.h"
 #include "lib_sw_fence.h"
 
+#define TEST_OA_CONFIG_UUID "12345678-1234-1234-1234-1234567890ab"
+
+static int
+alloc_empty_config(struct i915_perf *perf)
+{
+	struct i915_oa_config *oa_config;
+
+	oa_config = kzalloc(sizeof(*oa_config), GFP_KERNEL);
+	if (!oa_config)
+		return -ENOMEM;
+
+	oa_config->perf = perf;
+	kref_init(&oa_config->ref);
+
+	strlcpy(oa_config->uuid, TEST_OA_CONFIG_UUID, sizeof(oa_config->uuid));
+
+	mutex_lock(&perf->metrics_lock);
+
+	oa_config->id = idr_alloc(&perf->metrics_idr, oa_config, 2, 0, GFP_KERNEL);
+	if (oa_config->id < 0)  {
+		mutex_lock(&perf->metrics_lock);
+		i915_oa_config_put(oa_config);
+		return -ENOMEM;
+	}
+
+	mutex_unlock(&perf->metrics_lock);
+
+	return 0;
+}
+
+static void
+destroy_empty_config(struct i915_perf *perf)
+{
+	struct i915_oa_config *oa_config = NULL, *tmp;
+	int id;
+
+	mutex_lock(&perf->metrics_lock);
+
+	idr_for_each_entry(&perf->metrics_idr, tmp, id) {
+		if (!strcmp(tmp->uuid, TEST_OA_CONFIG_UUID)) {
+			oa_config = tmp;
+			break;
+		}
+	}
+
+	if (oa_config)
+		idr_remove(&perf->metrics_idr, oa_config->id);
+
+	mutex_unlock(&perf->metrics_lock);
+
+	if (oa_config)
+		i915_oa_config_put(oa_config);
+}
+
+static struct i915_oa_config *
+get_empty_config(struct i915_perf *perf)
+{
+	struct i915_oa_config *oa_config = NULL, *tmp;
+	int id;
+
+	mutex_lock(&perf->metrics_lock);
+
+	idr_for_each_entry(&perf->metrics_idr, tmp, id) {
+		if (!strcmp(tmp->uuid, TEST_OA_CONFIG_UUID)) {
+			oa_config = i915_oa_config_get(tmp);
+			break;
+		}
+	}
+
+	mutex_unlock(&perf->metrics_lock);
+
+	return oa_config;
+}
+
 static struct i915_perf_stream *
 test_stream(struct i915_perf *perf)
 {
 	struct drm_i915_perf_open_param param = {};
+	struct i915_oa_config *oa_config = get_empty_config(perf);
 	struct perf_open_properties props = {
 		.engine = intel_engine_lookup_user(perf->i915,
 						   I915_ENGINE_CLASS_RENDER,
@@ -25,13 +100,19 @@ test_stream(struct i915_perf *perf)
 		.sample_flags = SAMPLE_OA_REPORT,
 		.oa_format = IS_GEN(perf->i915, 12) ?
 		I915_OA_FORMAT_A32u40_A4u32_B8_C8 : I915_OA_FORMAT_C4_B8,
-		.metrics_set = 1,
 	};
 	struct i915_perf_stream *stream;
 
+	if (!oa_config)
+		return NULL;
+
+	props.metrics_set = oa_config->id;
+
 	stream = kzalloc(sizeof(*stream), GFP_KERNEL);
-	if (!stream)
+	if (!stream) {
+		i915_oa_config_put(oa_config);
 		return NULL;
+	}
 
 	stream->perf = perf;
 
@@ -42,6 +123,8 @@ test_stream(struct i915_perf *perf)
 	}
 	mutex_unlock(&perf->lock);
 
+	i915_oa_config_put(oa_config);
+
 	return stream;
 }
 
@@ -206,6 +289,7 @@ int i915_perf_live_selftests(struct drm_i915_private *i915)
 		SUBTEST(live_noa_delay),
 	};
 	struct i915_perf *perf = &i915->perf;
+	int err;
 
 	if (!perf->metrics_kobj || !perf->ops.enable_metric_set)
 		return 0;
@@ -213,5 +297,13 @@ int i915_perf_live_selftests(struct drm_i915_private *i915)
 	if (intel_gt_is_wedged(&i915->gt))
 		return 0;
 
-	return i915_subtests(tests, i915);
+	err = alloc_empty_config(&i915->perf);
+	if (err)
+		return err;
+
+	err = i915_subtests(tests, i915);
+
+	destroy_empty_config(&i915->perf);
+
+	return err;
 }
-- 
2.25.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Intel-gfx] [PATCH v6 2/3] drm/i915/perf: remove redundant power configuration register override
  2020-03-14 10:33 [Intel-gfx] [PATCH v6 1/3] drm/i915/perf: remove generated code Lionel Landwerlin
@ 2020-03-14 10:33 ` Lionel Landwerlin
  2020-03-14 10:33 ` [Intel-gfx] [PATCH v6 3/3] drm/i915/perf: introduce global sseu pinning Lionel Landwerlin
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Lionel Landwerlin @ 2020-03-14 10:33 UTC (permalink / raw)
  To: intel-gfx

The caller of i915_oa_init_reg_state() already sets this.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
 drivers/gpu/drm/i915/i915_perf.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
index 0069f09b988c..86c6abaa3e0e 100644
--- a/drivers/gpu/drm/i915/i915_perf.c
+++ b/drivers/gpu/drm/i915/i915_perf.c
@@ -2098,9 +2098,6 @@ gen8_update_reg_state_unlocked(const struct intel_context *ce,
 	for (i = 0; i < ARRAY_SIZE(flex_regs); i++)
 		reg_state[ctx_flexeu0 + i * 2 + 1] =
 			oa_config_flex_reg(stream->oa_config, flex_regs[i]);
-
-	reg_state[CTX_R_PWR_CLK_STATE] =
-		intel_sseu_make_rpcs(ce->engine->i915, &ce->sseu);
 }
 
 struct flex {
@@ -2906,10 +2903,6 @@ void i915_oa_init_reg_state(const struct intel_context *ce,
 
 	/* perf.exclusive_stream serialised by lrc_configure_all_contexts() */
 	stream = READ_ONCE(engine->i915->perf.exclusive_stream);
-	/*
-	 * For gen12, only CTX_R_PWR_CLK_STATE needs update, but the caller
-	 * is already doing that, so nothing to be done for gen12 here.
-	 */
 	if (stream && INTEL_GEN(stream->perf->i915) < 12)
 		gen8_update_reg_state_unlocked(ce, stream);
 }
-- 
2.25.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Intel-gfx] [PATCH v6 3/3] drm/i915/perf: introduce global sseu pinning
  2020-03-14 10:33 [Intel-gfx] [PATCH v6 1/3] drm/i915/perf: remove generated code Lionel Landwerlin
  2020-03-14 10:33 ` [Intel-gfx] [PATCH v6 2/3] drm/i915/perf: remove redundant power configuration register override Lionel Landwerlin
@ 2020-03-14 10:33 ` Lionel Landwerlin
  2020-03-16  9:11   ` Tvrtko Ursulin
  2020-03-16 15:18 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [v6,1/3] drm/i915/perf: remove generated code Patchwork
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 9+ messages in thread
From: Lionel Landwerlin @ 2020-03-14 10:33 UTC (permalink / raw)
  To: intel-gfx

On Gen11 powergating half the execution units is a functional
requirement when using the VME samplers. Not fullfilling this
requirement can lead to hangs.

This unfortunately plays fairly poorly with the NOA requirements. NOA
requires a stable power configuration to maintain its configuration.

As a result using OA (and NOA feeding into it) so far has required us
to use a power configuration that can work for all contexts. The only
power configuration fullfilling this is powergating half the execution
units.

This makes performance analysis for 3D workloads somewhat pointless.

Failing to find a solution that would work for everybody, this change
introduces a new i915-perf stream open parameter that punts the
decision off to userspace. If this parameter is omitted, the existing
Gen11 behavior remains (half EU array powergating).

This change takes the initiative to move all perf related sseu
configuration into i915_perf.c

v2: Make parameter priviliged if different from default

v3: Fix context modifying its sseu config while i915-perf is enabled

v4: Always consider global sseu a privileged operation (Tvrtko)
    Override req_sseu point in intel_sseu_make_rpcs() (Tvrtko)
    Remove unrelated changes (Tvrtko)

v5: Some typos (Tvrtko)
    Process sseu param in read_properties_unlocked() (Tvrtko)

v6: Actually commit the bits from v5...
    Fixup some checkpath warnings

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
---
 drivers/gpu/drm/i915/gem/i915_gem_context.c | 10 +--
 drivers/gpu/drm/i915/gem/i915_gem_context.h |  4 +
 drivers/gpu/drm/i915/gt/intel_sseu.c        | 33 ++------
 drivers/gpu/drm/i915/i915_perf.c            | 83 ++++++++++++++++++++-
 drivers/gpu/drm/i915/i915_perf_types.h      |  7 ++
 include/uapi/drm/i915_drm.h                 | 11 +++
 6 files changed, 115 insertions(+), 33 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c
index 026999b34abd..c0e476fcd1fa 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
@@ -1401,10 +1401,10 @@ static int get_ringsize(struct i915_gem_context *ctx,
 	return 0;
 }
 
-static int
-user_to_context_sseu(struct drm_i915_private *i915,
-		     const struct drm_i915_gem_context_param_sseu *user,
-		     struct intel_sseu *context)
+int
+i915_gem_user_to_context_sseu(struct drm_i915_private *i915,
+			      const struct drm_i915_gem_context_param_sseu *user,
+			      struct intel_sseu *context)
 {
 	const struct sseu_dev_info *device = &RUNTIME_INFO(i915)->sseu;
 
@@ -1539,7 +1539,7 @@ static int set_sseu(struct i915_gem_context *ctx,
 		goto out_ce;
 	}
 
-	ret = user_to_context_sseu(i915, &user_sseu, &sseu);
+	ret = i915_gem_user_to_context_sseu(i915, &user_sseu, &sseu);
 	if (ret)
 		goto out_ce;
 
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.h b/drivers/gpu/drm/i915/gem/i915_gem_context.h
index 57b7ae2893e1..f37c36719b04 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_context.h
+++ b/drivers/gpu/drm/i915/gem/i915_gem_context.h
@@ -221,4 +221,8 @@ i915_gem_engines_iter_next(struct i915_gem_engines_iter *it);
 struct i915_lut_handle *i915_lut_handle_alloc(void);
 void i915_lut_handle_free(struct i915_lut_handle *lut);
 
+int i915_gem_user_to_context_sseu(struct drm_i915_private *i915,
+				  const struct drm_i915_gem_context_param_sseu *user,
+				  struct intel_sseu *context);
+
 #endif /* !__I915_GEM_CONTEXT_H__ */
diff --git a/drivers/gpu/drm/i915/gt/intel_sseu.c b/drivers/gpu/drm/i915/gt/intel_sseu.c
index 74f793423231..d173271c7397 100644
--- a/drivers/gpu/drm/i915/gt/intel_sseu.c
+++ b/drivers/gpu/drm/i915/gt/intel_sseu.c
@@ -65,7 +65,6 @@ u32 intel_sseu_make_rpcs(struct drm_i915_private *i915,
 {
 	const struct sseu_dev_info *sseu = &RUNTIME_INFO(i915)->sseu;
 	bool subslice_pg = sseu->has_subslice_pg;
-	struct intel_sseu ctx_sseu;
 	u8 slices, subslices;
 	u32 rpcs = 0;
 
@@ -78,31 +77,13 @@ u32 intel_sseu_make_rpcs(struct drm_i915_private *i915,
 
 	/*
 	 * If i915/perf is active, we want a stable powergating configuration
-	 * on the system.
-	 *
-	 * We could choose full enablement, but on ICL we know there are use
-	 * cases which disable slices for functional, apart for performance
-	 * reasons. So in this case we select a known stable subset.
+	 * on the system. Use the configuration pinned by i915/perf.
 	 */
-	if (!i915->perf.exclusive_stream) {
-		ctx_sseu = *req_sseu;
-	} else {
-		ctx_sseu = intel_sseu_from_device_info(sseu);
-
-		if (IS_GEN(i915, 11)) {
-			/*
-			 * We only need subslice count so it doesn't matter
-			 * which ones we select - just turn off low bits in the
-			 * amount of half of all available subslices per slice.
-			 */
-			ctx_sseu.subslice_mask =
-				~(~0 << (hweight8(ctx_sseu.subslice_mask) / 2));
-			ctx_sseu.slice_mask = 0x1;
-		}
-	}
+	if (i915->perf.exclusive_stream)
+		req_sseu = &i915->perf.sseu;
 
-	slices = hweight8(ctx_sseu.slice_mask);
-	subslices = hweight8(ctx_sseu.subslice_mask);
+	slices = hweight8(req_sseu->slice_mask);
+	subslices = hweight8(req_sseu->subslice_mask);
 
 	/*
 	 * Since the SScount bitfield in GEN8_R_PWR_CLK_STATE is only three bits
@@ -175,13 +156,13 @@ u32 intel_sseu_make_rpcs(struct drm_i915_private *i915,
 	if (sseu->has_eu_pg) {
 		u32 val;
 
-		val = ctx_sseu.min_eus_per_subslice << GEN8_RPCS_EU_MIN_SHIFT;
+		val = req_sseu->min_eus_per_subslice << GEN8_RPCS_EU_MIN_SHIFT;
 		GEM_BUG_ON(val & ~GEN8_RPCS_EU_MIN_MASK);
 		val &= GEN8_RPCS_EU_MIN_MASK;
 
 		rpcs |= val;
 
-		val = ctx_sseu.max_eus_per_subslice << GEN8_RPCS_EU_MAX_SHIFT;
+		val = req_sseu->max_eus_per_subslice << GEN8_RPCS_EU_MAX_SHIFT;
 		GEM_BUG_ON(val & ~GEN8_RPCS_EU_MAX_MASK);
 		val &= GEN8_RPCS_EU_MAX_MASK;
 
diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
index 86c6abaa3e0e..6f0937d318a2 100644
--- a/drivers/gpu/drm/i915/i915_perf.c
+++ b/drivers/gpu/drm/i915/i915_perf.c
@@ -344,6 +344,10 @@ static const struct i915_oa_format gen12_oa_formats[I915_OA_FORMAT_MAX] = {
  * @oa_periodic: Whether to enable periodic OA unit sampling
  * @oa_period_exponent: The OA unit sampling period is derived from this
  * @engine: The engine (typically rcs0) being monitored by the OA unit
+ * @has_sseu: Whether @sseu was specified by userspace
+ * @sseu: internal SSEU configuration computed either from the userspace
+ *        specified configuration in the opening parameters or a default value
+ *        (see get_default_sseu_config())
  *
  * As read_properties_unlocked() enumerates and validates the properties given
  * to open a stream of metrics the configuration is built up in the structure
@@ -363,6 +367,9 @@ struct perf_open_properties {
 	int oa_period_exponent;
 
 	struct intel_engine_cs *engine;
+
+	bool has_sseu;
+	struct intel_sseu sseu;
 };
 
 struct i915_oa_config_bo {
@@ -2720,6 +2727,46 @@ static int i915_perf_stream_enable_sync(struct i915_perf_stream *stream)
 	return 0;
 }
 
+static void
+get_default_sseu_config(struct intel_sseu *out_sseu,
+			struct intel_engine_cs *engine)
+{
+	const struct sseu_dev_info *devinfo_sseu =
+		&RUNTIME_INFO(engine->i915)->sseu;
+
+	*out_sseu = intel_sseu_from_device_info(devinfo_sseu);
+
+	if (IS_GEN(engine->i915, 11)) {
+		/*
+		 * We only need subslice count so it doesn't matter which ones
+		 * we select - just turn off low bits in the amount of half of
+		 * all available subslices per slice.
+		 */
+		out_sseu->subslice_mask =
+			~(~0 << (hweight8(out_sseu->subslice_mask) / 2));
+		out_sseu->slice_mask = 0x1;
+	}
+}
+
+static int
+get_sseu_config(struct intel_sseu *out_sseu,
+		struct intel_engine_cs *engine,
+		const struct drm_i915_gem_context_param_sseu *drm_sseu)
+{
+	struct intel_engine_cs *user_engine;
+
+	user_engine = intel_engine_lookup_user(engine->i915,
+					       drm_sseu->engine.engine_class,
+					       drm_sseu->engine.engine_instance);
+	if (!user_engine)
+		return -EINVAL;
+
+	if (user_engine != engine)
+		return -EINVAL;
+
+	return i915_gem_user_to_context_sseu(engine->i915, drm_sseu, out_sseu);
+}
+
 /**
  * i915_oa_stream_init - validate combined props for OA stream and init
  * @stream: An i915 perf stream
@@ -2852,6 +2899,8 @@ static int i915_oa_stream_init(struct i915_perf_stream *stream,
 		goto err_oa_buf_alloc;
 
 	stream->ops = &i915_oa_stream_ops;
+
+	perf->sseu = props->sseu;
 	WRITE_ONCE(perf->exclusive_stream, stream);
 
 	ret = i915_perf_stream_enable_sync(stream);
@@ -3397,6 +3446,14 @@ i915_perf_open_ioctl_locked(struct i915_perf *perf,
 		privileged_op = true;
 	}
 
+	/*
+	 * Asking for SSEU configuration is a priviliged operation.
+	 */
+	if (props->has_sseu)
+		privileged_op = true;
+	else
+		get_default_sseu_config(&props->sseu, props->engine);
+
 	/* Similar to perf's kernel.perf_paranoid_cpu sysctl option
 	 * we check a dev.i915.perf_stream_paranoid sysctl option
 	 * to determine if it's ok to access system wide OA counters
@@ -3492,6 +3549,7 @@ static int read_properties_unlocked(struct i915_perf *perf,
 {
 	u64 __user *uprop = uprops;
 	u32 i;
+	int ret;
 
 	memset(props, 0, sizeof(struct perf_open_properties));
 
@@ -3523,7 +3581,6 @@ static int read_properties_unlocked(struct i915_perf *perf,
 	for (i = 0; i < n_props; i++) {
 		u64 oa_period, oa_freq_hz;
 		u64 id, value;
-		int ret;
 
 		ret = get_user(id, uprop);
 		if (ret)
@@ -3609,6 +3666,24 @@ static int read_properties_unlocked(struct i915_perf *perf,
 		case DRM_I915_PERF_PROP_HOLD_PREEMPTION:
 			props->hold_preemption = !!value;
 			break;
+		case DRM_I915_PERF_PROP_GLOBAL_SSEU: {
+			struct drm_i915_gem_context_param_sseu user_sseu;
+
+			if (copy_from_user(&user_sseu,
+					   u64_to_user_ptr(value),
+					   sizeof(user_sseu))) {
+				DRM_DEBUG("Unable to copy global sseu parameter\n");
+				return -EFAULT;
+			}
+
+			ret = get_sseu_config(&props->sseu, props->engine, &user_sseu);
+			if (ret) {
+				DRM_DEBUG("Invalid SSEU configuration\n");
+				return ret;
+			}
+			props->has_sseu = true;
+			break;
+		}
 		case DRM_I915_PERF_PROP_MAX:
 			MISSING_CASE(id);
 			return -EINVAL;
@@ -4382,8 +4457,12 @@ int i915_perf_ioctl_version(void)
 	 *    preemption on a particular context so that performance data is
 	 *    accessible from a delta of MI_RPC reports without looking at the
 	 *    OA buffer.
+	 *
+	 * 4: Add DRM_I915_PERF_PROP_ALLOWED_SSEU to limit what contexts can
+	 *    be run for the duration of the performance recording based on
+	 *    their SSEU configuration.
 	 */
-	return 3;
+	return 4;
 }
 
 #if IS_ENABLED(CONFIG_DRM_I915_SELFTEST)
diff --git a/drivers/gpu/drm/i915/i915_perf_types.h b/drivers/gpu/drm/i915/i915_perf_types.h
index f4ccd2adfee6..32289cbda648 100644
--- a/drivers/gpu/drm/i915/i915_perf_types.h
+++ b/drivers/gpu/drm/i915/i915_perf_types.h
@@ -16,6 +16,7 @@
 #include <linux/uuid.h>
 #include <linux/wait.h>
 
+#include "gt/intel_sseu.h"
 #include "i915_reg.h"
 #include "intel_wakeref.h"
 
@@ -407,6 +408,12 @@ struct i915_perf {
 	 */
 	struct i915_perf_stream *exclusive_stream;
 
+	/**
+	 * @sseu: sseu configuration selected to run while perf is active,
+	 * applies to all contexts.
+	 */
+	struct intel_sseu sseu;
+
 	/**
 	 * For rate limiting any notifications of spurious
 	 * invalid OA reports
diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h
index 2813e579b480..db649d03ab52 100644
--- a/include/uapi/drm/i915_drm.h
+++ b/include/uapi/drm/i915_drm.h
@@ -1969,6 +1969,17 @@ enum drm_i915_perf_property_id {
 	 */
 	DRM_I915_PERF_PROP_HOLD_PREEMPTION,
 
+	/**
+	 * Specifying this pins all contexts to the specified SSEU power
+	 * configuration for the duration of the recording.
+	 *
+	 * This parameter's value is a pointer to a struct
+	 * drm_i915_gem_context_param_sseu.
+	 *
+	 * This property is available in perf revision 4.
+	 */
+	DRM_I915_PERF_PROP_GLOBAL_SSEU,
+
 	DRM_I915_PERF_PROP_MAX /* non-ABI */
 };
 
-- 
2.25.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [Intel-gfx] [PATCH v6 3/3] drm/i915/perf: introduce global sseu pinning
  2020-03-14 10:33 ` [Intel-gfx] [PATCH v6 3/3] drm/i915/perf: introduce global sseu pinning Lionel Landwerlin
@ 2020-03-16  9:11   ` Tvrtko Ursulin
  0 siblings, 0 replies; 9+ messages in thread
From: Tvrtko Ursulin @ 2020-03-16  9:11 UTC (permalink / raw)
  To: Lionel Landwerlin, intel-gfx


On 14/03/2020 10:33, Lionel Landwerlin wrote:
> On Gen11 powergating half the execution units is a functional
> requirement when using the VME samplers. Not fullfilling this
> requirement can lead to hangs.
> 
> This unfortunately plays fairly poorly with the NOA requirements. NOA
> requires a stable power configuration to maintain its configuration.
> 
> As a result using OA (and NOA feeding into it) so far has required us
> to use a power configuration that can work for all contexts. The only
> power configuration fullfilling this is powergating half the execution
> units.
> 
> This makes performance analysis for 3D workloads somewhat pointless.
> 
> Failing to find a solution that would work for everybody, this change
> introduces a new i915-perf stream open parameter that punts the
> decision off to userspace. If this parameter is omitted, the existing
> Gen11 behavior remains (half EU array powergating).
> 
> This change takes the initiative to move all perf related sseu
> configuration into i915_perf.c
> 
> v2: Make parameter priviliged if different from default
> 
> v3: Fix context modifying its sseu config while i915-perf is enabled
> 
> v4: Always consider global sseu a privileged operation (Tvrtko)
>      Override req_sseu point in intel_sseu_make_rpcs() (Tvrtko)
>      Remove unrelated changes (Tvrtko)
> 
> v5: Some typos (Tvrtko)
>      Process sseu param in read_properties_unlocked() (Tvrtko)
> 
> v6: Actually commit the bits from v5...
>      Fixup some checkpath warnings

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

Regards,

Tvrtko

> Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
> ---
>   drivers/gpu/drm/i915/gem/i915_gem_context.c | 10 +--
>   drivers/gpu/drm/i915/gem/i915_gem_context.h |  4 +
>   drivers/gpu/drm/i915/gt/intel_sseu.c        | 33 ++------
>   drivers/gpu/drm/i915/i915_perf.c            | 83 ++++++++++++++++++++-
>   drivers/gpu/drm/i915/i915_perf_types.h      |  7 ++
>   include/uapi/drm/i915_drm.h                 | 11 +++
>   6 files changed, 115 insertions(+), 33 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c
> index 026999b34abd..c0e476fcd1fa 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
> @@ -1401,10 +1401,10 @@ static int get_ringsize(struct i915_gem_context *ctx,
>   	return 0;
>   }
>   
> -static int
> -user_to_context_sseu(struct drm_i915_private *i915,
> -		     const struct drm_i915_gem_context_param_sseu *user,
> -		     struct intel_sseu *context)
> +int
> +i915_gem_user_to_context_sseu(struct drm_i915_private *i915,
> +			      const struct drm_i915_gem_context_param_sseu *user,
> +			      struct intel_sseu *context)
>   {
>   	const struct sseu_dev_info *device = &RUNTIME_INFO(i915)->sseu;
>   
> @@ -1539,7 +1539,7 @@ static int set_sseu(struct i915_gem_context *ctx,
>   		goto out_ce;
>   	}
>   
> -	ret = user_to_context_sseu(i915, &user_sseu, &sseu);
> +	ret = i915_gem_user_to_context_sseu(i915, &user_sseu, &sseu);
>   	if (ret)
>   		goto out_ce;
>   
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.h b/drivers/gpu/drm/i915/gem/i915_gem_context.h
> index 57b7ae2893e1..f37c36719b04 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_context.h
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_context.h
> @@ -221,4 +221,8 @@ i915_gem_engines_iter_next(struct i915_gem_engines_iter *it);
>   struct i915_lut_handle *i915_lut_handle_alloc(void);
>   void i915_lut_handle_free(struct i915_lut_handle *lut);
>   
> +int i915_gem_user_to_context_sseu(struct drm_i915_private *i915,
> +				  const struct drm_i915_gem_context_param_sseu *user,
> +				  struct intel_sseu *context);
> +
>   #endif /* !__I915_GEM_CONTEXT_H__ */
> diff --git a/drivers/gpu/drm/i915/gt/intel_sseu.c b/drivers/gpu/drm/i915/gt/intel_sseu.c
> index 74f793423231..d173271c7397 100644
> --- a/drivers/gpu/drm/i915/gt/intel_sseu.c
> +++ b/drivers/gpu/drm/i915/gt/intel_sseu.c
> @@ -65,7 +65,6 @@ u32 intel_sseu_make_rpcs(struct drm_i915_private *i915,
>   {
>   	const struct sseu_dev_info *sseu = &RUNTIME_INFO(i915)->sseu;
>   	bool subslice_pg = sseu->has_subslice_pg;
> -	struct intel_sseu ctx_sseu;
>   	u8 slices, subslices;
>   	u32 rpcs = 0;
>   
> @@ -78,31 +77,13 @@ u32 intel_sseu_make_rpcs(struct drm_i915_private *i915,
>   
>   	/*
>   	 * If i915/perf is active, we want a stable powergating configuration
> -	 * on the system.
> -	 *
> -	 * We could choose full enablement, but on ICL we know there are use
> -	 * cases which disable slices for functional, apart for performance
> -	 * reasons. So in this case we select a known stable subset.
> +	 * on the system. Use the configuration pinned by i915/perf.
>   	 */
> -	if (!i915->perf.exclusive_stream) {
> -		ctx_sseu = *req_sseu;
> -	} else {
> -		ctx_sseu = intel_sseu_from_device_info(sseu);
> -
> -		if (IS_GEN(i915, 11)) {
> -			/*
> -			 * We only need subslice count so it doesn't matter
> -			 * which ones we select - just turn off low bits in the
> -			 * amount of half of all available subslices per slice.
> -			 */
> -			ctx_sseu.subslice_mask =
> -				~(~0 << (hweight8(ctx_sseu.subslice_mask) / 2));
> -			ctx_sseu.slice_mask = 0x1;
> -		}
> -	}
> +	if (i915->perf.exclusive_stream)
> +		req_sseu = &i915->perf.sseu;
>   
> -	slices = hweight8(ctx_sseu.slice_mask);
> -	subslices = hweight8(ctx_sseu.subslice_mask);
> +	slices = hweight8(req_sseu->slice_mask);
> +	subslices = hweight8(req_sseu->subslice_mask);
>   
>   	/*
>   	 * Since the SScount bitfield in GEN8_R_PWR_CLK_STATE is only three bits
> @@ -175,13 +156,13 @@ u32 intel_sseu_make_rpcs(struct drm_i915_private *i915,
>   	if (sseu->has_eu_pg) {
>   		u32 val;
>   
> -		val = ctx_sseu.min_eus_per_subslice << GEN8_RPCS_EU_MIN_SHIFT;
> +		val = req_sseu->min_eus_per_subslice << GEN8_RPCS_EU_MIN_SHIFT;
>   		GEM_BUG_ON(val & ~GEN8_RPCS_EU_MIN_MASK);
>   		val &= GEN8_RPCS_EU_MIN_MASK;
>   
>   		rpcs |= val;
>   
> -		val = ctx_sseu.max_eus_per_subslice << GEN8_RPCS_EU_MAX_SHIFT;
> +		val = req_sseu->max_eus_per_subslice << GEN8_RPCS_EU_MAX_SHIFT;
>   		GEM_BUG_ON(val & ~GEN8_RPCS_EU_MAX_MASK);
>   		val &= GEN8_RPCS_EU_MAX_MASK;
>   
> diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
> index 86c6abaa3e0e..6f0937d318a2 100644
> --- a/drivers/gpu/drm/i915/i915_perf.c
> +++ b/drivers/gpu/drm/i915/i915_perf.c
> @@ -344,6 +344,10 @@ static const struct i915_oa_format gen12_oa_formats[I915_OA_FORMAT_MAX] = {
>    * @oa_periodic: Whether to enable periodic OA unit sampling
>    * @oa_period_exponent: The OA unit sampling period is derived from this
>    * @engine: The engine (typically rcs0) being monitored by the OA unit
> + * @has_sseu: Whether @sseu was specified by userspace
> + * @sseu: internal SSEU configuration computed either from the userspace
> + *        specified configuration in the opening parameters or a default value
> + *        (see get_default_sseu_config())
>    *
>    * As read_properties_unlocked() enumerates and validates the properties given
>    * to open a stream of metrics the configuration is built up in the structure
> @@ -363,6 +367,9 @@ struct perf_open_properties {
>   	int oa_period_exponent;
>   
>   	struct intel_engine_cs *engine;
> +
> +	bool has_sseu;
> +	struct intel_sseu sseu;
>   };
>   
>   struct i915_oa_config_bo {
> @@ -2720,6 +2727,46 @@ static int i915_perf_stream_enable_sync(struct i915_perf_stream *stream)
>   	return 0;
>   }
>   
> +static void
> +get_default_sseu_config(struct intel_sseu *out_sseu,
> +			struct intel_engine_cs *engine)
> +{
> +	const struct sseu_dev_info *devinfo_sseu =
> +		&RUNTIME_INFO(engine->i915)->sseu;
> +
> +	*out_sseu = intel_sseu_from_device_info(devinfo_sseu);
> +
> +	if (IS_GEN(engine->i915, 11)) {
> +		/*
> +		 * We only need subslice count so it doesn't matter which ones
> +		 * we select - just turn off low bits in the amount of half of
> +		 * all available subslices per slice.
> +		 */
> +		out_sseu->subslice_mask =
> +			~(~0 << (hweight8(out_sseu->subslice_mask) / 2));
> +		out_sseu->slice_mask = 0x1;
> +	}
> +}
> +
> +static int
> +get_sseu_config(struct intel_sseu *out_sseu,
> +		struct intel_engine_cs *engine,
> +		const struct drm_i915_gem_context_param_sseu *drm_sseu)
> +{
> +	struct intel_engine_cs *user_engine;
> +
> +	user_engine = intel_engine_lookup_user(engine->i915,
> +					       drm_sseu->engine.engine_class,
> +					       drm_sseu->engine.engine_instance);
> +	if (!user_engine)
> +		return -EINVAL;
> +
> +	if (user_engine != engine)
> +		return -EINVAL;
> +
> +	return i915_gem_user_to_context_sseu(engine->i915, drm_sseu, out_sseu);
> +}
> +
>   /**
>    * i915_oa_stream_init - validate combined props for OA stream and init
>    * @stream: An i915 perf stream
> @@ -2852,6 +2899,8 @@ static int i915_oa_stream_init(struct i915_perf_stream *stream,
>   		goto err_oa_buf_alloc;
>   
>   	stream->ops = &i915_oa_stream_ops;
> +
> +	perf->sseu = props->sseu;
>   	WRITE_ONCE(perf->exclusive_stream, stream);
>   
>   	ret = i915_perf_stream_enable_sync(stream);
> @@ -3397,6 +3446,14 @@ i915_perf_open_ioctl_locked(struct i915_perf *perf,
>   		privileged_op = true;
>   	}
>   
> +	/*
> +	 * Asking for SSEU configuration is a priviliged operation.
> +	 */
> +	if (props->has_sseu)
> +		privileged_op = true;
> +	else
> +		get_default_sseu_config(&props->sseu, props->engine);
> +
>   	/* Similar to perf's kernel.perf_paranoid_cpu sysctl option
>   	 * we check a dev.i915.perf_stream_paranoid sysctl option
>   	 * to determine if it's ok to access system wide OA counters
> @@ -3492,6 +3549,7 @@ static int read_properties_unlocked(struct i915_perf *perf,
>   {
>   	u64 __user *uprop = uprops;
>   	u32 i;
> +	int ret;
>   
>   	memset(props, 0, sizeof(struct perf_open_properties));
>   
> @@ -3523,7 +3581,6 @@ static int read_properties_unlocked(struct i915_perf *perf,
>   	for (i = 0; i < n_props; i++) {
>   		u64 oa_period, oa_freq_hz;
>   		u64 id, value;
> -		int ret;
>   
>   		ret = get_user(id, uprop);
>   		if (ret)
> @@ -3609,6 +3666,24 @@ static int read_properties_unlocked(struct i915_perf *perf,
>   		case DRM_I915_PERF_PROP_HOLD_PREEMPTION:
>   			props->hold_preemption = !!value;
>   			break;
> +		case DRM_I915_PERF_PROP_GLOBAL_SSEU: {
> +			struct drm_i915_gem_context_param_sseu user_sseu;
> +
> +			if (copy_from_user(&user_sseu,
> +					   u64_to_user_ptr(value),
> +					   sizeof(user_sseu))) {
> +				DRM_DEBUG("Unable to copy global sseu parameter\n");
> +				return -EFAULT;
> +			}
> +
> +			ret = get_sseu_config(&props->sseu, props->engine, &user_sseu);
> +			if (ret) {
> +				DRM_DEBUG("Invalid SSEU configuration\n");
> +				return ret;
> +			}
> +			props->has_sseu = true;
> +			break;
> +		}
>   		case DRM_I915_PERF_PROP_MAX:
>   			MISSING_CASE(id);
>   			return -EINVAL;
> @@ -4382,8 +4457,12 @@ int i915_perf_ioctl_version(void)
>   	 *    preemption on a particular context so that performance data is
>   	 *    accessible from a delta of MI_RPC reports without looking at the
>   	 *    OA buffer.
> +	 *
> +	 * 4: Add DRM_I915_PERF_PROP_ALLOWED_SSEU to limit what contexts can
> +	 *    be run for the duration of the performance recording based on
> +	 *    their SSEU configuration.
>   	 */
> -	return 3;
> +	return 4;
>   }
>   
>   #if IS_ENABLED(CONFIG_DRM_I915_SELFTEST)
> diff --git a/drivers/gpu/drm/i915/i915_perf_types.h b/drivers/gpu/drm/i915/i915_perf_types.h
> index f4ccd2adfee6..32289cbda648 100644
> --- a/drivers/gpu/drm/i915/i915_perf_types.h
> +++ b/drivers/gpu/drm/i915/i915_perf_types.h
> @@ -16,6 +16,7 @@
>   #include <linux/uuid.h>
>   #include <linux/wait.h>
>   
> +#include "gt/intel_sseu.h"
>   #include "i915_reg.h"
>   #include "intel_wakeref.h"
>   
> @@ -407,6 +408,12 @@ struct i915_perf {
>   	 */
>   	struct i915_perf_stream *exclusive_stream;
>   
> +	/**
> +	 * @sseu: sseu configuration selected to run while perf is active,
> +	 * applies to all contexts.
> +	 */
> +	struct intel_sseu sseu;
> +
>   	/**
>   	 * For rate limiting any notifications of spurious
>   	 * invalid OA reports
> diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h
> index 2813e579b480..db649d03ab52 100644
> --- a/include/uapi/drm/i915_drm.h
> +++ b/include/uapi/drm/i915_drm.h
> @@ -1969,6 +1969,17 @@ enum drm_i915_perf_property_id {
>   	 */
>   	DRM_I915_PERF_PROP_HOLD_PREEMPTION,
>   
> +	/**
> +	 * Specifying this pins all contexts to the specified SSEU power
> +	 * configuration for the duration of the recording.
> +	 *
> +	 * This parameter's value is a pointer to a struct
> +	 * drm_i915_gem_context_param_sseu.
> +	 *
> +	 * This property is available in perf revision 4.
> +	 */
> +	DRM_I915_PERF_PROP_GLOBAL_SSEU,
> +
>   	DRM_I915_PERF_PROP_MAX /* non-ABI */
>   };
>   
> 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [v6,1/3] drm/i915/perf: remove generated code
  2020-03-14 10:33 [Intel-gfx] [PATCH v6 1/3] drm/i915/perf: remove generated code Lionel Landwerlin
  2020-03-14 10:33 ` [Intel-gfx] [PATCH v6 2/3] drm/i915/perf: remove redundant power configuration register override Lionel Landwerlin
  2020-03-14 10:33 ` [Intel-gfx] [PATCH v6 3/3] drm/i915/perf: introduce global sseu pinning Lionel Landwerlin
@ 2020-03-16 15:18 ` Patchwork
  2020-03-16 15:43 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2020-03-16 15:18 UTC (permalink / raw)
  To: Lionel Landwerlin; +Cc: intel-gfx

== Series Details ==

Series: series starting with [v6,1/3] drm/i915/perf: remove generated code
URL   : https://patchwork.freedesktop.org/series/74702/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
e31b72062fe2 drm/i915/perf: remove generated code
-:24: WARNING:UNKNOWN_COMMIT_ID: Unknown commit id '53f8f541ca', maybe rebased or not pulled?
#24: 
commit 53f8f541ca ("lib: Add i915_perf library"), previously this was

-:205: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#205: 
deleted file mode 100644

total: 0 errors, 2 warnings, 0 checks, 278 lines checked
066f2aa79c73 drm/i915/perf: remove redundant power configuration register override
bbce3b010ffb drm/i915/perf: introduce global sseu pinning

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [v6,1/3] drm/i915/perf: remove generated code
  2020-03-14 10:33 [Intel-gfx] [PATCH v6 1/3] drm/i915/perf: remove generated code Lionel Landwerlin
                   ` (2 preceding siblings ...)
  2020-03-16 15:18 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [v6,1/3] drm/i915/perf: remove generated code Patchwork
@ 2020-03-16 15:43 ` Patchwork
  2020-03-16 18:46 ` [Intel-gfx] [PATCH v6 1/3] " Umesh Nerlige Ramappa
  2020-03-16 23:11 ` [Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [v6,1/3] " Patchwork
  5 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2020-03-16 15:43 UTC (permalink / raw)
  To: Lionel Landwerlin; +Cc: intel-gfx

== Series Details ==

Series: series starting with [v6,1/3] drm/i915/perf: remove generated code
URL   : https://patchwork.freedesktop.org/series/74702/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_8137 -> Patchwork_16971
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/index.html

Known issues
------------

  Here are the changes found in Patchwork_16971 that come from known issues:

### IGT changes ###

#### Possible fixes ####

  * igt@gem_exec_suspend@basic-s4-devices:
    - fi-tgl-y:           [FAIL][1] ([CI#94]) -> [PASS][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/fi-tgl-y/igt@gem_exec_suspend@basic-s4-devices.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/fi-tgl-y/igt@gem_exec_suspend@basic-s4-devices.html

  * igt@i915_selftest@live@execlists:
    - fi-cfl-8700k:       [INCOMPLETE][3] ([i915#656]) -> [PASS][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/fi-cfl-8700k/igt@i915_selftest@live@execlists.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/fi-cfl-8700k/igt@i915_selftest@live@execlists.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-icl-u2:          [FAIL][5] ([i915#217]) -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/fi-icl-u2/igt@kms_chamelium@hdmi-hpd-fast.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/fi-icl-u2/igt@kms_chamelium@hdmi-hpd-fast.html

  
  [CI#94]: https://gitlab.freedesktop.org/gfx-ci/i915-infra/issues/94
  [i915#217]: https://gitlab.freedesktop.org/drm/intel/issues/217
  [i915#656]: https://gitlab.freedesktop.org/drm/intel/issues/656


Participating hosts (48 -> 37)
------------------------------

  Additional (2): fi-skl-6770hq fi-tgl-dsi 
  Missing    (13): fi-bdw-5557u fi-hsw-4200u fi-hsw-peppy fi-byt-squawks fi-bsw-cyan fi-bwr-2160 fi-kbl-7500u fi-ivb-3770 fi-skl-lmem fi-bdw-samus fi-byt-clapper fi-skl-6600u fi-snb-2600 


Build changes
-------------

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_8137 -> Patchwork_16971

  CI-20190529: 20190529
  CI_DRM_8137: 5786b5e77cc17a1b494b9bdf3c3f29eedc2e2e7d @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5510: e100092d50105463f58db531fa953c70cc58bb10 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_16971: bbce3b010ffba286df1d08925e6318b62bab7ea6 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

bbce3b010ffb drm/i915/perf: introduce global sseu pinning
066f2aa79c73 drm/i915/perf: remove redundant power configuration register override
e31b72062fe2 drm/i915/perf: remove generated code

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Intel-gfx] [PATCH v6 1/3] drm/i915/perf: remove generated code
  2020-03-14 10:33 [Intel-gfx] [PATCH v6 1/3] drm/i915/perf: remove generated code Lionel Landwerlin
                   ` (3 preceding siblings ...)
  2020-03-16 15:43 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
@ 2020-03-16 18:46 ` Umesh Nerlige Ramappa
  2020-03-17 10:36   ` Lionel Landwerlin
  2020-03-16 23:11 ` [Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [v6,1/3] " Patchwork
  5 siblings, 1 reply; 9+ messages in thread
From: Umesh Nerlige Ramappa @ 2020-03-16 18:46 UTC (permalink / raw)
  To: Lionel Landwerlin; +Cc: intel-gfx

Looks good. Thanks for cleaning this up.

With s/mutex_lock/mutex_unlock/ below:

Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>

Thanks,
Umesh

On Sat, Mar 14, 2020 at 12:33:29PM +0200, Lionel Landwerlin wrote:
>A little bit of history :
>
>   Back when i915-perf was introduced (4.13), there was no way to
>   dynamically add new OA configurations to i915. Only the generated
>   configs baked in at build time were allowed.
>
>   It quickly became obvious that we would need to allow applications
>   to upload their own configurations, for instance to be able to test
>   new ones, and so by the next stable version (4.14) we added uAPIs
>   to allow uploading new configurations.
>
>   When adding that capability, we took the opportunity to remove most
>   HW configurations except the TestOa one which is a configuration
>   IGT would rely on to verify that the HW is outputting correct
>   values. At the time it made sense to have that confiuration in at
>   the same time a given HW platform added to the i915-perf driver.
>
>Now that IGT has become the reference point for HW configurations (see
>commit 53f8f541ca ("lib: Add i915_perf library"), previously this was
>located in the GPUTop repository), the need for having those
>configurations in i915-perf is gone.
>
>On the Mesa side, we haven't relied on this test configuration for a
>while. The MDAPI library always required 4.14 feature level and always
>loaded its configuration into i915.
>
>I'm sure nobody will miss this generated stuff in i915 :)
>
>v2: Fix selftests by creating an empty config
>
>v3: Fix unlocking on allocation error (Dan Carpenter)
>
>v4: Fixup checkpatch warnings
>
>Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
>---
> drivers/gpu/drm/i915/Makefile              |  17 ---
> drivers/gpu/drm/i915/i915_perf.c           |  81 +-------------
> drivers/gpu/drm/i915/i915_perf_types.h     |   2 -
> drivers/gpu/drm/i915/oa/i915_oa_bdw.c      |  90 ---------------
> drivers/gpu/drm/i915/oa/i915_oa_bdw.h      |  16 ---
> drivers/gpu/drm/i915/oa/i915_oa_bxt.c      |  88 ---------------
> drivers/gpu/drm/i915/oa/i915_oa_bxt.h      |  16 ---
> drivers/gpu/drm/i915/oa/i915_oa_cflgt2.c   |  89 ---------------
> drivers/gpu/drm/i915/oa/i915_oa_cflgt2.h   |  16 ---
> drivers/gpu/drm/i915/oa/i915_oa_cflgt3.c   |  89 ---------------
> drivers/gpu/drm/i915/oa/i915_oa_cflgt3.h   |  16 ---
> drivers/gpu/drm/i915/oa/i915_oa_chv.c      |  89 ---------------
> drivers/gpu/drm/i915/oa/i915_oa_chv.h      |  16 ---
> drivers/gpu/drm/i915/oa/i915_oa_cnl.c      | 101 -----------------
> drivers/gpu/drm/i915/oa/i915_oa_cnl.h      |  16 ---
> drivers/gpu/drm/i915/oa/i915_oa_glk.c      |  88 ---------------
> drivers/gpu/drm/i915/oa/i915_oa_glk.h      |  16 ---
> drivers/gpu/drm/i915/oa/i915_oa_hsw.c      | 118 --------------------
> drivers/gpu/drm/i915/oa/i915_oa_hsw.h      |  16 ---
> drivers/gpu/drm/i915/oa/i915_oa_icl.c      |  98 -----------------
> drivers/gpu/drm/i915/oa/i915_oa_icl.h      |  16 ---
> drivers/gpu/drm/i915/oa/i915_oa_kblgt2.c   |  89 ---------------
> drivers/gpu/drm/i915/oa/i915_oa_kblgt2.h   |  16 ---
> drivers/gpu/drm/i915/oa/i915_oa_kblgt3.c   |  89 ---------------
> drivers/gpu/drm/i915/oa/i915_oa_kblgt3.h   |  16 ---
> drivers/gpu/drm/i915/oa/i915_oa_sklgt2.c   |  88 ---------------
> drivers/gpu/drm/i915/oa/i915_oa_sklgt2.h   |  16 ---
> drivers/gpu/drm/i915/oa/i915_oa_sklgt3.c   |  89 ---------------
> drivers/gpu/drm/i915/oa/i915_oa_sklgt3.h   |  16 ---
> drivers/gpu/drm/i915/oa/i915_oa_sklgt4.c   |  89 ---------------
> drivers/gpu/drm/i915/oa/i915_oa_sklgt4.h   |  16 ---
> drivers/gpu/drm/i915/oa/i915_oa_tgl.c      | 121 ---------------------
> drivers/gpu/drm/i915/oa/i915_oa_tgl.h      |  16 ---
> drivers/gpu/drm/i915/selftests/i915_perf.c |  98 ++++++++++++++++-
> 34 files changed, 96 insertions(+), 1757 deletions(-)
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_bdw.c
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_bdw.h
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_bxt.c
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_bxt.h
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_cflgt2.c
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_cflgt2.h
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_cflgt3.c
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_cflgt3.h
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_chv.c
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_chv.h
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_cnl.c
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_cnl.h
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_glk.c
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_glk.h
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_hsw.c
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_hsw.h
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_icl.c
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_icl.h
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_kblgt2.c
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_kblgt2.h
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_kblgt3.c
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_kblgt3.h
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_sklgt2.c
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_sklgt2.h
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_sklgt3.c
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_sklgt3.h
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_sklgt4.c
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_sklgt4.h
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_tgl.c
> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_tgl.h
>
>diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
>index 9f887a86e555..6bff8af18842 100644
>--- a/drivers/gpu/drm/i915/Makefile
>+++ b/drivers/gpu/drm/i915/Makefile
>@@ -243,23 +243,6 @@ i915-y += \
> 	display/vlv_dsi.o \
> 	display/vlv_dsi_pll.o
>
>-# perf code
>-i915-y += \
>-	oa/i915_oa_hsw.o \
>-	oa/i915_oa_bdw.o \
>-	oa/i915_oa_chv.o \
>-	oa/i915_oa_sklgt2.o \
>-	oa/i915_oa_sklgt3.o \
>-	oa/i915_oa_sklgt4.o \
>-	oa/i915_oa_bxt.o \
>-	oa/i915_oa_kblgt2.o \
>-	oa/i915_oa_kblgt3.o \
>-	oa/i915_oa_glk.o \
>-	oa/i915_oa_cflgt2.o \
>-	oa/i915_oa_cflgt3.o \
>-	oa/i915_oa_cnl.o \
>-	oa/i915_oa_icl.o \
>-	oa/i915_oa_tgl.o
> i915-y += i915_perf.o
>
> # Post-mortem debug and GPU hang state capture
>diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
>index 1b074bb4a7fe..0069f09b988c 100644
>--- a/drivers/gpu/drm/i915/i915_perf.c
>+++ b/drivers/gpu/drm/i915/i915_perf.c
>@@ -204,21 +204,6 @@
>
> #include "i915_drv.h"
> #include "i915_perf.h"
>-#include "oa/i915_oa_hsw.h"
>-#include "oa/i915_oa_bdw.h"
>-#include "oa/i915_oa_chv.h"
>-#include "oa/i915_oa_sklgt2.h"
>-#include "oa/i915_oa_sklgt3.h"
>-#include "oa/i915_oa_sklgt4.h"
>-#include "oa/i915_oa_bxt.h"
>-#include "oa/i915_oa_kblgt2.h"
>-#include "oa/i915_oa_kblgt3.h"
>-#include "oa/i915_oa_glk.h"
>-#include "oa/i915_oa_cflgt2.h"
>-#include "oa/i915_oa_cflgt3.h"
>-#include "oa/i915_oa_cnl.h"
>-#include "oa/i915_oa_icl.h"
>-#include "oa/i915_oa_tgl.h"
>
> /* HW requires this to be a power of two, between 128k and 16M, though driver
>  * is currently generally designed assuming the largest 16M size is used such
>@@ -409,10 +394,7 @@ i915_perf_get_oa_config(struct i915_perf *perf, int metrics_set)
> 	struct i915_oa_config *oa_config;
>
> 	rcu_read_lock();
>-	if (metrics_set == 1)
>-		oa_config = &perf->test_config;
>-	else
>-		oa_config = idr_find(&perf->metrics_idr, metrics_set);
>+	oa_config = idr_find(&perf->metrics_idr, metrics_set);
> 	if (oa_config)
> 		oa_config = i915_oa_config_get(oa_config);
> 	rcu_read_unlock();
>@@ -3716,7 +3698,6 @@ int i915_perf_open_ioctl(struct drm_device *dev, void *data,
> void i915_perf_register(struct drm_i915_private *i915)
> {
> 	struct i915_perf *perf = &i915->perf;
>-	int ret;
>
> 	if (!perf->i915)
> 		return;
>@@ -3730,64 +3711,7 @@ void i915_perf_register(struct drm_i915_private *i915)
> 	perf->metrics_kobj =
> 		kobject_create_and_add("metrics",
> 				       &i915->drm.primary->kdev->kobj);
>-	if (!perf->metrics_kobj)
>-		goto exit;
>-
>-	sysfs_attr_init(&perf->test_config.sysfs_metric_id.attr);
>-
>-	if (IS_TIGERLAKE(i915)) {
>-		i915_perf_load_test_config_tgl(i915);
>-	} else if (INTEL_GEN(i915) >= 11) {
>-		i915_perf_load_test_config_icl(i915);
>-	} else if (IS_CANNONLAKE(i915)) {
>-		i915_perf_load_test_config_cnl(i915);
>-	} else if (IS_COFFEELAKE(i915)) {
>-		if (IS_CFL_GT2(i915))
>-			i915_perf_load_test_config_cflgt2(i915);
>-		if (IS_CFL_GT3(i915))
>-			i915_perf_load_test_config_cflgt3(i915);
>-	} else if (IS_GEMINILAKE(i915)) {
>-		i915_perf_load_test_config_glk(i915);
>-	} else if (IS_KABYLAKE(i915)) {
>-		if (IS_KBL_GT2(i915))
>-			i915_perf_load_test_config_kblgt2(i915);
>-		else if (IS_KBL_GT3(i915))
>-			i915_perf_load_test_config_kblgt3(i915);
>-	} else if (IS_BROXTON(i915)) {
>-		i915_perf_load_test_config_bxt(i915);
>-	} else if (IS_SKYLAKE(i915)) {
>-		if (IS_SKL_GT2(i915))
>-			i915_perf_load_test_config_sklgt2(i915);
>-		else if (IS_SKL_GT3(i915))
>-			i915_perf_load_test_config_sklgt3(i915);
>-		else if (IS_SKL_GT4(i915))
>-			i915_perf_load_test_config_sklgt4(i915);
>-	} else if (IS_CHERRYVIEW(i915)) {
>-		i915_perf_load_test_config_chv(i915);
>-	} else if (IS_BROADWELL(i915)) {
>-		i915_perf_load_test_config_bdw(i915);
>-	} else if (IS_HASWELL(i915)) {
>-		i915_perf_load_test_config_hsw(i915);
>-	}
>-
>-	if (perf->test_config.id == 0)
>-		goto sysfs_error;
>-
>-	ret = sysfs_create_group(perf->metrics_kobj,
>-				 &perf->test_config.sysfs_metric);
>-	if (ret)
>-		goto sysfs_error;
>
>-	perf->test_config.perf = perf;
>-	kref_init(&perf->test_config.ref);
>-
>-	goto exit;
>-
>-sysfs_error:
>-	kobject_put(perf->metrics_kobj);
>-	perf->metrics_kobj = NULL;
>-
>-exit:
> 	mutex_unlock(&perf->lock);
> }
>
>@@ -3807,9 +3731,6 @@ void i915_perf_unregister(struct drm_i915_private *i915)
> 	if (!perf->metrics_kobj)
> 		return;
>
>-	sysfs_remove_group(perf->metrics_kobj,
>-			   &perf->test_config.sysfs_metric);
>-
> 	kobject_put(perf->metrics_kobj);
> 	perf->metrics_kobj = NULL;
> }
>diff --git a/drivers/gpu/drm/i915/i915_perf_types.h b/drivers/gpu/drm/i915/i915_perf_types.h
>index a0e22f00f6cf..f4ccd2adfee6 100644
>--- a/drivers/gpu/drm/i915/i915_perf_types.h
>+++ b/drivers/gpu/drm/i915/i915_perf_types.h
>@@ -413,8 +413,6 @@ struct i915_perf {
> 	 */
> 	struct ratelimit_state spurious_report_rs;
>
>-	struct i915_oa_config test_config;
>-
> 	u32 gen7_latched_oastatus1;
> 	u32 ctx_oactxctrl_offset;
> 	u32 ctx_flexeu0_offset;
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_bdw.c b/drivers/gpu/drm/i915/oa/i915_oa_bdw.c
>deleted file mode 100644
>index 14da5c3b569d..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_bdw.c
>+++ /dev/null
>@@ -1,90 +0,0 @@
>-// SPDX-License-Identifier: MIT
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#include <linux/sysfs.h>
>-
>-#include "i915_drv.h"
>-#include "i915_oa_bdw.h"
>-
>-static const struct i915_oa_reg b_counter_config_test_oa[] = {
>-	{ _MMIO(0x2740), 0x00000000 },
>-	{ _MMIO(0x2744), 0x00800000 },
>-	{ _MMIO(0x2714), 0xf0800000 },
>-	{ _MMIO(0x2710), 0x00000000 },
>-	{ _MMIO(0x2724), 0xf0800000 },
>-	{ _MMIO(0x2720), 0x00000000 },
>-	{ _MMIO(0x2770), 0x00000004 },
>-	{ _MMIO(0x2774), 0x00000000 },
>-	{ _MMIO(0x2778), 0x00000003 },
>-	{ _MMIO(0x277c), 0x00000000 },
>-	{ _MMIO(0x2780), 0x00000007 },
>-	{ _MMIO(0x2784), 0x00000000 },
>-	{ _MMIO(0x2788), 0x00100002 },
>-	{ _MMIO(0x278c), 0x0000fff7 },
>-	{ _MMIO(0x2790), 0x00100002 },
>-	{ _MMIO(0x2794), 0x0000ffcf },
>-	{ _MMIO(0x2798), 0x00100082 },
>-	{ _MMIO(0x279c), 0x0000ffef },
>-	{ _MMIO(0x27a0), 0x001000c2 },
>-	{ _MMIO(0x27a4), 0x0000ffe7 },
>-	{ _MMIO(0x27a8), 0x00100001 },
>-	{ _MMIO(0x27ac), 0x0000ffe7 },
>-};
>-
>-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>-};
>-
>-static const struct i915_oa_reg mux_config_test_oa[] = {
>-	{ _MMIO(0x9840), 0x000000a0 },
>-	{ _MMIO(0x9888), 0x198b0000 },
>-	{ _MMIO(0x9888), 0x078b0066 },
>-	{ _MMIO(0x9888), 0x118b0000 },
>-	{ _MMIO(0x9888), 0x258b0000 },
>-	{ _MMIO(0x9888), 0x21850008 },
>-	{ _MMIO(0x9888), 0x0d834000 },
>-	{ _MMIO(0x9888), 0x07844000 },
>-	{ _MMIO(0x9888), 0x17804000 },
>-	{ _MMIO(0x9888), 0x21800000 },
>-	{ _MMIO(0x9888), 0x4f800000 },
>-	{ _MMIO(0x9888), 0x41800000 },
>-	{ _MMIO(0x9888), 0x31800000 },
>-	{ _MMIO(0x9840), 0x00000080 },
>-};
>-
>-static ssize_t
>-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
>-{
>-	return sprintf(buf, "1\n");
>-}
>-
>-void
>-i915_perf_load_test_config_bdw(struct drm_i915_private *dev_priv)
>-{
>-	strlcpy(dev_priv->perf.test_config.uuid,
>-		"d6de6f55-e526-4f79-a6a6-d7315c09044e",
>-		sizeof(dev_priv->perf.test_config.uuid));
>-	dev_priv->perf.test_config.id = 1;
>-
>-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
>-
>-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
>-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
>-
>-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
>-
>-	dev_priv->perf.test_config.sysfs_metric.name = "d6de6f55-e526-4f79-a6a6-d7315c09044e";
>-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
>-
>-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
>-
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>-}
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_bdw.h b/drivers/gpu/drm/i915/oa/i915_oa_bdw.h
>deleted file mode 100644
>index 0cee3334f0a6..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_bdw.h
>+++ /dev/null
>@@ -1,16 +0,0 @@
>-/* SPDX-License-Identifier: MIT */
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#ifndef __I915_OA_BDW_H__
>-#define __I915_OA_BDW_H__
>-
>-struct drm_i915_private;
>-
>-void i915_perf_load_test_config_bdw(struct drm_i915_private *dev_priv);
>-
>-#endif
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_bxt.c b/drivers/gpu/drm/i915/oa/i915_oa_bxt.c
>deleted file mode 100644
>index 3e785bafcf99..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_bxt.c
>+++ /dev/null
>@@ -1,88 +0,0 @@
>-// SPDX-License-Identifier: MIT
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#include <linux/sysfs.h>
>-
>-#include "i915_drv.h"
>-#include "i915_oa_bxt.h"
>-
>-static const struct i915_oa_reg b_counter_config_test_oa[] = {
>-	{ _MMIO(0x2740), 0x00000000 },
>-	{ _MMIO(0x2744), 0x00800000 },
>-	{ _MMIO(0x2714), 0xf0800000 },
>-	{ _MMIO(0x2710), 0x00000000 },
>-	{ _MMIO(0x2724), 0xf0800000 },
>-	{ _MMIO(0x2720), 0x00000000 },
>-	{ _MMIO(0x2770), 0x00000004 },
>-	{ _MMIO(0x2774), 0x00000000 },
>-	{ _MMIO(0x2778), 0x00000003 },
>-	{ _MMIO(0x277c), 0x00000000 },
>-	{ _MMIO(0x2780), 0x00000007 },
>-	{ _MMIO(0x2784), 0x00000000 },
>-	{ _MMIO(0x2788), 0x00100002 },
>-	{ _MMIO(0x278c), 0x0000fff7 },
>-	{ _MMIO(0x2790), 0x00100002 },
>-	{ _MMIO(0x2794), 0x0000ffcf },
>-	{ _MMIO(0x2798), 0x00100082 },
>-	{ _MMIO(0x279c), 0x0000ffef },
>-	{ _MMIO(0x27a0), 0x001000c2 },
>-	{ _MMIO(0x27a4), 0x0000ffe7 },
>-	{ _MMIO(0x27a8), 0x00100001 },
>-	{ _MMIO(0x27ac), 0x0000ffe7 },
>-};
>-
>-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>-};
>-
>-static const struct i915_oa_reg mux_config_test_oa[] = {
>-	{ _MMIO(0x9840), 0x00000080 },
>-	{ _MMIO(0x9888), 0x19800000 },
>-	{ _MMIO(0x9888), 0x07800063 },
>-	{ _MMIO(0x9888), 0x11800000 },
>-	{ _MMIO(0x9888), 0x23810008 },
>-	{ _MMIO(0x9888), 0x1d950400 },
>-	{ _MMIO(0x9888), 0x0f922000 },
>-	{ _MMIO(0x9888), 0x1f908000 },
>-	{ _MMIO(0x9888), 0x37900000 },
>-	{ _MMIO(0x9888), 0x55900000 },
>-	{ _MMIO(0x9888), 0x47900000 },
>-	{ _MMIO(0x9888), 0x33900000 },
>-};
>-
>-static ssize_t
>-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
>-{
>-	return sprintf(buf, "1\n");
>-}
>-
>-void
>-i915_perf_load_test_config_bxt(struct drm_i915_private *dev_priv)
>-{
>-	strlcpy(dev_priv->perf.test_config.uuid,
>-		"5ee72f5c-092f-421e-8b70-225f7c3e9612",
>-		sizeof(dev_priv->perf.test_config.uuid));
>-	dev_priv->perf.test_config.id = 1;
>-
>-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
>-
>-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
>-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
>-
>-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
>-
>-	dev_priv->perf.test_config.sysfs_metric.name = "5ee72f5c-092f-421e-8b70-225f7c3e9612";
>-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
>-
>-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
>-
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>-}
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_bxt.h b/drivers/gpu/drm/i915/oa/i915_oa_bxt.h
>deleted file mode 100644
>index 0bdf391323ec..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_bxt.h
>+++ /dev/null
>@@ -1,16 +0,0 @@
>-/* SPDX-License-Identifier: MIT */
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#ifndef __I915_OA_BXT_H__
>-#define __I915_OA_BXT_H__
>-
>-struct drm_i915_private;
>-
>-void i915_perf_load_test_config_bxt(struct drm_i915_private *dev_priv);
>-
>-#endif
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_cflgt2.c b/drivers/gpu/drm/i915/oa/i915_oa_cflgt2.c
>deleted file mode 100644
>index 0ea86f70a06c..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_cflgt2.c
>+++ /dev/null
>@@ -1,89 +0,0 @@
>-// SPDX-License-Identifier: MIT
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#include <linux/sysfs.h>
>-
>-#include "i915_drv.h"
>-#include "i915_oa_cflgt2.h"
>-
>-static const struct i915_oa_reg b_counter_config_test_oa[] = {
>-	{ _MMIO(0x2740), 0x00000000 },
>-	{ _MMIO(0x2744), 0x00800000 },
>-	{ _MMIO(0x2714), 0xf0800000 },
>-	{ _MMIO(0x2710), 0x00000000 },
>-	{ _MMIO(0x2724), 0xf0800000 },
>-	{ _MMIO(0x2720), 0x00000000 },
>-	{ _MMIO(0x2770), 0x00000004 },
>-	{ _MMIO(0x2774), 0x00000000 },
>-	{ _MMIO(0x2778), 0x00000003 },
>-	{ _MMIO(0x277c), 0x00000000 },
>-	{ _MMIO(0x2780), 0x00000007 },
>-	{ _MMIO(0x2784), 0x00000000 },
>-	{ _MMIO(0x2788), 0x00100002 },
>-	{ _MMIO(0x278c), 0x0000fff7 },
>-	{ _MMIO(0x2790), 0x00100002 },
>-	{ _MMIO(0x2794), 0x0000ffcf },
>-	{ _MMIO(0x2798), 0x00100082 },
>-	{ _MMIO(0x279c), 0x0000ffef },
>-	{ _MMIO(0x27a0), 0x001000c2 },
>-	{ _MMIO(0x27a4), 0x0000ffe7 },
>-	{ _MMIO(0x27a8), 0x00100001 },
>-	{ _MMIO(0x27ac), 0x0000ffe7 },
>-};
>-
>-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>-};
>-
>-static const struct i915_oa_reg mux_config_test_oa[] = {
>-	{ _MMIO(0x9840), 0x00000080 },
>-	{ _MMIO(0x9888), 0x11810000 },
>-	{ _MMIO(0x9888), 0x07810013 },
>-	{ _MMIO(0x9888), 0x1f810000 },
>-	{ _MMIO(0x9888), 0x1d810000 },
>-	{ _MMIO(0x9888), 0x1b930040 },
>-	{ _MMIO(0x9888), 0x07e54000 },
>-	{ _MMIO(0x9888), 0x1f908000 },
>-	{ _MMIO(0x9888), 0x11900000 },
>-	{ _MMIO(0x9888), 0x37900000 },
>-	{ _MMIO(0x9888), 0x53900000 },
>-	{ _MMIO(0x9888), 0x45900000 },
>-	{ _MMIO(0x9888), 0x33900000 },
>-};
>-
>-static ssize_t
>-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
>-{
>-	return sprintf(buf, "1\n");
>-}
>-
>-void
>-i915_perf_load_test_config_cflgt2(struct drm_i915_private *dev_priv)
>-{
>-	strlcpy(dev_priv->perf.test_config.uuid,
>-		"74fb4902-d3d3-4237-9e90-cbdc68d0a446",
>-		sizeof(dev_priv->perf.test_config.uuid));
>-	dev_priv->perf.test_config.id = 1;
>-
>-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
>-
>-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
>-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
>-
>-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
>-
>-	dev_priv->perf.test_config.sysfs_metric.name = "74fb4902-d3d3-4237-9e90-cbdc68d0a446";
>-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
>-
>-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
>-
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>-}
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_cflgt2.h b/drivers/gpu/drm/i915/oa/i915_oa_cflgt2.h
>deleted file mode 100644
>index 6b862280ab78..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_cflgt2.h
>+++ /dev/null
>@@ -1,16 +0,0 @@
>-/* SPDX-License-Identifier: MIT */
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#ifndef __I915_OA_CFLGT2_H__
>-#define __I915_OA_CFLGT2_H__
>-
>-struct drm_i915_private;
>-
>-void i915_perf_load_test_config_cflgt2(struct drm_i915_private *dev_priv);
>-
>-#endif
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_cflgt3.c b/drivers/gpu/drm/i915/oa/i915_oa_cflgt3.c
>deleted file mode 100644
>index fc632dd890bf..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_cflgt3.c
>+++ /dev/null
>@@ -1,89 +0,0 @@
>-// SPDX-License-Identifier: MIT
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#include <linux/sysfs.h>
>-
>-#include "i915_drv.h"
>-#include "i915_oa_cflgt3.h"
>-
>-static const struct i915_oa_reg b_counter_config_test_oa[] = {
>-	{ _MMIO(0x2740), 0x00000000 },
>-	{ _MMIO(0x2744), 0x00800000 },
>-	{ _MMIO(0x2714), 0xf0800000 },
>-	{ _MMIO(0x2710), 0x00000000 },
>-	{ _MMIO(0x2724), 0xf0800000 },
>-	{ _MMIO(0x2720), 0x00000000 },
>-	{ _MMIO(0x2770), 0x00000004 },
>-	{ _MMIO(0x2774), 0x00000000 },
>-	{ _MMIO(0x2778), 0x00000003 },
>-	{ _MMIO(0x277c), 0x00000000 },
>-	{ _MMIO(0x2780), 0x00000007 },
>-	{ _MMIO(0x2784), 0x00000000 },
>-	{ _MMIO(0x2788), 0x00100002 },
>-	{ _MMIO(0x278c), 0x0000fff7 },
>-	{ _MMIO(0x2790), 0x00100002 },
>-	{ _MMIO(0x2794), 0x0000ffcf },
>-	{ _MMIO(0x2798), 0x00100082 },
>-	{ _MMIO(0x279c), 0x0000ffef },
>-	{ _MMIO(0x27a0), 0x001000c2 },
>-	{ _MMIO(0x27a4), 0x0000ffe7 },
>-	{ _MMIO(0x27a8), 0x00100001 },
>-	{ _MMIO(0x27ac), 0x0000ffe7 },
>-};
>-
>-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>-};
>-
>-static const struct i915_oa_reg mux_config_test_oa[] = {
>-	{ _MMIO(0x9840), 0x00000080 },
>-	{ _MMIO(0x9888), 0x11810000 },
>-	{ _MMIO(0x9888), 0x07810013 },
>-	{ _MMIO(0x9888), 0x1f810000 },
>-	{ _MMIO(0x9888), 0x1d810000 },
>-	{ _MMIO(0x9888), 0x1b930040 },
>-	{ _MMIO(0x9888), 0x07e54000 },
>-	{ _MMIO(0x9888), 0x1f908000 },
>-	{ _MMIO(0x9888), 0x11900000 },
>-	{ _MMIO(0x9888), 0x37900000 },
>-	{ _MMIO(0x9888), 0x53900000 },
>-	{ _MMIO(0x9888), 0x45900000 },
>-	{ _MMIO(0x9888), 0x33900000 },
>-};
>-
>-static ssize_t
>-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
>-{
>-	return sprintf(buf, "1\n");
>-}
>-
>-void
>-i915_perf_load_test_config_cflgt3(struct drm_i915_private *dev_priv)
>-{
>-	strlcpy(dev_priv->perf.test_config.uuid,
>-		"577e8e2c-3fa0-4875-8743-3538d585e3b0",
>-		sizeof(dev_priv->perf.test_config.uuid));
>-	dev_priv->perf.test_config.id = 1;
>-
>-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
>-
>-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
>-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
>-
>-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
>-
>-	dev_priv->perf.test_config.sysfs_metric.name = "577e8e2c-3fa0-4875-8743-3538d585e3b0";
>-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
>-
>-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
>-
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>-}
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_cflgt3.h b/drivers/gpu/drm/i915/oa/i915_oa_cflgt3.h
>deleted file mode 100644
>index 4ca9d8f89b2f..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_cflgt3.h
>+++ /dev/null
>@@ -1,16 +0,0 @@
>-/* SPDX-License-Identifier: MIT */
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#ifndef __I915_OA_CFLGT3_H__
>-#define __I915_OA_CFLGT3_H__
>-
>-struct drm_i915_private;
>-
>-void i915_perf_load_test_config_cflgt3(struct drm_i915_private *dev_priv);
>-
>-#endif
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_chv.c b/drivers/gpu/drm/i915/oa/i915_oa_chv.c
>deleted file mode 100644
>index 6cd4e9921a8a..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_chv.c
>+++ /dev/null
>@@ -1,89 +0,0 @@
>-// SPDX-License-Identifier: MIT
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#include <linux/sysfs.h>
>-
>-#include "i915_drv.h"
>-#include "i915_oa_chv.h"
>-
>-static const struct i915_oa_reg b_counter_config_test_oa[] = {
>-	{ _MMIO(0x2740), 0x00000000 },
>-	{ _MMIO(0x2744), 0x00800000 },
>-	{ _MMIO(0x2714), 0xf0800000 },
>-	{ _MMIO(0x2710), 0x00000000 },
>-	{ _MMIO(0x2724), 0xf0800000 },
>-	{ _MMIO(0x2720), 0x00000000 },
>-	{ _MMIO(0x2770), 0x00000004 },
>-	{ _MMIO(0x2774), 0x00000000 },
>-	{ _MMIO(0x2778), 0x00000003 },
>-	{ _MMIO(0x277c), 0x00000000 },
>-	{ _MMIO(0x2780), 0x00000007 },
>-	{ _MMIO(0x2784), 0x00000000 },
>-	{ _MMIO(0x2788), 0x00100002 },
>-	{ _MMIO(0x278c), 0x0000fff7 },
>-	{ _MMIO(0x2790), 0x00100002 },
>-	{ _MMIO(0x2794), 0x0000ffcf },
>-	{ _MMIO(0x2798), 0x00100082 },
>-	{ _MMIO(0x279c), 0x0000ffef },
>-	{ _MMIO(0x27a0), 0x001000c2 },
>-	{ _MMIO(0x27a4), 0x0000ffe7 },
>-	{ _MMIO(0x27a8), 0x00100001 },
>-	{ _MMIO(0x27ac), 0x0000ffe7 },
>-};
>-
>-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>-};
>-
>-static const struct i915_oa_reg mux_config_test_oa[] = {
>-	{ _MMIO(0x9840), 0x000000a0 },
>-	{ _MMIO(0x9888), 0x59800000 },
>-	{ _MMIO(0x9888), 0x59800001 },
>-	{ _MMIO(0x9888), 0x338b0000 },
>-	{ _MMIO(0x9888), 0x258b0066 },
>-	{ _MMIO(0x9888), 0x058b0000 },
>-	{ _MMIO(0x9888), 0x038b0000 },
>-	{ _MMIO(0x9888), 0x03844000 },
>-	{ _MMIO(0x9888), 0x47800080 },
>-	{ _MMIO(0x9888), 0x57800000 },
>-	{ _MMIO(0x1823a4), 0x00000000 },
>-	{ _MMIO(0x9888), 0x59800000 },
>-	{ _MMIO(0x9840), 0x00000080 },
>-};
>-
>-static ssize_t
>-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
>-{
>-	return sprintf(buf, "1\n");
>-}
>-
>-void
>-i915_perf_load_test_config_chv(struct drm_i915_private *dev_priv)
>-{
>-	strlcpy(dev_priv->perf.test_config.uuid,
>-		"4a534b07-cba3-414d-8d60-874830e883aa",
>-		sizeof(dev_priv->perf.test_config.uuid));
>-	dev_priv->perf.test_config.id = 1;
>-
>-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
>-
>-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
>-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
>-
>-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
>-
>-	dev_priv->perf.test_config.sysfs_metric.name = "4a534b07-cba3-414d-8d60-874830e883aa";
>-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
>-
>-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
>-
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>-}
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_chv.h b/drivers/gpu/drm/i915/oa/i915_oa_chv.h
>deleted file mode 100644
>index 3cac7bbc9c71..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_chv.h
>+++ /dev/null
>@@ -1,16 +0,0 @@
>-/* SPDX-License-Identifier: MIT */
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#ifndef __I915_OA_CHV_H__
>-#define __I915_OA_CHV_H__
>-
>-struct drm_i915_private;
>-
>-void i915_perf_load_test_config_chv(struct drm_i915_private *dev_priv);
>-
>-#endif
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_cnl.c b/drivers/gpu/drm/i915/oa/i915_oa_cnl.c
>deleted file mode 100644
>index 1041e8914993..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_cnl.c
>+++ /dev/null
>@@ -1,101 +0,0 @@
>-// SPDX-License-Identifier: MIT
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#include <linux/sysfs.h>
>-
>-#include "i915_drv.h"
>-#include "i915_oa_cnl.h"
>-
>-static const struct i915_oa_reg b_counter_config_test_oa[] = {
>-	{ _MMIO(0x2740), 0x00000000 },
>-	{ _MMIO(0x2710), 0x00000000 },
>-	{ _MMIO(0x2714), 0xf0800000 },
>-	{ _MMIO(0x2720), 0x00000000 },
>-	{ _MMIO(0x2724), 0xf0800000 },
>-	{ _MMIO(0x2770), 0x00000004 },
>-	{ _MMIO(0x2774), 0x0000ffff },
>-	{ _MMIO(0x2778), 0x00000003 },
>-	{ _MMIO(0x277c), 0x0000ffff },
>-	{ _MMIO(0x2780), 0x00000007 },
>-	{ _MMIO(0x2784), 0x0000ffff },
>-	{ _MMIO(0x2788), 0x00100002 },
>-	{ _MMIO(0x278c), 0x0000fff7 },
>-	{ _MMIO(0x2790), 0x00100002 },
>-	{ _MMIO(0x2794), 0x0000ffcf },
>-	{ _MMIO(0x2798), 0x00100082 },
>-	{ _MMIO(0x279c), 0x0000ffef },
>-	{ _MMIO(0x27a0), 0x001000c2 },
>-	{ _MMIO(0x27a4), 0x0000ffe7 },
>-	{ _MMIO(0x27a8), 0x00100001 },
>-	{ _MMIO(0x27ac), 0x0000ffe7 },
>-};
>-
>-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>-};
>-
>-static const struct i915_oa_reg mux_config_test_oa[] = {
>-	{ _MMIO(0xd04), 0x00000200 },
>-	{ _MMIO(0x9884), 0x00000007 },
>-	{ _MMIO(0x9888), 0x17060000 },
>-	{ _MMIO(0x9840), 0x00000000 },
>-	{ _MMIO(0x9884), 0x00000007 },
>-	{ _MMIO(0x9888), 0x13034000 },
>-	{ _MMIO(0x9884), 0x00000007 },
>-	{ _MMIO(0x9888), 0x07060066 },
>-	{ _MMIO(0x9884), 0x00000007 },
>-	{ _MMIO(0x9888), 0x05060000 },
>-	{ _MMIO(0x9884), 0x00000007 },
>-	{ _MMIO(0x9888), 0x0f080040 },
>-	{ _MMIO(0x9884), 0x00000007 },
>-	{ _MMIO(0x9888), 0x07091000 },
>-	{ _MMIO(0x9884), 0x00000007 },
>-	{ _MMIO(0x9888), 0x0f041000 },
>-	{ _MMIO(0x9884), 0x00000007 },
>-	{ _MMIO(0x9888), 0x1d004000 },
>-	{ _MMIO(0x9884), 0x00000007 },
>-	{ _MMIO(0x9888), 0x35000000 },
>-	{ _MMIO(0x9884), 0x00000007 },
>-	{ _MMIO(0x9888), 0x49000000 },
>-	{ _MMIO(0x9884), 0x00000007 },
>-	{ _MMIO(0x9888), 0x3d000000 },
>-	{ _MMIO(0x9884), 0x00000007 },
>-	{ _MMIO(0x9888), 0x31000000 },
>-};
>-
>-static ssize_t
>-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
>-{
>-	return sprintf(buf, "1\n");
>-}
>-
>-void
>-i915_perf_load_test_config_cnl(struct drm_i915_private *dev_priv)
>-{
>-	strlcpy(dev_priv->perf.test_config.uuid,
>-		"db41edd4-d8e7-4730-ad11-b9a2d6833503",
>-		sizeof(dev_priv->perf.test_config.uuid));
>-	dev_priv->perf.test_config.id = 1;
>-
>-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
>-
>-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
>-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
>-
>-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
>-
>-	dev_priv->perf.test_config.sysfs_metric.name = "db41edd4-d8e7-4730-ad11-b9a2d6833503";
>-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
>-
>-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
>-
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>-}
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_cnl.h b/drivers/gpu/drm/i915/oa/i915_oa_cnl.h
>deleted file mode 100644
>index db379f5fcbb9..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_cnl.h
>+++ /dev/null
>@@ -1,16 +0,0 @@
>-/* SPDX-License-Identifier: MIT */
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#ifndef __I915_OA_CNL_H__
>-#define __I915_OA_CNL_H__
>-
>-struct drm_i915_private;
>-
>-void i915_perf_load_test_config_cnl(struct drm_i915_private *dev_priv);
>-
>-#endif
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_glk.c b/drivers/gpu/drm/i915/oa/i915_oa_glk.c
>deleted file mode 100644
>index bd15ebe9aeeb..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_glk.c
>+++ /dev/null
>@@ -1,88 +0,0 @@
>-// SPDX-License-Identifier: MIT
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#include <linux/sysfs.h>
>-
>-#include "i915_drv.h"
>-#include "i915_oa_glk.h"
>-
>-static const struct i915_oa_reg b_counter_config_test_oa[] = {
>-	{ _MMIO(0x2740), 0x00000000 },
>-	{ _MMIO(0x2744), 0x00800000 },
>-	{ _MMIO(0x2714), 0xf0800000 },
>-	{ _MMIO(0x2710), 0x00000000 },
>-	{ _MMIO(0x2724), 0xf0800000 },
>-	{ _MMIO(0x2720), 0x00000000 },
>-	{ _MMIO(0x2770), 0x00000004 },
>-	{ _MMIO(0x2774), 0x00000000 },
>-	{ _MMIO(0x2778), 0x00000003 },
>-	{ _MMIO(0x277c), 0x00000000 },
>-	{ _MMIO(0x2780), 0x00000007 },
>-	{ _MMIO(0x2784), 0x00000000 },
>-	{ _MMIO(0x2788), 0x00100002 },
>-	{ _MMIO(0x278c), 0x0000fff7 },
>-	{ _MMIO(0x2790), 0x00100002 },
>-	{ _MMIO(0x2794), 0x0000ffcf },
>-	{ _MMIO(0x2798), 0x00100082 },
>-	{ _MMIO(0x279c), 0x0000ffef },
>-	{ _MMIO(0x27a0), 0x001000c2 },
>-	{ _MMIO(0x27a4), 0x0000ffe7 },
>-	{ _MMIO(0x27a8), 0x00100001 },
>-	{ _MMIO(0x27ac), 0x0000ffe7 },
>-};
>-
>-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>-};
>-
>-static const struct i915_oa_reg mux_config_test_oa[] = {
>-	{ _MMIO(0x9840), 0x00000080 },
>-	{ _MMIO(0x9888), 0x19800000 },
>-	{ _MMIO(0x9888), 0x07800063 },
>-	{ _MMIO(0x9888), 0x11800000 },
>-	{ _MMIO(0x9888), 0x23810008 },
>-	{ _MMIO(0x9888), 0x1d950400 },
>-	{ _MMIO(0x9888), 0x0f922000 },
>-	{ _MMIO(0x9888), 0x1f908000 },
>-	{ _MMIO(0x9888), 0x37900000 },
>-	{ _MMIO(0x9888), 0x55900000 },
>-	{ _MMIO(0x9888), 0x47900000 },
>-	{ _MMIO(0x9888), 0x33900000 },
>-};
>-
>-static ssize_t
>-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
>-{
>-	return sprintf(buf, "1\n");
>-}
>-
>-void
>-i915_perf_load_test_config_glk(struct drm_i915_private *dev_priv)
>-{
>-	strlcpy(dev_priv->perf.test_config.uuid,
>-		"dd3fd789-e783-4204-8cd0-b671bbccb0cf",
>-		sizeof(dev_priv->perf.test_config.uuid));
>-	dev_priv->perf.test_config.id = 1;
>-
>-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
>-
>-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
>-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
>-
>-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
>-
>-	dev_priv->perf.test_config.sysfs_metric.name = "dd3fd789-e783-4204-8cd0-b671bbccb0cf";
>-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
>-
>-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
>-
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>-}
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_glk.h b/drivers/gpu/drm/i915/oa/i915_oa_glk.h
>deleted file mode 100644
>index 779f343efd11..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_glk.h
>+++ /dev/null
>@@ -1,16 +0,0 @@
>-/* SPDX-License-Identifier: MIT */
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#ifndef __I915_OA_GLK_H__
>-#define __I915_OA_GLK_H__
>-
>-struct drm_i915_private;
>-
>-void i915_perf_load_test_config_glk(struct drm_i915_private *dev_priv);
>-
>-#endif
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_hsw.c b/drivers/gpu/drm/i915/oa/i915_oa_hsw.c
>deleted file mode 100644
>index 133721a8619f..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_hsw.c
>+++ /dev/null
>@@ -1,118 +0,0 @@
>-// SPDX-License-Identifier: MIT
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#include <linux/sysfs.h>
>-
>-#include "i915_drv.h"
>-#include "i915_oa_hsw.h"
>-
>-static const struct i915_oa_reg b_counter_config_render_basic[] = {
>-	{ _MMIO(0x2724), 0x00800000 },
>-	{ _MMIO(0x2720), 0x00000000 },
>-	{ _MMIO(0x2714), 0x00800000 },
>-	{ _MMIO(0x2710), 0x00000000 },
>-};
>-
>-static const struct i915_oa_reg flex_eu_config_render_basic[] = {
>-};
>-
>-static const struct i915_oa_reg mux_config_render_basic[] = {
>-	{ _MMIO(0x9840), 0x00000080 },
>-	{ _MMIO(0x253a4), 0x01600000 },
>-	{ _MMIO(0x25440), 0x00100000 },
>-	{ _MMIO(0x25128), 0x00000000 },
>-	{ _MMIO(0x2691c), 0x00000800 },
>-	{ _MMIO(0x26aa0), 0x01500000 },
>-	{ _MMIO(0x26b9c), 0x00006000 },
>-	{ _MMIO(0x2791c), 0x00000800 },
>-	{ _MMIO(0x27aa0), 0x01500000 },
>-	{ _MMIO(0x27b9c), 0x00006000 },
>-	{ _MMIO(0x2641c), 0x00000400 },
>-	{ _MMIO(0x25380), 0x00000010 },
>-	{ _MMIO(0x2538c), 0x00000000 },
>-	{ _MMIO(0x25384), 0x0800aaaa },
>-	{ _MMIO(0x25400), 0x00000004 },
>-	{ _MMIO(0x2540c), 0x06029000 },
>-	{ _MMIO(0x25410), 0x00000002 },
>-	{ _MMIO(0x25404), 0x5c30ffff },
>-	{ _MMIO(0x25100), 0x00000016 },
>-	{ _MMIO(0x25110), 0x00000400 },
>-	{ _MMIO(0x25104), 0x00000000 },
>-	{ _MMIO(0x26804), 0x00001211 },
>-	{ _MMIO(0x26884), 0x00000100 },
>-	{ _MMIO(0x26900), 0x00000002 },
>-	{ _MMIO(0x26908), 0x00700000 },
>-	{ _MMIO(0x26904), 0x00000000 },
>-	{ _MMIO(0x26984), 0x00001022 },
>-	{ _MMIO(0x26a04), 0x00000011 },
>-	{ _MMIO(0x26a80), 0x00000006 },
>-	{ _MMIO(0x26a88), 0x00000c02 },
>-	{ _MMIO(0x26a84), 0x00000000 },
>-	{ _MMIO(0x26b04), 0x00001000 },
>-	{ _MMIO(0x26b80), 0x00000002 },
>-	{ _MMIO(0x26b8c), 0x00000007 },
>-	{ _MMIO(0x26b84), 0x00000000 },
>-	{ _MMIO(0x27804), 0x00004844 },
>-	{ _MMIO(0x27884), 0x00000400 },
>-	{ _MMIO(0x27900), 0x00000002 },
>-	{ _MMIO(0x27908), 0x0e000000 },
>-	{ _MMIO(0x27904), 0x00000000 },
>-	{ _MMIO(0x27984), 0x00004088 },
>-	{ _MMIO(0x27a04), 0x00000044 },
>-	{ _MMIO(0x27a80), 0x00000006 },
>-	{ _MMIO(0x27a88), 0x00018040 },
>-	{ _MMIO(0x27a84), 0x00000000 },
>-	{ _MMIO(0x27b04), 0x00004000 },
>-	{ _MMIO(0x27b80), 0x00000002 },
>-	{ _MMIO(0x27b8c), 0x000000e0 },
>-	{ _MMIO(0x27b84), 0x00000000 },
>-	{ _MMIO(0x26104), 0x00002222 },
>-	{ _MMIO(0x26184), 0x0c006666 },
>-	{ _MMIO(0x26284), 0x04000000 },
>-	{ _MMIO(0x26304), 0x04000000 },
>-	{ _MMIO(0x26400), 0x00000002 },
>-	{ _MMIO(0x26410), 0x000000a0 },
>-	{ _MMIO(0x26404), 0x00000000 },
>-	{ _MMIO(0x25420), 0x04108020 },
>-	{ _MMIO(0x25424), 0x1284a420 },
>-	{ _MMIO(0x2541c), 0x00000000 },
>-	{ _MMIO(0x25428), 0x00042049 },
>-};
>-
>-static ssize_t
>-show_render_basic_id(struct device *kdev, struct device_attribute *attr, char *buf)
>-{
>-	return sprintf(buf, "1\n");
>-}
>-
>-void
>-i915_perf_load_test_config_hsw(struct drm_i915_private *dev_priv)
>-{
>-	strlcpy(dev_priv->perf.test_config.uuid,
>-		"403d8832-1a27-4aa6-a64e-f5389ce7b212",
>-		sizeof(dev_priv->perf.test_config.uuid));
>-	dev_priv->perf.test_config.id = 1;
>-
>-	dev_priv->perf.test_config.mux_regs = mux_config_render_basic;
>-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_render_basic);
>-
>-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_render_basic;
>-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_render_basic);
>-
>-	dev_priv->perf.test_config.flex_regs = flex_eu_config_render_basic;
>-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_render_basic);
>-
>-	dev_priv->perf.test_config.sysfs_metric.name = "403d8832-1a27-4aa6-a64e-f5389ce7b212";
>-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
>-
>-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
>-
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>-	dev_priv->perf.test_config.sysfs_metric_id.show = show_render_basic_id;
>-}
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_hsw.h b/drivers/gpu/drm/i915/oa/i915_oa_hsw.h
>deleted file mode 100644
>index ba97f732f136..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_hsw.h
>+++ /dev/null
>@@ -1,16 +0,0 @@
>-/* SPDX-License-Identifier: MIT */
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#ifndef __I915_OA_HSW_H__
>-#define __I915_OA_HSW_H__
>-
>-struct drm_i915_private;
>-
>-void i915_perf_load_test_config_hsw(struct drm_i915_private *dev_priv);
>-
>-#endif
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_icl.c b/drivers/gpu/drm/i915/oa/i915_oa_icl.c
>deleted file mode 100644
>index 2d92041b754f..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_icl.c
>+++ /dev/null
>@@ -1,98 +0,0 @@
>-// SPDX-License-Identifier: MIT
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#include <linux/sysfs.h>
>-
>-#include "i915_drv.h"
>-#include "i915_oa_icl.h"
>-
>-static const struct i915_oa_reg b_counter_config_test_oa[] = {
>-	{ _MMIO(0x2740), 0x00000000 },
>-	{ _MMIO(0x2710), 0x00000000 },
>-	{ _MMIO(0x2714), 0xf0800000 },
>-	{ _MMIO(0x2720), 0x00000000 },
>-	{ _MMIO(0x2724), 0xf0800000 },
>-	{ _MMIO(0x2770), 0x00000004 },
>-	{ _MMIO(0x2774), 0x0000ffff },
>-	{ _MMIO(0x2778), 0x00000003 },
>-	{ _MMIO(0x277c), 0x0000ffff },
>-	{ _MMIO(0x2780), 0x00000007 },
>-	{ _MMIO(0x2784), 0x0000ffff },
>-	{ _MMIO(0x2788), 0x00100002 },
>-	{ _MMIO(0x278c), 0x0000fff7 },
>-	{ _MMIO(0x2790), 0x00100002 },
>-	{ _MMIO(0x2794), 0x0000ffcf },
>-	{ _MMIO(0x2798), 0x00100082 },
>-	{ _MMIO(0x279c), 0x0000ffef },
>-	{ _MMIO(0x27a0), 0x001000c2 },
>-	{ _MMIO(0x27a4), 0x0000ffe7 },
>-	{ _MMIO(0x27a8), 0x00100001 },
>-	{ _MMIO(0x27ac), 0x0000ffe7 },
>-};
>-
>-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>-};
>-
>-static const struct i915_oa_reg mux_config_test_oa[] = {
>-	{ _MMIO(0xd04), 0x00000200 },
>-	{ _MMIO(0x9840), 0x00000000 },
>-	{ _MMIO(0x9884), 0x00000000 },
>-	{ _MMIO(0x9888), 0x10060000 },
>-	{ _MMIO(0x9888), 0x22060000 },
>-	{ _MMIO(0x9888), 0x16060000 },
>-	{ _MMIO(0x9888), 0x24060000 },
>-	{ _MMIO(0x9888), 0x18060000 },
>-	{ _MMIO(0x9888), 0x1a060000 },
>-	{ _MMIO(0x9888), 0x12060000 },
>-	{ _MMIO(0x9888), 0x14060000 },
>-	{ _MMIO(0x9888), 0x10060000 },
>-	{ _MMIO(0x9888), 0x22060000 },
>-	{ _MMIO(0x9884), 0x00000003 },
>-	{ _MMIO(0x9888), 0x16130000 },
>-	{ _MMIO(0x9888), 0x24000001 },
>-	{ _MMIO(0x9888), 0x0e130056 },
>-	{ _MMIO(0x9888), 0x10130000 },
>-	{ _MMIO(0x9888), 0x1a130000 },
>-	{ _MMIO(0x9888), 0x541f0001 },
>-	{ _MMIO(0x9888), 0x181f0000 },
>-	{ _MMIO(0x9888), 0x4c1f0000 },
>-	{ _MMIO(0x9888), 0x301f0000 },
>-};
>-
>-static ssize_t
>-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
>-{
>-	return sprintf(buf, "1\n");
>-}
>-
>-void
>-i915_perf_load_test_config_icl(struct drm_i915_private *dev_priv)
>-{
>-	strlcpy(dev_priv->perf.test_config.uuid,
>-		"a291665e-244b-4b76-9b9a-01de9d3c8068",
>-		sizeof(dev_priv->perf.test_config.uuid));
>-	dev_priv->perf.test_config.id = 1;
>-
>-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
>-
>-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
>-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
>-
>-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
>-
>-	dev_priv->perf.test_config.sysfs_metric.name = "a291665e-244b-4b76-9b9a-01de9d3c8068";
>-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
>-
>-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
>-
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>-}
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_icl.h b/drivers/gpu/drm/i915/oa/i915_oa_icl.h
>deleted file mode 100644
>index 5c64112d720e..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_icl.h
>+++ /dev/null
>@@ -1,16 +0,0 @@
>-/* SPDX-License-Identifier: MIT */
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#ifndef __I915_OA_ICL_H__
>-#define __I915_OA_ICL_H__
>-
>-struct drm_i915_private;
>-
>-void i915_perf_load_test_config_icl(struct drm_i915_private *dev_priv);
>-
>-#endif
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_kblgt2.c b/drivers/gpu/drm/i915/oa/i915_oa_kblgt2.c
>deleted file mode 100644
>index 1c3a67c9cfe0..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_kblgt2.c
>+++ /dev/null
>@@ -1,89 +0,0 @@
>-// SPDX-License-Identifier: MIT
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#include <linux/sysfs.h>
>-
>-#include "i915_drv.h"
>-#include "i915_oa_kblgt2.h"
>-
>-static const struct i915_oa_reg b_counter_config_test_oa[] = {
>-	{ _MMIO(0x2740), 0x00000000 },
>-	{ _MMIO(0x2744), 0x00800000 },
>-	{ _MMIO(0x2714), 0xf0800000 },
>-	{ _MMIO(0x2710), 0x00000000 },
>-	{ _MMIO(0x2724), 0xf0800000 },
>-	{ _MMIO(0x2720), 0x00000000 },
>-	{ _MMIO(0x2770), 0x00000004 },
>-	{ _MMIO(0x2774), 0x00000000 },
>-	{ _MMIO(0x2778), 0x00000003 },
>-	{ _MMIO(0x277c), 0x00000000 },
>-	{ _MMIO(0x2780), 0x00000007 },
>-	{ _MMIO(0x2784), 0x00000000 },
>-	{ _MMIO(0x2788), 0x00100002 },
>-	{ _MMIO(0x278c), 0x0000fff7 },
>-	{ _MMIO(0x2790), 0x00100002 },
>-	{ _MMIO(0x2794), 0x0000ffcf },
>-	{ _MMIO(0x2798), 0x00100082 },
>-	{ _MMIO(0x279c), 0x0000ffef },
>-	{ _MMIO(0x27a0), 0x001000c2 },
>-	{ _MMIO(0x27a4), 0x0000ffe7 },
>-	{ _MMIO(0x27a8), 0x00100001 },
>-	{ _MMIO(0x27ac), 0x0000ffe7 },
>-};
>-
>-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>-};
>-
>-static const struct i915_oa_reg mux_config_test_oa[] = {
>-	{ _MMIO(0x9840), 0x00000080 },
>-	{ _MMIO(0x9888), 0x11810000 },
>-	{ _MMIO(0x9888), 0x07810013 },
>-	{ _MMIO(0x9888), 0x1f810000 },
>-	{ _MMIO(0x9888), 0x1d810000 },
>-	{ _MMIO(0x9888), 0x1b930040 },
>-	{ _MMIO(0x9888), 0x07e54000 },
>-	{ _MMIO(0x9888), 0x1f908000 },
>-	{ _MMIO(0x9888), 0x11900000 },
>-	{ _MMIO(0x9888), 0x37900000 },
>-	{ _MMIO(0x9888), 0x53900000 },
>-	{ _MMIO(0x9888), 0x45900000 },
>-	{ _MMIO(0x9888), 0x33900000 },
>-};
>-
>-static ssize_t
>-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
>-{
>-	return sprintf(buf, "1\n");
>-}
>-
>-void
>-i915_perf_load_test_config_kblgt2(struct drm_i915_private *dev_priv)
>-{
>-	strlcpy(dev_priv->perf.test_config.uuid,
>-		"baa3c7e4-52b6-4b85-801e-465a94b746dd",
>-		sizeof(dev_priv->perf.test_config.uuid));
>-	dev_priv->perf.test_config.id = 1;
>-
>-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
>-
>-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
>-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
>-
>-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
>-
>-	dev_priv->perf.test_config.sysfs_metric.name = "baa3c7e4-52b6-4b85-801e-465a94b746dd";
>-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
>-
>-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
>-
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>-}
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_kblgt2.h b/drivers/gpu/drm/i915/oa/i915_oa_kblgt2.h
>deleted file mode 100644
>index 810532fa6b63..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_kblgt2.h
>+++ /dev/null
>@@ -1,16 +0,0 @@
>-/* SPDX-License-Identifier: MIT */
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#ifndef __I915_OA_KBLGT2_H__
>-#define __I915_OA_KBLGT2_H__
>-
>-struct drm_i915_private;
>-
>-void i915_perf_load_test_config_kblgt2(struct drm_i915_private *dev_priv);
>-
>-#endif
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_kblgt3.c b/drivers/gpu/drm/i915/oa/i915_oa_kblgt3.c
>deleted file mode 100644
>index ebbe5a9c9fdc..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_kblgt3.c
>+++ /dev/null
>@@ -1,89 +0,0 @@
>-// SPDX-License-Identifier: MIT
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#include <linux/sysfs.h>
>-
>-#include "i915_drv.h"
>-#include "i915_oa_kblgt3.h"
>-
>-static const struct i915_oa_reg b_counter_config_test_oa[] = {
>-	{ _MMIO(0x2740), 0x00000000 },
>-	{ _MMIO(0x2744), 0x00800000 },
>-	{ _MMIO(0x2714), 0xf0800000 },
>-	{ _MMIO(0x2710), 0x00000000 },
>-	{ _MMIO(0x2724), 0xf0800000 },
>-	{ _MMIO(0x2720), 0x00000000 },
>-	{ _MMIO(0x2770), 0x00000004 },
>-	{ _MMIO(0x2774), 0x00000000 },
>-	{ _MMIO(0x2778), 0x00000003 },
>-	{ _MMIO(0x277c), 0x00000000 },
>-	{ _MMIO(0x2780), 0x00000007 },
>-	{ _MMIO(0x2784), 0x00000000 },
>-	{ _MMIO(0x2788), 0x00100002 },
>-	{ _MMIO(0x278c), 0x0000fff7 },
>-	{ _MMIO(0x2790), 0x00100002 },
>-	{ _MMIO(0x2794), 0x0000ffcf },
>-	{ _MMIO(0x2798), 0x00100082 },
>-	{ _MMIO(0x279c), 0x0000ffef },
>-	{ _MMIO(0x27a0), 0x001000c2 },
>-	{ _MMIO(0x27a4), 0x0000ffe7 },
>-	{ _MMIO(0x27a8), 0x00100001 },
>-	{ _MMIO(0x27ac), 0x0000ffe7 },
>-};
>-
>-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>-};
>-
>-static const struct i915_oa_reg mux_config_test_oa[] = {
>-	{ _MMIO(0x9840), 0x00000080 },
>-	{ _MMIO(0x9888), 0x11810000 },
>-	{ _MMIO(0x9888), 0x07810013 },
>-	{ _MMIO(0x9888), 0x1f810000 },
>-	{ _MMIO(0x9888), 0x1d810000 },
>-	{ _MMIO(0x9888), 0x1b930040 },
>-	{ _MMIO(0x9888), 0x07e54000 },
>-	{ _MMIO(0x9888), 0x1f908000 },
>-	{ _MMIO(0x9888), 0x11900000 },
>-	{ _MMIO(0x9888), 0x37900000 },
>-	{ _MMIO(0x9888), 0x53900000 },
>-	{ _MMIO(0x9888), 0x45900000 },
>-	{ _MMIO(0x9888), 0x33900000 },
>-};
>-
>-static ssize_t
>-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
>-{
>-	return sprintf(buf, "1\n");
>-}
>-
>-void
>-i915_perf_load_test_config_kblgt3(struct drm_i915_private *dev_priv)
>-{
>-	strlcpy(dev_priv->perf.test_config.uuid,
>-		"f1792f32-6db2-4b50-b4b2-557128f1688d",
>-		sizeof(dev_priv->perf.test_config.uuid));
>-	dev_priv->perf.test_config.id = 1;
>-
>-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
>-
>-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
>-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
>-
>-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
>-
>-	dev_priv->perf.test_config.sysfs_metric.name = "f1792f32-6db2-4b50-b4b2-557128f1688d";
>-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
>-
>-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
>-
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>-}
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_kblgt3.h b/drivers/gpu/drm/i915/oa/i915_oa_kblgt3.h
>deleted file mode 100644
>index 13d70456fabd..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_kblgt3.h
>+++ /dev/null
>@@ -1,16 +0,0 @@
>-/* SPDX-License-Identifier: MIT */
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#ifndef __I915_OA_KBLGT3_H__
>-#define __I915_OA_KBLGT3_H__
>-
>-struct drm_i915_private;
>-
>-void i915_perf_load_test_config_kblgt3(struct drm_i915_private *dev_priv);
>-
>-#endif
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_sklgt2.c b/drivers/gpu/drm/i915/oa/i915_oa_sklgt2.c
>deleted file mode 100644
>index 1bc359ed34e8..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_sklgt2.c
>+++ /dev/null
>@@ -1,88 +0,0 @@
>-// SPDX-License-Identifier: MIT
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#include <linux/sysfs.h>
>-
>-#include "i915_drv.h"
>-#include "i915_oa_sklgt2.h"
>-
>-static const struct i915_oa_reg b_counter_config_test_oa[] = {
>-	{ _MMIO(0x2740), 0x00000000 },
>-	{ _MMIO(0x2714), 0xf0800000 },
>-	{ _MMIO(0x2710), 0x00000000 },
>-	{ _MMIO(0x2724), 0xf0800000 },
>-	{ _MMIO(0x2720), 0x00000000 },
>-	{ _MMIO(0x2770), 0x00000004 },
>-	{ _MMIO(0x2774), 0x00000000 },
>-	{ _MMIO(0x2778), 0x00000003 },
>-	{ _MMIO(0x277c), 0x00000000 },
>-	{ _MMIO(0x2780), 0x00000007 },
>-	{ _MMIO(0x2784), 0x00000000 },
>-	{ _MMIO(0x2788), 0x00100002 },
>-	{ _MMIO(0x278c), 0x0000fff7 },
>-	{ _MMIO(0x2790), 0x00100002 },
>-	{ _MMIO(0x2794), 0x0000ffcf },
>-	{ _MMIO(0x2798), 0x00100082 },
>-	{ _MMIO(0x279c), 0x0000ffef },
>-	{ _MMIO(0x27a0), 0x001000c2 },
>-	{ _MMIO(0x27a4), 0x0000ffe7 },
>-	{ _MMIO(0x27a8), 0x00100001 },
>-	{ _MMIO(0x27ac), 0x0000ffe7 },
>-};
>-
>-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>-};
>-
>-static const struct i915_oa_reg mux_config_test_oa[] = {
>-	{ _MMIO(0x9840), 0x00000080 },
>-	{ _MMIO(0x9888), 0x11810000 },
>-	{ _MMIO(0x9888), 0x07810016 },
>-	{ _MMIO(0x9888), 0x1f810000 },
>-	{ _MMIO(0x9888), 0x1d810000 },
>-	{ _MMIO(0x9888), 0x1b930040 },
>-	{ _MMIO(0x9888), 0x07e54000 },
>-	{ _MMIO(0x9888), 0x1f908000 },
>-	{ _MMIO(0x9888), 0x11900000 },
>-	{ _MMIO(0x9888), 0x37900000 },
>-	{ _MMIO(0x9888), 0x53900000 },
>-	{ _MMIO(0x9888), 0x45900000 },
>-	{ _MMIO(0x9888), 0x33900000 },
>-};
>-
>-static ssize_t
>-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
>-{
>-	return sprintf(buf, "1\n");
>-}
>-
>-void
>-i915_perf_load_test_config_sklgt2(struct drm_i915_private *dev_priv)
>-{
>-	strlcpy(dev_priv->perf.test_config.uuid,
>-		"1651949f-0ac0-4cb1-a06f-dafd74a407d1",
>-		sizeof(dev_priv->perf.test_config.uuid));
>-	dev_priv->perf.test_config.id = 1;
>-
>-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
>-
>-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
>-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
>-
>-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
>-
>-	dev_priv->perf.test_config.sysfs_metric.name = "1651949f-0ac0-4cb1-a06f-dafd74a407d1";
>-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
>-
>-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
>-
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>-}
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_sklgt2.h b/drivers/gpu/drm/i915/oa/i915_oa_sklgt2.h
>deleted file mode 100644
>index fda70c51a6ec..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_sklgt2.h
>+++ /dev/null
>@@ -1,16 +0,0 @@
>-/* SPDX-License-Identifier: MIT */
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#ifndef __I915_OA_SKLGT2_H__
>-#define __I915_OA_SKLGT2_H__
>-
>-struct drm_i915_private;
>-
>-void i915_perf_load_test_config_sklgt2(struct drm_i915_private *dev_priv);
>-
>-#endif
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_sklgt3.c b/drivers/gpu/drm/i915/oa/i915_oa_sklgt3.c
>deleted file mode 100644
>index 6e352f881310..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_sklgt3.c
>+++ /dev/null
>@@ -1,89 +0,0 @@
>-// SPDX-License-Identifier: MIT
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#include <linux/sysfs.h>
>-
>-#include "i915_drv.h"
>-#include "i915_oa_sklgt3.h"
>-
>-static const struct i915_oa_reg b_counter_config_test_oa[] = {
>-	{ _MMIO(0x2740), 0x00000000 },
>-	{ _MMIO(0x2744), 0x00800000 },
>-	{ _MMIO(0x2714), 0xf0800000 },
>-	{ _MMIO(0x2710), 0x00000000 },
>-	{ _MMIO(0x2724), 0xf0800000 },
>-	{ _MMIO(0x2720), 0x00000000 },
>-	{ _MMIO(0x2770), 0x00000004 },
>-	{ _MMIO(0x2774), 0x00000000 },
>-	{ _MMIO(0x2778), 0x00000003 },
>-	{ _MMIO(0x277c), 0x00000000 },
>-	{ _MMIO(0x2780), 0x00000007 },
>-	{ _MMIO(0x2784), 0x00000000 },
>-	{ _MMIO(0x2788), 0x00100002 },
>-	{ _MMIO(0x278c), 0x0000fff7 },
>-	{ _MMIO(0x2790), 0x00100002 },
>-	{ _MMIO(0x2794), 0x0000ffcf },
>-	{ _MMIO(0x2798), 0x00100082 },
>-	{ _MMIO(0x279c), 0x0000ffef },
>-	{ _MMIO(0x27a0), 0x001000c2 },
>-	{ _MMIO(0x27a4), 0x0000ffe7 },
>-	{ _MMIO(0x27a8), 0x00100001 },
>-	{ _MMIO(0x27ac), 0x0000ffe7 },
>-};
>-
>-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>-};
>-
>-static const struct i915_oa_reg mux_config_test_oa[] = {
>-	{ _MMIO(0x9840), 0x00000080 },
>-	{ _MMIO(0x9888), 0x11810000 },
>-	{ _MMIO(0x9888), 0x07810013 },
>-	{ _MMIO(0x9888), 0x1f810000 },
>-	{ _MMIO(0x9888), 0x1d810000 },
>-	{ _MMIO(0x9888), 0x1b930040 },
>-	{ _MMIO(0x9888), 0x07e54000 },
>-	{ _MMIO(0x9888), 0x1f908000 },
>-	{ _MMIO(0x9888), 0x11900000 },
>-	{ _MMIO(0x9888), 0x37900000 },
>-	{ _MMIO(0x9888), 0x53900000 },
>-	{ _MMIO(0x9888), 0x45900000 },
>-	{ _MMIO(0x9888), 0x33900000 },
>-};
>-
>-static ssize_t
>-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
>-{
>-	return sprintf(buf, "1\n");
>-}
>-
>-void
>-i915_perf_load_test_config_sklgt3(struct drm_i915_private *dev_priv)
>-{
>-	strlcpy(dev_priv->perf.test_config.uuid,
>-		"2b985803-d3c9-4629-8a4f-634bfecba0e8",
>-		sizeof(dev_priv->perf.test_config.uuid));
>-	dev_priv->perf.test_config.id = 1;
>-
>-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
>-
>-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
>-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
>-
>-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
>-
>-	dev_priv->perf.test_config.sysfs_metric.name = "2b985803-d3c9-4629-8a4f-634bfecba0e8";
>-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
>-
>-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
>-
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>-}
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_sklgt3.h b/drivers/gpu/drm/i915/oa/i915_oa_sklgt3.h
>deleted file mode 100644
>index df74eba5799e..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_sklgt3.h
>+++ /dev/null
>@@ -1,16 +0,0 @@
>-/* SPDX-License-Identifier: MIT */
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#ifndef __I915_OA_SKLGT3_H__
>-#define __I915_OA_SKLGT3_H__
>-
>-struct drm_i915_private;
>-
>-void i915_perf_load_test_config_sklgt3(struct drm_i915_private *dev_priv);
>-
>-#endif
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_sklgt4.c b/drivers/gpu/drm/i915/oa/i915_oa_sklgt4.c
>deleted file mode 100644
>index 8f345115a306..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_sklgt4.c
>+++ /dev/null
>@@ -1,89 +0,0 @@
>-// SPDX-License-Identifier: MIT
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#include <linux/sysfs.h>
>-
>-#include "i915_drv.h"
>-#include "i915_oa_sklgt4.h"
>-
>-static const struct i915_oa_reg b_counter_config_test_oa[] = {
>-	{ _MMIO(0x2740), 0x00000000 },
>-	{ _MMIO(0x2744), 0x00800000 },
>-	{ _MMIO(0x2714), 0xf0800000 },
>-	{ _MMIO(0x2710), 0x00000000 },
>-	{ _MMIO(0x2724), 0xf0800000 },
>-	{ _MMIO(0x2720), 0x00000000 },
>-	{ _MMIO(0x2770), 0x00000004 },
>-	{ _MMIO(0x2774), 0x00000000 },
>-	{ _MMIO(0x2778), 0x00000003 },
>-	{ _MMIO(0x277c), 0x00000000 },
>-	{ _MMIO(0x2780), 0x00000007 },
>-	{ _MMIO(0x2784), 0x00000000 },
>-	{ _MMIO(0x2788), 0x00100002 },
>-	{ _MMIO(0x278c), 0x0000fff7 },
>-	{ _MMIO(0x2790), 0x00100002 },
>-	{ _MMIO(0x2794), 0x0000ffcf },
>-	{ _MMIO(0x2798), 0x00100082 },
>-	{ _MMIO(0x279c), 0x0000ffef },
>-	{ _MMIO(0x27a0), 0x001000c2 },
>-	{ _MMIO(0x27a4), 0x0000ffe7 },
>-	{ _MMIO(0x27a8), 0x00100001 },
>-	{ _MMIO(0x27ac), 0x0000ffe7 },
>-};
>-
>-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>-};
>-
>-static const struct i915_oa_reg mux_config_test_oa[] = {
>-	{ _MMIO(0x9840), 0x00000080 },
>-	{ _MMIO(0x9888), 0x11810000 },
>-	{ _MMIO(0x9888), 0x07810013 },
>-	{ _MMIO(0x9888), 0x1f810000 },
>-	{ _MMIO(0x9888), 0x1d810000 },
>-	{ _MMIO(0x9888), 0x1b930040 },
>-	{ _MMIO(0x9888), 0x07e54000 },
>-	{ _MMIO(0x9888), 0x1f908000 },
>-	{ _MMIO(0x9888), 0x11900000 },
>-	{ _MMIO(0x9888), 0x37900000 },
>-	{ _MMIO(0x9888), 0x53900000 },
>-	{ _MMIO(0x9888), 0x45900000 },
>-	{ _MMIO(0x9888), 0x33900000 },
>-};
>-
>-static ssize_t
>-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
>-{
>-	return sprintf(buf, "1\n");
>-}
>-
>-void
>-i915_perf_load_test_config_sklgt4(struct drm_i915_private *dev_priv)
>-{
>-	strlcpy(dev_priv->perf.test_config.uuid,
>-		"882fa433-1f4a-4a67-a962-c741888fe5f5",
>-		sizeof(dev_priv->perf.test_config.uuid));
>-	dev_priv->perf.test_config.id = 1;
>-
>-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
>-
>-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
>-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
>-
>-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
>-
>-	dev_priv->perf.test_config.sysfs_metric.name = "882fa433-1f4a-4a67-a962-c741888fe5f5";
>-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
>-
>-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
>-
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>-}
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_sklgt4.h b/drivers/gpu/drm/i915/oa/i915_oa_sklgt4.h
>deleted file mode 100644
>index 378ab7ab78d5..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_sklgt4.h
>+++ /dev/null
>@@ -1,16 +0,0 @@
>-/* SPDX-License-Identifier: MIT */
>-/*
>- * Copyright © 2018-2019 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#ifndef __I915_OA_SKLGT4_H__
>-#define __I915_OA_SKLGT4_H__
>-
>-struct drm_i915_private;
>-
>-void i915_perf_load_test_config_sklgt4(struct drm_i915_private *dev_priv);
>-
>-#endif
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_tgl.c b/drivers/gpu/drm/i915/oa/i915_oa_tgl.c
>deleted file mode 100644
>index a29d93707345..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_tgl.c
>+++ /dev/null
>@@ -1,121 +0,0 @@
>-// SPDX-License-Identifier: MIT
>-/*
>- * Copyright © 2018 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#include <linux/sysfs.h>
>-
>-#include "i915_drv.h"
>-#include "i915_oa_tgl.h"
>-
>-static const struct i915_oa_reg b_counter_config_test_oa[] = {
>-	{ _MMIO(0xD920), 0x00000000 },
>-	{ _MMIO(0xD900), 0x00000000 },
>-	{ _MMIO(0xD904), 0xF0800000 },
>-	{ _MMIO(0xD910), 0x00000000 },
>-	{ _MMIO(0xD914), 0xF0800000 },
>-	{ _MMIO(0xDC40), 0x00FF0000 },
>-	{ _MMIO(0xD940), 0x00000004 },
>-	{ _MMIO(0xD944), 0x0000FFFF },
>-	{ _MMIO(0xDC00), 0x00000004 },
>-	{ _MMIO(0xDC04), 0x0000FFFF },
>-	{ _MMIO(0xD948), 0x00000003 },
>-	{ _MMIO(0xD94C), 0x0000FFFF },
>-	{ _MMIO(0xDC08), 0x00000003 },
>-	{ _MMIO(0xDC0C), 0x0000FFFF },
>-	{ _MMIO(0xD950), 0x00000007 },
>-	{ _MMIO(0xD954), 0x0000FFFF },
>-	{ _MMIO(0xDC10), 0x00000007 },
>-	{ _MMIO(0xDC14), 0x0000FFFF },
>-	{ _MMIO(0xD958), 0x00100002 },
>-	{ _MMIO(0xD95C), 0x0000FFF7 },
>-	{ _MMIO(0xDC18), 0x00100002 },
>-	{ _MMIO(0xDC1C), 0x0000FFF7 },
>-	{ _MMIO(0xD960), 0x00100002 },
>-	{ _MMIO(0xD964), 0x0000FFCF },
>-	{ _MMIO(0xDC20), 0x00100002 },
>-	{ _MMIO(0xDC24), 0x0000FFCF },
>-	{ _MMIO(0xD968), 0x00100082 },
>-	{ _MMIO(0xD96C), 0x0000FFEF },
>-	{ _MMIO(0xDC28), 0x00100082 },
>-	{ _MMIO(0xDC2C), 0x0000FFEF },
>-	{ _MMIO(0xD970), 0x001000C2 },
>-	{ _MMIO(0xD974), 0x0000FFE7 },
>-	{ _MMIO(0xDC30), 0x001000C2 },
>-	{ _MMIO(0xDC34), 0x0000FFE7 },
>-	{ _MMIO(0xD978), 0x00100001 },
>-	{ _MMIO(0xD97C), 0x0000FFE7 },
>-	{ _MMIO(0xDC38), 0x00100001 },
>-	{ _MMIO(0xDC3C), 0x0000FFE7 },
>-};
>-
>-static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>-};
>-
>-static const struct i915_oa_reg mux_config_test_oa[] = {
>-	{ _MMIO(0x0D04), 0x00000200 },
>-	{ _MMIO(0x9840), 0x00000000 },
>-	{ _MMIO(0x9884), 0x00000000 },
>-	{ _MMIO(0x9888), 0x280E0000 },
>-	{ _MMIO(0x9888), 0x1E0E0147 },
>-	{ _MMIO(0x9888), 0x180E0000 },
>-	{ _MMIO(0x9888), 0x160E0000 },
>-	{ _MMIO(0x9888), 0x1E0F1000 },
>-	{ _MMIO(0x9888), 0x1E104000 },
>-	{ _MMIO(0x9888), 0x2E020100 },
>-	{ _MMIO(0x9888), 0x2C030004 },
>-	{ _MMIO(0x9888), 0x38003000 },
>-	{ _MMIO(0x9888), 0x1E0A8000 },
>-	{ _MMIO(0x9884), 0x00000003 },
>-	{ _MMIO(0x9888), 0x49110000 },
>-	{ _MMIO(0x9888), 0x5D101400 },
>-	{ _MMIO(0x9888), 0x1D140020 },
>-	{ _MMIO(0x9888), 0x1D1103A3 },
>-	{ _MMIO(0x9888), 0x01110000 },
>-	{ _MMIO(0x9888), 0x61111000 },
>-	{ _MMIO(0x9888), 0x1F128000 },
>-	{ _MMIO(0x9888), 0x17100000 },
>-	{ _MMIO(0x9888), 0x55100630 },
>-	{ _MMIO(0x9888), 0x57100000 },
>-	{ _MMIO(0x9888), 0x31100000 },
>-	{ _MMIO(0x9884), 0x00000003 },
>-	{ _MMIO(0x9888), 0x65100002 },
>-	{ _MMIO(0x9884), 0x00000000 },
>-	{ _MMIO(0x9888), 0x42000001 },
>-};
>-
>-static ssize_t
>-show_test_oa_id(struct device *kdev, struct device_attribute *attr, char *buf)
>-{
>-	return sprintf(buf, "1\n");
>-}
>-
>-void
>-i915_perf_load_test_config_tgl(struct drm_i915_private *dev_priv)
>-{
>-	strlcpy(dev_priv->perf.test_config.uuid,
>-		"80a833f0-2504-4321-8894-e9277844ce7b",
>-		sizeof(dev_priv->perf.test_config.uuid));
>-	dev_priv->perf.test_config.id = 1;
>-
>-	dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>-	dev_priv->perf.test_config.mux_regs_len = ARRAY_SIZE(mux_config_test_oa);
>-
>-	dev_priv->perf.test_config.b_counter_regs = b_counter_config_test_oa;
>-	dev_priv->perf.test_config.b_counter_regs_len = ARRAY_SIZE(b_counter_config_test_oa);
>-
>-	dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>-	dev_priv->perf.test_config.flex_regs_len = ARRAY_SIZE(flex_eu_config_test_oa);
>-
>-	dev_priv->perf.test_config.sysfs_metric.name = "80a833f0-2504-4321-8894-e9277844ce7b";
>-	dev_priv->perf.test_config.sysfs_metric.attrs = dev_priv->perf.test_config.attrs;
>-
>-	dev_priv->perf.test_config.attrs[0] = &dev_priv->perf.test_config.sysfs_metric_id.attr;
>-
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>-	dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>-	dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>-}
>diff --git a/drivers/gpu/drm/i915/oa/i915_oa_tgl.h b/drivers/gpu/drm/i915/oa/i915_oa_tgl.h
>deleted file mode 100644
>index 4c25f0be825c..000000000000
>--- a/drivers/gpu/drm/i915/oa/i915_oa_tgl.h
>+++ /dev/null
>@@ -1,16 +0,0 @@
>-/* SPDX-License-Identifier: MIT */
>-/*
>- * Copyright © 2018 Intel Corporation
>- *
>- * Autogenerated file by GPU Top : https://github.com/rib/gputop
>- * DO NOT EDIT manually!
>- */
>-
>-#ifndef __I915_OA_TGL_H__
>-#define __I915_OA_TGL_H__
>-
>-struct drm_i915_private;
>-
>-void i915_perf_load_test_config_tgl(struct drm_i915_private *dev_priv);
>-
>-#endif
>diff --git a/drivers/gpu/drm/i915/selftests/i915_perf.c b/drivers/gpu/drm/i915/selftests/i915_perf.c
>index d1a1568c47ba..b64deb7c3ac7 100644
>--- a/drivers/gpu/drm/i915/selftests/i915_perf.c
>+++ b/drivers/gpu/drm/i915/selftests/i915_perf.c
>@@ -14,10 +14,85 @@
> #include "igt_flush_test.h"
> #include "lib_sw_fence.h"
>
>+#define TEST_OA_CONFIG_UUID "12345678-1234-1234-1234-1234567890ab"
>+
>+static int
>+alloc_empty_config(struct i915_perf *perf)
>+{
>+	struct i915_oa_config *oa_config;
>+
>+	oa_config = kzalloc(sizeof(*oa_config), GFP_KERNEL);
>+	if (!oa_config)
>+		return -ENOMEM;
>+
>+	oa_config->perf = perf;
>+	kref_init(&oa_config->ref);
>+
>+	strlcpy(oa_config->uuid, TEST_OA_CONFIG_UUID, sizeof(oa_config->uuid));
>+
>+	mutex_lock(&perf->metrics_lock);
>+
>+	oa_config->id = idr_alloc(&perf->metrics_idr, oa_config, 2, 0, GFP_KERNEL);

Now that TestOa moved out of the driver, any reason why we are not 
starting the idr with 1 instead of 2?

>+	if (oa_config->id < 0)  {
>+		mutex_lock(&perf->metrics_lock);

mutex_'un'lock here on error?

>+		i915_oa_config_put(oa_config);
>+		return -ENOMEM;
>+	}
>+
>+	mutex_unlock(&perf->metrics_lock);
>+
>+	return 0;
>+}
>+
>+static void
>+destroy_empty_config(struct i915_perf *perf)
>+{
>+	struct i915_oa_config *oa_config = NULL, *tmp;
>+	int id;
>+
>+	mutex_lock(&perf->metrics_lock);
>+
>+	idr_for_each_entry(&perf->metrics_idr, tmp, id) {
>+		if (!strcmp(tmp->uuid, TEST_OA_CONFIG_UUID)) {
>+			oa_config = tmp;
>+			break;
>+		}
>+	}
>+
>+	if (oa_config)
>+		idr_remove(&perf->metrics_idr, oa_config->id);
>+
>+	mutex_unlock(&perf->metrics_lock);
>+
>+	if (oa_config)
>+		i915_oa_config_put(oa_config);
>+}
>+
>+static struct i915_oa_config *
>+get_empty_config(struct i915_perf *perf)
>+{
>+	struct i915_oa_config *oa_config = NULL, *tmp;
>+	int id;
>+
>+	mutex_lock(&perf->metrics_lock);
>+
>+	idr_for_each_entry(&perf->metrics_idr, tmp, id) {
>+		if (!strcmp(tmp->uuid, TEST_OA_CONFIG_UUID)) {
>+			oa_config = i915_oa_config_get(tmp);
>+			break;
>+		}
>+	}
>+
>+	mutex_unlock(&perf->metrics_lock);
>+
>+	return oa_config;
>+}
>+
> static struct i915_perf_stream *
> test_stream(struct i915_perf *perf)
> {
> 	struct drm_i915_perf_open_param param = {};
>+	struct i915_oa_config *oa_config = get_empty_config(perf);
> 	struct perf_open_properties props = {
> 		.engine = intel_engine_lookup_user(perf->i915,
> 						   I915_ENGINE_CLASS_RENDER,
>@@ -25,13 +100,19 @@ test_stream(struct i915_perf *perf)
> 		.sample_flags = SAMPLE_OA_REPORT,
> 		.oa_format = IS_GEN(perf->i915, 12) ?
> 		I915_OA_FORMAT_A32u40_A4u32_B8_C8 : I915_OA_FORMAT_C4_B8,
>-		.metrics_set = 1,
> 	};
> 	struct i915_perf_stream *stream;
>
>+	if (!oa_config)
>+		return NULL;
>+
>+	props.metrics_set = oa_config->id;
>+
> 	stream = kzalloc(sizeof(*stream), GFP_KERNEL);
>-	if (!stream)
>+	if (!stream) {
>+		i915_oa_config_put(oa_config);
> 		return NULL;
>+	}
>
> 	stream->perf = perf;
>
>@@ -42,6 +123,8 @@ test_stream(struct i915_perf *perf)
> 	}
> 	mutex_unlock(&perf->lock);
>
>+	i915_oa_config_put(oa_config);
>+
> 	return stream;
> }
>
>@@ -206,6 +289,7 @@ int i915_perf_live_selftests(struct drm_i915_private *i915)
> 		SUBTEST(live_noa_delay),
> 	};
> 	struct i915_perf *perf = &i915->perf;
>+	int err;
>
> 	if (!perf->metrics_kobj || !perf->ops.enable_metric_set)
> 		return 0;
>@@ -213,5 +297,13 @@ int i915_perf_live_selftests(struct drm_i915_private *i915)
> 	if (intel_gt_is_wedged(&i915->gt))
> 		return 0;
>
>-	return i915_subtests(tests, i915);
>+	err = alloc_empty_config(&i915->perf);
>+	if (err)
>+		return err;
>+
>+	err = i915_subtests(tests, i915);
>+
>+	destroy_empty_config(&i915->perf);
>+
>+	return err;
> }
>-- 
>2.25.1
>
>_______________________________________________
>Intel-gfx mailing list
>Intel-gfx@lists.freedesktop.org
>https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [v6,1/3] drm/i915/perf: remove generated code
  2020-03-14 10:33 [Intel-gfx] [PATCH v6 1/3] drm/i915/perf: remove generated code Lionel Landwerlin
                   ` (4 preceding siblings ...)
  2020-03-16 18:46 ` [Intel-gfx] [PATCH v6 1/3] " Umesh Nerlige Ramappa
@ 2020-03-16 23:11 ` Patchwork
  5 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2020-03-16 23:11 UTC (permalink / raw)
  To: Lionel Landwerlin; +Cc: intel-gfx

== Series Details ==

Series: series starting with [v6,1/3] drm/i915/perf: remove generated code
URL   : https://patchwork.freedesktop.org/series/74702/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_8137_full -> Patchwork_16971_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_16971_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_16971_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_16971_full:

### IGT changes ###

#### Possible regressions ####

  * igt@gem_exec_parallel@bcs0-fds:
    - shard-kbl:          [PASS][1] -> [FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-kbl7/igt@gem_exec_parallel@bcs0-fds.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-kbl4/igt@gem_exec_parallel@bcs0-fds.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * {igt@sysfs_preempt_timeout@timeout@rcs0}:
    - shard-skl:          NOTRUN -> [FAIL][3]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-skl3/igt@sysfs_preempt_timeout@timeout@rcs0.html

  
New tests
---------

  New tests have been introduced between CI_DRM_8137_full and Patchwork_16971_full:

### New IGT tests (1) ###

  * igt@sysfs_heartbeat_interval@idempotent:
    - Statuses :
    - Exec time: [None] s

  

Known issues
------------

  Here are the changes found in Patchwork_16971_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_persistence@close-replace-race:
    - shard-kbl:          [PASS][4] -> [INCOMPLETE][5] ([i915#1402])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-kbl6/igt@gem_ctx_persistence@close-replace-race.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-kbl2/igt@gem_ctx_persistence@close-replace-race.html
    - shard-iclb:         [PASS][6] -> [TIMEOUT][7] ([i915#1340])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-iclb8/igt@gem_ctx_persistence@close-replace-race.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-iclb1/igt@gem_ctx_persistence@close-replace-race.html
    - shard-glk:          [PASS][8] -> [INCOMPLETE][9] ([i915#1402] / [i915#58] / [k.org#198133])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-glk3/igt@gem_ctx_persistence@close-replace-race.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-glk7/igt@gem_ctx_persistence@close-replace-race.html

  * igt@gem_ctx_shared@exec-single-timeline-bsd:
    - shard-iclb:         [PASS][10] -> [SKIP][11] ([fdo#110841])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-iclb5/igt@gem_ctx_shared@exec-single-timeline-bsd.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-iclb4/igt@gem_ctx_shared@exec-single-timeline-bsd.html

  * igt@gem_exec_schedule@implicit-both-bsd1:
    - shard-iclb:         [PASS][12] -> [SKIP][13] ([fdo#109276] / [i915#677])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-iclb4/igt@gem_exec_schedule@implicit-both-bsd1.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-iclb5/igt@gem_exec_schedule@implicit-both-bsd1.html

  * igt@gem_exec_schedule@wide-bsd:
    - shard-iclb:         [PASS][14] -> [SKIP][15] ([fdo#112146]) +5 similar issues
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-iclb8/igt@gem_exec_schedule@wide-bsd.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-iclb4/igt@gem_exec_schedule@wide-bsd.html

  * igt@gem_ppgtt@flink-and-close-vma-leak:
    - shard-glk:          [PASS][16] -> [FAIL][17] ([i915#644])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-glk9/igt@gem_ppgtt@flink-and-close-vma-leak.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-glk9/igt@gem_ppgtt@flink-and-close-vma-leak.html

  * igt@i915_pm_rps@reset:
    - shard-iclb:         [PASS][18] -> [FAIL][19] ([i915#413])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-iclb5/igt@i915_pm_rps@reset.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-iclb4/igt@i915_pm_rps@reset.html

  * igt@i915_suspend@fence-restore-untiled:
    - shard-skl:          [PASS][20] -> [INCOMPLETE][21] ([i915#69])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-skl3/igt@i915_suspend@fence-restore-untiled.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-skl2/igt@i915_suspend@fence-restore-untiled.html

  * igt@kms_cursor_crc@pipe-b-cursor-256x256-sliding:
    - shard-snb:          [PASS][22] -> [SKIP][23] ([fdo#109271]) +2 similar issues
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-snb2/igt@kms_cursor_crc@pipe-b-cursor-256x256-sliding.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-snb5/igt@kms_cursor_crc@pipe-b-cursor-256x256-sliding.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
    - shard-glk:          [PASS][24] -> [FAIL][25] ([i915#72])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-glk4/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-glk5/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
    - shard-glk:          [PASS][26] -> [FAIL][27] ([i915#79])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-glk5/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-glk2/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-skl:          [PASS][28] -> [INCOMPLETE][29] ([i915#221])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-skl1/igt@kms_flip@flip-vs-suspend.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-skl9/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_flip@plain-flip-ts-check-interruptible:
    - shard-tglb:         [PASS][30] -> [INCOMPLETE][31] ([i915#516])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-tglb6/igt@kms_flip@plain-flip-ts-check-interruptible.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-tglb3/igt@kms_flip@plain-flip-ts-check-interruptible.html

  * igt@kms_psr@psr2_sprite_plane_move:
    - shard-iclb:         [PASS][32] -> [SKIP][33] ([fdo#109441]) +2 similar issues
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-iclb4/igt@kms_psr@psr2_sprite_plane_move.html

  * igt@kms_vblank@pipe-a-ts-continuation-suspend:
    - shard-apl:          [PASS][34] -> [DMESG-WARN][35] ([i915#180]) +2 similar issues
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-apl1/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-apl6/igt@kms_vblank@pipe-a-ts-continuation-suspend.html

  * igt@perf_pmu@init-busy-vcs1:
    - shard-iclb:         [PASS][36] -> [SKIP][37] ([fdo#112080]) +9 similar issues
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-iclb1/igt@perf_pmu@init-busy-vcs1.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-iclb8/igt@perf_pmu@init-busy-vcs1.html

  * igt@prime_vgem@fence-wait-bsd2:
    - shard-iclb:         [PASS][38] -> [SKIP][39] ([fdo#109276]) +16 similar issues
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-iclb1/igt@prime_vgem@fence-wait-bsd2.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-iclb8/igt@prime_vgem@fence-wait-bsd2.html

  
#### Possible fixes ####

  * igt@gem_busy@busy-vcs1:
    - shard-iclb:         [SKIP][40] ([fdo#112080]) -> [PASS][41] +13 similar issues
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-iclb5/igt@gem_busy@busy-vcs1.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-iclb4/igt@gem_busy@busy-vcs1.html

  * igt@gem_ctx_persistence@close-replace-race:
    - shard-tglb:         [INCOMPLETE][42] ([i915#1402]) -> [PASS][43]
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-tglb2/igt@gem_ctx_persistence@close-replace-race.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-tglb6/igt@gem_ctx_persistence@close-replace-race.html
    - shard-apl:          [INCOMPLETE][44] ([fdo#103927] / [i915#1402]) -> [PASS][45]
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-apl1/igt@gem_ctx_persistence@close-replace-race.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-apl6/igt@gem_ctx_persistence@close-replace-race.html

  * igt@gem_exec_balancer@smoke:
    - shard-iclb:         [SKIP][46] ([fdo#110854]) -> [PASS][47]
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-iclb8/igt@gem_exec_balancer@smoke.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-iclb4/igt@gem_exec_balancer@smoke.html

  * igt@gem_exec_parallel@bcs0-fds:
    - shard-apl:          [FAIL][48] -> [PASS][49]
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-apl6/igt@gem_exec_parallel@bcs0-fds.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-apl3/igt@gem_exec_parallel@bcs0-fds.html

  * igt@gem_exec_schedule@implicit-both-bsd2:
    - shard-iclb:         [SKIP][50] ([fdo#109276] / [i915#677]) -> [PASS][51] +1 similar issue
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-iclb5/igt@gem_exec_schedule@implicit-both-bsd2.html
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-iclb4/igt@gem_exec_schedule@implicit-both-bsd2.html

  * igt@gem_exec_schedule@pi-common-bsd:
    - shard-iclb:         [SKIP][52] ([i915#677]) -> [PASS][53] +2 similar issues
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-iclb1/igt@gem_exec_schedule@pi-common-bsd.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-iclb3/igt@gem_exec_schedule@pi-common-bsd.html

  * igt@gem_exec_schedule@preempt-contexts-bsd2:
    - shard-iclb:         [SKIP][54] ([fdo#109276]) -> [PASS][55] +21 similar issues
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-iclb8/igt@gem_exec_schedule@preempt-contexts-bsd2.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-iclb1/igt@gem_exec_schedule@preempt-contexts-bsd2.html

  * igt@gem_exec_schedule@preemptive-hang-bsd:
    - shard-iclb:         [SKIP][56] ([fdo#112146]) -> [PASS][57] +5 similar issues
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-iclb4/igt@gem_exec_schedule@preemptive-hang-bsd.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-iclb7/igt@gem_exec_schedule@preemptive-hang-bsd.html

  * igt@gem_userptr_blits@dmabuf-unsync:
    - shard-hsw:          [DMESG-WARN][58] ([fdo#111870]) -> [PASS][59]
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-hsw7/igt@gem_userptr_blits@dmabuf-unsync.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-hsw4/igt@gem_userptr_blits@dmabuf-unsync.html

  * igt@i915_pm_dc@dc5-dpms:
    - shard-iclb:         [FAIL][60] ([i915#447]) -> [PASS][61]
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-iclb3/igt@i915_pm_dc@dc5-dpms.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-iclb2/igt@i915_pm_dc@dc5-dpms.html

  * igt@i915_selftest@live@execlists:
    - shard-skl:          [INCOMPLETE][62] ([i915#656]) -> [PASS][63]
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-skl3/igt@i915_selftest@live@execlists.html
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-skl2/igt@i915_selftest@live@execlists.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-kbl:          [DMESG-WARN][64] ([i915#180]) -> [PASS][65] +1 similar issue
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-kbl7/igt@kms_flip@flip-vs-suspend.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-kbl4/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes:
    - shard-apl:          [DMESG-WARN][66] ([i915#180]) -> [PASS][67] +1 similar issue
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-apl6/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-apl7/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html

  * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc:
    - shard-skl:          [FAIL][68] ([fdo#108145]) -> [PASS][69] +1 similar issue
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-skl2/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-skl2/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html

  * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
    - shard-skl:          [FAIL][70] ([fdo#108145] / [i915#265]) -> [PASS][71]
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-skl2/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-skl1/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html

  * igt@kms_psr2_su@page_flip:
    - shard-iclb:         [SKIP][72] ([fdo#109642] / [fdo#111068]) -> [PASS][73]
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-iclb1/igt@kms_psr2_su@page_flip.html
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-iclb2/igt@kms_psr2_su@page_flip.html

  * igt@kms_psr@psr2_primary_page_flip:
    - shard-iclb:         [SKIP][74] ([fdo#109441]) -> [PASS][75]
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-iclb3/igt@kms_psr@psr2_primary_page_flip.html
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html

  * igt@kms_setmode@basic:
    - shard-skl:          [FAIL][76] ([i915#31]) -> [PASS][77]
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-skl9/igt@kms_setmode@basic.html
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-skl5/igt@kms_setmode@basic.html

  * {igt@sysfs_timeslice_duration@timeout@rcs0}:
    - shard-skl:          [FAIL][78] -> [PASS][79]
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-skl10/igt@sysfs_timeslice_duration@timeout@rcs0.html
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-skl5/igt@sysfs_timeslice_duration@timeout@rcs0.html

  
#### Warnings ####

  * igt@i915_pm_dc@dc6-dpms:
    - shard-tglb:         [SKIP][80] ([i915#468]) -> [FAIL][81] ([i915#454])
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-tglb2/igt@i915_pm_dc@dc6-dpms.html
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-tglb7/igt@i915_pm_dc@dc6-dpms.html

  * igt@runner@aborted:
    - shard-hsw:          ([FAIL][82], [FAIL][83], [FAIL][84], [FAIL][85], [FAIL][86], [FAIL][87], [FAIL][88], [FAIL][89]) ([fdo#111870]) -> ([FAIL][90], [FAIL][91], [FAIL][92], [FAIL][93], [FAIL][94], [FAIL][95], [FAIL][96], [FAIL][97], [FAIL][98]) ([fdo#111870] / [i915#478])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-hsw7/igt@runner@aborted.html
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-hsw6/igt@runner@aborted.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-hsw6/igt@runner@aborted.html
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-hsw2/igt@runner@aborted.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-hsw1/igt@runner@aborted.html
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-hsw5/igt@runner@aborted.html
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-hsw5/igt@runner@aborted.html
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-hsw2/igt@runner@aborted.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-hsw6/igt@runner@aborted.html
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-hsw4/igt@runner@aborted.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-hsw4/igt@runner@aborted.html
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-hsw6/igt@runner@aborted.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-hsw5/igt@runner@aborted.html
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-hsw1/igt@runner@aborted.html
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-hsw4/igt@runner@aborted.html
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-hsw1/igt@runner@aborted.html
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-hsw2/igt@runner@aborted.html
    - shard-kbl:          [FAIL][99] ([i915#92]) -> ([FAIL][100], [FAIL][101]) ([i915#1389] / [i915#1402] / [i915#92])
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-kbl3/igt@runner@aborted.html
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-kbl4/igt@runner@aborted.html
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-kbl2/igt@runner@aborted.html
    - shard-apl:          ([FAIL][102], [FAIL][103]) ([fdo#103927] / [i915#1402]) -> [FAIL][104] ([fdo#103927])
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-apl3/igt@runner@aborted.html
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8137/shard-apl1/igt@runner@aborted.html
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/shard-apl7/igt@runner@aborted.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#110841]: https://bugs.freedesktop.org/show_bug.cgi?id=110841
  [fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111870]: https://bugs.freedesktop.org/show_bug.cgi?id=111870
  [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
  [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146
  [i915#1340]: https://gitlab.freedesktop.org/drm/intel/issues/1340
  [i915#1389]: https://gitlab.freedesktop.org/drm/intel/issues/1389
  [i915#1402]: https://gitlab.freedesktop.org/drm/intel/issues/1402
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#221]: https://gitlab.freedesktop.org/drm/intel/issues/221
  [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
  [i915#31]: https://gitlab.freedesktop.org/drm/intel/issues/31
  [i915#413]: https://gitlab.freedesktop.org/drm/intel/issues/413
  [i915#447]: https://gitlab.freedesktop.org/drm/intel/issues/447
  [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
  [i915#468]: https://gitlab.freedesktop.org/drm/intel/issues/468
  [i915#478]: https://gitlab.freedesktop.org/drm/intel/issues/478
  [i915#516]: https://gitlab.freedesktop.org/drm/intel/issues/516
  [i915#58]: https://gitlab.freedesktop.org/drm/intel/issues/58
  [i915#644]: https://gitlab.freedesktop.org/drm/intel/issues/644
  [i915#656]: https://gitlab.freedesktop.org/drm/intel/issues/656
  [i915#677]: https://gitlab.freedesktop.org/drm/intel/issues/677
  [i915#69]: https://gitlab.freedesktop.org/drm/intel/issues/69
  [i915#72]: https://gitlab.freedesktop.org/drm/intel/issues/72
  [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
  [i915#92]: https://gitlab.freedesktop.org/drm/intel/issues/92
  [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133


Participating hosts (10 -> 10)
------------------------------

  No changes in participating hosts


Build changes
-------------

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_8137 -> Patchwork_16971

  CI-20190529: 20190529
  CI_DRM_8137: 5786b5e77cc17a1b494b9bdf3c3f29eedc2e2e7d @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5510: e100092d50105463f58db531fa953c70cc58bb10 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_16971: bbce3b010ffba286df1d08925e6318b62bab7ea6 @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16971/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Intel-gfx] [PATCH v6 1/3] drm/i915/perf: remove generated code
  2020-03-16 18:46 ` [Intel-gfx] [PATCH v6 1/3] " Umesh Nerlige Ramappa
@ 2020-03-17 10:36   ` Lionel Landwerlin
  0 siblings, 0 replies; 9+ messages in thread
From: Lionel Landwerlin @ 2020-03-17 10:36 UTC (permalink / raw)
  To: Umesh Nerlige Ramappa; +Cc: intel-gfx

On 16/03/2020 20:46, Umesh Nerlige Ramappa wrote:
> Looks good. Thanks for cleaning this up.
>
> With s/mutex_lock/mutex_unlock/ below:
>
> Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>
> Thanks,
> Umesh
>
> On Sat, Mar 14, 2020 at 12:33:29PM +0200, Lionel Landwerlin wrote:
>> A little bit of history :
>>
>>   Back when i915-perf was introduced (4.13), there was no way to
>>   dynamically add new OA configurations to i915. Only the generated
>>   configs baked in at build time were allowed.
>>
>>   It quickly became obvious that we would need to allow applications
>>   to upload their own configurations, for instance to be able to test
>>   new ones, and so by the next stable version (4.14) we added uAPIs
>>   to allow uploading new configurations.
>>
>>   When adding that capability, we took the opportunity to remove most
>>   HW configurations except the TestOa one which is a configuration
>>   IGT would rely on to verify that the HW is outputting correct
>>   values. At the time it made sense to have that confiuration in at
>>   the same time a given HW platform added to the i915-perf driver.
>>
>> Now that IGT has become the reference point for HW configurations (see
>> commit 53f8f541ca ("lib: Add i915_perf library"), previously this was
>> located in the GPUTop repository), the need for having those
>> configurations in i915-perf is gone.
>>
>> On the Mesa side, we haven't relied on this test configuration for a
>> while. The MDAPI library always required 4.14 feature level and always
>> loaded its configuration into i915.
>>
>> I'm sure nobody will miss this generated stuff in i915 :)
>>
>> v2: Fix selftests by creating an empty config
>>
>> v3: Fix unlocking on allocation error (Dan Carpenter)
>>
>> v4: Fixup checkpatch warnings
>>
>> Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
>> ---
>> drivers/gpu/drm/i915/Makefile              |  17 ---
>> drivers/gpu/drm/i915/i915_perf.c           |  81 +-------------
>> drivers/gpu/drm/i915/i915_perf_types.h     |   2 -
>> drivers/gpu/drm/i915/oa/i915_oa_bdw.c      |  90 ---------------
>> drivers/gpu/drm/i915/oa/i915_oa_bdw.h      |  16 ---
>> drivers/gpu/drm/i915/oa/i915_oa_bxt.c      |  88 ---------------
>> drivers/gpu/drm/i915/oa/i915_oa_bxt.h      |  16 ---
>> drivers/gpu/drm/i915/oa/i915_oa_cflgt2.c   |  89 ---------------
>> drivers/gpu/drm/i915/oa/i915_oa_cflgt2.h   |  16 ---
>> drivers/gpu/drm/i915/oa/i915_oa_cflgt3.c   |  89 ---------------
>> drivers/gpu/drm/i915/oa/i915_oa_cflgt3.h   |  16 ---
>> drivers/gpu/drm/i915/oa/i915_oa_chv.c      |  89 ---------------
>> drivers/gpu/drm/i915/oa/i915_oa_chv.h      |  16 ---
>> drivers/gpu/drm/i915/oa/i915_oa_cnl.c      | 101 -----------------
>> drivers/gpu/drm/i915/oa/i915_oa_cnl.h      |  16 ---
>> drivers/gpu/drm/i915/oa/i915_oa_glk.c      |  88 ---------------
>> drivers/gpu/drm/i915/oa/i915_oa_glk.h      |  16 ---
>> drivers/gpu/drm/i915/oa/i915_oa_hsw.c      | 118 --------------------
>> drivers/gpu/drm/i915/oa/i915_oa_hsw.h      |  16 ---
>> drivers/gpu/drm/i915/oa/i915_oa_icl.c      |  98 -----------------
>> drivers/gpu/drm/i915/oa/i915_oa_icl.h      |  16 ---
>> drivers/gpu/drm/i915/oa/i915_oa_kblgt2.c   |  89 ---------------
>> drivers/gpu/drm/i915/oa/i915_oa_kblgt2.h   |  16 ---
>> drivers/gpu/drm/i915/oa/i915_oa_kblgt3.c   |  89 ---------------
>> drivers/gpu/drm/i915/oa/i915_oa_kblgt3.h   |  16 ---
>> drivers/gpu/drm/i915/oa/i915_oa_sklgt2.c   |  88 ---------------
>> drivers/gpu/drm/i915/oa/i915_oa_sklgt2.h   |  16 ---
>> drivers/gpu/drm/i915/oa/i915_oa_sklgt3.c   |  89 ---------------
>> drivers/gpu/drm/i915/oa/i915_oa_sklgt3.h   |  16 ---
>> drivers/gpu/drm/i915/oa/i915_oa_sklgt4.c   |  89 ---------------
>> drivers/gpu/drm/i915/oa/i915_oa_sklgt4.h   |  16 ---
>> drivers/gpu/drm/i915/oa/i915_oa_tgl.c      | 121 ---------------------
>> drivers/gpu/drm/i915/oa/i915_oa_tgl.h      |  16 ---
>> drivers/gpu/drm/i915/selftests/i915_perf.c |  98 ++++++++++++++++-
>> 34 files changed, 96 insertions(+), 1757 deletions(-)
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_bdw.c
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_bdw.h
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_bxt.c
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_bxt.h
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_cflgt2.c
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_cflgt2.h
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_cflgt3.c
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_cflgt3.h
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_chv.c
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_chv.h
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_cnl.c
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_cnl.h
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_glk.c
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_glk.h
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_hsw.c
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_hsw.h
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_icl.c
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_icl.h
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_kblgt2.c
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_kblgt2.h
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_kblgt3.c
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_kblgt3.h
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_sklgt2.c
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_sklgt2.h
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_sklgt3.c
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_sklgt3.h
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_sklgt4.c
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_sklgt4.h
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_tgl.c
>> delete mode 100644 drivers/gpu/drm/i915/oa/i915_oa_tgl.h
>>
>> diff --git a/drivers/gpu/drm/i915/Makefile 
>> b/drivers/gpu/drm/i915/Makefile
>> index 9f887a86e555..6bff8af18842 100644
>> --- a/drivers/gpu/drm/i915/Makefile
>> +++ b/drivers/gpu/drm/i915/Makefile
>> @@ -243,23 +243,6 @@ i915-y += \
>>     display/vlv_dsi.o \
>>     display/vlv_dsi_pll.o
>>
>> -# perf code
>> -i915-y += \
>> -    oa/i915_oa_hsw.o \
>> -    oa/i915_oa_bdw.o \
>> -    oa/i915_oa_chv.o \
>> -    oa/i915_oa_sklgt2.o \
>> -    oa/i915_oa_sklgt3.o \
>> -    oa/i915_oa_sklgt4.o \
>> -    oa/i915_oa_bxt.o \
>> -    oa/i915_oa_kblgt2.o \
>> -    oa/i915_oa_kblgt3.o \
>> -    oa/i915_oa_glk.o \
>> -    oa/i915_oa_cflgt2.o \
>> -    oa/i915_oa_cflgt3.o \
>> -    oa/i915_oa_cnl.o \
>> -    oa/i915_oa_icl.o \
>> -    oa/i915_oa_tgl.o
>> i915-y += i915_perf.o
>>
>> # Post-mortem debug and GPU hang state capture
>> diff --git a/drivers/gpu/drm/i915/i915_perf.c 
>> b/drivers/gpu/drm/i915/i915_perf.c
>> index 1b074bb4a7fe..0069f09b988c 100644
>> --- a/drivers/gpu/drm/i915/i915_perf.c
>> +++ b/drivers/gpu/drm/i915/i915_perf.c
>> @@ -204,21 +204,6 @@
>>
>> #include "i915_drv.h"
>> #include "i915_perf.h"
>> -#include "oa/i915_oa_hsw.h"
>> -#include "oa/i915_oa_bdw.h"
>> -#include "oa/i915_oa_chv.h"
>> -#include "oa/i915_oa_sklgt2.h"
>> -#include "oa/i915_oa_sklgt3.h"
>> -#include "oa/i915_oa_sklgt4.h"
>> -#include "oa/i915_oa_bxt.h"
>> -#include "oa/i915_oa_kblgt2.h"
>> -#include "oa/i915_oa_kblgt3.h"
>> -#include "oa/i915_oa_glk.h"
>> -#include "oa/i915_oa_cflgt2.h"
>> -#include "oa/i915_oa_cflgt3.h"
>> -#include "oa/i915_oa_cnl.h"
>> -#include "oa/i915_oa_icl.h"
>> -#include "oa/i915_oa_tgl.h"
>>
>> /* HW requires this to be a power of two, between 128k and 16M, 
>> though driver
>>  * is currently generally designed assuming the largest 16M size is 
>> used such
>> @@ -409,10 +394,7 @@ i915_perf_get_oa_config(struct i915_perf *perf, 
>> int metrics_set)
>>     struct i915_oa_config *oa_config;
>>
>>     rcu_read_lock();
>> -    if (metrics_set == 1)
>> -        oa_config = &perf->test_config;
>> -    else
>> -        oa_config = idr_find(&perf->metrics_idr, metrics_set);
>> +    oa_config = idr_find(&perf->metrics_idr, metrics_set);
>>     if (oa_config)
>>         oa_config = i915_oa_config_get(oa_config);
>>     rcu_read_unlock();
>> @@ -3716,7 +3698,6 @@ int i915_perf_open_ioctl(struct drm_device 
>> *dev, void *data,
>> void i915_perf_register(struct drm_i915_private *i915)
>> {
>>     struct i915_perf *perf = &i915->perf;
>> -    int ret;
>>
>>     if (!perf->i915)
>>         return;
>> @@ -3730,64 +3711,7 @@ void i915_perf_register(struct 
>> drm_i915_private *i915)
>>     perf->metrics_kobj =
>>         kobject_create_and_add("metrics",
>> &i915->drm.primary->kdev->kobj);
>> -    if (!perf->metrics_kobj)
>> -        goto exit;
>> -
>> - sysfs_attr_init(&perf->test_config.sysfs_metric_id.attr);
>> -
>> -    if (IS_TIGERLAKE(i915)) {
>> -        i915_perf_load_test_config_tgl(i915);
>> -    } else if (INTEL_GEN(i915) >= 11) {
>> -        i915_perf_load_test_config_icl(i915);
>> -    } else if (IS_CANNONLAKE(i915)) {
>> -        i915_perf_load_test_config_cnl(i915);
>> -    } else if (IS_COFFEELAKE(i915)) {
>> -        if (IS_CFL_GT2(i915))
>> -            i915_perf_load_test_config_cflgt2(i915);
>> -        if (IS_CFL_GT3(i915))
>> -            i915_perf_load_test_config_cflgt3(i915);
>> -    } else if (IS_GEMINILAKE(i915)) {
>> -        i915_perf_load_test_config_glk(i915);
>> -    } else if (IS_KABYLAKE(i915)) {
>> -        if (IS_KBL_GT2(i915))
>> -            i915_perf_load_test_config_kblgt2(i915);
>> -        else if (IS_KBL_GT3(i915))
>> -            i915_perf_load_test_config_kblgt3(i915);
>> -    } else if (IS_BROXTON(i915)) {
>> -        i915_perf_load_test_config_bxt(i915);
>> -    } else if (IS_SKYLAKE(i915)) {
>> -        if (IS_SKL_GT2(i915))
>> -            i915_perf_load_test_config_sklgt2(i915);
>> -        else if (IS_SKL_GT3(i915))
>> -            i915_perf_load_test_config_sklgt3(i915);
>> -        else if (IS_SKL_GT4(i915))
>> -            i915_perf_load_test_config_sklgt4(i915);
>> -    } else if (IS_CHERRYVIEW(i915)) {
>> -        i915_perf_load_test_config_chv(i915);
>> -    } else if (IS_BROADWELL(i915)) {
>> -        i915_perf_load_test_config_bdw(i915);
>> -    } else if (IS_HASWELL(i915)) {
>> -        i915_perf_load_test_config_hsw(i915);
>> -    }
>> -
>> -    if (perf->test_config.id == 0)
>> -        goto sysfs_error;
>> -
>> -    ret = sysfs_create_group(perf->metrics_kobj,
>> -                 &perf->test_config.sysfs_metric);
>> -    if (ret)
>> -        goto sysfs_error;
>>
>> -    perf->test_config.perf = perf;
>> -    kref_init(&perf->test_config.ref);
>> -
>> -    goto exit;
>> -
>> -sysfs_error:
>> -    kobject_put(perf->metrics_kobj);
>> -    perf->metrics_kobj = NULL;
>> -
>> -exit:
>>     mutex_unlock(&perf->lock);
>> }
>>
>> @@ -3807,9 +3731,6 @@ void i915_perf_unregister(struct 
>> drm_i915_private *i915)
>>     if (!perf->metrics_kobj)
>>         return;
>>
>> -    sysfs_remove_group(perf->metrics_kobj,
>> -               &perf->test_config.sysfs_metric);
>> -
>>     kobject_put(perf->metrics_kobj);
>>     perf->metrics_kobj = NULL;
>> }
>> diff --git a/drivers/gpu/drm/i915/i915_perf_types.h 
>> b/drivers/gpu/drm/i915/i915_perf_types.h
>> index a0e22f00f6cf..f4ccd2adfee6 100644
>> --- a/drivers/gpu/drm/i915/i915_perf_types.h
>> +++ b/drivers/gpu/drm/i915/i915_perf_types.h
>> @@ -413,8 +413,6 @@ struct i915_perf {
>>      */
>>     struct ratelimit_state spurious_report_rs;
>>
>> -    struct i915_oa_config test_config;
>> -
>>     u32 gen7_latched_oastatus1;
>>     u32 ctx_oactxctrl_offset;
>>     u32 ctx_flexeu0_offset;
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_bdw.c 
>> b/drivers/gpu/drm/i915/oa/i915_oa_bdw.c
>> deleted file mode 100644
>> index 14da5c3b569d..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_bdw.c
>> +++ /dev/null
>> @@ -1,90 +0,0 @@
>> -// SPDX-License-Identifier: MIT
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#include <linux/sysfs.h>
>> -
>> -#include "i915_drv.h"
>> -#include "i915_oa_bdw.h"
>> -
>> -static const struct i915_oa_reg b_counter_config_test_oa[] = {
>> -    { _MMIO(0x2740), 0x00000000 },
>> -    { _MMIO(0x2744), 0x00800000 },
>> -    { _MMIO(0x2714), 0xf0800000 },
>> -    { _MMIO(0x2710), 0x00000000 },
>> -    { _MMIO(0x2724), 0xf0800000 },
>> -    { _MMIO(0x2720), 0x00000000 },
>> -    { _MMIO(0x2770), 0x00000004 },
>> -    { _MMIO(0x2774), 0x00000000 },
>> -    { _MMIO(0x2778), 0x00000003 },
>> -    { _MMIO(0x277c), 0x00000000 },
>> -    { _MMIO(0x2780), 0x00000007 },
>> -    { _MMIO(0x2784), 0x00000000 },
>> -    { _MMIO(0x2788), 0x00100002 },
>> -    { _MMIO(0x278c), 0x0000fff7 },
>> -    { _MMIO(0x2790), 0x00100002 },
>> -    { _MMIO(0x2794), 0x0000ffcf },
>> -    { _MMIO(0x2798), 0x00100082 },
>> -    { _MMIO(0x279c), 0x0000ffef },
>> -    { _MMIO(0x27a0), 0x001000c2 },
>> -    { _MMIO(0x27a4), 0x0000ffe7 },
>> -    { _MMIO(0x27a8), 0x00100001 },
>> -    { _MMIO(0x27ac), 0x0000ffe7 },
>> -};
>> -
>> -static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>> -};
>> -
>> -static const struct i915_oa_reg mux_config_test_oa[] = {
>> -    { _MMIO(0x9840), 0x000000a0 },
>> -    { _MMIO(0x9888), 0x198b0000 },
>> -    { _MMIO(0x9888), 0x078b0066 },
>> -    { _MMIO(0x9888), 0x118b0000 },
>> -    { _MMIO(0x9888), 0x258b0000 },
>> -    { _MMIO(0x9888), 0x21850008 },
>> -    { _MMIO(0x9888), 0x0d834000 },
>> -    { _MMIO(0x9888), 0x07844000 },
>> -    { _MMIO(0x9888), 0x17804000 },
>> -    { _MMIO(0x9888), 0x21800000 },
>> -    { _MMIO(0x9888), 0x4f800000 },
>> -    { _MMIO(0x9888), 0x41800000 },
>> -    { _MMIO(0x9888), 0x31800000 },
>> -    { _MMIO(0x9840), 0x00000080 },
>> -};
>> -
>> -static ssize_t
>> -show_test_oa_id(struct device *kdev, struct device_attribute *attr, 
>> char *buf)
>> -{
>> -    return sprintf(buf, "1\n");
>> -}
>> -
>> -void
>> -i915_perf_load_test_config_bdw(struct drm_i915_private *dev_priv)
>> -{
>> -    strlcpy(dev_priv->perf.test_config.uuid,
>> -        "d6de6f55-e526-4f79-a6a6-d7315c09044e",
>> -        sizeof(dev_priv->perf.test_config.uuid));
>> -    dev_priv->perf.test_config.id = 1;
>> -
>> -    dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>> -    dev_priv->perf.test_config.mux_regs_len = 
>> ARRAY_SIZE(mux_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.b_counter_regs = 
>> b_counter_config_test_oa;
>> -    dev_priv->perf.test_config.b_counter_regs_len = 
>> ARRAY_SIZE(b_counter_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>> -    dev_priv->perf.test_config.flex_regs_len = 
>> ARRAY_SIZE(flex_eu_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.sysfs_metric.name = 
>> "d6de6f55-e526-4f79-a6a6-d7315c09044e";
>> -    dev_priv->perf.test_config.sysfs_metric.attrs = 
>> dev_priv->perf.test_config.attrs;
>> -
>> -    dev_priv->perf.test_config.attrs[0] = 
>> &dev_priv->perf.test_config.sysfs_metric_id.attr;
>> -
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>> -    dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>> -}
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_bdw.h 
>> b/drivers/gpu/drm/i915/oa/i915_oa_bdw.h
>> deleted file mode 100644
>> index 0cee3334f0a6..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_bdw.h
>> +++ /dev/null
>> @@ -1,16 +0,0 @@
>> -/* SPDX-License-Identifier: MIT */
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#ifndef __I915_OA_BDW_H__
>> -#define __I915_OA_BDW_H__
>> -
>> -struct drm_i915_private;
>> -
>> -void i915_perf_load_test_config_bdw(struct drm_i915_private *dev_priv);
>> -
>> -#endif
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_bxt.c 
>> b/drivers/gpu/drm/i915/oa/i915_oa_bxt.c
>> deleted file mode 100644
>> index 3e785bafcf99..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_bxt.c
>> +++ /dev/null
>> @@ -1,88 +0,0 @@
>> -// SPDX-License-Identifier: MIT
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#include <linux/sysfs.h>
>> -
>> -#include "i915_drv.h"
>> -#include "i915_oa_bxt.h"
>> -
>> -static const struct i915_oa_reg b_counter_config_test_oa[] = {
>> -    { _MMIO(0x2740), 0x00000000 },
>> -    { _MMIO(0x2744), 0x00800000 },
>> -    { _MMIO(0x2714), 0xf0800000 },
>> -    { _MMIO(0x2710), 0x00000000 },
>> -    { _MMIO(0x2724), 0xf0800000 },
>> -    { _MMIO(0x2720), 0x00000000 },
>> -    { _MMIO(0x2770), 0x00000004 },
>> -    { _MMIO(0x2774), 0x00000000 },
>> -    { _MMIO(0x2778), 0x00000003 },
>> -    { _MMIO(0x277c), 0x00000000 },
>> -    { _MMIO(0x2780), 0x00000007 },
>> -    { _MMIO(0x2784), 0x00000000 },
>> -    { _MMIO(0x2788), 0x00100002 },
>> -    { _MMIO(0x278c), 0x0000fff7 },
>> -    { _MMIO(0x2790), 0x00100002 },
>> -    { _MMIO(0x2794), 0x0000ffcf },
>> -    { _MMIO(0x2798), 0x00100082 },
>> -    { _MMIO(0x279c), 0x0000ffef },
>> -    { _MMIO(0x27a0), 0x001000c2 },
>> -    { _MMIO(0x27a4), 0x0000ffe7 },
>> -    { _MMIO(0x27a8), 0x00100001 },
>> -    { _MMIO(0x27ac), 0x0000ffe7 },
>> -};
>> -
>> -static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>> -};
>> -
>> -static const struct i915_oa_reg mux_config_test_oa[] = {
>> -    { _MMIO(0x9840), 0x00000080 },
>> -    { _MMIO(0x9888), 0x19800000 },
>> -    { _MMIO(0x9888), 0x07800063 },
>> -    { _MMIO(0x9888), 0x11800000 },
>> -    { _MMIO(0x9888), 0x23810008 },
>> -    { _MMIO(0x9888), 0x1d950400 },
>> -    { _MMIO(0x9888), 0x0f922000 },
>> -    { _MMIO(0x9888), 0x1f908000 },
>> -    { _MMIO(0x9888), 0x37900000 },
>> -    { _MMIO(0x9888), 0x55900000 },
>> -    { _MMIO(0x9888), 0x47900000 },
>> -    { _MMIO(0x9888), 0x33900000 },
>> -};
>> -
>> -static ssize_t
>> -show_test_oa_id(struct device *kdev, struct device_attribute *attr, 
>> char *buf)
>> -{
>> -    return sprintf(buf, "1\n");
>> -}
>> -
>> -void
>> -i915_perf_load_test_config_bxt(struct drm_i915_private *dev_priv)
>> -{
>> -    strlcpy(dev_priv->perf.test_config.uuid,
>> -        "5ee72f5c-092f-421e-8b70-225f7c3e9612",
>> -        sizeof(dev_priv->perf.test_config.uuid));
>> -    dev_priv->perf.test_config.id = 1;
>> -
>> -    dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>> -    dev_priv->perf.test_config.mux_regs_len = 
>> ARRAY_SIZE(mux_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.b_counter_regs = 
>> b_counter_config_test_oa;
>> -    dev_priv->perf.test_config.b_counter_regs_len = 
>> ARRAY_SIZE(b_counter_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>> -    dev_priv->perf.test_config.flex_regs_len = 
>> ARRAY_SIZE(flex_eu_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.sysfs_metric.name = 
>> "5ee72f5c-092f-421e-8b70-225f7c3e9612";
>> -    dev_priv->perf.test_config.sysfs_metric.attrs = 
>> dev_priv->perf.test_config.attrs;
>> -
>> -    dev_priv->perf.test_config.attrs[0] = 
>> &dev_priv->perf.test_config.sysfs_metric_id.attr;
>> -
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>> -    dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>> -}
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_bxt.h 
>> b/drivers/gpu/drm/i915/oa/i915_oa_bxt.h
>> deleted file mode 100644
>> index 0bdf391323ec..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_bxt.h
>> +++ /dev/null
>> @@ -1,16 +0,0 @@
>> -/* SPDX-License-Identifier: MIT */
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#ifndef __I915_OA_BXT_H__
>> -#define __I915_OA_BXT_H__
>> -
>> -struct drm_i915_private;
>> -
>> -void i915_perf_load_test_config_bxt(struct drm_i915_private *dev_priv);
>> -
>> -#endif
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_cflgt2.c 
>> b/drivers/gpu/drm/i915/oa/i915_oa_cflgt2.c
>> deleted file mode 100644
>> index 0ea86f70a06c..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_cflgt2.c
>> +++ /dev/null
>> @@ -1,89 +0,0 @@
>> -// SPDX-License-Identifier: MIT
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#include <linux/sysfs.h>
>> -
>> -#include "i915_drv.h"
>> -#include "i915_oa_cflgt2.h"
>> -
>> -static const struct i915_oa_reg b_counter_config_test_oa[] = {
>> -    { _MMIO(0x2740), 0x00000000 },
>> -    { _MMIO(0x2744), 0x00800000 },
>> -    { _MMIO(0x2714), 0xf0800000 },
>> -    { _MMIO(0x2710), 0x00000000 },
>> -    { _MMIO(0x2724), 0xf0800000 },
>> -    { _MMIO(0x2720), 0x00000000 },
>> -    { _MMIO(0x2770), 0x00000004 },
>> -    { _MMIO(0x2774), 0x00000000 },
>> -    { _MMIO(0x2778), 0x00000003 },
>> -    { _MMIO(0x277c), 0x00000000 },
>> -    { _MMIO(0x2780), 0x00000007 },
>> -    { _MMIO(0x2784), 0x00000000 },
>> -    { _MMIO(0x2788), 0x00100002 },
>> -    { _MMIO(0x278c), 0x0000fff7 },
>> -    { _MMIO(0x2790), 0x00100002 },
>> -    { _MMIO(0x2794), 0x0000ffcf },
>> -    { _MMIO(0x2798), 0x00100082 },
>> -    { _MMIO(0x279c), 0x0000ffef },
>> -    { _MMIO(0x27a0), 0x001000c2 },
>> -    { _MMIO(0x27a4), 0x0000ffe7 },
>> -    { _MMIO(0x27a8), 0x00100001 },
>> -    { _MMIO(0x27ac), 0x0000ffe7 },
>> -};
>> -
>> -static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>> -};
>> -
>> -static const struct i915_oa_reg mux_config_test_oa[] = {
>> -    { _MMIO(0x9840), 0x00000080 },
>> -    { _MMIO(0x9888), 0x11810000 },
>> -    { _MMIO(0x9888), 0x07810013 },
>> -    { _MMIO(0x9888), 0x1f810000 },
>> -    { _MMIO(0x9888), 0x1d810000 },
>> -    { _MMIO(0x9888), 0x1b930040 },
>> -    { _MMIO(0x9888), 0x07e54000 },
>> -    { _MMIO(0x9888), 0x1f908000 },
>> -    { _MMIO(0x9888), 0x11900000 },
>> -    { _MMIO(0x9888), 0x37900000 },
>> -    { _MMIO(0x9888), 0x53900000 },
>> -    { _MMIO(0x9888), 0x45900000 },
>> -    { _MMIO(0x9888), 0x33900000 },
>> -};
>> -
>> -static ssize_t
>> -show_test_oa_id(struct device *kdev, struct device_attribute *attr, 
>> char *buf)
>> -{
>> -    return sprintf(buf, "1\n");
>> -}
>> -
>> -void
>> -i915_perf_load_test_config_cflgt2(struct drm_i915_private *dev_priv)
>> -{
>> -    strlcpy(dev_priv->perf.test_config.uuid,
>> -        "74fb4902-d3d3-4237-9e90-cbdc68d0a446",
>> -        sizeof(dev_priv->perf.test_config.uuid));
>> -    dev_priv->perf.test_config.id = 1;
>> -
>> -    dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>> -    dev_priv->perf.test_config.mux_regs_len = 
>> ARRAY_SIZE(mux_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.b_counter_regs = 
>> b_counter_config_test_oa;
>> -    dev_priv->perf.test_config.b_counter_regs_len = 
>> ARRAY_SIZE(b_counter_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>> -    dev_priv->perf.test_config.flex_regs_len = 
>> ARRAY_SIZE(flex_eu_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.sysfs_metric.name = 
>> "74fb4902-d3d3-4237-9e90-cbdc68d0a446";
>> -    dev_priv->perf.test_config.sysfs_metric.attrs = 
>> dev_priv->perf.test_config.attrs;
>> -
>> -    dev_priv->perf.test_config.attrs[0] = 
>> &dev_priv->perf.test_config.sysfs_metric_id.attr;
>> -
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>> -    dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>> -}
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_cflgt2.h 
>> b/drivers/gpu/drm/i915/oa/i915_oa_cflgt2.h
>> deleted file mode 100644
>> index 6b862280ab78..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_cflgt2.h
>> +++ /dev/null
>> @@ -1,16 +0,0 @@
>> -/* SPDX-License-Identifier: MIT */
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#ifndef __I915_OA_CFLGT2_H__
>> -#define __I915_OA_CFLGT2_H__
>> -
>> -struct drm_i915_private;
>> -
>> -void i915_perf_load_test_config_cflgt2(struct drm_i915_private 
>> *dev_priv);
>> -
>> -#endif
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_cflgt3.c 
>> b/drivers/gpu/drm/i915/oa/i915_oa_cflgt3.c
>> deleted file mode 100644
>> index fc632dd890bf..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_cflgt3.c
>> +++ /dev/null
>> @@ -1,89 +0,0 @@
>> -// SPDX-License-Identifier: MIT
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#include <linux/sysfs.h>
>> -
>> -#include "i915_drv.h"
>> -#include "i915_oa_cflgt3.h"
>> -
>> -static const struct i915_oa_reg b_counter_config_test_oa[] = {
>> -    { _MMIO(0x2740), 0x00000000 },
>> -    { _MMIO(0x2744), 0x00800000 },
>> -    { _MMIO(0x2714), 0xf0800000 },
>> -    { _MMIO(0x2710), 0x00000000 },
>> -    { _MMIO(0x2724), 0xf0800000 },
>> -    { _MMIO(0x2720), 0x00000000 },
>> -    { _MMIO(0x2770), 0x00000004 },
>> -    { _MMIO(0x2774), 0x00000000 },
>> -    { _MMIO(0x2778), 0x00000003 },
>> -    { _MMIO(0x277c), 0x00000000 },
>> -    { _MMIO(0x2780), 0x00000007 },
>> -    { _MMIO(0x2784), 0x00000000 },
>> -    { _MMIO(0x2788), 0x00100002 },
>> -    { _MMIO(0x278c), 0x0000fff7 },
>> -    { _MMIO(0x2790), 0x00100002 },
>> -    { _MMIO(0x2794), 0x0000ffcf },
>> -    { _MMIO(0x2798), 0x00100082 },
>> -    { _MMIO(0x279c), 0x0000ffef },
>> -    { _MMIO(0x27a0), 0x001000c2 },
>> -    { _MMIO(0x27a4), 0x0000ffe7 },
>> -    { _MMIO(0x27a8), 0x00100001 },
>> -    { _MMIO(0x27ac), 0x0000ffe7 },
>> -};
>> -
>> -static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>> -};
>> -
>> -static const struct i915_oa_reg mux_config_test_oa[] = {
>> -    { _MMIO(0x9840), 0x00000080 },
>> -    { _MMIO(0x9888), 0x11810000 },
>> -    { _MMIO(0x9888), 0x07810013 },
>> -    { _MMIO(0x9888), 0x1f810000 },
>> -    { _MMIO(0x9888), 0x1d810000 },
>> -    { _MMIO(0x9888), 0x1b930040 },
>> -    { _MMIO(0x9888), 0x07e54000 },
>> -    { _MMIO(0x9888), 0x1f908000 },
>> -    { _MMIO(0x9888), 0x11900000 },
>> -    { _MMIO(0x9888), 0x37900000 },
>> -    { _MMIO(0x9888), 0x53900000 },
>> -    { _MMIO(0x9888), 0x45900000 },
>> -    { _MMIO(0x9888), 0x33900000 },
>> -};
>> -
>> -static ssize_t
>> -show_test_oa_id(struct device *kdev, struct device_attribute *attr, 
>> char *buf)
>> -{
>> -    return sprintf(buf, "1\n");
>> -}
>> -
>> -void
>> -i915_perf_load_test_config_cflgt3(struct drm_i915_private *dev_priv)
>> -{
>> -    strlcpy(dev_priv->perf.test_config.uuid,
>> -        "577e8e2c-3fa0-4875-8743-3538d585e3b0",
>> -        sizeof(dev_priv->perf.test_config.uuid));
>> -    dev_priv->perf.test_config.id = 1;
>> -
>> -    dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>> -    dev_priv->perf.test_config.mux_regs_len = 
>> ARRAY_SIZE(mux_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.b_counter_regs = 
>> b_counter_config_test_oa;
>> -    dev_priv->perf.test_config.b_counter_regs_len = 
>> ARRAY_SIZE(b_counter_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>> -    dev_priv->perf.test_config.flex_regs_len = 
>> ARRAY_SIZE(flex_eu_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.sysfs_metric.name = 
>> "577e8e2c-3fa0-4875-8743-3538d585e3b0";
>> -    dev_priv->perf.test_config.sysfs_metric.attrs = 
>> dev_priv->perf.test_config.attrs;
>> -
>> -    dev_priv->perf.test_config.attrs[0] = 
>> &dev_priv->perf.test_config.sysfs_metric_id.attr;
>> -
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>> -    dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>> -}
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_cflgt3.h 
>> b/drivers/gpu/drm/i915/oa/i915_oa_cflgt3.h
>> deleted file mode 100644
>> index 4ca9d8f89b2f..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_cflgt3.h
>> +++ /dev/null
>> @@ -1,16 +0,0 @@
>> -/* SPDX-License-Identifier: MIT */
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#ifndef __I915_OA_CFLGT3_H__
>> -#define __I915_OA_CFLGT3_H__
>> -
>> -struct drm_i915_private;
>> -
>> -void i915_perf_load_test_config_cflgt3(struct drm_i915_private 
>> *dev_priv);
>> -
>> -#endif
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_chv.c 
>> b/drivers/gpu/drm/i915/oa/i915_oa_chv.c
>> deleted file mode 100644
>> index 6cd4e9921a8a..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_chv.c
>> +++ /dev/null
>> @@ -1,89 +0,0 @@
>> -// SPDX-License-Identifier: MIT
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#include <linux/sysfs.h>
>> -
>> -#include "i915_drv.h"
>> -#include "i915_oa_chv.h"
>> -
>> -static const struct i915_oa_reg b_counter_config_test_oa[] = {
>> -    { _MMIO(0x2740), 0x00000000 },
>> -    { _MMIO(0x2744), 0x00800000 },
>> -    { _MMIO(0x2714), 0xf0800000 },
>> -    { _MMIO(0x2710), 0x00000000 },
>> -    { _MMIO(0x2724), 0xf0800000 },
>> -    { _MMIO(0x2720), 0x00000000 },
>> -    { _MMIO(0x2770), 0x00000004 },
>> -    { _MMIO(0x2774), 0x00000000 },
>> -    { _MMIO(0x2778), 0x00000003 },
>> -    { _MMIO(0x277c), 0x00000000 },
>> -    { _MMIO(0x2780), 0x00000007 },
>> -    { _MMIO(0x2784), 0x00000000 },
>> -    { _MMIO(0x2788), 0x00100002 },
>> -    { _MMIO(0x278c), 0x0000fff7 },
>> -    { _MMIO(0x2790), 0x00100002 },
>> -    { _MMIO(0x2794), 0x0000ffcf },
>> -    { _MMIO(0x2798), 0x00100082 },
>> -    { _MMIO(0x279c), 0x0000ffef },
>> -    { _MMIO(0x27a0), 0x001000c2 },
>> -    { _MMIO(0x27a4), 0x0000ffe7 },
>> -    { _MMIO(0x27a8), 0x00100001 },
>> -    { _MMIO(0x27ac), 0x0000ffe7 },
>> -};
>> -
>> -static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>> -};
>> -
>> -static const struct i915_oa_reg mux_config_test_oa[] = {
>> -    { _MMIO(0x9840), 0x000000a0 },
>> -    { _MMIO(0x9888), 0x59800000 },
>> -    { _MMIO(0x9888), 0x59800001 },
>> -    { _MMIO(0x9888), 0x338b0000 },
>> -    { _MMIO(0x9888), 0x258b0066 },
>> -    { _MMIO(0x9888), 0x058b0000 },
>> -    { _MMIO(0x9888), 0x038b0000 },
>> -    { _MMIO(0x9888), 0x03844000 },
>> -    { _MMIO(0x9888), 0x47800080 },
>> -    { _MMIO(0x9888), 0x57800000 },
>> -    { _MMIO(0x1823a4), 0x00000000 },
>> -    { _MMIO(0x9888), 0x59800000 },
>> -    { _MMIO(0x9840), 0x00000080 },
>> -};
>> -
>> -static ssize_t
>> -show_test_oa_id(struct device *kdev, struct device_attribute *attr, 
>> char *buf)
>> -{
>> -    return sprintf(buf, "1\n");
>> -}
>> -
>> -void
>> -i915_perf_load_test_config_chv(struct drm_i915_private *dev_priv)
>> -{
>> -    strlcpy(dev_priv->perf.test_config.uuid,
>> -        "4a534b07-cba3-414d-8d60-874830e883aa",
>> -        sizeof(dev_priv->perf.test_config.uuid));
>> -    dev_priv->perf.test_config.id = 1;
>> -
>> -    dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>> -    dev_priv->perf.test_config.mux_regs_len = 
>> ARRAY_SIZE(mux_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.b_counter_regs = 
>> b_counter_config_test_oa;
>> -    dev_priv->perf.test_config.b_counter_regs_len = 
>> ARRAY_SIZE(b_counter_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>> -    dev_priv->perf.test_config.flex_regs_len = 
>> ARRAY_SIZE(flex_eu_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.sysfs_metric.name = 
>> "4a534b07-cba3-414d-8d60-874830e883aa";
>> -    dev_priv->perf.test_config.sysfs_metric.attrs = 
>> dev_priv->perf.test_config.attrs;
>> -
>> -    dev_priv->perf.test_config.attrs[0] = 
>> &dev_priv->perf.test_config.sysfs_metric_id.attr;
>> -
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>> -    dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>> -}
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_chv.h 
>> b/drivers/gpu/drm/i915/oa/i915_oa_chv.h
>> deleted file mode 100644
>> index 3cac7bbc9c71..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_chv.h
>> +++ /dev/null
>> @@ -1,16 +0,0 @@
>> -/* SPDX-License-Identifier: MIT */
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#ifndef __I915_OA_CHV_H__
>> -#define __I915_OA_CHV_H__
>> -
>> -struct drm_i915_private;
>> -
>> -void i915_perf_load_test_config_chv(struct drm_i915_private *dev_priv);
>> -
>> -#endif
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_cnl.c 
>> b/drivers/gpu/drm/i915/oa/i915_oa_cnl.c
>> deleted file mode 100644
>> index 1041e8914993..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_cnl.c
>> +++ /dev/null
>> @@ -1,101 +0,0 @@
>> -// SPDX-License-Identifier: MIT
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#include <linux/sysfs.h>
>> -
>> -#include "i915_drv.h"
>> -#include "i915_oa_cnl.h"
>> -
>> -static const struct i915_oa_reg b_counter_config_test_oa[] = {
>> -    { _MMIO(0x2740), 0x00000000 },
>> -    { _MMIO(0x2710), 0x00000000 },
>> -    { _MMIO(0x2714), 0xf0800000 },
>> -    { _MMIO(0x2720), 0x00000000 },
>> -    { _MMIO(0x2724), 0xf0800000 },
>> -    { _MMIO(0x2770), 0x00000004 },
>> -    { _MMIO(0x2774), 0x0000ffff },
>> -    { _MMIO(0x2778), 0x00000003 },
>> -    { _MMIO(0x277c), 0x0000ffff },
>> -    { _MMIO(0x2780), 0x00000007 },
>> -    { _MMIO(0x2784), 0x0000ffff },
>> -    { _MMIO(0x2788), 0x00100002 },
>> -    { _MMIO(0x278c), 0x0000fff7 },
>> -    { _MMIO(0x2790), 0x00100002 },
>> -    { _MMIO(0x2794), 0x0000ffcf },
>> -    { _MMIO(0x2798), 0x00100082 },
>> -    { _MMIO(0x279c), 0x0000ffef },
>> -    { _MMIO(0x27a0), 0x001000c2 },
>> -    { _MMIO(0x27a4), 0x0000ffe7 },
>> -    { _MMIO(0x27a8), 0x00100001 },
>> -    { _MMIO(0x27ac), 0x0000ffe7 },
>> -};
>> -
>> -static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>> -};
>> -
>> -static const struct i915_oa_reg mux_config_test_oa[] = {
>> -    { _MMIO(0xd04), 0x00000200 },
>> -    { _MMIO(0x9884), 0x00000007 },
>> -    { _MMIO(0x9888), 0x17060000 },
>> -    { _MMIO(0x9840), 0x00000000 },
>> -    { _MMIO(0x9884), 0x00000007 },
>> -    { _MMIO(0x9888), 0x13034000 },
>> -    { _MMIO(0x9884), 0x00000007 },
>> -    { _MMIO(0x9888), 0x07060066 },
>> -    { _MMIO(0x9884), 0x00000007 },
>> -    { _MMIO(0x9888), 0x05060000 },
>> -    { _MMIO(0x9884), 0x00000007 },
>> -    { _MMIO(0x9888), 0x0f080040 },
>> -    { _MMIO(0x9884), 0x00000007 },
>> -    { _MMIO(0x9888), 0x07091000 },
>> -    { _MMIO(0x9884), 0x00000007 },
>> -    { _MMIO(0x9888), 0x0f041000 },
>> -    { _MMIO(0x9884), 0x00000007 },
>> -    { _MMIO(0x9888), 0x1d004000 },
>> -    { _MMIO(0x9884), 0x00000007 },
>> -    { _MMIO(0x9888), 0x35000000 },
>> -    { _MMIO(0x9884), 0x00000007 },
>> -    { _MMIO(0x9888), 0x49000000 },
>> -    { _MMIO(0x9884), 0x00000007 },
>> -    { _MMIO(0x9888), 0x3d000000 },
>> -    { _MMIO(0x9884), 0x00000007 },
>> -    { _MMIO(0x9888), 0x31000000 },
>> -};
>> -
>> -static ssize_t
>> -show_test_oa_id(struct device *kdev, struct device_attribute *attr, 
>> char *buf)
>> -{
>> -    return sprintf(buf, "1\n");
>> -}
>> -
>> -void
>> -i915_perf_load_test_config_cnl(struct drm_i915_private *dev_priv)
>> -{
>> -    strlcpy(dev_priv->perf.test_config.uuid,
>> -        "db41edd4-d8e7-4730-ad11-b9a2d6833503",
>> -        sizeof(dev_priv->perf.test_config.uuid));
>> -    dev_priv->perf.test_config.id = 1;
>> -
>> -    dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>> -    dev_priv->perf.test_config.mux_regs_len = 
>> ARRAY_SIZE(mux_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.b_counter_regs = 
>> b_counter_config_test_oa;
>> -    dev_priv->perf.test_config.b_counter_regs_len = 
>> ARRAY_SIZE(b_counter_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>> -    dev_priv->perf.test_config.flex_regs_len = 
>> ARRAY_SIZE(flex_eu_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.sysfs_metric.name = 
>> "db41edd4-d8e7-4730-ad11-b9a2d6833503";
>> -    dev_priv->perf.test_config.sysfs_metric.attrs = 
>> dev_priv->perf.test_config.attrs;
>> -
>> -    dev_priv->perf.test_config.attrs[0] = 
>> &dev_priv->perf.test_config.sysfs_metric_id.attr;
>> -
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>> -    dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>> -}
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_cnl.h 
>> b/drivers/gpu/drm/i915/oa/i915_oa_cnl.h
>> deleted file mode 100644
>> index db379f5fcbb9..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_cnl.h
>> +++ /dev/null
>> @@ -1,16 +0,0 @@
>> -/* SPDX-License-Identifier: MIT */
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#ifndef __I915_OA_CNL_H__
>> -#define __I915_OA_CNL_H__
>> -
>> -struct drm_i915_private;
>> -
>> -void i915_perf_load_test_config_cnl(struct drm_i915_private *dev_priv);
>> -
>> -#endif
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_glk.c 
>> b/drivers/gpu/drm/i915/oa/i915_oa_glk.c
>> deleted file mode 100644
>> index bd15ebe9aeeb..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_glk.c
>> +++ /dev/null
>> @@ -1,88 +0,0 @@
>> -// SPDX-License-Identifier: MIT
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#include <linux/sysfs.h>
>> -
>> -#include "i915_drv.h"
>> -#include "i915_oa_glk.h"
>> -
>> -static const struct i915_oa_reg b_counter_config_test_oa[] = {
>> -    { _MMIO(0x2740), 0x00000000 },
>> -    { _MMIO(0x2744), 0x00800000 },
>> -    { _MMIO(0x2714), 0xf0800000 },
>> -    { _MMIO(0x2710), 0x00000000 },
>> -    { _MMIO(0x2724), 0xf0800000 },
>> -    { _MMIO(0x2720), 0x00000000 },
>> -    { _MMIO(0x2770), 0x00000004 },
>> -    { _MMIO(0x2774), 0x00000000 },
>> -    { _MMIO(0x2778), 0x00000003 },
>> -    { _MMIO(0x277c), 0x00000000 },
>> -    { _MMIO(0x2780), 0x00000007 },
>> -    { _MMIO(0x2784), 0x00000000 },
>> -    { _MMIO(0x2788), 0x00100002 },
>> -    { _MMIO(0x278c), 0x0000fff7 },
>> -    { _MMIO(0x2790), 0x00100002 },
>> -    { _MMIO(0x2794), 0x0000ffcf },
>> -    { _MMIO(0x2798), 0x00100082 },
>> -    { _MMIO(0x279c), 0x0000ffef },
>> -    { _MMIO(0x27a0), 0x001000c2 },
>> -    { _MMIO(0x27a4), 0x0000ffe7 },
>> -    { _MMIO(0x27a8), 0x00100001 },
>> -    { _MMIO(0x27ac), 0x0000ffe7 },
>> -};
>> -
>> -static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>> -};
>> -
>> -static const struct i915_oa_reg mux_config_test_oa[] = {
>> -    { _MMIO(0x9840), 0x00000080 },
>> -    { _MMIO(0x9888), 0x19800000 },
>> -    { _MMIO(0x9888), 0x07800063 },
>> -    { _MMIO(0x9888), 0x11800000 },
>> -    { _MMIO(0x9888), 0x23810008 },
>> -    { _MMIO(0x9888), 0x1d950400 },
>> -    { _MMIO(0x9888), 0x0f922000 },
>> -    { _MMIO(0x9888), 0x1f908000 },
>> -    { _MMIO(0x9888), 0x37900000 },
>> -    { _MMIO(0x9888), 0x55900000 },
>> -    { _MMIO(0x9888), 0x47900000 },
>> -    { _MMIO(0x9888), 0x33900000 },
>> -};
>> -
>> -static ssize_t
>> -show_test_oa_id(struct device *kdev, struct device_attribute *attr, 
>> char *buf)
>> -{
>> -    return sprintf(buf, "1\n");
>> -}
>> -
>> -void
>> -i915_perf_load_test_config_glk(struct drm_i915_private *dev_priv)
>> -{
>> -    strlcpy(dev_priv->perf.test_config.uuid,
>> -        "dd3fd789-e783-4204-8cd0-b671bbccb0cf",
>> -        sizeof(dev_priv->perf.test_config.uuid));
>> -    dev_priv->perf.test_config.id = 1;
>> -
>> -    dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>> -    dev_priv->perf.test_config.mux_regs_len = 
>> ARRAY_SIZE(mux_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.b_counter_regs = 
>> b_counter_config_test_oa;
>> -    dev_priv->perf.test_config.b_counter_regs_len = 
>> ARRAY_SIZE(b_counter_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>> -    dev_priv->perf.test_config.flex_regs_len = 
>> ARRAY_SIZE(flex_eu_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.sysfs_metric.name = 
>> "dd3fd789-e783-4204-8cd0-b671bbccb0cf";
>> -    dev_priv->perf.test_config.sysfs_metric.attrs = 
>> dev_priv->perf.test_config.attrs;
>> -
>> -    dev_priv->perf.test_config.attrs[0] = 
>> &dev_priv->perf.test_config.sysfs_metric_id.attr;
>> -
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>> -    dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>> -}
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_glk.h 
>> b/drivers/gpu/drm/i915/oa/i915_oa_glk.h
>> deleted file mode 100644
>> index 779f343efd11..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_glk.h
>> +++ /dev/null
>> @@ -1,16 +0,0 @@
>> -/* SPDX-License-Identifier: MIT */
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#ifndef __I915_OA_GLK_H__
>> -#define __I915_OA_GLK_H__
>> -
>> -struct drm_i915_private;
>> -
>> -void i915_perf_load_test_config_glk(struct drm_i915_private *dev_priv);
>> -
>> -#endif
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_hsw.c 
>> b/drivers/gpu/drm/i915/oa/i915_oa_hsw.c
>> deleted file mode 100644
>> index 133721a8619f..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_hsw.c
>> +++ /dev/null
>> @@ -1,118 +0,0 @@
>> -// SPDX-License-Identifier: MIT
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#include <linux/sysfs.h>
>> -
>> -#include "i915_drv.h"
>> -#include "i915_oa_hsw.h"
>> -
>> -static const struct i915_oa_reg b_counter_config_render_basic[] = {
>> -    { _MMIO(0x2724), 0x00800000 },
>> -    { _MMIO(0x2720), 0x00000000 },
>> -    { _MMIO(0x2714), 0x00800000 },
>> -    { _MMIO(0x2710), 0x00000000 },
>> -};
>> -
>> -static const struct i915_oa_reg flex_eu_config_render_basic[] = {
>> -};
>> -
>> -static const struct i915_oa_reg mux_config_render_basic[] = {
>> -    { _MMIO(0x9840), 0x00000080 },
>> -    { _MMIO(0x253a4), 0x01600000 },
>> -    { _MMIO(0x25440), 0x00100000 },
>> -    { _MMIO(0x25128), 0x00000000 },
>> -    { _MMIO(0x2691c), 0x00000800 },
>> -    { _MMIO(0x26aa0), 0x01500000 },
>> -    { _MMIO(0x26b9c), 0x00006000 },
>> -    { _MMIO(0x2791c), 0x00000800 },
>> -    { _MMIO(0x27aa0), 0x01500000 },
>> -    { _MMIO(0x27b9c), 0x00006000 },
>> -    { _MMIO(0x2641c), 0x00000400 },
>> -    { _MMIO(0x25380), 0x00000010 },
>> -    { _MMIO(0x2538c), 0x00000000 },
>> -    { _MMIO(0x25384), 0x0800aaaa },
>> -    { _MMIO(0x25400), 0x00000004 },
>> -    { _MMIO(0x2540c), 0x06029000 },
>> -    { _MMIO(0x25410), 0x00000002 },
>> -    { _MMIO(0x25404), 0x5c30ffff },
>> -    { _MMIO(0x25100), 0x00000016 },
>> -    { _MMIO(0x25110), 0x00000400 },
>> -    { _MMIO(0x25104), 0x00000000 },
>> -    { _MMIO(0x26804), 0x00001211 },
>> -    { _MMIO(0x26884), 0x00000100 },
>> -    { _MMIO(0x26900), 0x00000002 },
>> -    { _MMIO(0x26908), 0x00700000 },
>> -    { _MMIO(0x26904), 0x00000000 },
>> -    { _MMIO(0x26984), 0x00001022 },
>> -    { _MMIO(0x26a04), 0x00000011 },
>> -    { _MMIO(0x26a80), 0x00000006 },
>> -    { _MMIO(0x26a88), 0x00000c02 },
>> -    { _MMIO(0x26a84), 0x00000000 },
>> -    { _MMIO(0x26b04), 0x00001000 },
>> -    { _MMIO(0x26b80), 0x00000002 },
>> -    { _MMIO(0x26b8c), 0x00000007 },
>> -    { _MMIO(0x26b84), 0x00000000 },
>> -    { _MMIO(0x27804), 0x00004844 },
>> -    { _MMIO(0x27884), 0x00000400 },
>> -    { _MMIO(0x27900), 0x00000002 },
>> -    { _MMIO(0x27908), 0x0e000000 },
>> -    { _MMIO(0x27904), 0x00000000 },
>> -    { _MMIO(0x27984), 0x00004088 },
>> -    { _MMIO(0x27a04), 0x00000044 },
>> -    { _MMIO(0x27a80), 0x00000006 },
>> -    { _MMIO(0x27a88), 0x00018040 },
>> -    { _MMIO(0x27a84), 0x00000000 },
>> -    { _MMIO(0x27b04), 0x00004000 },
>> -    { _MMIO(0x27b80), 0x00000002 },
>> -    { _MMIO(0x27b8c), 0x000000e0 },
>> -    { _MMIO(0x27b84), 0x00000000 },
>> -    { _MMIO(0x26104), 0x00002222 },
>> -    { _MMIO(0x26184), 0x0c006666 },
>> -    { _MMIO(0x26284), 0x04000000 },
>> -    { _MMIO(0x26304), 0x04000000 },
>> -    { _MMIO(0x26400), 0x00000002 },
>> -    { _MMIO(0x26410), 0x000000a0 },
>> -    { _MMIO(0x26404), 0x00000000 },
>> -    { _MMIO(0x25420), 0x04108020 },
>> -    { _MMIO(0x25424), 0x1284a420 },
>> -    { _MMIO(0x2541c), 0x00000000 },
>> -    { _MMIO(0x25428), 0x00042049 },
>> -};
>> -
>> -static ssize_t
>> -show_render_basic_id(struct device *kdev, struct device_attribute 
>> *attr, char *buf)
>> -{
>> -    return sprintf(buf, "1\n");
>> -}
>> -
>> -void
>> -i915_perf_load_test_config_hsw(struct drm_i915_private *dev_priv)
>> -{
>> -    strlcpy(dev_priv->perf.test_config.uuid,
>> -        "403d8832-1a27-4aa6-a64e-f5389ce7b212",
>> -        sizeof(dev_priv->perf.test_config.uuid));
>> -    dev_priv->perf.test_config.id = 1;
>> -
>> -    dev_priv->perf.test_config.mux_regs = mux_config_render_basic;
>> -    dev_priv->perf.test_config.mux_regs_len = 
>> ARRAY_SIZE(mux_config_render_basic);
>> -
>> -    dev_priv->perf.test_config.b_counter_regs = 
>> b_counter_config_render_basic;
>> -    dev_priv->perf.test_config.b_counter_regs_len = 
>> ARRAY_SIZE(b_counter_config_render_basic);
>> -
>> -    dev_priv->perf.test_config.flex_regs = flex_eu_config_render_basic;
>> -    dev_priv->perf.test_config.flex_regs_len = 
>> ARRAY_SIZE(flex_eu_config_render_basic);
>> -
>> -    dev_priv->perf.test_config.sysfs_metric.name = 
>> "403d8832-1a27-4aa6-a64e-f5389ce7b212";
>> -    dev_priv->perf.test_config.sysfs_metric.attrs = 
>> dev_priv->perf.test_config.attrs;
>> -
>> -    dev_priv->perf.test_config.attrs[0] = 
>> &dev_priv->perf.test_config.sysfs_metric_id.attr;
>> -
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>> -    dev_priv->perf.test_config.sysfs_metric_id.show = 
>> show_render_basic_id;
>> -}
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_hsw.h 
>> b/drivers/gpu/drm/i915/oa/i915_oa_hsw.h
>> deleted file mode 100644
>> index ba97f732f136..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_hsw.h
>> +++ /dev/null
>> @@ -1,16 +0,0 @@
>> -/* SPDX-License-Identifier: MIT */
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#ifndef __I915_OA_HSW_H__
>> -#define __I915_OA_HSW_H__
>> -
>> -struct drm_i915_private;
>> -
>> -void i915_perf_load_test_config_hsw(struct drm_i915_private *dev_priv);
>> -
>> -#endif
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_icl.c 
>> b/drivers/gpu/drm/i915/oa/i915_oa_icl.c
>> deleted file mode 100644
>> index 2d92041b754f..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_icl.c
>> +++ /dev/null
>> @@ -1,98 +0,0 @@
>> -// SPDX-License-Identifier: MIT
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#include <linux/sysfs.h>
>> -
>> -#include "i915_drv.h"
>> -#include "i915_oa_icl.h"
>> -
>> -static const struct i915_oa_reg b_counter_config_test_oa[] = {
>> -    { _MMIO(0x2740), 0x00000000 },
>> -    { _MMIO(0x2710), 0x00000000 },
>> -    { _MMIO(0x2714), 0xf0800000 },
>> -    { _MMIO(0x2720), 0x00000000 },
>> -    { _MMIO(0x2724), 0xf0800000 },
>> -    { _MMIO(0x2770), 0x00000004 },
>> -    { _MMIO(0x2774), 0x0000ffff },
>> -    { _MMIO(0x2778), 0x00000003 },
>> -    { _MMIO(0x277c), 0x0000ffff },
>> -    { _MMIO(0x2780), 0x00000007 },
>> -    { _MMIO(0x2784), 0x0000ffff },
>> -    { _MMIO(0x2788), 0x00100002 },
>> -    { _MMIO(0x278c), 0x0000fff7 },
>> -    { _MMIO(0x2790), 0x00100002 },
>> -    { _MMIO(0x2794), 0x0000ffcf },
>> -    { _MMIO(0x2798), 0x00100082 },
>> -    { _MMIO(0x279c), 0x0000ffef },
>> -    { _MMIO(0x27a0), 0x001000c2 },
>> -    { _MMIO(0x27a4), 0x0000ffe7 },
>> -    { _MMIO(0x27a8), 0x00100001 },
>> -    { _MMIO(0x27ac), 0x0000ffe7 },
>> -};
>> -
>> -static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>> -};
>> -
>> -static const struct i915_oa_reg mux_config_test_oa[] = {
>> -    { _MMIO(0xd04), 0x00000200 },
>> -    { _MMIO(0x9840), 0x00000000 },
>> -    { _MMIO(0x9884), 0x00000000 },
>> -    { _MMIO(0x9888), 0x10060000 },
>> -    { _MMIO(0x9888), 0x22060000 },
>> -    { _MMIO(0x9888), 0x16060000 },
>> -    { _MMIO(0x9888), 0x24060000 },
>> -    { _MMIO(0x9888), 0x18060000 },
>> -    { _MMIO(0x9888), 0x1a060000 },
>> -    { _MMIO(0x9888), 0x12060000 },
>> -    { _MMIO(0x9888), 0x14060000 },
>> -    { _MMIO(0x9888), 0x10060000 },
>> -    { _MMIO(0x9888), 0x22060000 },
>> -    { _MMIO(0x9884), 0x00000003 },
>> -    { _MMIO(0x9888), 0x16130000 },
>> -    { _MMIO(0x9888), 0x24000001 },
>> -    { _MMIO(0x9888), 0x0e130056 },
>> -    { _MMIO(0x9888), 0x10130000 },
>> -    { _MMIO(0x9888), 0x1a130000 },
>> -    { _MMIO(0x9888), 0x541f0001 },
>> -    { _MMIO(0x9888), 0x181f0000 },
>> -    { _MMIO(0x9888), 0x4c1f0000 },
>> -    { _MMIO(0x9888), 0x301f0000 },
>> -};
>> -
>> -static ssize_t
>> -show_test_oa_id(struct device *kdev, struct device_attribute *attr, 
>> char *buf)
>> -{
>> -    return sprintf(buf, "1\n");
>> -}
>> -
>> -void
>> -i915_perf_load_test_config_icl(struct drm_i915_private *dev_priv)
>> -{
>> -    strlcpy(dev_priv->perf.test_config.uuid,
>> -        "a291665e-244b-4b76-9b9a-01de9d3c8068",
>> -        sizeof(dev_priv->perf.test_config.uuid));
>> -    dev_priv->perf.test_config.id = 1;
>> -
>> -    dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>> -    dev_priv->perf.test_config.mux_regs_len = 
>> ARRAY_SIZE(mux_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.b_counter_regs = 
>> b_counter_config_test_oa;
>> -    dev_priv->perf.test_config.b_counter_regs_len = 
>> ARRAY_SIZE(b_counter_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>> -    dev_priv->perf.test_config.flex_regs_len = 
>> ARRAY_SIZE(flex_eu_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.sysfs_metric.name = 
>> "a291665e-244b-4b76-9b9a-01de9d3c8068";
>> -    dev_priv->perf.test_config.sysfs_metric.attrs = 
>> dev_priv->perf.test_config.attrs;
>> -
>> -    dev_priv->perf.test_config.attrs[0] = 
>> &dev_priv->perf.test_config.sysfs_metric_id.attr;
>> -
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>> -    dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>> -}
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_icl.h 
>> b/drivers/gpu/drm/i915/oa/i915_oa_icl.h
>> deleted file mode 100644
>> index 5c64112d720e..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_icl.h
>> +++ /dev/null
>> @@ -1,16 +0,0 @@
>> -/* SPDX-License-Identifier: MIT */
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#ifndef __I915_OA_ICL_H__
>> -#define __I915_OA_ICL_H__
>> -
>> -struct drm_i915_private;
>> -
>> -void i915_perf_load_test_config_icl(struct drm_i915_private *dev_priv);
>> -
>> -#endif
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_kblgt2.c 
>> b/drivers/gpu/drm/i915/oa/i915_oa_kblgt2.c
>> deleted file mode 100644
>> index 1c3a67c9cfe0..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_kblgt2.c
>> +++ /dev/null
>> @@ -1,89 +0,0 @@
>> -// SPDX-License-Identifier: MIT
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#include <linux/sysfs.h>
>> -
>> -#include "i915_drv.h"
>> -#include "i915_oa_kblgt2.h"
>> -
>> -static const struct i915_oa_reg b_counter_config_test_oa[] = {
>> -    { _MMIO(0x2740), 0x00000000 },
>> -    { _MMIO(0x2744), 0x00800000 },
>> -    { _MMIO(0x2714), 0xf0800000 },
>> -    { _MMIO(0x2710), 0x00000000 },
>> -    { _MMIO(0x2724), 0xf0800000 },
>> -    { _MMIO(0x2720), 0x00000000 },
>> -    { _MMIO(0x2770), 0x00000004 },
>> -    { _MMIO(0x2774), 0x00000000 },
>> -    { _MMIO(0x2778), 0x00000003 },
>> -    { _MMIO(0x277c), 0x00000000 },
>> -    { _MMIO(0x2780), 0x00000007 },
>> -    { _MMIO(0x2784), 0x00000000 },
>> -    { _MMIO(0x2788), 0x00100002 },
>> -    { _MMIO(0x278c), 0x0000fff7 },
>> -    { _MMIO(0x2790), 0x00100002 },
>> -    { _MMIO(0x2794), 0x0000ffcf },
>> -    { _MMIO(0x2798), 0x00100082 },
>> -    { _MMIO(0x279c), 0x0000ffef },
>> -    { _MMIO(0x27a0), 0x001000c2 },
>> -    { _MMIO(0x27a4), 0x0000ffe7 },
>> -    { _MMIO(0x27a8), 0x00100001 },
>> -    { _MMIO(0x27ac), 0x0000ffe7 },
>> -};
>> -
>> -static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>> -};
>> -
>> -static const struct i915_oa_reg mux_config_test_oa[] = {
>> -    { _MMIO(0x9840), 0x00000080 },
>> -    { _MMIO(0x9888), 0x11810000 },
>> -    { _MMIO(0x9888), 0x07810013 },
>> -    { _MMIO(0x9888), 0x1f810000 },
>> -    { _MMIO(0x9888), 0x1d810000 },
>> -    { _MMIO(0x9888), 0x1b930040 },
>> -    { _MMIO(0x9888), 0x07e54000 },
>> -    { _MMIO(0x9888), 0x1f908000 },
>> -    { _MMIO(0x9888), 0x11900000 },
>> -    { _MMIO(0x9888), 0x37900000 },
>> -    { _MMIO(0x9888), 0x53900000 },
>> -    { _MMIO(0x9888), 0x45900000 },
>> -    { _MMIO(0x9888), 0x33900000 },
>> -};
>> -
>> -static ssize_t
>> -show_test_oa_id(struct device *kdev, struct device_attribute *attr, 
>> char *buf)
>> -{
>> -    return sprintf(buf, "1\n");
>> -}
>> -
>> -void
>> -i915_perf_load_test_config_kblgt2(struct drm_i915_private *dev_priv)
>> -{
>> -    strlcpy(dev_priv->perf.test_config.uuid,
>> -        "baa3c7e4-52b6-4b85-801e-465a94b746dd",
>> -        sizeof(dev_priv->perf.test_config.uuid));
>> -    dev_priv->perf.test_config.id = 1;
>> -
>> -    dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>> -    dev_priv->perf.test_config.mux_regs_len = 
>> ARRAY_SIZE(mux_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.b_counter_regs = 
>> b_counter_config_test_oa;
>> -    dev_priv->perf.test_config.b_counter_regs_len = 
>> ARRAY_SIZE(b_counter_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>> -    dev_priv->perf.test_config.flex_regs_len = 
>> ARRAY_SIZE(flex_eu_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.sysfs_metric.name = 
>> "baa3c7e4-52b6-4b85-801e-465a94b746dd";
>> -    dev_priv->perf.test_config.sysfs_metric.attrs = 
>> dev_priv->perf.test_config.attrs;
>> -
>> -    dev_priv->perf.test_config.attrs[0] = 
>> &dev_priv->perf.test_config.sysfs_metric_id.attr;
>> -
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>> -    dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>> -}
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_kblgt2.h 
>> b/drivers/gpu/drm/i915/oa/i915_oa_kblgt2.h
>> deleted file mode 100644
>> index 810532fa6b63..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_kblgt2.h
>> +++ /dev/null
>> @@ -1,16 +0,0 @@
>> -/* SPDX-License-Identifier: MIT */
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#ifndef __I915_OA_KBLGT2_H__
>> -#define __I915_OA_KBLGT2_H__
>> -
>> -struct drm_i915_private;
>> -
>> -void i915_perf_load_test_config_kblgt2(struct drm_i915_private 
>> *dev_priv);
>> -
>> -#endif
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_kblgt3.c 
>> b/drivers/gpu/drm/i915/oa/i915_oa_kblgt3.c
>> deleted file mode 100644
>> index ebbe5a9c9fdc..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_kblgt3.c
>> +++ /dev/null
>> @@ -1,89 +0,0 @@
>> -// SPDX-License-Identifier: MIT
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#include <linux/sysfs.h>
>> -
>> -#include "i915_drv.h"
>> -#include "i915_oa_kblgt3.h"
>> -
>> -static const struct i915_oa_reg b_counter_config_test_oa[] = {
>> -    { _MMIO(0x2740), 0x00000000 },
>> -    { _MMIO(0x2744), 0x00800000 },
>> -    { _MMIO(0x2714), 0xf0800000 },
>> -    { _MMIO(0x2710), 0x00000000 },
>> -    { _MMIO(0x2724), 0xf0800000 },
>> -    { _MMIO(0x2720), 0x00000000 },
>> -    { _MMIO(0x2770), 0x00000004 },
>> -    { _MMIO(0x2774), 0x00000000 },
>> -    { _MMIO(0x2778), 0x00000003 },
>> -    { _MMIO(0x277c), 0x00000000 },
>> -    { _MMIO(0x2780), 0x00000007 },
>> -    { _MMIO(0x2784), 0x00000000 },
>> -    { _MMIO(0x2788), 0x00100002 },
>> -    { _MMIO(0x278c), 0x0000fff7 },
>> -    { _MMIO(0x2790), 0x00100002 },
>> -    { _MMIO(0x2794), 0x0000ffcf },
>> -    { _MMIO(0x2798), 0x00100082 },
>> -    { _MMIO(0x279c), 0x0000ffef },
>> -    { _MMIO(0x27a0), 0x001000c2 },
>> -    { _MMIO(0x27a4), 0x0000ffe7 },
>> -    { _MMIO(0x27a8), 0x00100001 },
>> -    { _MMIO(0x27ac), 0x0000ffe7 },
>> -};
>> -
>> -static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>> -};
>> -
>> -static const struct i915_oa_reg mux_config_test_oa[] = {
>> -    { _MMIO(0x9840), 0x00000080 },
>> -    { _MMIO(0x9888), 0x11810000 },
>> -    { _MMIO(0x9888), 0x07810013 },
>> -    { _MMIO(0x9888), 0x1f810000 },
>> -    { _MMIO(0x9888), 0x1d810000 },
>> -    { _MMIO(0x9888), 0x1b930040 },
>> -    { _MMIO(0x9888), 0x07e54000 },
>> -    { _MMIO(0x9888), 0x1f908000 },
>> -    { _MMIO(0x9888), 0x11900000 },
>> -    { _MMIO(0x9888), 0x37900000 },
>> -    { _MMIO(0x9888), 0x53900000 },
>> -    { _MMIO(0x9888), 0x45900000 },
>> -    { _MMIO(0x9888), 0x33900000 },
>> -};
>> -
>> -static ssize_t
>> -show_test_oa_id(struct device *kdev, struct device_attribute *attr, 
>> char *buf)
>> -{
>> -    return sprintf(buf, "1\n");
>> -}
>> -
>> -void
>> -i915_perf_load_test_config_kblgt3(struct drm_i915_private *dev_priv)
>> -{
>> -    strlcpy(dev_priv->perf.test_config.uuid,
>> -        "f1792f32-6db2-4b50-b4b2-557128f1688d",
>> -        sizeof(dev_priv->perf.test_config.uuid));
>> -    dev_priv->perf.test_config.id = 1;
>> -
>> -    dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>> -    dev_priv->perf.test_config.mux_regs_len = 
>> ARRAY_SIZE(mux_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.b_counter_regs = 
>> b_counter_config_test_oa;
>> -    dev_priv->perf.test_config.b_counter_regs_len = 
>> ARRAY_SIZE(b_counter_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>> -    dev_priv->perf.test_config.flex_regs_len = 
>> ARRAY_SIZE(flex_eu_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.sysfs_metric.name = 
>> "f1792f32-6db2-4b50-b4b2-557128f1688d";
>> -    dev_priv->perf.test_config.sysfs_metric.attrs = 
>> dev_priv->perf.test_config.attrs;
>> -
>> -    dev_priv->perf.test_config.attrs[0] = 
>> &dev_priv->perf.test_config.sysfs_metric_id.attr;
>> -
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>> -    dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>> -}
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_kblgt3.h 
>> b/drivers/gpu/drm/i915/oa/i915_oa_kblgt3.h
>> deleted file mode 100644
>> index 13d70456fabd..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_kblgt3.h
>> +++ /dev/null
>> @@ -1,16 +0,0 @@
>> -/* SPDX-License-Identifier: MIT */
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#ifndef __I915_OA_KBLGT3_H__
>> -#define __I915_OA_KBLGT3_H__
>> -
>> -struct drm_i915_private;
>> -
>> -void i915_perf_load_test_config_kblgt3(struct drm_i915_private 
>> *dev_priv);
>> -
>> -#endif
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_sklgt2.c 
>> b/drivers/gpu/drm/i915/oa/i915_oa_sklgt2.c
>> deleted file mode 100644
>> index 1bc359ed34e8..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_sklgt2.c
>> +++ /dev/null
>> @@ -1,88 +0,0 @@
>> -// SPDX-License-Identifier: MIT
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#include <linux/sysfs.h>
>> -
>> -#include "i915_drv.h"
>> -#include "i915_oa_sklgt2.h"
>> -
>> -static const struct i915_oa_reg b_counter_config_test_oa[] = {
>> -    { _MMIO(0x2740), 0x00000000 },
>> -    { _MMIO(0x2714), 0xf0800000 },
>> -    { _MMIO(0x2710), 0x00000000 },
>> -    { _MMIO(0x2724), 0xf0800000 },
>> -    { _MMIO(0x2720), 0x00000000 },
>> -    { _MMIO(0x2770), 0x00000004 },
>> -    { _MMIO(0x2774), 0x00000000 },
>> -    { _MMIO(0x2778), 0x00000003 },
>> -    { _MMIO(0x277c), 0x00000000 },
>> -    { _MMIO(0x2780), 0x00000007 },
>> -    { _MMIO(0x2784), 0x00000000 },
>> -    { _MMIO(0x2788), 0x00100002 },
>> -    { _MMIO(0x278c), 0x0000fff7 },
>> -    { _MMIO(0x2790), 0x00100002 },
>> -    { _MMIO(0x2794), 0x0000ffcf },
>> -    { _MMIO(0x2798), 0x00100082 },
>> -    { _MMIO(0x279c), 0x0000ffef },
>> -    { _MMIO(0x27a0), 0x001000c2 },
>> -    { _MMIO(0x27a4), 0x0000ffe7 },
>> -    { _MMIO(0x27a8), 0x00100001 },
>> -    { _MMIO(0x27ac), 0x0000ffe7 },
>> -};
>> -
>> -static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>> -};
>> -
>> -static const struct i915_oa_reg mux_config_test_oa[] = {
>> -    { _MMIO(0x9840), 0x00000080 },
>> -    { _MMIO(0x9888), 0x11810000 },
>> -    { _MMIO(0x9888), 0x07810016 },
>> -    { _MMIO(0x9888), 0x1f810000 },
>> -    { _MMIO(0x9888), 0x1d810000 },
>> -    { _MMIO(0x9888), 0x1b930040 },
>> -    { _MMIO(0x9888), 0x07e54000 },
>> -    { _MMIO(0x9888), 0x1f908000 },
>> -    { _MMIO(0x9888), 0x11900000 },
>> -    { _MMIO(0x9888), 0x37900000 },
>> -    { _MMIO(0x9888), 0x53900000 },
>> -    { _MMIO(0x9888), 0x45900000 },
>> -    { _MMIO(0x9888), 0x33900000 },
>> -};
>> -
>> -static ssize_t
>> -show_test_oa_id(struct device *kdev, struct device_attribute *attr, 
>> char *buf)
>> -{
>> -    return sprintf(buf, "1\n");
>> -}
>> -
>> -void
>> -i915_perf_load_test_config_sklgt2(struct drm_i915_private *dev_priv)
>> -{
>> -    strlcpy(dev_priv->perf.test_config.uuid,
>> -        "1651949f-0ac0-4cb1-a06f-dafd74a407d1",
>> -        sizeof(dev_priv->perf.test_config.uuid));
>> -    dev_priv->perf.test_config.id = 1;
>> -
>> -    dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>> -    dev_priv->perf.test_config.mux_regs_len = 
>> ARRAY_SIZE(mux_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.b_counter_regs = 
>> b_counter_config_test_oa;
>> -    dev_priv->perf.test_config.b_counter_regs_len = 
>> ARRAY_SIZE(b_counter_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>> -    dev_priv->perf.test_config.flex_regs_len = 
>> ARRAY_SIZE(flex_eu_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.sysfs_metric.name = 
>> "1651949f-0ac0-4cb1-a06f-dafd74a407d1";
>> -    dev_priv->perf.test_config.sysfs_metric.attrs = 
>> dev_priv->perf.test_config.attrs;
>> -
>> -    dev_priv->perf.test_config.attrs[0] = 
>> &dev_priv->perf.test_config.sysfs_metric_id.attr;
>> -
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>> -    dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>> -}
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_sklgt2.h 
>> b/drivers/gpu/drm/i915/oa/i915_oa_sklgt2.h
>> deleted file mode 100644
>> index fda70c51a6ec..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_sklgt2.h
>> +++ /dev/null
>> @@ -1,16 +0,0 @@
>> -/* SPDX-License-Identifier: MIT */
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#ifndef __I915_OA_SKLGT2_H__
>> -#define __I915_OA_SKLGT2_H__
>> -
>> -struct drm_i915_private;
>> -
>> -void i915_perf_load_test_config_sklgt2(struct drm_i915_private 
>> *dev_priv);
>> -
>> -#endif
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_sklgt3.c 
>> b/drivers/gpu/drm/i915/oa/i915_oa_sklgt3.c
>> deleted file mode 100644
>> index 6e352f881310..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_sklgt3.c
>> +++ /dev/null
>> @@ -1,89 +0,0 @@
>> -// SPDX-License-Identifier: MIT
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#include <linux/sysfs.h>
>> -
>> -#include "i915_drv.h"
>> -#include "i915_oa_sklgt3.h"
>> -
>> -static const struct i915_oa_reg b_counter_config_test_oa[] = {
>> -    { _MMIO(0x2740), 0x00000000 },
>> -    { _MMIO(0x2744), 0x00800000 },
>> -    { _MMIO(0x2714), 0xf0800000 },
>> -    { _MMIO(0x2710), 0x00000000 },
>> -    { _MMIO(0x2724), 0xf0800000 },
>> -    { _MMIO(0x2720), 0x00000000 },
>> -    { _MMIO(0x2770), 0x00000004 },
>> -    { _MMIO(0x2774), 0x00000000 },
>> -    { _MMIO(0x2778), 0x00000003 },
>> -    { _MMIO(0x277c), 0x00000000 },
>> -    { _MMIO(0x2780), 0x00000007 },
>> -    { _MMIO(0x2784), 0x00000000 },
>> -    { _MMIO(0x2788), 0x00100002 },
>> -    { _MMIO(0x278c), 0x0000fff7 },
>> -    { _MMIO(0x2790), 0x00100002 },
>> -    { _MMIO(0x2794), 0x0000ffcf },
>> -    { _MMIO(0x2798), 0x00100082 },
>> -    { _MMIO(0x279c), 0x0000ffef },
>> -    { _MMIO(0x27a0), 0x001000c2 },
>> -    { _MMIO(0x27a4), 0x0000ffe7 },
>> -    { _MMIO(0x27a8), 0x00100001 },
>> -    { _MMIO(0x27ac), 0x0000ffe7 },
>> -};
>> -
>> -static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>> -};
>> -
>> -static const struct i915_oa_reg mux_config_test_oa[] = {
>> -    { _MMIO(0x9840), 0x00000080 },
>> -    { _MMIO(0x9888), 0x11810000 },
>> -    { _MMIO(0x9888), 0x07810013 },
>> -    { _MMIO(0x9888), 0x1f810000 },
>> -    { _MMIO(0x9888), 0x1d810000 },
>> -    { _MMIO(0x9888), 0x1b930040 },
>> -    { _MMIO(0x9888), 0x07e54000 },
>> -    { _MMIO(0x9888), 0x1f908000 },
>> -    { _MMIO(0x9888), 0x11900000 },
>> -    { _MMIO(0x9888), 0x37900000 },
>> -    { _MMIO(0x9888), 0x53900000 },
>> -    { _MMIO(0x9888), 0x45900000 },
>> -    { _MMIO(0x9888), 0x33900000 },
>> -};
>> -
>> -static ssize_t
>> -show_test_oa_id(struct device *kdev, struct device_attribute *attr, 
>> char *buf)
>> -{
>> -    return sprintf(buf, "1\n");
>> -}
>> -
>> -void
>> -i915_perf_load_test_config_sklgt3(struct drm_i915_private *dev_priv)
>> -{
>> -    strlcpy(dev_priv->perf.test_config.uuid,
>> -        "2b985803-d3c9-4629-8a4f-634bfecba0e8",
>> -        sizeof(dev_priv->perf.test_config.uuid));
>> -    dev_priv->perf.test_config.id = 1;
>> -
>> -    dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>> -    dev_priv->perf.test_config.mux_regs_len = 
>> ARRAY_SIZE(mux_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.b_counter_regs = 
>> b_counter_config_test_oa;
>> -    dev_priv->perf.test_config.b_counter_regs_len = 
>> ARRAY_SIZE(b_counter_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>> -    dev_priv->perf.test_config.flex_regs_len = 
>> ARRAY_SIZE(flex_eu_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.sysfs_metric.name = 
>> "2b985803-d3c9-4629-8a4f-634bfecba0e8";
>> -    dev_priv->perf.test_config.sysfs_metric.attrs = 
>> dev_priv->perf.test_config.attrs;
>> -
>> -    dev_priv->perf.test_config.attrs[0] = 
>> &dev_priv->perf.test_config.sysfs_metric_id.attr;
>> -
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>> -    dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>> -}
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_sklgt3.h 
>> b/drivers/gpu/drm/i915/oa/i915_oa_sklgt3.h
>> deleted file mode 100644
>> index df74eba5799e..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_sklgt3.h
>> +++ /dev/null
>> @@ -1,16 +0,0 @@
>> -/* SPDX-License-Identifier: MIT */
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#ifndef __I915_OA_SKLGT3_H__
>> -#define __I915_OA_SKLGT3_H__
>> -
>> -struct drm_i915_private;
>> -
>> -void i915_perf_load_test_config_sklgt3(struct drm_i915_private 
>> *dev_priv);
>> -
>> -#endif
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_sklgt4.c 
>> b/drivers/gpu/drm/i915/oa/i915_oa_sklgt4.c
>> deleted file mode 100644
>> index 8f345115a306..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_sklgt4.c
>> +++ /dev/null
>> @@ -1,89 +0,0 @@
>> -// SPDX-License-Identifier: MIT
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#include <linux/sysfs.h>
>> -
>> -#include "i915_drv.h"
>> -#include "i915_oa_sklgt4.h"
>> -
>> -static const struct i915_oa_reg b_counter_config_test_oa[] = {
>> -    { _MMIO(0x2740), 0x00000000 },
>> -    { _MMIO(0x2744), 0x00800000 },
>> -    { _MMIO(0x2714), 0xf0800000 },
>> -    { _MMIO(0x2710), 0x00000000 },
>> -    { _MMIO(0x2724), 0xf0800000 },
>> -    { _MMIO(0x2720), 0x00000000 },
>> -    { _MMIO(0x2770), 0x00000004 },
>> -    { _MMIO(0x2774), 0x00000000 },
>> -    { _MMIO(0x2778), 0x00000003 },
>> -    { _MMIO(0x277c), 0x00000000 },
>> -    { _MMIO(0x2780), 0x00000007 },
>> -    { _MMIO(0x2784), 0x00000000 },
>> -    { _MMIO(0x2788), 0x00100002 },
>> -    { _MMIO(0x278c), 0x0000fff7 },
>> -    { _MMIO(0x2790), 0x00100002 },
>> -    { _MMIO(0x2794), 0x0000ffcf },
>> -    { _MMIO(0x2798), 0x00100082 },
>> -    { _MMIO(0x279c), 0x0000ffef },
>> -    { _MMIO(0x27a0), 0x001000c2 },
>> -    { _MMIO(0x27a4), 0x0000ffe7 },
>> -    { _MMIO(0x27a8), 0x00100001 },
>> -    { _MMIO(0x27ac), 0x0000ffe7 },
>> -};
>> -
>> -static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>> -};
>> -
>> -static const struct i915_oa_reg mux_config_test_oa[] = {
>> -    { _MMIO(0x9840), 0x00000080 },
>> -    { _MMIO(0x9888), 0x11810000 },
>> -    { _MMIO(0x9888), 0x07810013 },
>> -    { _MMIO(0x9888), 0x1f810000 },
>> -    { _MMIO(0x9888), 0x1d810000 },
>> -    { _MMIO(0x9888), 0x1b930040 },
>> -    { _MMIO(0x9888), 0x07e54000 },
>> -    { _MMIO(0x9888), 0x1f908000 },
>> -    { _MMIO(0x9888), 0x11900000 },
>> -    { _MMIO(0x9888), 0x37900000 },
>> -    { _MMIO(0x9888), 0x53900000 },
>> -    { _MMIO(0x9888), 0x45900000 },
>> -    { _MMIO(0x9888), 0x33900000 },
>> -};
>> -
>> -static ssize_t
>> -show_test_oa_id(struct device *kdev, struct device_attribute *attr, 
>> char *buf)
>> -{
>> -    return sprintf(buf, "1\n");
>> -}
>> -
>> -void
>> -i915_perf_load_test_config_sklgt4(struct drm_i915_private *dev_priv)
>> -{
>> -    strlcpy(dev_priv->perf.test_config.uuid,
>> -        "882fa433-1f4a-4a67-a962-c741888fe5f5",
>> -        sizeof(dev_priv->perf.test_config.uuid));
>> -    dev_priv->perf.test_config.id = 1;
>> -
>> -    dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>> -    dev_priv->perf.test_config.mux_regs_len = 
>> ARRAY_SIZE(mux_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.b_counter_regs = 
>> b_counter_config_test_oa;
>> -    dev_priv->perf.test_config.b_counter_regs_len = 
>> ARRAY_SIZE(b_counter_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>> -    dev_priv->perf.test_config.flex_regs_len = 
>> ARRAY_SIZE(flex_eu_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.sysfs_metric.name = 
>> "882fa433-1f4a-4a67-a962-c741888fe5f5";
>> -    dev_priv->perf.test_config.sysfs_metric.attrs = 
>> dev_priv->perf.test_config.attrs;
>> -
>> -    dev_priv->perf.test_config.attrs[0] = 
>> &dev_priv->perf.test_config.sysfs_metric_id.attr;
>> -
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>> -    dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>> -}
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_sklgt4.h 
>> b/drivers/gpu/drm/i915/oa/i915_oa_sklgt4.h
>> deleted file mode 100644
>> index 378ab7ab78d5..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_sklgt4.h
>> +++ /dev/null
>> @@ -1,16 +0,0 @@
>> -/* SPDX-License-Identifier: MIT */
>> -/*
>> - * Copyright © 2018-2019 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#ifndef __I915_OA_SKLGT4_H__
>> -#define __I915_OA_SKLGT4_H__
>> -
>> -struct drm_i915_private;
>> -
>> -void i915_perf_load_test_config_sklgt4(struct drm_i915_private 
>> *dev_priv);
>> -
>> -#endif
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_tgl.c 
>> b/drivers/gpu/drm/i915/oa/i915_oa_tgl.c
>> deleted file mode 100644
>> index a29d93707345..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_tgl.c
>> +++ /dev/null
>> @@ -1,121 +0,0 @@
>> -// SPDX-License-Identifier: MIT
>> -/*
>> - * Copyright © 2018 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#include <linux/sysfs.h>
>> -
>> -#include "i915_drv.h"
>> -#include "i915_oa_tgl.h"
>> -
>> -static const struct i915_oa_reg b_counter_config_test_oa[] = {
>> -    { _MMIO(0xD920), 0x00000000 },
>> -    { _MMIO(0xD900), 0x00000000 },
>> -    { _MMIO(0xD904), 0xF0800000 },
>> -    { _MMIO(0xD910), 0x00000000 },
>> -    { _MMIO(0xD914), 0xF0800000 },
>> -    { _MMIO(0xDC40), 0x00FF0000 },
>> -    { _MMIO(0xD940), 0x00000004 },
>> -    { _MMIO(0xD944), 0x0000FFFF },
>> -    { _MMIO(0xDC00), 0x00000004 },
>> -    { _MMIO(0xDC04), 0x0000FFFF },
>> -    { _MMIO(0xD948), 0x00000003 },
>> -    { _MMIO(0xD94C), 0x0000FFFF },
>> -    { _MMIO(0xDC08), 0x00000003 },
>> -    { _MMIO(0xDC0C), 0x0000FFFF },
>> -    { _MMIO(0xD950), 0x00000007 },
>> -    { _MMIO(0xD954), 0x0000FFFF },
>> -    { _MMIO(0xDC10), 0x00000007 },
>> -    { _MMIO(0xDC14), 0x0000FFFF },
>> -    { _MMIO(0xD958), 0x00100002 },
>> -    { _MMIO(0xD95C), 0x0000FFF7 },
>> -    { _MMIO(0xDC18), 0x00100002 },
>> -    { _MMIO(0xDC1C), 0x0000FFF7 },
>> -    { _MMIO(0xD960), 0x00100002 },
>> -    { _MMIO(0xD964), 0x0000FFCF },
>> -    { _MMIO(0xDC20), 0x00100002 },
>> -    { _MMIO(0xDC24), 0x0000FFCF },
>> -    { _MMIO(0xD968), 0x00100082 },
>> -    { _MMIO(0xD96C), 0x0000FFEF },
>> -    { _MMIO(0xDC28), 0x00100082 },
>> -    { _MMIO(0xDC2C), 0x0000FFEF },
>> -    { _MMIO(0xD970), 0x001000C2 },
>> -    { _MMIO(0xD974), 0x0000FFE7 },
>> -    { _MMIO(0xDC30), 0x001000C2 },
>> -    { _MMIO(0xDC34), 0x0000FFE7 },
>> -    { _MMIO(0xD978), 0x00100001 },
>> -    { _MMIO(0xD97C), 0x0000FFE7 },
>> -    { _MMIO(0xDC38), 0x00100001 },
>> -    { _MMIO(0xDC3C), 0x0000FFE7 },
>> -};
>> -
>> -static const struct i915_oa_reg flex_eu_config_test_oa[] = {
>> -};
>> -
>> -static const struct i915_oa_reg mux_config_test_oa[] = {
>> -    { _MMIO(0x0D04), 0x00000200 },
>> -    { _MMIO(0x9840), 0x00000000 },
>> -    { _MMIO(0x9884), 0x00000000 },
>> -    { _MMIO(0x9888), 0x280E0000 },
>> -    { _MMIO(0x9888), 0x1E0E0147 },
>> -    { _MMIO(0x9888), 0x180E0000 },
>> -    { _MMIO(0x9888), 0x160E0000 },
>> -    { _MMIO(0x9888), 0x1E0F1000 },
>> -    { _MMIO(0x9888), 0x1E104000 },
>> -    { _MMIO(0x9888), 0x2E020100 },
>> -    { _MMIO(0x9888), 0x2C030004 },
>> -    { _MMIO(0x9888), 0x38003000 },
>> -    { _MMIO(0x9888), 0x1E0A8000 },
>> -    { _MMIO(0x9884), 0x00000003 },
>> -    { _MMIO(0x9888), 0x49110000 },
>> -    { _MMIO(0x9888), 0x5D101400 },
>> -    { _MMIO(0x9888), 0x1D140020 },
>> -    { _MMIO(0x9888), 0x1D1103A3 },
>> -    { _MMIO(0x9888), 0x01110000 },
>> -    { _MMIO(0x9888), 0x61111000 },
>> -    { _MMIO(0x9888), 0x1F128000 },
>> -    { _MMIO(0x9888), 0x17100000 },
>> -    { _MMIO(0x9888), 0x55100630 },
>> -    { _MMIO(0x9888), 0x57100000 },
>> -    { _MMIO(0x9888), 0x31100000 },
>> -    { _MMIO(0x9884), 0x00000003 },
>> -    { _MMIO(0x9888), 0x65100002 },
>> -    { _MMIO(0x9884), 0x00000000 },
>> -    { _MMIO(0x9888), 0x42000001 },
>> -};
>> -
>> -static ssize_t
>> -show_test_oa_id(struct device *kdev, struct device_attribute *attr, 
>> char *buf)
>> -{
>> -    return sprintf(buf, "1\n");
>> -}
>> -
>> -void
>> -i915_perf_load_test_config_tgl(struct drm_i915_private *dev_priv)
>> -{
>> -    strlcpy(dev_priv->perf.test_config.uuid,
>> -        "80a833f0-2504-4321-8894-e9277844ce7b",
>> -        sizeof(dev_priv->perf.test_config.uuid));
>> -    dev_priv->perf.test_config.id = 1;
>> -
>> -    dev_priv->perf.test_config.mux_regs = mux_config_test_oa;
>> -    dev_priv->perf.test_config.mux_regs_len = 
>> ARRAY_SIZE(mux_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.b_counter_regs = 
>> b_counter_config_test_oa;
>> -    dev_priv->perf.test_config.b_counter_regs_len = 
>> ARRAY_SIZE(b_counter_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.flex_regs = flex_eu_config_test_oa;
>> -    dev_priv->perf.test_config.flex_regs_len = 
>> ARRAY_SIZE(flex_eu_config_test_oa);
>> -
>> -    dev_priv->perf.test_config.sysfs_metric.name = 
>> "80a833f0-2504-4321-8894-e9277844ce7b";
>> -    dev_priv->perf.test_config.sysfs_metric.attrs = 
>> dev_priv->perf.test_config.attrs;
>> -
>> -    dev_priv->perf.test_config.attrs[0] = 
>> &dev_priv->perf.test_config.sysfs_metric_id.attr;
>> -
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.name = "id";
>> -    dev_priv->perf.test_config.sysfs_metric_id.attr.mode = 0444;
>> -    dev_priv->perf.test_config.sysfs_metric_id.show = show_test_oa_id;
>> -}
>> diff --git a/drivers/gpu/drm/i915/oa/i915_oa_tgl.h 
>> b/drivers/gpu/drm/i915/oa/i915_oa_tgl.h
>> deleted file mode 100644
>> index 4c25f0be825c..000000000000
>> --- a/drivers/gpu/drm/i915/oa/i915_oa_tgl.h
>> +++ /dev/null
>> @@ -1,16 +0,0 @@
>> -/* SPDX-License-Identifier: MIT */
>> -/*
>> - * Copyright © 2018 Intel Corporation
>> - *
>> - * Autogenerated file by GPU Top : https://github.com/rib/gputop
>> - * DO NOT EDIT manually!
>> - */
>> -
>> -#ifndef __I915_OA_TGL_H__
>> -#define __I915_OA_TGL_H__
>> -
>> -struct drm_i915_private;
>> -
>> -void i915_perf_load_test_config_tgl(struct drm_i915_private *dev_priv);
>> -
>> -#endif
>> diff --git a/drivers/gpu/drm/i915/selftests/i915_perf.c 
>> b/drivers/gpu/drm/i915/selftests/i915_perf.c
>> index d1a1568c47ba..b64deb7c3ac7 100644
>> --- a/drivers/gpu/drm/i915/selftests/i915_perf.c
>> +++ b/drivers/gpu/drm/i915/selftests/i915_perf.c
>> @@ -14,10 +14,85 @@
>> #include "igt_flush_test.h"
>> #include "lib_sw_fence.h"
>>
>> +#define TEST_OA_CONFIG_UUID "12345678-1234-1234-1234-1234567890ab"
>> +
>> +static int
>> +alloc_empty_config(struct i915_perf *perf)
>> +{
>> +    struct i915_oa_config *oa_config;
>> +
>> +    oa_config = kzalloc(sizeof(*oa_config), GFP_KERNEL);
>> +    if (!oa_config)
>> +        return -ENOMEM;
>> +
>> +    oa_config->perf = perf;
>> +    kref_init(&oa_config->ref);
>> +
>> +    strlcpy(oa_config->uuid, TEST_OA_CONFIG_UUID, 
>> sizeof(oa_config->uuid));
>> +
>> +    mutex_lock(&perf->metrics_lock);
>> +
>> +    oa_config->id = idr_alloc(&perf->metrics_idr, oa_config, 2, 0, 
>> GFP_KERNEL);
>
> Now that TestOa moved out of the driver, any reason why we are not 
> starting the idr with 1 instead of 2?


Just a way to identify apps that might rely on the old internal config ;)


>
>> +    if (oa_config->id < 0)  {
>> +        mutex_lock(&perf->metrics_lock);
>
> mutex_'un'lock here on error?


Duh! Thanks!


-Lionel

>
>> +        i915_oa_config_put(oa_config);
>> +        return -ENOMEM;
>> +    }
>> +
>> +    mutex_unlock(&perf->metrics_lock);
>> +
>> +    return 0;
>> +}
>> +
>> +static void
>> +destroy_empty_config(struct i915_perf *perf)
>> +{
>> +    struct i915_oa_config *oa_config = NULL, *tmp;
>> +    int id;
>> +
>> +    mutex_lock(&perf->metrics_lock);
>> +
>> +    idr_for_each_entry(&perf->metrics_idr, tmp, id) {
>> +        if (!strcmp(tmp->uuid, TEST_OA_CONFIG_UUID)) {
>> +            oa_config = tmp;
>> +            break;
>> +        }
>> +    }
>> +
>> +    if (oa_config)
>> +        idr_remove(&perf->metrics_idr, oa_config->id);
>> +
>> +    mutex_unlock(&perf->metrics_lock);
>> +
>> +    if (oa_config)
>> +        i915_oa_config_put(oa_config);
>> +}
>> +
>> +static struct i915_oa_config *
>> +get_empty_config(struct i915_perf *perf)
>> +{
>> +    struct i915_oa_config *oa_config = NULL, *tmp;
>> +    int id;
>> +
>> +    mutex_lock(&perf->metrics_lock);
>> +
>> +    idr_for_each_entry(&perf->metrics_idr, tmp, id) {
>> +        if (!strcmp(tmp->uuid, TEST_OA_CONFIG_UUID)) {
>> +            oa_config = i915_oa_config_get(tmp);
>> +            break;
>> +        }
>> +    }
>> +
>> +    mutex_unlock(&perf->metrics_lock);
>> +
>> +    return oa_config;
>> +}
>> +
>> static struct i915_perf_stream *
>> test_stream(struct i915_perf *perf)
>> {
>>     struct drm_i915_perf_open_param param = {};
>> +    struct i915_oa_config *oa_config = get_empty_config(perf);
>>     struct perf_open_properties props = {
>>         .engine = intel_engine_lookup_user(perf->i915,
>>                            I915_ENGINE_CLASS_RENDER,
>> @@ -25,13 +100,19 @@ test_stream(struct i915_perf *perf)
>>         .sample_flags = SAMPLE_OA_REPORT,
>>         .oa_format = IS_GEN(perf->i915, 12) ?
>>         I915_OA_FORMAT_A32u40_A4u32_B8_C8 : I915_OA_FORMAT_C4_B8,
>> -        .metrics_set = 1,
>>     };
>>     struct i915_perf_stream *stream;
>>
>> +    if (!oa_config)
>> +        return NULL;
>> +
>> +    props.metrics_set = oa_config->id;
>> +
>>     stream = kzalloc(sizeof(*stream), GFP_KERNEL);
>> -    if (!stream)
>> +    if (!stream) {
>> +        i915_oa_config_put(oa_config);
>>         return NULL;
>> +    }
>>
>>     stream->perf = perf;
>>
>> @@ -42,6 +123,8 @@ test_stream(struct i915_perf *perf)
>>     }
>>     mutex_unlock(&perf->lock);
>>
>> +    i915_oa_config_put(oa_config);
>> +
>>     return stream;
>> }
>>
>> @@ -206,6 +289,7 @@ int i915_perf_live_selftests(struct 
>> drm_i915_private *i915)
>>         SUBTEST(live_noa_delay),
>>     };
>>     struct i915_perf *perf = &i915->perf;
>> +    int err;
>>
>>     if (!perf->metrics_kobj || !perf->ops.enable_metric_set)
>>         return 0;
>> @@ -213,5 +297,13 @@ int i915_perf_live_selftests(struct 
>> drm_i915_private *i915)
>>     if (intel_gt_is_wedged(&i915->gt))
>>         return 0;
>>
>> -    return i915_subtests(tests, i915);
>> +    err = alloc_empty_config(&i915->perf);
>> +    if (err)
>> +        return err;
>> +
>> +    err = i915_subtests(tests, i915);
>> +
>> +    destroy_empty_config(&i915->perf);
>> +
>> +    return err;
>> }
>> -- 
>> 2.25.1
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx


_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-03-17 10:36 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-14 10:33 [Intel-gfx] [PATCH v6 1/3] drm/i915/perf: remove generated code Lionel Landwerlin
2020-03-14 10:33 ` [Intel-gfx] [PATCH v6 2/3] drm/i915/perf: remove redundant power configuration register override Lionel Landwerlin
2020-03-14 10:33 ` [Intel-gfx] [PATCH v6 3/3] drm/i915/perf: introduce global sseu pinning Lionel Landwerlin
2020-03-16  9:11   ` Tvrtko Ursulin
2020-03-16 15:18 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [v6,1/3] drm/i915/perf: remove generated code Patchwork
2020-03-16 15:43 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2020-03-16 18:46 ` [Intel-gfx] [PATCH v6 1/3] " Umesh Nerlige Ramappa
2020-03-17 10:36   ` Lionel Landwerlin
2020-03-16 23:11 ` [Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [v6,1/3] " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).