All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH v2 1/8] drm/i915: make local-memory probing a GT operation
@ 2021-01-26 15:12 Matthew Auld
  2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 2/8] drm/i915: setup the LMEM region Matthew Auld
                   ` (11 more replies)
  0 siblings, 12 replies; 20+ messages in thread
From: Matthew Auld @ 2021-01-26 15:12 UTC (permalink / raw)
  To: intel-gfx

Device local memory is very much a GT thing, therefore it should be the
responsibility of the GT to setup the device local memory region.

Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
---
 drivers/gpu/drm/i915/gt/intel_gt.c          | 29 +++++++++++++++++++++
 drivers/gpu/drm/i915/gt/intel_gt.h          |  1 +
 drivers/gpu/drm/i915/gt/intel_region_lmem.c |  3 ++-
 drivers/gpu/drm/i915/gt/intel_region_lmem.h |  4 +--
 drivers/gpu/drm/i915/i915_drv.c             |  4 +++
 drivers/gpu/drm/i915/intel_memory_region.c  |  5 ++--
 6 files changed, 40 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c b/drivers/gpu/drm/i915/gt/intel_gt.c
index d8e1ab412634..989cd2106b09 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt.c
+++ b/drivers/gpu/drm/i915/gt/intel_gt.c
@@ -39,6 +39,35 @@ void intel_gt_init_early(struct intel_gt *gt, struct drm_i915_private *i915)
 	intel_uc_init_early(&gt->uc);
 }
 
+int intel_gt_probe_lmem(struct intel_gt *gt)
+{
+	struct drm_i915_private *i915 = gt->i915;
+	struct intel_memory_region *mem;
+	int id;
+	int err;
+
+	id = INTEL_REGION_LMEM;
+	if (!HAS_REGION(i915, id))
+		return 0;
+
+	mem = intel_gt_setup_fake_lmem(gt);
+	if (IS_ERR(mem)) {
+		err = PTR_ERR(mem);
+		drm_err(&i915->drm,
+			"Failed to setup region(%d) type=%d\n",
+			err, INTEL_MEMORY_LOCAL);
+		return err;
+	}
+
+	mem->id = id;
+	mem->type = INTEL_MEMORY_LOCAL;
+	mem->instance = 0;
+
+	i915->mm.regions[id] = mem;
+
+	return 0;
+}
+
 void intel_gt_init_hw_early(struct intel_gt *gt, struct i915_ggtt *ggtt)
 {
 	gt->ggtt = ggtt;
diff --git a/drivers/gpu/drm/i915/gt/intel_gt.h b/drivers/gpu/drm/i915/gt/intel_gt.h
index 9157c7411f60..a17bd8b3195f 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt.h
+++ b/drivers/gpu/drm/i915/gt/intel_gt.h
@@ -36,6 +36,7 @@ static inline struct intel_gt *huc_to_gt(struct intel_huc *huc)
 
 void intel_gt_init_early(struct intel_gt *gt, struct drm_i915_private *i915);
 void intel_gt_init_hw_early(struct intel_gt *gt, struct i915_ggtt *ggtt);
+int intel_gt_probe_lmem(struct intel_gt *gt);
 int intel_gt_init_mmio(struct intel_gt *gt);
 int __must_check intel_gt_init_hw(struct intel_gt *gt);
 int intel_gt_init(struct intel_gt *gt);
diff --git a/drivers/gpu/drm/i915/gt/intel_region_lmem.c b/drivers/gpu/drm/i915/gt/intel_region_lmem.c
index 28a1d5e1fb92..ad80ff0b935c 100644
--- a/drivers/gpu/drm/i915/gt/intel_region_lmem.c
+++ b/drivers/gpu/drm/i915/gt/intel_region_lmem.c
@@ -102,8 +102,9 @@ static const struct intel_memory_region_ops intel_region_lmem_ops = {
 };
 
 struct intel_memory_region *
-intel_setup_fake_lmem(struct drm_i915_private *i915)
+intel_gt_setup_fake_lmem(struct intel_gt *gt)
 {
+	struct drm_i915_private *i915 = gt->i915;
 	struct pci_dev *pdev = i915->drm.pdev;
 	struct intel_memory_region *mem;
 	resource_size_t mappable_end;
diff --git a/drivers/gpu/drm/i915/gt/intel_region_lmem.h b/drivers/gpu/drm/i915/gt/intel_region_lmem.h
index 8ea43e538dab..a4baa0f077a1 100644
--- a/drivers/gpu/drm/i915/gt/intel_region_lmem.h
+++ b/drivers/gpu/drm/i915/gt/intel_region_lmem.h
@@ -6,9 +6,9 @@
 #ifndef __INTEL_REGION_LMEM_H
 #define __INTEL_REGION_LMEM_H
 
-struct drm_i915_private;
+struct intel_gt;
 
 struct intel_memory_region *
-intel_setup_fake_lmem(struct drm_i915_private *i915);
+intel_gt_setup_fake_lmem(struct intel_gt *gt);
 
 #endif /* !__INTEL_REGION_LMEM_H */
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 0037b81d991e..7915d0dc7e16 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -574,6 +574,10 @@ static int i915_driver_hw_probe(struct drm_i915_private *dev_priv)
 	if (ret)
 		goto err_ggtt;
 
+	ret = intel_gt_probe_lmem(&dev_priv->gt);
+	if (ret)
+		goto err_mem_regions;
+
 	intel_gt_init_hw_early(&dev_priv->gt, &dev_priv->ggtt);
 
 	ret = i915_ggtt_enable_hw(dev_priv);
diff --git a/drivers/gpu/drm/i915/intel_memory_region.c b/drivers/gpu/drm/i915/intel_memory_region.c
index 1bfcdd89b241..b1b610bfff09 100644
--- a/drivers/gpu/drm/i915/intel_memory_region.c
+++ b/drivers/gpu/drm/i915/intel_memory_region.c
@@ -258,9 +258,8 @@ int intel_memory_regions_hw_probe(struct drm_i915_private *i915)
 		case INTEL_MEMORY_STOLEN:
 			mem = i915_gem_stolen_setup(i915);
 			break;
-		case INTEL_MEMORY_LOCAL:
-			mem = intel_setup_fake_lmem(i915);
-			break;
+		default:
+			continue;
 		}
 
 		if (IS_ERR(mem)) {
-- 
2.26.2

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

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

* [Intel-gfx] [PATCH v2 2/8] drm/i915: setup the LMEM region
  2021-01-26 15:12 [Intel-gfx] [PATCH v2 1/8] drm/i915: make local-memory probing a GT operation Matthew Auld
@ 2021-01-26 15:12 ` Matthew Auld
  2021-01-26 15:26   ` Chris Wilson
  2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 3/8] drm/i915: reserve stolen for " Matthew Auld
                   ` (10 subsequent siblings)
  11 siblings, 1 reply; 20+ messages in thread
From: Matthew Auld @ 2021-01-26 15:12 UTC (permalink / raw)
  To: intel-gfx; +Cc: Jani Nikula, Lucas De Marchi

Hook up the LMEM region. Addresses will start from zero, and for CPU
access we get LMEM_BAR which is just a 1:1 mapping of said region.

Based on a patch from Michel Thierry.

v2 by Jani:
- use intel_uncore_read/intel_uncore_write
- remove trailing blank line

v3: s/drm_info/drm_dbg for info which in non-pertinent for the user

Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/gt/intel_gt.c          | 12 ++++++--
 drivers/gpu/drm/i915/gt/intel_region_lmem.c | 32 +++++++++++++++++++++
 drivers/gpu/drm/i915/gt/intel_region_lmem.h |  2 ++
 3 files changed, 44 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c b/drivers/gpu/drm/i915/gt/intel_gt.c
index 989cd2106b09..78866e766989 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt.c
+++ b/drivers/gpu/drm/i915/gt/intel_gt.c
@@ -42,7 +42,7 @@ void intel_gt_init_early(struct intel_gt *gt, struct drm_i915_private *i915)
 int intel_gt_probe_lmem(struct intel_gt *gt)
 {
 	struct drm_i915_private *i915 = gt->i915;
-	struct intel_memory_region *mem;
+	struct intel_memory_region *mem = ERR_PTR(-ENODEV);
 	int id;
 	int err;
 
@@ -50,7 +50,15 @@ int intel_gt_probe_lmem(struct intel_gt *gt)
 	if (!HAS_REGION(i915, id))
 		return 0;
 
-	mem = intel_gt_setup_fake_lmem(gt);
+#if IS_ENABLED(CONFIG_DRM_I915_SELFTEST)
+	if (IS_ENABLED(CONFIG_DRM_I915_UNSTABLE_FAKE_LMEM)) {
+		if (INTEL_GEN(i915) >= 9 && i915_selftest.live < 0 &&
+		    i915->params.fake_lmem_start)
+			mem = intel_gt_setup_fake_lmem(gt);
+	}
+#endif
+	if (IS_ERR(mem))
+		mem = intel_gt_setup_lmem(gt);
 	if (IS_ERR(mem)) {
 		err = PTR_ERR(mem);
 		drm_err(&i915->drm,
diff --git a/drivers/gpu/drm/i915/gt/intel_region_lmem.c b/drivers/gpu/drm/i915/gt/intel_region_lmem.c
index ad80ff0b935c..b676dc67dc2a 100644
--- a/drivers/gpu/drm/i915/gt/intel_region_lmem.c
+++ b/drivers/gpu/drm/i915/gt/intel_region_lmem.c
@@ -137,3 +137,35 @@ intel_gt_setup_fake_lmem(struct intel_gt *gt)
 
 	return mem;
 }
+
+static struct intel_memory_region *setup_lmem(struct intel_gt *gt)
+{
+	struct drm_i915_private *i915 = gt->i915;
+	struct pci_dev *pdev = i915->drm.pdev;
+	struct intel_memory_region *mem;
+	resource_size_t io_start;
+	resource_size_t size;
+
+	io_start = pci_resource_start(pdev, 2);
+	size = pci_resource_len(pdev, 2);
+
+	mem = intel_memory_region_create(i915,
+					 0,
+					 size,
+					 I915_GTT_PAGE_SIZE_4K,
+					 io_start,
+					 &intel_region_lmem_ops);
+	if (!IS_ERR(mem)) {
+		drm_dbg(&i915->drm, "Local memory: %pR\n", &mem->region);
+		drm_dbg(&i915->drm, "Local memory IO start: %pa\n",
+			&mem->io_start);
+		drm_info(&i915->drm, "Local memory available: %pa\n", &size);
+	}
+
+	return mem;
+}
+
+struct intel_memory_region *intel_gt_setup_lmem(struct intel_gt *gt)
+{
+	return setup_lmem(gt);
+}
diff --git a/drivers/gpu/drm/i915/gt/intel_region_lmem.h b/drivers/gpu/drm/i915/gt/intel_region_lmem.h
index a4baa0f077a1..062d0542ae34 100644
--- a/drivers/gpu/drm/i915/gt/intel_region_lmem.h
+++ b/drivers/gpu/drm/i915/gt/intel_region_lmem.h
@@ -8,6 +8,8 @@
 
 struct intel_gt;
 
+struct intel_memory_region *intel_gt_setup_lmem(struct intel_gt *gt);
+
 struct intel_memory_region *
 intel_gt_setup_fake_lmem(struct intel_gt *gt);
 
-- 
2.26.2

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

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

* [Intel-gfx] [PATCH v2 3/8] drm/i915: reserve stolen for LMEM region
  2021-01-26 15:12 [Intel-gfx] [PATCH v2 1/8] drm/i915: make local-memory probing a GT operation Matthew Auld
  2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 2/8] drm/i915: setup the LMEM region Matthew Auld
@ 2021-01-26 15:12 ` Matthew Auld
  2021-01-26 15:31   ` Chris Wilson
  2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 4/8] drm/i915: introduce mem->reserved Matthew Auld
                   ` (9 subsequent siblings)
  11 siblings, 1 reply; 20+ messages in thread
From: Matthew Auld @ 2021-01-26 15:12 UTC (permalink / raw)
  To: intel-gfx

From: CQ Tang <cq.tang@intel.com>

The lmem region needs to remove the stolen part, which should just be a
case of snipping it off the end.

Signed-off-by: CQ Tang <cq.tang@intel.com>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
---
 drivers/gpu/drm/i915/gt/intel_region_lmem.c | 12 ++++++++----
 drivers/gpu/drm/i915/i915_reg.h             |  2 ++
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_region_lmem.c b/drivers/gpu/drm/i915/gt/intel_region_lmem.c
index b676dc67dc2a..4da808e35ecb 100644
--- a/drivers/gpu/drm/i915/gt/intel_region_lmem.c
+++ b/drivers/gpu/drm/i915/gt/intel_region_lmem.c
@@ -141,17 +141,20 @@ intel_gt_setup_fake_lmem(struct intel_gt *gt)
 static struct intel_memory_region *setup_lmem(struct intel_gt *gt)
 {
 	struct drm_i915_private *i915 = gt->i915;
+	struct intel_uncore *uncore = &i915->uncore;
 	struct pci_dev *pdev = i915->drm.pdev;
 	struct intel_memory_region *mem;
 	resource_size_t io_start;
-	resource_size_t size;
+	resource_size_t lmem_size;
+
+	/* Stolen starts from GSMBASE on DG1 */
+	lmem_size = intel_uncore_read64(uncore, GEN12_GSMBASE);
 
 	io_start = pci_resource_start(pdev, 2);
-	size = pci_resource_len(pdev, 2);
 
 	mem = intel_memory_region_create(i915,
 					 0,
-					 size,
+					 lmem_size,
 					 I915_GTT_PAGE_SIZE_4K,
 					 io_start,
 					 &intel_region_lmem_ops);
@@ -159,7 +162,8 @@ static struct intel_memory_region *setup_lmem(struct intel_gt *gt)
 		drm_dbg(&i915->drm, "Local memory: %pR\n", &mem->region);
 		drm_dbg(&i915->drm, "Local memory IO start: %pa\n",
 			&mem->io_start);
-		drm_info(&i915->drm, "Local memory available: %pa\n", &size);
+		drm_info(&i915->drm, "Local memory available: %pa\n",
+			 &lmem_size);
 	}
 
 	return mem;
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index d5719d1a2916..84897d1e5800 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -12118,6 +12118,8 @@ enum skl_power_gate {
 
 #define GEN12_GLOBAL_MOCS(i)	_MMIO(0x4000 + (i) * 4) /* Global MOCS regs */
 
+#define GEN12_GSMBASE			_MMIO(0x108100)
+
 /* gamt regs */
 #define GEN8_L3_LRA_1_GPGPU _MMIO(0x4dd4)
 #define   GEN8_L3_LRA_1_GPGPU_DEFAULT_VALUE_BDW  0x67F1427F /* max/min for LRA1/2 */
-- 
2.26.2

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

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

* [Intel-gfx] [PATCH v2 4/8] drm/i915: introduce mem->reserved
  2021-01-26 15:12 [Intel-gfx] [PATCH v2 1/8] drm/i915: make local-memory probing a GT operation Matthew Auld
  2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 2/8] drm/i915: setup the LMEM region Matthew Auld
  2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 3/8] drm/i915: reserve stolen for " Matthew Auld
@ 2021-01-26 15:12 ` Matthew Auld
  2021-01-26 15:35   ` Chris Wilson
  2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 5/8] drm/i915/dg1: Reserve first 1MB of local memory Matthew Auld
                   ` (8 subsequent siblings)
  11 siblings, 1 reply; 20+ messages in thread
From: Matthew Auld @ 2021-01-26 15:12 UTC (permalink / raw)
  To: intel-gfx; +Cc: Abdiel Janulgue

From: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>

In the following patch we need to reserve regions unaccessible to the
driver during initialization, so add mem->reserved for collecting such
regions.

Cc: Imre Deak <imre.deak@intel.com>
Signed-off-by: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
---
 drivers/gpu/drm/i915/intel_memory_region.c    |  2 +
 drivers/gpu/drm/i915/intel_memory_region.h    |  2 +
 .../drm/i915/selftests/intel_memory_region.c  | 89 +++++++++++++++++++
 3 files changed, 93 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_memory_region.c b/drivers/gpu/drm/i915/intel_memory_region.c
index b1b610bfff09..803a414c9523 100644
--- a/drivers/gpu/drm/i915/intel_memory_region.c
+++ b/drivers/gpu/drm/i915/intel_memory_region.c
@@ -156,6 +156,7 @@ int intel_memory_region_init_buddy(struct intel_memory_region *mem)
 
 void intel_memory_region_release_buddy(struct intel_memory_region *mem)
 {
+	i915_buddy_free_list(&mem->mm, &mem->reserved);
 	i915_buddy_fini(&mem->mm);
 }
 
@@ -185,6 +186,7 @@ intel_memory_region_create(struct drm_i915_private *i915,
 	mutex_init(&mem->objects.lock);
 	INIT_LIST_HEAD(&mem->objects.list);
 	INIT_LIST_HEAD(&mem->objects.purgeable);
+	INIT_LIST_HEAD(&mem->reserved);
 
 	mutex_init(&mem->mm_lock);
 
diff --git a/drivers/gpu/drm/i915/intel_memory_region.h b/drivers/gpu/drm/i915/intel_memory_region.h
index 6ffc0673f005..8c9947bba3e8 100644
--- a/drivers/gpu/drm/i915/intel_memory_region.h
+++ b/drivers/gpu/drm/i915/intel_memory_region.h
@@ -89,6 +89,8 @@ struct intel_memory_region {
 	unsigned int id;
 	char name[8];
 
+	struct list_head reserved;
+
 	dma_addr_t remap_addr;
 
 	struct {
diff --git a/drivers/gpu/drm/i915/selftests/intel_memory_region.c b/drivers/gpu/drm/i915/selftests/intel_memory_region.c
index ce7adfa3bca0..79e5c5a6b563 100644
--- a/drivers/gpu/drm/i915/selftests/intel_memory_region.c
+++ b/drivers/gpu/drm/i915/selftests/intel_memory_region.c
@@ -144,6 +144,94 @@ static bool is_contiguous(struct drm_i915_gem_object *obj)
 	return true;
 }
 
+static int igt_reserve_range(struct intel_memory_region *mem,
+			     struct list_head *reserved,
+			     u64 offset,
+			     u64 size)
+{
+	int ret;
+	LIST_HEAD(blocks);
+
+	ret = i915_buddy_alloc_range(&mem->mm, &blocks, offset, size);
+	if (!ret)
+		list_splice_tail(&blocks, reserved);
+
+	return ret;
+}
+
+static int igt_mock_reserve(void *arg)
+{
+	struct drm_i915_gem_object *obj;
+	struct intel_memory_region *mem = arg;
+	resource_size_t avail = resource_size(&mem->region);
+	I915_RND_STATE(prng);
+	LIST_HEAD(objects);
+	LIST_HEAD(reserved);
+	u32 i, offset, count, *order;
+	u64 allocated, cur_avail;
+	const u32 chunk_size = SZ_32M;
+	int err = 0;
+
+	count = avail / chunk_size;
+	order = i915_random_order(count, &prng);
+	if (!order)
+		return 0;
+
+	/* Reserve a bunch of ranges within the region */
+	for (i = 0; i < count; ++i) {
+		u64 start = order[i] * chunk_size;
+		u64 size = i915_prandom_u32_max_state(chunk_size, &prng);
+
+		/* Allow for some really big holes */
+		if (!size)
+			continue;
+
+		size = round_up(size, PAGE_SIZE);
+		offset = igt_random_offset(&prng, 0, chunk_size, size,
+					   PAGE_SIZE);
+
+		err = igt_reserve_range(mem, &reserved, start + offset, size);
+		if (err) {
+			pr_err("%s failed to reserve range", __func__);
+			goto out_close;
+		}
+
+		/* XXX: maybe sanity check the block range here? */
+		avail -= size;
+	}
+
+	/* Try to see if we can allocate from the remaining space */
+	allocated = 0;
+	cur_avail = avail;
+	do {
+		u64 size = i915_prandom_u32_max_state(cur_avail, &prng);
+
+		size = max_t(u64, round_up(size, PAGE_SIZE), (u64)PAGE_SIZE);
+		obj = igt_object_create(mem, &objects, size, 0);
+
+		if (IS_ERR(obj)) {
+			if (PTR_ERR(obj) == -ENXIO)
+				break;
+
+			err = PTR_ERR(obj);
+			goto out_close;
+		}
+		cur_avail -= size;
+		allocated += size;
+	} while (1);
+
+	if (allocated != avail) {
+		pr_err("%s mismatch between allocation and free space", __func__);
+		err = -EINVAL;
+	}
+
+out_close:
+	kfree(order);
+	close_objects(mem, &objects);
+	i915_buddy_free_list(&mem->mm, &reserved);
+	return err;
+}
+
 static int igt_mock_contiguous(void *arg)
 {
 	struct intel_memory_region *mem = arg;
@@ -930,6 +1018,7 @@ static int perf_memcpy(void *arg)
 int intel_memory_region_mock_selftests(void)
 {
 	static const struct i915_subtest tests[] = {
+		SUBTEST(igt_mock_reserve),
 		SUBTEST(igt_mock_fill),
 		SUBTEST(igt_mock_contiguous),
 		SUBTEST(igt_mock_splintered_region),
-- 
2.26.2

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

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

* [Intel-gfx] [PATCH v2 5/8] drm/i915/dg1: Reserve first 1MB of local memory
  2021-01-26 15:12 [Intel-gfx] [PATCH v2 1/8] drm/i915: make local-memory probing a GT operation Matthew Auld
                   ` (2 preceding siblings ...)
  2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 4/8] drm/i915: introduce mem->reserved Matthew Auld
@ 2021-01-26 15:12 ` Matthew Auld
  2021-01-26 15:39   ` Chris Wilson
  2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 6/8] drm/i915: allocate context from LMEM Matthew Auld
                   ` (7 subsequent siblings)
  11 siblings, 1 reply; 20+ messages in thread
From: Matthew Auld @ 2021-01-26 15:12 UTC (permalink / raw)
  To: intel-gfx

From: Imre Deak <imre.deak@intel.com>

On DG1 A0/B0 steppings the first 1MB of local memory must be reserved.
One reason for this is that the 0xA0000-0xB0000 range is not accessible
by the display, probably since this region is redirected to another
memory location for legacy VGA compatibility.

BSpec: 50586
Testcase: igt/kms_big_fb/linear-64bpp-rotate-0

v2:
- Reserve the memory on B0 as well.

v3: replace DRM_DEBUG/DRM_ERROR with drm_dbg/drm_err

Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
---
 drivers/gpu/drm/i915/gt/intel_region_lmem.c | 52 +++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/drivers/gpu/drm/i915/gt/intel_region_lmem.c b/drivers/gpu/drm/i915/gt/intel_region_lmem.c
index 4da808e35ecb..3b66221abe01 100644
--- a/drivers/gpu/drm/i915/gt/intel_region_lmem.c
+++ b/drivers/gpu/drm/i915/gt/intel_region_lmem.c
@@ -138,6 +138,48 @@ intel_gt_setup_fake_lmem(struct intel_gt *gt)
 	return mem;
 }
 
+static void get_legacy_lowmem_region(struct intel_uncore *uncore,
+				     u64 *start, u32 *size)
+{
+	*start = 0;
+	*size = 0;
+
+	if (!IS_DG1_REVID(uncore->i915, DG1_REVID_A0, DG1_REVID_B0))
+		return;
+
+	*size = SZ_1M;
+
+	drm_dbg(&uncore->i915->drm, "LMEM: reserved legacy low-memory [0x%llx-0x%llx]\n",
+		*start, *start + *size);
+}
+
+static int reserve_lowmem_region(struct intel_uncore *uncore,
+				 struct intel_memory_region *mem)
+{
+	u64 reserve_start;
+	u64 reserve_end;
+	u64 region_start;
+	u32 region_size;
+	int ret;
+
+	get_legacy_lowmem_region(uncore, &region_start, &region_size);
+	reserve_start = region_start;
+	reserve_end = region_start + region_size;
+
+	if (!reserve_end)
+		return 0;
+
+	drm_dbg(&uncore->i915->drm, "LMEM: reserving low-memory region [0x%llx-0x%llx]\n",
+		reserve_start, reserve_end);
+	ret = i915_buddy_alloc_range(&mem->mm, &mem->reserved,
+				     reserve_start,
+				     reserve_end - reserve_start);
+	if (ret)
+		drm_err(&uncore->i915->drm, "LMEM: reserving low memory region failed\n");
+
+	return ret;
+}
+
 static struct intel_memory_region *setup_lmem(struct intel_gt *gt)
 {
 	struct drm_i915_private *i915 = gt->i915;
@@ -158,6 +200,16 @@ static struct intel_memory_region *setup_lmem(struct intel_gt *gt)
 					 I915_GTT_PAGE_SIZE_4K,
 					 io_start,
 					 &intel_region_lmem_ops);
+	if (!IS_ERR(mem)) {
+		int err;
+
+		err = reserve_lowmem_region(uncore, mem);
+		if (err) {
+			intel_memory_region_put(mem);
+			return ERR_PTR(err);
+		}
+	}
+
 	if (!IS_ERR(mem)) {
 		drm_dbg(&i915->drm, "Local memory: %pR\n", &mem->region);
 		drm_dbg(&i915->drm, "Local memory IO start: %pa\n",
-- 
2.26.2

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

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

* [Intel-gfx] [PATCH v2 6/8] drm/i915: allocate context from LMEM
  2021-01-26 15:12 [Intel-gfx] [PATCH v2 1/8] drm/i915: make local-memory probing a GT operation Matthew Auld
                   ` (3 preceding siblings ...)
  2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 5/8] drm/i915/dg1: Reserve first 1MB of local memory Matthew Auld
@ 2021-01-26 15:12 ` Matthew Auld
  2021-01-26 15:40   ` Chris Wilson
  2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 7/8] drm/i915: move engine scratch to LMEM Matthew Auld
                   ` (6 subsequent siblings)
  11 siblings, 1 reply; 20+ messages in thread
From: Matthew Auld @ 2021-01-26 15:12 UTC (permalink / raw)
  To: intel-gfx

Prefer allocating the context from LMEM on dgfx.

Based on a patch from Michel Thierry.

v2: flatten the chain

Signed-off-by: Matthew Auld <matthew.auld@intel.com>
---
 drivers/gpu/drm/i915/gt/intel_lrc.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
index 33b529dcb05f..8508b8d701c1 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -3,6 +3,8 @@
  * Copyright © 2014 Intel Corporation
  */
 
+#include "gem/i915_gem_lmem.h"
+
 #include "gen8_engine_cs.h"
 #include "i915_drv.h"
 #include "i915_perf.h"
@@ -808,7 +810,9 @@ __lrc_alloc_state(struct intel_context *ce, struct intel_engine_cs *engine)
 		context_size += PAGE_SIZE;
 	}
 
-	obj = i915_gem_object_create_shmem(engine->i915, context_size);
+	obj = i915_gem_object_create_lmem(engine->i915, context_size, 0);
+	if (IS_ERR(obj))
+		obj = i915_gem_object_create_shmem(engine->i915, context_size);
 	if (IS_ERR(obj))
 		return ERR_CAST(obj);
 
-- 
2.26.2

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

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

* [Intel-gfx] [PATCH v2 7/8] drm/i915: move engine scratch to LMEM
  2021-01-26 15:12 [Intel-gfx] [PATCH v2 1/8] drm/i915: make local-memory probing a GT operation Matthew Auld
                   ` (4 preceding siblings ...)
  2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 6/8] drm/i915: allocate context from LMEM Matthew Auld
@ 2021-01-26 15:12 ` Matthew Auld
  2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 8/8] drm/i915: allocate cmd ring in lmem Matthew Auld
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 20+ messages in thread
From: Matthew Auld @ 2021-01-26 15:12 UTC (permalink / raw)
  To: intel-gfx

Prefer allocating the engine scratch from LMEM on dgfx.

v2: flatten the chain

Signed-off-by: Matthew Auld <matthew.auld@intel.com>
---
 drivers/gpu/drm/i915/gt/intel_gt.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c b/drivers/gpu/drm/i915/gt/intel_gt.c
index 78866e766989..6eee38ed677b 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt.c
+++ b/drivers/gpu/drm/i915/gt/intel_gt.c
@@ -4,6 +4,8 @@
  */
 
 #include "debugfs_gt.h"
+
+#include "gem/i915_gem_lmem.h"
 #include "i915_drv.h"
 #include "intel_context.h"
 #include "intel_gt.h"
@@ -381,11 +383,13 @@ static int intel_gt_init_scratch(struct intel_gt *gt, unsigned int size)
 	struct i915_vma *vma;
 	int ret;
 
-	obj = i915_gem_object_create_stolen(i915, size);
+	obj = i915_gem_object_create_lmem(i915, size, I915_BO_ALLOC_VOLATILE);
+	if (IS_ERR(obj))
+		obj = i915_gem_object_create_stolen(i915, size);
 	if (IS_ERR(obj))
 		obj = i915_gem_object_create_internal(i915, size);
 	if (IS_ERR(obj)) {
-		DRM_ERROR("Failed to allocate scratch page\n");
+		drm_err(&i915->drm, "Failed to allocate scratch page\n");
 		return PTR_ERR(obj);
 	}
 
-- 
2.26.2

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

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

* [Intel-gfx] [PATCH v2 8/8] drm/i915: allocate cmd ring in lmem
  2021-01-26 15:12 [Intel-gfx] [PATCH v2 1/8] drm/i915: make local-memory probing a GT operation Matthew Auld
                   ` (5 preceding siblings ...)
  2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 7/8] drm/i915: move engine scratch to LMEM Matthew Auld
@ 2021-01-26 15:12 ` Matthew Auld
  2021-01-26 15:41   ` Chris Wilson
  2021-01-26 15:16 ` [Intel-gfx] [PATCH v2 1/8] drm/i915: make local-memory probing a GT operation Chris Wilson
                   ` (4 subsequent siblings)
  11 siblings, 1 reply; 20+ messages in thread
From: Matthew Auld @ 2021-01-26 15:12 UTC (permalink / raw)
  To: intel-gfx; +Cc: Michel Thierry

From: Michel Thierry <michel.thierry@intel.com>

Prefer allocating the cmd ring from LMEM on dgfx.

Signed-off-by: Michel Thierry <michel.thierry@intel.com>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
---
 drivers/gpu/drm/i915/gt/intel_ring.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_ring.c b/drivers/gpu/drm/i915/gt/intel_ring.c
index 29c87b3c23bc..aee0a77c77e0 100644
--- a/drivers/gpu/drm/i915/gt/intel_ring.c
+++ b/drivers/gpu/drm/i915/gt/intel_ring.c
@@ -3,6 +3,7 @@
  * Copyright © 2019 Intel Corporation
  */
 
+#include "gem/i915_gem_lmem.h"
 #include "gem/i915_gem_object.h"
 
 #include "i915_drv.h"
@@ -108,8 +109,8 @@ static struct i915_vma *create_ring_vma(struct i915_ggtt *ggtt, int size)
 	struct drm_i915_gem_object *obj;
 	struct i915_vma *vma;
 
-	obj = ERR_PTR(-ENODEV);
-	if (i915_ggtt_has_aperture(ggtt))
+	obj = i915_gem_object_create_lmem(i915, size, I915_BO_ALLOC_VOLATILE);
+	if (IS_ERR(obj) && i915_ggtt_has_aperture(ggtt))
 		obj = i915_gem_object_create_stolen(i915, size);
 	if (IS_ERR(obj))
 		obj = i915_gem_object_create_internal(i915, size);
-- 
2.26.2

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

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

* Re: [Intel-gfx] [PATCH v2 1/8] drm/i915: make local-memory probing a GT operation
  2021-01-26 15:12 [Intel-gfx] [PATCH v2 1/8] drm/i915: make local-memory probing a GT operation Matthew Auld
                   ` (6 preceding siblings ...)
  2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 8/8] drm/i915: allocate cmd ring in lmem Matthew Auld
@ 2021-01-26 15:16 ` Chris Wilson
  2021-01-26 15:22 ` Chris Wilson
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 20+ messages in thread
From: Chris Wilson @ 2021-01-26 15:16 UTC (permalink / raw)
  To: Matthew Auld, intel-gfx

Quoting Matthew Auld (2021-01-26 15:12:52)
> Device local memory is very much a GT thing, therefore it should be the
> responsibility of the GT to setup the device local memory region.
> 
> Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
> ---
>  drivers/gpu/drm/i915/gt/intel_gt.c          | 29 +++++++++++++++++++++
>  drivers/gpu/drm/i915/gt/intel_gt.h          |  1 +
>  drivers/gpu/drm/i915/gt/intel_region_lmem.c |  3 ++-
>  drivers/gpu/drm/i915/gt/intel_region_lmem.h |  4 +--
>  drivers/gpu/drm/i915/i915_drv.c             |  4 +++
>  drivers/gpu/drm/i915/intel_memory_region.c  |  5 ++--
>  6 files changed, 40 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c b/drivers/gpu/drm/i915/gt/intel_gt.c
> index d8e1ab412634..989cd2106b09 100644
> --- a/drivers/gpu/drm/i915/gt/intel_gt.c
> +++ b/drivers/gpu/drm/i915/gt/intel_gt.c
> @@ -39,6 +39,35 @@ void intel_gt_init_early(struct intel_gt *gt, struct drm_i915_private *i915)
>         intel_uc_init_early(&gt->uc);
>  }
>  
> +int intel_gt_probe_lmem(struct intel_gt *gt)
> +{
> +       struct drm_i915_private *i915 = gt->i915;
> +       struct intel_memory_region *mem;
> +       int id;
> +       int err;
> +
> +       id = INTEL_REGION_LMEM;
> +       if (!HAS_REGION(i915, id))
> +               return 0;
> +
> +       mem = intel_gt_setup_fake_lmem(gt);
> +       if (IS_ERR(mem)) {
> +               err = PTR_ERR(mem);
> +               drm_err(&i915->drm,
> +                       "Failed to setup region(%d) type=%d\n",
> +                       err, INTEL_MEMORY_LOCAL);
> +               return err;
> +       }
> +
> +       mem->id = id;
> +       mem->type = INTEL_MEMORY_LOCAL;
> +       mem->instance = 0;
> +
> +       i915->mm.regions[id] = mem;
> +
> +       return 0;
> +}
> +
>  void intel_gt_init_hw_early(struct intel_gt *gt, struct i915_ggtt *ggtt)
>  {
>         gt->ggtt = ggtt;
> diff --git a/drivers/gpu/drm/i915/gt/intel_gt.h b/drivers/gpu/drm/i915/gt/intel_gt.h
> index 9157c7411f60..a17bd8b3195f 100644
> --- a/drivers/gpu/drm/i915/gt/intel_gt.h
> +++ b/drivers/gpu/drm/i915/gt/intel_gt.h
> @@ -36,6 +36,7 @@ static inline struct intel_gt *huc_to_gt(struct intel_huc *huc)
>  
>  void intel_gt_init_early(struct intel_gt *gt, struct drm_i915_private *i915);
>  void intel_gt_init_hw_early(struct intel_gt *gt, struct i915_ggtt *ggtt);
> +int intel_gt_probe_lmem(struct intel_gt *gt);
>  int intel_gt_init_mmio(struct intel_gt *gt);
>  int __must_check intel_gt_init_hw(struct intel_gt *gt);
>  int intel_gt_init(struct intel_gt *gt);
> diff --git a/drivers/gpu/drm/i915/gt/intel_region_lmem.c b/drivers/gpu/drm/i915/gt/intel_region_lmem.c
> index 28a1d5e1fb92..ad80ff0b935c 100644
> --- a/drivers/gpu/drm/i915/gt/intel_region_lmem.c
> +++ b/drivers/gpu/drm/i915/gt/intel_region_lmem.c
> @@ -102,8 +102,9 @@ static const struct intel_memory_region_ops intel_region_lmem_ops = {
>  };
>  
>  struct intel_memory_region *
> -intel_setup_fake_lmem(struct drm_i915_private *i915)
> +intel_gt_setup_fake_lmem(struct intel_gt *gt)
>  {
> +       struct drm_i915_private *i915 = gt->i915;
>         struct pci_dev *pdev = i915->drm.pdev;
>         struct intel_memory_region *mem;
>         resource_size_t mappable_end;
> diff --git a/drivers/gpu/drm/i915/gt/intel_region_lmem.h b/drivers/gpu/drm/i915/gt/intel_region_lmem.h
> index 8ea43e538dab..a4baa0f077a1 100644
> --- a/drivers/gpu/drm/i915/gt/intel_region_lmem.h
> +++ b/drivers/gpu/drm/i915/gt/intel_region_lmem.h
> @@ -6,9 +6,9 @@
>  #ifndef __INTEL_REGION_LMEM_H
>  #define __INTEL_REGION_LMEM_H
>  
> -struct drm_i915_private;
> +struct intel_gt;
>  
>  struct intel_memory_region *
> -intel_setup_fake_lmem(struct drm_i915_private *i915);
> +intel_gt_setup_fake_lmem(struct intel_gt *gt);
>  
>  #endif /* !__INTEL_REGION_LMEM_H */
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index 0037b81d991e..7915d0dc7e16 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -574,6 +574,10 @@ static int i915_driver_hw_probe(struct drm_i915_private *dev_priv)
>         if (ret)
>                 goto err_ggtt;
>  
> +       ret = intel_gt_probe_lmem(&dev_priv->gt);
> +       if (ret)
> +               goto err_mem_regions;
> +
>         intel_gt_init_hw_early(&dev_priv->gt, &dev_priv->ggtt);

^^^ save typing later
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [Intel-gfx] [PATCH v2 1/8] drm/i915: make local-memory probing a GT operation
  2021-01-26 15:12 [Intel-gfx] [PATCH v2 1/8] drm/i915: make local-memory probing a GT operation Matthew Auld
                   ` (7 preceding siblings ...)
  2021-01-26 15:16 ` [Intel-gfx] [PATCH v2 1/8] drm/i915: make local-memory probing a GT operation Chris Wilson
@ 2021-01-26 15:22 ` Chris Wilson
  2021-01-26 15:28   ` Chris Wilson
  2021-01-26 19:59 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [v2,1/8] " Patchwork
                   ` (2 subsequent siblings)
  11 siblings, 1 reply; 20+ messages in thread
From: Chris Wilson @ 2021-01-26 15:22 UTC (permalink / raw)
  To: Matthew Auld, intel-gfx

Quoting Matthew Auld (2021-01-26 15:12:52)
> Device local memory is very much a GT thing, therefore it should be the
> responsibility of the GT to setup the device local memory region.
> 
> Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
> ---
>  drivers/gpu/drm/i915/gt/intel_gt.c          | 29 +++++++++++++++++++++
>  drivers/gpu/drm/i915/gt/intel_gt.h          |  1 +
>  drivers/gpu/drm/i915/gt/intel_region_lmem.c |  3 ++-
>  drivers/gpu/drm/i915/gt/intel_region_lmem.h |  4 +--
>  drivers/gpu/drm/i915/i915_drv.c             |  4 +++
>  drivers/gpu/drm/i915/intel_memory_region.c  |  5 ++--
>  6 files changed, 40 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c b/drivers/gpu/drm/i915/gt/intel_gt.c
> index d8e1ab412634..989cd2106b09 100644
> --- a/drivers/gpu/drm/i915/gt/intel_gt.c
> +++ b/drivers/gpu/drm/i915/gt/intel_gt.c
> @@ -39,6 +39,35 @@ void intel_gt_init_early(struct intel_gt *gt, struct drm_i915_private *i915)
>         intel_uc_init_early(&gt->uc);
>  }
>  
> +int intel_gt_probe_lmem(struct intel_gt *gt)
> +{
> +       struct drm_i915_private *i915 = gt->i915;
> +       struct intel_memory_region *mem;
> +       int id;
> +       int err;
> +
> +       id = INTEL_REGION_LMEM;
> +       if (!HAS_REGION(i915, id))

GEM_WARN_ON() for CI checking?

Feels like something that should only be duplicated by programming
error, so worth the feedback.

> +               return 0;
> +
> +       mem = intel_gt_setup_fake_lmem(gt);
> +       if (IS_ERR(mem)) {
> +               err = PTR_ERR(mem);
> +               drm_err(&i915->drm,
> +                       "Failed to setup region(%d) type=%d\n",
> +                       err, INTEL_MEMORY_LOCAL);
> +               return err;
> +       }
> +
> +       mem->id = id;
> +       mem->type = INTEL_MEMORY_LOCAL;
> +       mem->instance = 0;
> +
> +       i915->mm.regions[id] = mem;
> +
> +       return 0;
> +}

> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index 0037b81d991e..7915d0dc7e16 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -574,6 +574,10 @@ static int i915_driver_hw_probe(struct drm_i915_private *dev_priv)
>         if (ret)
>                 goto err_ggtt;
>  
> +       ret = intel_gt_probe_lmem(&dev_priv->gt);
> +       if (ret)
> +               goto err_mem_regions;
> +
>         intel_gt_init_hw_early(&dev_priv->gt, &dev_priv->ggtt);

We also need hw_early first as that sets gt->i915 and friends.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [Intel-gfx] [PATCH v2 2/8] drm/i915: setup the LMEM region
  2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 2/8] drm/i915: setup the LMEM region Matthew Auld
@ 2021-01-26 15:26   ` Chris Wilson
  0 siblings, 0 replies; 20+ messages in thread
From: Chris Wilson @ 2021-01-26 15:26 UTC (permalink / raw)
  To: Matthew Auld, intel-gfx; +Cc: Jani Nikula, Lucas De Marchi

Quoting Matthew Auld (2021-01-26 15:12:53)
> Hook up the LMEM region. Addresses will start from zero, and for CPU
> access we get LMEM_BAR which is just a 1:1 mapping of said region.
> 
> Based on a patch from Michel Thierry.
> 
> v2 by Jani:
> - use intel_uncore_read/intel_uncore_write
> - remove trailing blank line
> 
> v3: s/drm_info/drm_dbg for info which in non-pertinent for the user
> 
> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
>  drivers/gpu/drm/i915/gt/intel_gt.c          | 12 ++++++--
>  drivers/gpu/drm/i915/gt/intel_region_lmem.c | 32 +++++++++++++++++++++
>  drivers/gpu/drm/i915/gt/intel_region_lmem.h |  2 ++
>  3 files changed, 44 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c b/drivers/gpu/drm/i915/gt/intel_gt.c
> index 989cd2106b09..78866e766989 100644
> --- a/drivers/gpu/drm/i915/gt/intel_gt.c
> +++ b/drivers/gpu/drm/i915/gt/intel_gt.c
> @@ -42,7 +42,7 @@ void intel_gt_init_early(struct intel_gt *gt, struct drm_i915_private *i915)
>  int intel_gt_probe_lmem(struct intel_gt *gt)
>  {
>         struct drm_i915_private *i915 = gt->i915;
> -       struct intel_memory_region *mem;
> +       struct intel_memory_region *mem = ERR_PTR(-ENODEV);
>         int id;
>         int err;
>  
> @@ -50,7 +50,15 @@ int intel_gt_probe_lmem(struct intel_gt *gt)
>         if (!HAS_REGION(i915, id))
>                 return 0;
>  
> -       mem = intel_gt_setup_fake_lmem(gt);
> +#if IS_ENABLED(CONFIG_DRM_I915_SELFTEST)
> +       if (IS_ENABLED(CONFIG_DRM_I915_UNSTABLE_FAKE_LMEM)) {
> +               if (INTEL_GEN(i915) >= 9 && i915_selftest.live < 0 &&
> +                   i915->params.fake_lmem_start)
> +                       mem = intel_gt_setup_fake_lmem(gt);
> +       }
> +#endif
> +       if (IS_ERR(mem))
> +               mem = intel_gt_setup_lmem(gt);

You would rather have fake lmem over real. (Not that two should be able
to co-exist.) Just the semantics of the ordering looks odd.

I would have gone

	mem = intel_gt_setup_lmem(gt);
	if (mem == PTR_ERR(-ENODEV))
		mem = intel_gt_setup_fake_lmem(gt);

>         if (IS_ERR(mem)) {
>                 err = PTR_ERR(mem);
>                 drm_err(&i915->drm,
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [Intel-gfx] [PATCH v2 1/8] drm/i915: make local-memory probing a GT operation
  2021-01-26 15:22 ` Chris Wilson
@ 2021-01-26 15:28   ` Chris Wilson
  0 siblings, 0 replies; 20+ messages in thread
From: Chris Wilson @ 2021-01-26 15:28 UTC (permalink / raw)
  To: Matthew Auld, intel-gfx

Quoting Chris Wilson (2021-01-26 15:22:15)
> Quoting Matthew Auld (2021-01-26 15:12:52)
> > Device local memory is very much a GT thing, therefore it should be the
> > responsibility of the GT to setup the device local memory region.
> > 
> > Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
> > Signed-off-by: Matthew Auld <matthew.auld@intel.com>
> > ---
> >  drivers/gpu/drm/i915/gt/intel_gt.c          | 29 +++++++++++++++++++++
> >  drivers/gpu/drm/i915/gt/intel_gt.h          |  1 +
> >  drivers/gpu/drm/i915/gt/intel_region_lmem.c |  3 ++-
> >  drivers/gpu/drm/i915/gt/intel_region_lmem.h |  4 +--
> >  drivers/gpu/drm/i915/i915_drv.c             |  4 +++
> >  drivers/gpu/drm/i915/intel_memory_region.c  |  5 ++--
> >  6 files changed, 40 insertions(+), 6 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c b/drivers/gpu/drm/i915/gt/intel_gt.c
> > index d8e1ab412634..989cd2106b09 100644
> > --- a/drivers/gpu/drm/i915/gt/intel_gt.c
> > +++ b/drivers/gpu/drm/i915/gt/intel_gt.c
> > @@ -39,6 +39,35 @@ void intel_gt_init_early(struct intel_gt *gt, struct drm_i915_private *i915)
> >         intel_uc_init_early(&gt->uc);
> >  }
> >  
> > +int intel_gt_probe_lmem(struct intel_gt *gt)
> > +{
> > +       struct drm_i915_private *i915 = gt->i915;
> > +       struct intel_memory_region *mem;
> > +       int id;
> > +       int err;
> > +
> > +       id = INTEL_REGION_LMEM;
> > +       if (!HAS_REGION(i915, id))
> 
> GEM_WARN_ON() for CI checking?
> 
> Feels like something that should only be duplicated by programming
> error, so worth the feedback.

Wait this is !HAS_REGION(). That's even odder.

Surely that we have a region is defined first by HW then by mockery. So
the platform mask check is not required at this point.

What we don't want to do is overwrite an existing i915->mm.regions[id].
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [Intel-gfx] [PATCH v2 3/8] drm/i915: reserve stolen for LMEM region
  2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 3/8] drm/i915: reserve stolen for " Matthew Auld
@ 2021-01-26 15:31   ` Chris Wilson
  0 siblings, 0 replies; 20+ messages in thread
From: Chris Wilson @ 2021-01-26 15:31 UTC (permalink / raw)
  To: Matthew Auld, intel-gfx

Quoting Matthew Auld (2021-01-26 15:12:54)
> From: CQ Tang <cq.tang@intel.com>
> 
> The lmem region needs to remove the stolen part, which should just be a
> case of snipping it off the end.
> 
> Signed-off-by: CQ Tang <cq.tang@intel.com>
> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
> ---
>  drivers/gpu/drm/i915/gt/intel_region_lmem.c | 12 ++++++++----
>  drivers/gpu/drm/i915/i915_reg.h             |  2 ++
>  2 files changed, 10 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_region_lmem.c b/drivers/gpu/drm/i915/gt/intel_region_lmem.c
> index b676dc67dc2a..4da808e35ecb 100644
> --- a/drivers/gpu/drm/i915/gt/intel_region_lmem.c
> +++ b/drivers/gpu/drm/i915/gt/intel_region_lmem.c
> @@ -141,17 +141,20 @@ intel_gt_setup_fake_lmem(struct intel_gt *gt)
>  static struct intel_memory_region *setup_lmem(struct intel_gt *gt)
>  {
>         struct drm_i915_private *i915 = gt->i915;
> +       struct intel_uncore *uncore = &i915->uncore;

gt->uncore

(See the plan is starting to come together!)

>         struct pci_dev *pdev = i915->drm.pdev;
>         struct intel_memory_region *mem;
>         resource_size_t io_start;
> -       resource_size_t size;
> +       resource_size_t lmem_size;
> +
> +       /* Stolen starts from GSMBASE on DG1 */
> +       lmem_size = intel_uncore_read64(uncore, GEN12_GSMBASE);
>  
>         io_start = pci_resource_start(pdev, 2);
> -       size = pci_resource_len(pdev, 2);

Trust nobody, certainly not the HW. Check that lmem_size is < size.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [Intel-gfx] [PATCH v2 4/8] drm/i915: introduce mem->reserved
  2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 4/8] drm/i915: introduce mem->reserved Matthew Auld
@ 2021-01-26 15:35   ` Chris Wilson
  0 siblings, 0 replies; 20+ messages in thread
From: Chris Wilson @ 2021-01-26 15:35 UTC (permalink / raw)
  To: Matthew Auld, intel-gfx; +Cc: Abdiel Janulgue

Quoting Matthew Auld (2021-01-26 15:12:55)
> From: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
> 
> In the following patch we need to reserve regions unaccessible to the
> driver during initialization, so add mem->reserved for collecting such
> regions.
> 
> Cc: Imre Deak <imre.deak@intel.com>
> Signed-off-by: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_memory_region.c    |  2 +
>  drivers/gpu/drm/i915/intel_memory_region.h    |  2 +
>  .../drm/i915/selftests/intel_memory_region.c  | 89 +++++++++++++++++++
>  3 files changed, 93 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_memory_region.c b/drivers/gpu/drm/i915/intel_memory_region.c
> index b1b610bfff09..803a414c9523 100644
> --- a/drivers/gpu/drm/i915/intel_memory_region.c
> +++ b/drivers/gpu/drm/i915/intel_memory_region.c
> @@ -156,6 +156,7 @@ int intel_memory_region_init_buddy(struct intel_memory_region *mem)
>  
>  void intel_memory_region_release_buddy(struct intel_memory_region *mem)
>  {
> +       i915_buddy_free_list(&mem->mm, &mem->reserved);
>         i915_buddy_fini(&mem->mm);
>  }
>  
> @@ -185,6 +186,7 @@ intel_memory_region_create(struct drm_i915_private *i915,
>         mutex_init(&mem->objects.lock);
>         INIT_LIST_HEAD(&mem->objects.list);
>         INIT_LIST_HEAD(&mem->objects.purgeable);
> +       INIT_LIST_HEAD(&mem->reserved);
>  
>         mutex_init(&mem->mm_lock);
>  
> diff --git a/drivers/gpu/drm/i915/intel_memory_region.h b/drivers/gpu/drm/i915/intel_memory_region.h
> index 6ffc0673f005..8c9947bba3e8 100644
> --- a/drivers/gpu/drm/i915/intel_memory_region.h
> +++ b/drivers/gpu/drm/i915/intel_memory_region.h
> @@ -89,6 +89,8 @@ struct intel_memory_region {
>         unsigned int id;
>         char name[8];
>  
> +       struct list_head reserved;

So you added this, but this is not exercised by the selftest either.

I think you want to complete the API with
intel_memory_region_reserve(mem, start, size/end)

And then inspect the mem->reserved rather than the local list.

Presumably check the mem->reserved is empty on entry, and then it's
safe to call i915_buddy_free_list(&mem->mm, &mem->reserved) directly.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [Intel-gfx] [PATCH v2 5/8] drm/i915/dg1: Reserve first 1MB of local memory
  2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 5/8] drm/i915/dg1: Reserve first 1MB of local memory Matthew Auld
@ 2021-01-26 15:39   ` Chris Wilson
  0 siblings, 0 replies; 20+ messages in thread
From: Chris Wilson @ 2021-01-26 15:39 UTC (permalink / raw)
  To: Matthew Auld, intel-gfx

Quoting Matthew Auld (2021-01-26 15:12:56)
> From: Imre Deak <imre.deak@intel.com>
> 
> On DG1 A0/B0 steppings the first 1MB of local memory must be reserved.
> One reason for this is that the 0xA0000-0xB0000 range is not accessible
> by the display, probably since this region is redirected to another
> memory location for legacy VGA compatibility.
> 
> BSpec: 50586
> Testcase: igt/kms_big_fb/linear-64bpp-rotate-0
> 
> v2:
> - Reserve the memory on B0 as well.
> 
> v3: replace DRM_DEBUG/DRM_ERROR with drm_dbg/drm_err
> 
> Signed-off-by: Imre Deak <imre.deak@intel.com>
> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
> ---
>  drivers/gpu/drm/i915/gt/intel_region_lmem.c | 52 +++++++++++++++++++++
>  1 file changed, 52 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_region_lmem.c b/drivers/gpu/drm/i915/gt/intel_region_lmem.c
> index 4da808e35ecb..3b66221abe01 100644
> --- a/drivers/gpu/drm/i915/gt/intel_region_lmem.c
> +++ b/drivers/gpu/drm/i915/gt/intel_region_lmem.c
> @@ -138,6 +138,48 @@ intel_gt_setup_fake_lmem(struct intel_gt *gt)
>         return mem;
>  }
>  
> +static void get_legacy_lowmem_region(struct intel_uncore *uncore,
> +                                    u64 *start, u32 *size)
> +{
> +       *start = 0;
> +       *size = 0;
> +
> +       if (!IS_DG1_REVID(uncore->i915, DG1_REVID_A0, DG1_REVID_B0))
> +               return;
> +
> +       *size = SZ_1M;
> +
> +       drm_dbg(&uncore->i915->drm, "LMEM: reserved legacy low-memory [0x%llx-0x%llx]\n",
> +               *start, *start + *size);
> +}
> +
> +static int reserve_lowmem_region(struct intel_uncore *uncore,
> +                                struct intel_memory_region *mem)
> +{
> +       u64 reserve_start;
> +       u64 reserve_end;
> +       u64 region_start;
> +       u32 region_size;
> +       int ret;
> +
> +       get_legacy_lowmem_region(uncore, &region_start, &region_size);
> +       reserve_start = region_start;
> +       reserve_end = region_start + region_size;

I'll bite. Why the impedance mismatch with a function introduced for
exactly this purpose?

if (!legacy_lowmem_region(uncore, &start, &end))
	return 0;

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

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

* Re: [Intel-gfx] [PATCH v2 6/8] drm/i915: allocate context from LMEM
  2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 6/8] drm/i915: allocate context from LMEM Matthew Auld
@ 2021-01-26 15:40   ` Chris Wilson
  0 siblings, 0 replies; 20+ messages in thread
From: Chris Wilson @ 2021-01-26 15:40 UTC (permalink / raw)
  To: Matthew Auld, intel-gfx

Quoting Matthew Auld (2021-01-26 15:12:57)
> Prefer allocating the context from LMEM on dgfx.
> 
> Based on a patch from Michel Thierry.
> 
> v2: flatten the chain
> 
> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [Intel-gfx] [PATCH v2 8/8] drm/i915: allocate cmd ring in lmem
  2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 8/8] drm/i915: allocate cmd ring in lmem Matthew Auld
@ 2021-01-26 15:41   ` Chris Wilson
  0 siblings, 0 replies; 20+ messages in thread
From: Chris Wilson @ 2021-01-26 15:41 UTC (permalink / raw)
  To: Matthew Auld, intel-gfx; +Cc: Michel Thierry

Quoting Matthew Auld (2021-01-26 15:12:59)
> From: Michel Thierry <michel.thierry@intel.com>
> 
> Prefer allocating the cmd ring from LMEM on dgfx.
> 
> Signed-off-by: Michel Thierry <michel.thierry@intel.com>
> Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [v2,1/8] drm/i915: make local-memory probing a GT operation
  2021-01-26 15:12 [Intel-gfx] [PATCH v2 1/8] drm/i915: make local-memory probing a GT operation Matthew Auld
                   ` (8 preceding siblings ...)
  2021-01-26 15:22 ` Chris Wilson
@ 2021-01-26 19:59 ` Patchwork
  2021-01-26 20:01 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
  2021-01-26 20:16 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
  11 siblings, 0 replies; 20+ messages in thread
From: Patchwork @ 2021-01-26 19:59 UTC (permalink / raw)
  To: Matthew Auld; +Cc: intel-gfx

== Series Details ==

Series: series starting with [v2,1/8] drm/i915: make local-memory probing a GT operation
URL   : https://patchwork.freedesktop.org/series/86302/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
4f36bd19aa5a drm/i915: make local-memory probing a GT operation
593235259519 drm/i915: setup the LMEM region
f029688cf4c2 drm/i915: reserve stolen for LMEM region
9ada9ccfa20b drm/i915: introduce mem->reserved
-:75: WARNING:LINE_SPACING: Missing a blank line after declarations
#75: FILE: drivers/gpu/drm/i915/selftests/intel_memory_region.c:167:
+	resource_size_t avail = resource_size(&mem->region);
+	I915_RND_STATE(prng);

total: 0 errors, 1 warnings, 0 checks, 123 lines checked
4c99ba37b47c drm/i915/dg1: Reserve first 1MB of local memory
8129c8335a23 drm/i915: allocate context from LMEM
497696b8f294 drm/i915: move engine scratch to LMEM
950c2dcb8f80 drm/i915: allocate cmd ring in lmem


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

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

* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [v2,1/8] drm/i915: make local-memory probing a GT operation
  2021-01-26 15:12 [Intel-gfx] [PATCH v2 1/8] drm/i915: make local-memory probing a GT operation Matthew Auld
                   ` (9 preceding siblings ...)
  2021-01-26 19:59 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [v2,1/8] " Patchwork
@ 2021-01-26 20:01 ` Patchwork
  2021-01-26 20:16 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
  11 siblings, 0 replies; 20+ messages in thread
From: Patchwork @ 2021-01-26 20:01 UTC (permalink / raw)
  To: Matthew Auld; +Cc: intel-gfx

== Series Details ==

Series: series starting with [v2,1/8] drm/i915: make local-memory probing a GT operation
URL   : https://patchwork.freedesktop.org/series/86302/
State : warning

== Summary ==

$ dim sparse --fast origin/drm-tip
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.
-
+drivers/gpu/drm/i915/gt/intel_engine_stats.h:27:9: warning: trying to copy expression type 31
+drivers/gpu/drm/i915/gt/intel_engine_stats.h:27:9: warning: trying to copy expression type 31
+drivers/gpu/drm/i915/gt/intel_engine_stats.h:27:9: warning: trying to copy expression type 31
+drivers/gpu/drm/i915/gt/intel_engine_stats.h:32:9: warning: trying to copy expression type 31
+drivers/gpu/drm/i915/gt/intel_engine_stats.h:32:9: warning: trying to copy expression type 31
+drivers/gpu/drm/i915/gt/intel_engine_stats.h:49:9: warning: trying to copy expression type 31
+drivers/gpu/drm/i915/gt/intel_engine_stats.h:49:9: warning: trying to copy expression type 31
+drivers/gpu/drm/i915/gt/intel_engine_stats.h:49:9: warning: trying to copy expression type 31
+drivers/gpu/drm/i915/gt/intel_engine_stats.h:56:9: warning: trying to copy expression type 31
+drivers/gpu/drm/i915/gt/intel_engine_stats.h:56:9: warning: trying to copy expression type 31
+drivers/gpu/drm/i915/gt/intel_reset.c:1327:5: warning: context imbalance in 'intel_gt_reset_trylock' - different lock contexts for basic block
+drivers/gpu/drm/i915/gvt/mmio.c:295:23: warning: memcpy with byte count of 279040
+drivers/gpu/drm/i915/i915_perf.c:1450:15: warning: memset with byte count of 16777216
+drivers/gpu/drm/i915/i915_perf.c:1504:15: warning: memset with byte count of 16777216
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_read16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_read32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_read64' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_read8' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_write16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_write32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'fwtable_write8' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_read16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_read32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_read64' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_read8' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_write16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_write32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen11_fwtable_write8' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_read16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_read32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_read64' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_read8' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_write16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_write32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen12_fwtable_write8' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_read16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_read32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_read64' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_read8' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_write16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_write32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen6_write8' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen8_write16' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen8_write32' - different lock contexts for basic block
+./include/linux/spinlock.h:409:9: warning: context imbalance in 'gen8_write8' - different lock contexts for basic block


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

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

* [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [v2,1/8] drm/i915: make local-memory probing a GT operation
  2021-01-26 15:12 [Intel-gfx] [PATCH v2 1/8] drm/i915: make local-memory probing a GT operation Matthew Auld
                   ` (10 preceding siblings ...)
  2021-01-26 20:01 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
@ 2021-01-26 20:16 ` Patchwork
  11 siblings, 0 replies; 20+ messages in thread
From: Patchwork @ 2021-01-26 20:16 UTC (permalink / raw)
  To: Matthew Auld; +Cc: intel-gfx


[-- Attachment #1.1: Type: text/plain, Size: 30303 bytes --]

== Series Details ==

Series: series starting with [v2,1/8] drm/i915: make local-memory probing a GT operation
URL   : https://patchwork.freedesktop.org/series/86302/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_9684 -> Patchwork_19505
====================================================

Summary
-------

  **FAILURE**

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

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

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

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

### CI changes ###

#### Possible regressions ####

  * boot:
    - fi-cfl-8109u:       [PASS][1] -> [FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-cfl-8109u/boot.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-cfl-8109u/boot.html
    - fi-elk-e7500:       [PASS][3] -> [FAIL][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-elk-e7500/boot.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-elk-e7500/boot.html

  

### IGT changes ###

#### Possible regressions ####

  * igt@core_hotunplug@unbind-rebind:
    - fi-tgl-u2:          [PASS][5] -> [SKIP][6] +2 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-tgl-u2/igt@core_hotunplug@unbind-rebind.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-tgl-u2/igt@core_hotunplug@unbind-rebind.html

  * igt@i915_module_load@reload:
    - fi-icl-u2:          [PASS][7] -> [INCOMPLETE][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-icl-u2/igt@i915_module_load@reload.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-icl-u2/igt@i915_module_load@reload.html
    - fi-kbl-r:           [PASS][9] -> [INCOMPLETE][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-kbl-r/igt@i915_module_load@reload.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-kbl-r/igt@i915_module_load@reload.html
    - fi-tgl-u2:          [PASS][11] -> [INCOMPLETE][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-tgl-u2/igt@i915_module_load@reload.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-tgl-u2/igt@i915_module_load@reload.html
    - fi-icl-y:           [PASS][13] -> [INCOMPLETE][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-icl-y/igt@i915_module_load@reload.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-icl-y/igt@i915_module_load@reload.html

  * igt@i915_selftest@live@gt_heartbeat:
    - fi-pnv-d510:        [PASS][15] -> [DMESG-FAIL][16] +32 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-pnv-d510/igt@i915_selftest@live@gt_heartbeat.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-pnv-d510/igt@i915_selftest@live@gt_heartbeat.html

  * igt@i915_selftest@live@gtt:
    - fi-bdw-gvtdvm:      NOTRUN -> [DMESG-FAIL][17] +32 similar issues
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-bdw-gvtdvm/igt@i915_selftest@live@gtt.html

  * igt@kms_addfb_basic@addfb25-bad-modifier:
    - fi-icl-y:           [PASS][18] -> [SKIP][19] +62 similar issues
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-icl-y/igt@kms_addfb_basic@addfb25-bad-modifier.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-icl-y/igt@kms_addfb_basic@addfb25-bad-modifier.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-icl-u2:          [PASS][20] -> [SKIP][21] +69 similar issues
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-icl-u2/igt@kms_chamelium@hdmi-hpd-fast.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-icl-u2/igt@kms_chamelium@hdmi-hpd-fast.html

  * igt@kms_flip@basic-flip-vs-modeset:
    - fi-icl-y:           NOTRUN -> [SKIP][22] +3 similar issues
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-icl-y/igt@kms_flip@basic-flip-vs-modeset.html

  * igt@kms_flip@basic-plain-flip:
    - fi-icl-u2:          NOTRUN -> [SKIP][23] +3 similar issues
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-icl-u2/igt@kms_flip@basic-plain-flip.html

  * igt@runner@aborted:
    - fi-bsw-kefka:       NOTRUN -> [FAIL][24]
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-bsw-kefka/igt@runner@aborted.html
    - fi-tgl-y:           NOTRUN -> [FAIL][25]
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-tgl-y/igt@runner@aborted.html
    - fi-bsw-nick:        NOTRUN -> [FAIL][26]
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-bsw-nick/igt@runner@aborted.html
    - fi-snb-2520m:       NOTRUN -> [FAIL][27]
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-snb-2520m/igt@runner@aborted.html
    - fi-ivb-3770:        NOTRUN -> [FAIL][28]
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-ivb-3770/igt@runner@aborted.html
    - fi-bsw-n3050:       NOTRUN -> [FAIL][29]
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-bsw-n3050/igt@runner@aborted.html

  
#### Warnings ####

  * igt@kms_chamelium@dp-crc-fast:
    - fi-icl-y:           [SKIP][30] ([fdo#109284] / [fdo#111827]) -> [SKIP][31] +8 similar issues
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-icl-y/igt@kms_chamelium@dp-crc-fast.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-icl-y/igt@kms_chamelium@dp-crc-fast.html

  * igt@kms_chamelium@vga-edid-read:
    - fi-icl-u2:          [SKIP][32] ([fdo#109309]) -> [SKIP][33] +1 similar issue
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-icl-u2/igt@kms_chamelium@vga-edid-read.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-icl-u2/igt@kms_chamelium@vga-edid-read.html

  
#### Suppressed ####

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

  * igt@i915_module_load@reload:
    - {fi-ehl-1}:         [PASS][34] -> [INCOMPLETE][35]
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-ehl-1/igt@i915_module_load@reload.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-ehl-1/igt@i915_module_load@reload.html
    - {fi-rkl-11500t}:    [PASS][36] -> [INCOMPLETE][37]
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-rkl-11500t/igt@i915_module_load@reload.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-rkl-11500t/igt@i915_module_load@reload.html

  * igt@i915_pm_rpm@basic-rte:
    - {fi-ehl-1}:         [PASS][38] -> [SKIP][39] +67 similar issues
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-ehl-1/igt@i915_pm_rpm@basic-rte.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-ehl-1/igt@i915_pm_rpm@basic-rte.html

  * igt@kms_chamelium@common-hpd-after-suspend:
    - {fi-rkl-11500t}:    [SKIP][40] ([fdo#111827]) -> [SKIP][41] +8 similar issues
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-rkl-11500t/igt@kms_chamelium@common-hpd-after-suspend.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-rkl-11500t/igt@kms_chamelium@common-hpd-after-suspend.html

  * igt@kms_chamelium@dp-edid-read:
    - {fi-ehl-1}:         [SKIP][42] ([fdo#109284] / [fdo#111827]) -> [SKIP][43] +8 similar issues
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-ehl-1/igt@kms_chamelium@dp-edid-read.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-ehl-1/igt@kms_chamelium@dp-edid-read.html

  * igt@kms_flip@basic-flip-vs-wf_vblank:
    - {fi-rkl-11500t}:    NOTRUN -> [SKIP][44] +3 similar issues
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-rkl-11500t/igt@kms_flip@basic-flip-vs-wf_vblank.html

  * igt@kms_flip@basic-plain-flip:
    - {fi-ehl-1}:         NOTRUN -> [SKIP][45] +3 similar issues
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-ehl-1/igt@kms_flip@basic-plain-flip.html

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d:
    - {fi-rkl-11500t}:    [SKIP][46] ([i915#533]) -> [SKIP][47]
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-rkl-11500t/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-rkl-11500t/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html

  * igt@runner@aborted:
    - {fi-tgl-dsi}:       [FAIL][48] ([i915#3001]) -> [FAIL][49]
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-tgl-dsi/igt@runner@aborted.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-tgl-dsi/igt@runner@aborted.html

  * igt@vgem_basic@dmabuf-export:
    - {fi-rkl-11500t}:    [PASS][50] -> [SKIP][51] +67 similar issues
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-rkl-11500t/igt@vgem_basic@dmabuf-export.html
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-rkl-11500t/igt@vgem_basic@dmabuf-export.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@core_auth@basic-auth:
    - fi-kbl-r:           [PASS][52] -> [SKIP][53] ([fdo#109271]) +123 similar issues
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-kbl-r/igt@core_auth@basic-auth.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-kbl-r/igt@core_auth@basic-auth.html
    - fi-tgl-y:           [PASS][54] -> [SKIP][55] ([i915#2575])
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-tgl-y/igt@core_auth@basic-auth.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-tgl-y/igt@core_auth@basic-auth.html

  * igt@fbdev@eof:
    - fi-tgl-y:           [PASS][56] -> [SKIP][57] ([i915#2582])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-tgl-y/igt@fbdev@eof.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-tgl-y/igt@fbdev@eof.html

  * igt@fbdev@nullptr:
    - fi-icl-y:           [PASS][58] -> [SKIP][59] ([i915#2582]) +4 similar issues
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-icl-y/igt@fbdev@nullptr.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-icl-y/igt@fbdev@nullptr.html

  * igt@fbdev@write:
    - fi-tgl-u2:          [PASS][60] -> [SKIP][61] ([i915#2582]) +4 similar issues
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-tgl-u2/igt@fbdev@write.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-tgl-u2/igt@fbdev@write.html
    - fi-icl-u2:          [PASS][62] -> [SKIP][63] ([i915#2582]) +4 similar issues
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-icl-u2/igt@fbdev@write.html
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-icl-u2/igt@fbdev@write.html

  * igt@gem_basic@bad-close:
    - fi-bsw-nick:        [PASS][64] -> [SKIP][65] ([fdo#109271]) +8 similar issues
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-bsw-nick/igt@gem_basic@bad-close.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-bsw-nick/igt@gem_basic@bad-close.html

  * igt@gem_basic@create-close:
    - fi-bxt-dsi:         [PASS][66] -> [SKIP][67] ([fdo#109271]) +68 similar issues
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-bxt-dsi/igt@gem_basic@create-close.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-bxt-dsi/igt@gem_basic@create-close.html

  * igt@gem_busy@busy:
    - fi-bsw-nick:        NOTRUN -> [SKIP][68] ([fdo#109271])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-bsw-nick/igt@gem_busy@busy.html

  * igt@gem_close_race@basic-process:
    - fi-tgl-u2:          [PASS][69] -> [SKIP][70] ([fdo#109315] / [i915#2575]) +55 similar issues
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-tgl-u2/igt@gem_close_race@basic-process.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-tgl-u2/igt@gem_close_race@basic-process.html
    - fi-bdw-gvtdvm:      [PASS][71] -> [SKIP][72] ([fdo#109271]) +11 similar issues
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-bdw-gvtdvm/igt@gem_close_race@basic-process.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-bdw-gvtdvm/igt@gem_close_race@basic-process.html

  * igt@gem_exec_fence@basic-wait:
    - fi-bdw-gvtdvm:      NOTRUN -> [SKIP][73] ([fdo#109271]) +149 similar issues
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-bdw-gvtdvm/igt@gem_exec_fence@basic-wait.html
    - fi-icl-y:           NOTRUN -> [SKIP][74] ([fdo#109315]) +9 similar issues
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-icl-y/igt@gem_exec_fence@basic-wait.html
    - fi-tgl-u2:          NOTRUN -> [SKIP][75] ([fdo#109315] / [i915#2575]) +9 similar issues
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-tgl-u2/igt@gem_exec_fence@basic-wait.html
    - fi-bxt-dsi:         NOTRUN -> [SKIP][76] ([fdo#109271]) +8 similar issues
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-bxt-dsi/igt@gem_exec_fence@basic-wait.html

  * igt@gem_tiled_fence_blits@basic:
    - fi-apl-guc:         [PASS][77] -> [SKIP][78] ([fdo#109271]) +38 similar issues
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-apl-guc/igt@gem_tiled_fence_blits@basic.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-apl-guc/igt@gem_tiled_fence_blits@basic.html

  * igt@gem_wait@wait:
    - fi-kbl-r:           NOTRUN -> [SKIP][79] ([fdo#109271]) +13 similar issues
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-kbl-r/igt@gem_wait@wait.html

  * igt@kms_addfb_basic@addfb25-y-tiled-legacy:
    - fi-apl-guc:         NOTRUN -> [SKIP][80] ([fdo#109271]) +35 similar issues
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-apl-guc/igt@kms_addfb_basic@addfb25-y-tiled-legacy.html

  * igt@kms_busy@basic:
    - fi-icl-u2:          NOTRUN -> [SKIP][81] ([fdo#109315]) +9 similar issues
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-icl-u2/igt@kms_busy@basic.html

  * igt@kms_flip@basic-flip-vs-dpms:
    - fi-ilk-650:         NOTRUN -> [SKIP][82] ([fdo#109271]) +13 similar issues
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-ilk-650/igt@kms_flip@basic-flip-vs-dpms.html
    - fi-pnv-d510:        NOTRUN -> [SKIP][83] ([fdo#109271]) +13 similar issues
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-pnv-d510/igt@kms_flip@basic-flip-vs-dpms.html

  * igt@kms_flip@basic-plain-flip:
    - fi-tgl-u2:          NOTRUN -> [SKIP][84] ([i915#2575]) +3 similar issues
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-tgl-u2/igt@kms_flip@basic-plain-flip.html

  * igt@kms_force_connector_basic@force-edid:
    - fi-icl-y:           [PASS][85] -> [SKIP][86] ([fdo#109315]) +51 similar issues
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-icl-y/igt@kms_force_connector_basic@force-edid.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-icl-y/igt@kms_force_connector_basic@force-edid.html

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-a:
    - fi-ilk-650:         [PASS][87] -> [SKIP][88] ([fdo#109271]) +92 similar issues
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-ilk-650/igt@kms_pipe_crc_basic@hang-read-crc-pipe-a.html
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-ilk-650/igt@kms_pipe_crc_basic@hang-read-crc-pipe-a.html

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a:
    - fi-tgl-u2:          [PASS][89] -> [SKIP][90] ([i915#2575]) +60 similar issues
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-tgl-u2/igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-tgl-u2/igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a.html

  * igt@prime_self_import@basic-with_one_bo:
    - fi-icl-u2:          [PASS][91] -> [SKIP][92] ([fdo#109315]) +55 similar issues
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-icl-u2/igt@prime_self_import@basic-with_one_bo.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-icl-u2/igt@prime_self_import@basic-with_one_bo.html

  * igt@prime_vgem@basic-userptr:
    - fi-pnv-d510:        [PASS][93] -> [SKIP][94] ([fdo#109271]) +106 similar issues
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-pnv-d510/igt@prime_vgem@basic-userptr.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-pnv-d510/igt@prime_vgem@basic-userptr.html

  * igt@runner@aborted:
    - fi-ilk-650:         NOTRUN -> [FAIL][95] ([fdo#109271])
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-ilk-650/igt@runner@aborted.html
    - fi-kbl-x1275:       NOTRUN -> [FAIL][96] ([i915#1569] / [i915#192] / [i915#193] / [i915#194] / [i915#2295])
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-kbl-x1275/igt@runner@aborted.html
    - fi-cfl-8700k:       NOTRUN -> [FAIL][97] ([i915#2295] / [k.org#202107] / [k.org#202109])
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-cfl-8700k/igt@runner@aborted.html
    - fi-skl-6600u:       NOTRUN -> [FAIL][98] ([i915#2295])
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-skl-6600u/igt@runner@aborted.html
    - fi-icl-u2:          NOTRUN -> [FAIL][99] ([i915#2292] / [i915#2295] / [i915#2724] / [k.org#204565])
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-icl-u2/igt@runner@aborted.html
    - fi-glk-dsi:         NOTRUN -> [FAIL][100] ([i915#2295] / [k.org#202321])
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-glk-dsi/igt@runner@aborted.html
    - fi-kbl-r:           NOTRUN -> [FAIL][101] ([i915#2292] / [i915#2295] / [k.org#204565])
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-kbl-r/igt@runner@aborted.html
    - fi-bdw-5557u:       NOTRUN -> [FAIL][102] ([i915#2369])
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-bdw-5557u/igt@runner@aborted.html
    - fi-kbl-soraka:      NOTRUN -> [FAIL][103] ([i915#1569] / [i915#192] / [i915#193] / [i915#194] / [i915#2295])
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-kbl-soraka/igt@runner@aborted.html
    - fi-hsw-4770:        NOTRUN -> [FAIL][104] ([i915#192] / [i915#193] / [i915#194] / [i915#2295] / [i915#2505])
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-hsw-4770/igt@runner@aborted.html
    - fi-kbl-7500u:       NOTRUN -> [FAIL][105] ([i915#1569] / [i915#192] / [i915#193] / [i915#194] / [i915#2295])
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-kbl-7500u/igt@runner@aborted.html
    - fi-kbl-guc:         NOTRUN -> [FAIL][106] ([i915#1569] / [i915#192] / [i915#193] / [i915#194] / [i915#2295])
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-kbl-guc/igt@runner@aborted.html
    - fi-snb-2600:        NOTRUN -> [FAIL][107] ([i915#698])
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-snb-2600/igt@runner@aborted.html
    - fi-cml-u2:          NOTRUN -> [FAIL][108] ([i915#2295])
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-cml-u2/igt@runner@aborted.html
    - fi-bxt-dsi:         NOTRUN -> [FAIL][109] ([i915#2295])
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-bxt-dsi/igt@runner@aborted.html
    - fi-byt-j1900:       NOTRUN -> [FAIL][110] ([i915#2505])
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-byt-j1900/igt@runner@aborted.html
    - fi-cml-s:           NOTRUN -> [FAIL][111] ([i915#2295])
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-cml-s/igt@runner@aborted.html
    - fi-cfl-guc:         NOTRUN -> [FAIL][112] ([i915#2295] / [k.org#202107] / [k.org#202109])
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-cfl-guc/igt@runner@aborted.html
    - fi-icl-y:           NOTRUN -> [FAIL][113] ([i915#2292] / [i915#2295] / [i915#2724] / [k.org#204565])
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-icl-y/igt@runner@aborted.html
    - fi-skl-guc:         NOTRUN -> [FAIL][114] ([i915#2295])
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-skl-guc/igt@runner@aborted.html
    - fi-skl-6700k2:      NOTRUN -> [FAIL][115] ([i915#2295])
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-skl-6700k2/igt@runner@aborted.html
    - fi-tgl-u2:          NOTRUN -> [FAIL][116] ([i915#2292] / [k.org#204565])
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-tgl-u2/igt@runner@aborted.html

  
#### Warnings ####

  * igt@debugfs_test@read_all_entries:
    - fi-tgl-y:           [DMESG-WARN][117] ([i915#402]) -> [SKIP][118] ([fdo#109315] / [i915#2575])
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-tgl-y/igt@debugfs_test@read_all_entries.html
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-tgl-y/igt@debugfs_test@read_all_entries.html

  * igt@gem_exec_suspend@basic-s0:
    - fi-bdw-gvtdvm:      [INCOMPLETE][119] ([i915#146]) -> [SKIP][120] ([fdo#109271])
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-bdw-gvtdvm/igt@gem_exec_suspend@basic-s0.html
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-bdw-gvtdvm/igt@gem_exec_suspend@basic-s0.html

  * igt@gem_huc_copy@huc-copy:
    - fi-tgl-u2:          [SKIP][121] ([i915#2190]) -> [SKIP][122] ([fdo#109315] / [i915#2575])
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-tgl-u2/igt@gem_huc_copy@huc-copy.html
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-tgl-u2/igt@gem_huc_copy@huc-copy.html
    - fi-kbl-r:           [SKIP][123] ([fdo#109271] / [i915#2190]) -> [SKIP][124] ([fdo#109271])
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-kbl-r/igt@gem_huc_copy@huc-copy.html
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-kbl-r/igt@gem_huc_copy@huc-copy.html
    - fi-icl-y:           [SKIP][125] ([i915#2190]) -> [SKIP][126] ([fdo#109315])
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-icl-y/igt@gem_huc_copy@huc-copy.html
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-icl-y/igt@gem_huc_copy@huc-copy.html
    - fi-bxt-dsi:         [SKIP][127] ([fdo#109271] / [i915#2190]) -> [SKIP][128] ([fdo#109271])
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-bxt-dsi/igt@gem_huc_copy@huc-copy.html
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-bxt-dsi/igt@gem_huc_copy@huc-copy.html
    - fi-icl-u2:          [SKIP][129] ([i915#2190]) -> [SKIP][130] ([fdo#109315])
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-icl-u2/igt@gem_huc_copy@huc-copy.html
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-icl-u2/igt@gem_huc_copy@huc-copy.html

  * igt@i915_hangman@error-state-basic:
    - fi-apl-guc:         [DMESG-WARN][131] ([i915#1610]) -> [SKIP][132] ([fdo#109271])
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-apl-guc/igt@i915_hangman@error-state-basic.html
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-apl-guc/igt@i915_hangman@error-state-basic.html

  * igt@kms_chamelium@dp-hpd-fast:
    - fi-ilk-650:         [SKIP][133] ([fdo#109271] / [fdo#111827]) -> [SKIP][134] ([fdo#109271]) +8 similar issues
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-ilk-650/igt@kms_chamelium@dp-hpd-fast.html
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-ilk-650/igt@kms_chamelium@dp-hpd-fast.html
    - fi-tgl-u2:          [SKIP][135] ([fdo#109284] / [fdo#111827]) -> [SKIP][136] ([i915#2575]) +8 similar issues
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-tgl-u2/igt@kms_chamelium@dp-hpd-fast.html
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-tgl-u2/igt@kms_chamelium@dp-hpd-fast.html

  * igt@kms_chamelium@hdmi-edid-read:
    - fi-kbl-r:           [SKIP][137] ([fdo#109271] / [fdo#111827]) -> [SKIP][138] ([fdo#109271]) +8 similar issues
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-kbl-r/igt@kms_chamelium@hdmi-edid-read.html
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-kbl-r/igt@kms_chamelium@hdmi-edid-read.html

  * igt@kms_force_connector_basic@force-load-detect:
    - fi-tgl-u2:          [SKIP][139] ([fdo#109285]) -> [SKIP][140] ([fdo#109315] / [i915#2575])
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-tgl-u2/igt@kms_force_connector_basic@force-load-detect.html
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-tgl-u2/igt@kms_force_connector_basic@force-load-detect.html
    - fi-icl-y:           [SKIP][141] ([fdo#109285]) -> [SKIP][142] ([fdo#109315])
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-icl-y/igt@kms_force_connector_basic@force-load-detect.html
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-icl-y/igt@kms_force_connector_basic@force-load-detect.html
    - fi-icl-u2:          [SKIP][143] ([fdo#109285]) -> [SKIP][144] ([fdo#109315])
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-icl-u2/igt@kms_force_connector_basic@force-load-detect.html
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-icl-u2/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d:
    - fi-kbl-r:           [SKIP][145] ([fdo#109271] / [i915#533]) -> [SKIP][146] ([fdo#109271])
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-kbl-r/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-kbl-r/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html

  * igt@kms_psr@primary_mmap_gtt:
    - fi-icl-y:           [SKIP][147] ([fdo#110189]) -> [SKIP][148] ([fdo#109315]) +3 similar issues
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-icl-y/igt@kms_psr@primary_mmap_gtt.html
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-icl-y/igt@kms_psr@primary_mmap_gtt.html

  * igt@runner@aborted:
    - fi-apl-guc:         [FAIL][149] ([i915#2426]) -> [FAIL][150] ([i915#2295])
   [149]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9684/fi-apl-guc/igt@runner@aborted.html
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/fi-apl-guc/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#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#146]: https://gitlab.freedesktop.org/drm/intel/issues/146
  [i915#1569]: https://gitlab.freedesktop.org/drm/intel/issues/1569
  [i915#1610]: https://gitlab.freedesktop.org/drm/intel/issues/1610
  [i915#192]: https://gitlab.freedesktop.org/drm/intel/issues/192
  [i915#193]: https://gitlab.freedesktop.org/drm/intel/issues/193
  [i915#194]: https://gitlab.freedesktop.org/drm/intel/issues/194
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2292]: https://gitlab.freedesktop.org/drm/intel/issues/2292
  [i915#2295]: https://gitlab.freedesktop.org/drm/intel/issues/2295
  [i915#2369]: https://gitlab.freedesktop.org/drm/intel/issues/2369
  [i915#2426]: https://gitlab.freedesktop.org/drm/intel/issues/2426
  [i915#2505]: https://gitlab.freedesktop.org/drm/intel/issues/2505
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
  [i915#2724]: https://gitlab.freedesktop.org/drm/intel/issues/2724
  [i915#3001]: https://gitlab.freedesktop.org/drm/intel/issues/3001
  [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#698]: https://gitlab.freedesktop.org/drm/intel/issues/698
  [k.org#202107]: https://bugzilla.kernel.org/show_bug.cgi?id=202107
  [k.org#202109]: https://bugzilla.kernel.org/show_bug.cgi?id=202109
  [k.org#202321]: https://bugzilla.kernel.org/show_bug.cgi?id=202321
  [k.org#204565]: https://bugzilla.kernel.org/show_bug.cgi?id=204565


Participating hosts (44 -> 39)
------------------------------

  Missing    (5): fi-jsl-1 fi-ilk-m540 fi-hsw-4200u fi-bsw-cyan fi-ctg-p8600 


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

  * Linux: CI_DRM_9684 -> Patchwork_19505

  CI-20190529: 20190529
  CI_DRM_9684: 53a183b40b798192f7211b05d550c8145d1397b5 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5972: 82fa6021821edb5d9609f4cce213920e0936d6f3 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_19505: 950c2dcb8f80453524f8d4b75d09e050b2d8fa5c @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

950c2dcb8f80 drm/i915: allocate cmd ring in lmem
497696b8f294 drm/i915: move engine scratch to LMEM
8129c8335a23 drm/i9

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19505/index.html

[-- Attachment #1.2: Type: text/html, Size: 39647 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

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

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

end of thread, other threads:[~2021-01-26 20:16 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-26 15:12 [Intel-gfx] [PATCH v2 1/8] drm/i915: make local-memory probing a GT operation Matthew Auld
2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 2/8] drm/i915: setup the LMEM region Matthew Auld
2021-01-26 15:26   ` Chris Wilson
2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 3/8] drm/i915: reserve stolen for " Matthew Auld
2021-01-26 15:31   ` Chris Wilson
2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 4/8] drm/i915: introduce mem->reserved Matthew Auld
2021-01-26 15:35   ` Chris Wilson
2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 5/8] drm/i915/dg1: Reserve first 1MB of local memory Matthew Auld
2021-01-26 15:39   ` Chris Wilson
2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 6/8] drm/i915: allocate context from LMEM Matthew Auld
2021-01-26 15:40   ` Chris Wilson
2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 7/8] drm/i915: move engine scratch to LMEM Matthew Auld
2021-01-26 15:12 ` [Intel-gfx] [PATCH v2 8/8] drm/i915: allocate cmd ring in lmem Matthew Auld
2021-01-26 15:41   ` Chris Wilson
2021-01-26 15:16 ` [Intel-gfx] [PATCH v2 1/8] drm/i915: make local-memory probing a GT operation Chris Wilson
2021-01-26 15:22 ` Chris Wilson
2021-01-26 15:28   ` Chris Wilson
2021-01-26 19:59 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [v2,1/8] " Patchwork
2021-01-26 20:01 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2021-01-26 20:16 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.