All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/3] add more probe failures
@ 2019-07-31 17:48 Michal Wajdeczko
  2019-07-31 17:48 ` [PATCH v2 1/3] drm/i915: Add i915 to i915_inject_probe_failure Michal Wajdeczko
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Michal Wajdeczko @ 2019-07-31 17:48 UTC (permalink / raw)
  To: intel-gfx

v2: rebased

Michal Wajdeczko (3):
  drm/i915: Add i915 to i915_inject_probe_failure
  drm/i915/uc: Inject probe errors into intel_uc_init_hw
  drm/i915/wopcm: Don't fail on WOPCM partitioning failure

 .../gpu/drm/i915/display/intel_connector.c    |  2 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c     |  2 +-
 drivers/gpu/drm/i915/gt/uc/intel_huc.c        |  4 +++
 drivers/gpu/drm/i915/gt/uc/intel_uc.c         | 23 +++++++++++++-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c      |  5 ++++
 drivers/gpu/drm/i915/i915_drv.c               | 27 +++++++++--------
 drivers/gpu/drm/i915/i915_drv.h               | 12 ++++----
 drivers/gpu/drm/i915/i915_gem.c               | 18 ++++-------
 drivers/gpu/drm/i915/i915_pci.c               |  2 +-
 drivers/gpu/drm/i915/intel_gvt.c              |  2 +-
 drivers/gpu/drm/i915/intel_uncore.c           |  2 +-
 drivers/gpu/drm/i915/intel_wopcm.c            | 30 +++++++++----------
 drivers/gpu/drm/i915/intel_wopcm.h            |  2 +-
 13 files changed, 79 insertions(+), 52 deletions(-)

-- 
2.19.2

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

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

* [PATCH v2 1/3] drm/i915: Add i915 to i915_inject_probe_failure
  2019-07-31 17:48 [PATCH v2 0/3] add more probe failures Michal Wajdeczko
@ 2019-07-31 17:48 ` Michal Wajdeczko
  2019-07-31 19:17   ` Chris Wilson
  2019-07-31 17:48 ` [PATCH v2 2/3] drm/i915/uc: Inject probe errors into intel_uc_init_hw Michal Wajdeczko
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 10+ messages in thread
From: Michal Wajdeczko @ 2019-07-31 17:48 UTC (permalink / raw)
  To: intel-gfx

With i915 added to i915_inject_probe_failure we can use dedicated
printk when injecting artificial load failure.

Also make this function look like other i915 functions that return
error code and make it more flexible to return any provided error
code instead of previously assumed -ENODEV.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
---
 .../gpu/drm/i915/display/intel_connector.c    |  2 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c     |  2 +-
 drivers/gpu/drm/i915/i915_drv.c               | 27 ++++++++++---------
 drivers/gpu/drm/i915/i915_drv.h               | 12 +++++----
 drivers/gpu/drm/i915/i915_gem.c               | 10 +++----
 drivers/gpu/drm/i915/i915_pci.c               |  2 +-
 drivers/gpu/drm/i915/intel_gvt.c              |  2 +-
 drivers/gpu/drm/i915/intel_uncore.c           |  2 +-
 drivers/gpu/drm/i915/intel_wopcm.c            |  2 +-
 9 files changed, 31 insertions(+), 30 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_connector.c b/drivers/gpu/drm/i915/display/intel_connector.c
index d0163d86c42a..cf8823ce9606 100644
--- a/drivers/gpu/drm/i915/display/intel_connector.c
+++ b/drivers/gpu/drm/i915/display/intel_connector.c
@@ -118,7 +118,7 @@ int intel_connector_register(struct drm_connector *connector)
 	if (ret)
 		goto err;
 
-	if (i915_inject_probe_failure()) {
+	if (i915_inject_probe_failure(to_i915(connector->dev))) {
 		ret = -EFAULT;
 		goto err_backlight;
 	}
diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
index 65cbf1d9118d..8bd9a9adf4a5 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
@@ -426,7 +426,7 @@ int intel_engines_init_mmio(struct drm_i915_private *i915)
 	WARN_ON(engine_mask &
 		GENMASK(BITS_PER_TYPE(mask) - 1, I915_NUM_ENGINES));
 
-	if (i915_inject_probe_failure())
+	if (i915_inject_probe_failure(i915))
 		return -ENODEV;
 
 	for (i = 0; i < ARRAY_SIZE(intel_engines); i++) {
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 761726818a22..cdbc334726b5 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -83,19 +83,20 @@ static struct drm_driver driver;
 #if IS_ENABLED(CONFIG_DRM_I915_DEBUG)
 static unsigned int i915_probe_fail_count;
 
-bool __i915_inject_probe_failure(const char *func, int line)
+int __i915_inject_load_error(struct drm_i915_private *i915, int err,
+			     const char *func, int line)
 {
 	if (i915_probe_fail_count >= i915_modparams.inject_load_failure)
-		return false;
+		return 0;
 
-	if (++i915_probe_fail_count == i915_modparams.inject_load_failure) {
-		DRM_INFO("Injecting failure at checkpoint %u [%s:%d]\n",
-			 i915_modparams.inject_load_failure, func, line);
-		i915_modparams.inject_load_failure = 0;
-		return true;
-	}
+	if (++i915_probe_fail_count < i915_modparams.inject_load_failure)
+		return 0;
 
-	return false;
+	__i915_printk(i915, KERN_INFO,
+		      "Injecting failure %d at checkpoint %u [%s:%d]\n",
+		      err, i915_modparams.inject_load_failure, func, line);
+	i915_modparams.inject_load_failure = 0;
+	return err;
 }
 
 bool i915_error_injected(void)
@@ -687,7 +688,7 @@ static int i915_driver_modeset_probe(struct drm_device *dev)
 	struct pci_dev *pdev = dev_priv->drm.pdev;
 	int ret;
 
-	if (i915_inject_probe_failure())
+	if (i915_inject_probe_failure(dev_priv))
 		return -ENODEV;
 
 	if (HAS_DISPLAY(dev_priv)) {
@@ -894,7 +895,7 @@ static int i915_driver_early_probe(struct drm_i915_private *dev_priv)
 {
 	int ret = 0;
 
-	if (i915_inject_probe_failure())
+	if (i915_inject_probe_failure(dev_priv))
 		return -ENODEV;
 
 	intel_device_info_subplatform_init(dev_priv);
@@ -985,7 +986,7 @@ static int i915_driver_mmio_probe(struct drm_i915_private *dev_priv)
 {
 	int ret;
 
-	if (i915_inject_probe_failure())
+	if (i915_inject_probe_failure(dev_priv))
 		return -ENODEV;
 
 	if (i915_get_bridge_dev(dev_priv))
@@ -1530,7 +1531,7 @@ static int i915_driver_hw_probe(struct drm_i915_private *dev_priv)
 	struct pci_dev *pdev = dev_priv->drm.pdev;
 	int ret;
 
-	if (i915_inject_probe_failure())
+	if (i915_inject_probe_failure(dev_priv))
 		return -ENODEV;
 
 	intel_device_info_runtime_init(dev_priv);
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 4f492c05d065..a92fcd5df79b 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -122,19 +122,21 @@
 
 #if IS_ENABLED(CONFIG_DRM_I915_DEBUG)
 
-bool __i915_inject_probe_failure(const char *func, int line);
-#define i915_inject_probe_failure() \
-	__i915_inject_probe_failure(__func__, __LINE__)
-
+int __i915_inject_load_error(struct drm_i915_private *i915, int err,
+			     const char *func, int line);
+#define i915_inject_load_error(_i915, _err) \
+	__i915_inject_load_error((_i915), (_err), __func__, __LINE__)
 bool i915_error_injected(void);
 
 #else
 
-#define i915_inject_probe_failure() false
+#define i915_inject_load_error(_err) 0
 #define i915_error_injected() false
 
 #endif
 
+#define i915_inject_probe_failure(i915) i915_inject_load_error((i915), -ENODEV)
+
 #define i915_probe_error(i915, fmt, ...)				   \
 	__i915_printk(i915, i915_error_injected() ? KERN_DEBUG : KERN_ERR, \
 		      fmt, ##__VA_ARGS__)
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 62eefe860bcd..bb2c991b49d7 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -1520,15 +1520,13 @@ int i915_gem_init(struct drm_i915_private *dev_priv)
 	if (ret)
 		goto err_gt;
 
-	if (i915_inject_probe_failure()) {
-		ret = -ENODEV;
+	ret = i915_inject_load_error(dev_priv, -ENODEV);
+	if (ret)
 		goto err_gt;
-	}
 
-	if (i915_inject_probe_failure()) {
-		ret = -EIO;
+	ret = i915_inject_load_error(dev_priv, -EIO);
+	if (ret)
 		goto err_gt;
-	}
 
 	intel_uncore_forcewake_put(&dev_priv->uncore, FORCEWAKE_ALL);
 	mutex_unlock(&dev_priv->drm.struct_mutex);
diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
index a7e1cde4a6d9..20e562ced8cc 100644
--- a/drivers/gpu/drm/i915/i915_pci.c
+++ b/drivers/gpu/drm/i915/i915_pci.c
@@ -959,7 +959,7 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	if (err)
 		return err;
 
-	if (i915_inject_probe_failure()) {
+	if (i915_inject_probe_failure(to_i915(pci_get_drvdata(pdev)))) {
 		i915_pci_remove(pdev);
 		return -ENODEV;
 	}
diff --git a/drivers/gpu/drm/i915/intel_gvt.c b/drivers/gpu/drm/i915/intel_gvt.c
index c66b2d8a6219..2b6c016387c2 100644
--- a/drivers/gpu/drm/i915/intel_gvt.c
+++ b/drivers/gpu/drm/i915/intel_gvt.c
@@ -95,7 +95,7 @@ int intel_gvt_init(struct drm_i915_private *dev_priv)
 {
 	int ret;
 
-	if (i915_inject_probe_failure())
+	if (i915_inject_probe_failure(dev_priv))
 		return -ENODEV;
 
 	if (!i915_modparams.enable_gvt) {
diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
index 475ab3d4d91d..88eb3b5c226d 100644
--- a/drivers/gpu/drm/i915/intel_uncore.c
+++ b/drivers/gpu/drm/i915/intel_uncore.c
@@ -1331,7 +1331,7 @@ static int __fw_domain_init(struct intel_uncore *uncore,
 	GEM_BUG_ON(domain_id >= FW_DOMAIN_ID_COUNT);
 	GEM_BUG_ON(uncore->fw_domain[domain_id]);
 
-	if (i915_inject_probe_failure())
+	if (i915_inject_probe_failure(uncore->i915))
 		return -ENOMEM;
 
 	d = kzalloc(sizeof(*d), GFP_KERNEL);
diff --git a/drivers/gpu/drm/i915/intel_wopcm.c b/drivers/gpu/drm/i915/intel_wopcm.c
index d9973c0b0384..291881937d97 100644
--- a/drivers/gpu/drm/i915/intel_wopcm.c
+++ b/drivers/gpu/drm/i915/intel_wopcm.c
@@ -177,7 +177,7 @@ int intel_wopcm_init(struct intel_wopcm *wopcm)
 
 	GEM_BUG_ON(!wopcm->size);
 
-	if (i915_inject_probe_failure())
+	if (i915_inject_probe_failure(i915))
 		return -E2BIG;
 
 	if (guc_fw_size >= wopcm->size) {
-- 
2.19.2

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

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

* [PATCH v2 2/3] drm/i915/uc: Inject probe errors into intel_uc_init_hw
  2019-07-31 17:48 [PATCH v2 0/3] add more probe failures Michal Wajdeczko
  2019-07-31 17:48 ` [PATCH v2 1/3] drm/i915: Add i915 to i915_inject_probe_failure Michal Wajdeczko
@ 2019-07-31 17:48 ` Michal Wajdeczko
  2019-07-31 19:20   ` Chris Wilson
  2019-07-31 17:48 ` [PATCH v2 3/3] drm/i915/wopcm: Don't fail on WOPCM partitioning failure Michal Wajdeczko
  2019-08-01 15:22 ` ✗ Fi.CI.BAT: failure for add more probe failures (rev3) Patchwork
  3 siblings, 1 reply; 10+ messages in thread
From: Michal Wajdeczko @ 2019-07-31 17:48 UTC (permalink / raw)
  To: intel-gfx

Inject probe errors into intel_uc_init_hw to make sure we
correctly handle any uC initialization failure.

To avoid complains from CI about injected errors use
i915_probe_error to lower message level.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/gt/uc/intel_huc.c   |  4 ++++
 drivers/gpu/drm/i915/gt/uc/intel_uc.c    | 18 +++++++++++++++++-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c |  5 +++++
 drivers/gpu/drm/i915/i915_gem.c          |  2 +-
 4 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_huc.c b/drivers/gpu/drm/i915/gt/uc/intel_huc.c
index c9535caba844..a696ce0fec62 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_huc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_huc.c
@@ -139,6 +139,10 @@ int intel_huc_auth(struct intel_huc *huc)
 	GEM_BUG_ON(!intel_uc_fw_is_loaded(&huc->fw));
 	GEM_BUG_ON(intel_huc_is_authenticated(huc));
 
+	ret = i915_inject_load_error(gt->i915, -ENXIO);
+	if (ret)
+		goto fail;
+
 	ret = intel_guc_auth_huc(guc,
 				 intel_guc_ggtt_offset(guc, huc->rsa_data));
 	if (ret) {
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
index 66b226be6759..3d0e9a893953 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
@@ -41,6 +41,10 @@ static int __intel_uc_reset_hw(struct intel_uc *uc)
 	int ret;
 	u32 guc_status;
 
+	ret = i915_inject_load_error(gt->i915, -ENXIO);
+	if (ret)
+		return ret;
+
 	ret = intel_reset_guc(gt);
 	if (ret) {
 		DRM_ERROR("Failed to reset GuC, ret = %d\n", ret);
@@ -245,6 +249,10 @@ static int guc_enable_communication(struct intel_guc *guc)
 
 	GEM_BUG_ON(guc_communication_enabled(guc));
 
+	ret = i915_inject_load_error(i915, -ENXIO);
+	if (ret)
+		return ret;
+
 	ret = intel_guc_ct_enable(&guc->ct);
 	if (ret)
 		return ret;
@@ -414,6 +422,10 @@ static int uc_init_wopcm(struct intel_uc *uc)
 	GEM_BUG_ON(!(size & GUC_WOPCM_SIZE_MASK));
 	GEM_BUG_ON(size & ~GUC_WOPCM_SIZE_MASK);
 
+	err = i915_inject_load_error(gt->i915, -ENXIO);
+	if (err)
+		return err;
+
 	mask = GUC_WOPCM_SIZE_MASK | GUC_WOPCM_SIZE_LOCKED;
 	err = intel_uncore_write_and_verify(uncore, GUC_WOPCM_SIZE, size, mask,
 					    size | GUC_WOPCM_SIZE_LOCKED);
@@ -514,6 +526,10 @@ int intel_uc_init_hw(struct intel_uc *uc)
 			goto err_communication;
 	}
 
+	ret = i915_inject_load_error(i915, -ENXIO);
+	if (ret)
+		goto err_communication;
+
 	dev_info(i915->drm.dev, "GuC firmware version %u.%u\n",
 		 guc->fw.major_ver_found, guc->fw.minor_ver_found);
 	dev_info(i915->drm.dev, "GuC submission %s\n",
@@ -540,7 +556,7 @@ int intel_uc_init_hw(struct intel_uc *uc)
 	if (GEM_WARN_ON(ret == -EIO))
 		ret = -EINVAL;
 
-	dev_err(i915->drm.dev, "GuC initialization failed %d\n", ret);
+	i915_probe_error(i915, "GuC initialization failed %d\n", ret);
 	return ret;
 }
 
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
index ac91e3efd02b..734b20bf635f 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
@@ -424,8 +424,13 @@ int intel_uc_fw_upload(struct intel_uc_fw *uc_fw, struct intel_gt *gt,
 	/* make sure the status was cleared the last time we reset the uc */
 	GEM_BUG_ON(intel_uc_fw_is_loaded(uc_fw));
 
+	err = i915_inject_load_error(gt->i915, -ENOEXEC);
+	if (err)
+		return err;
+
 	if (!intel_uc_fw_is_available(uc_fw))
 		return -ENOEXEC;
+
 	/* Call custom loader */
 	intel_uc_fw_ggtt_bind(uc_fw, gt);
 	err = uc_fw_xfer(uc_fw, gt, wopcm_offset, dma_flags);
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index bb2c991b49d7..54a10c8c4dff 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -1243,7 +1243,7 @@ int i915_gem_init_hw(struct drm_i915_private *i915)
 	/* We can't enable contexts until all firmware is loaded */
 	ret = intel_uc_init_hw(&gt->uc);
 	if (ret) {
-		DRM_ERROR("Enabling uc failed (%d)\n", ret);
+		i915_probe_error(i915, "Enabling uc failed (%d)\n", ret);
 		goto out;
 	}
 
-- 
2.19.2

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

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

* [PATCH v2 3/3] drm/i915/wopcm: Don't fail on WOPCM partitioning failure
  2019-07-31 17:48 [PATCH v2 0/3] add more probe failures Michal Wajdeczko
  2019-07-31 17:48 ` [PATCH v2 1/3] drm/i915: Add i915 to i915_inject_probe_failure Michal Wajdeczko
  2019-07-31 17:48 ` [PATCH v2 2/3] drm/i915/uc: Inject probe errors into intel_uc_init_hw Michal Wajdeczko
@ 2019-07-31 17:48 ` Michal Wajdeczko
  2019-07-31 19:22   ` Chris Wilson
  2019-08-01 15:22 ` ✗ Fi.CI.BAT: failure for add more probe failures (rev3) Patchwork
  3 siblings, 1 reply; 10+ messages in thread
From: Michal Wajdeczko @ 2019-07-31 17:48 UTC (permalink / raw)
  To: intel-gfx

We don't have to immediately fail on WOPCM partitioning, we can wait
until we will start programming WOPCM registers. This should give us
more options if we decide to restore fallback in case of GuC failures.

v2: rebased

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/gt/uc/intel_uc.c |  5 +++++
 drivers/gpu/drm/i915/i915_gem.c       |  6 +-----
 drivers/gpu/drm/i915/intel_wopcm.c    | 28 +++++++++++++--------------
 drivers/gpu/drm/i915/intel_wopcm.h    |  2 +-
 4 files changed, 21 insertions(+), 20 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
index 3d0e9a893953..b08cff88e664 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
@@ -416,6 +416,11 @@ static int uc_init_wopcm(struct intel_uc *uc)
 	u32 mask;
 	int err;
 
+	if (unlikely(!base || !size)) {
+		i915_probe_error(gt->i915, "Unsuccessful WOPCM partitioning\n");
+		return -E2BIG;
+	}
+
 	GEM_BUG_ON(!intel_uc_is_using_guc(uc));
 	GEM_BUG_ON(!(base & GUC_WOPCM_OFFSET_MASK));
 	GEM_BUG_ON(base & ~GUC_WOPCM_OFFSET_MASK);
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 54a10c8c4dff..278fa44815e2 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -1441,10 +1441,7 @@ int i915_gem_init(struct drm_i915_private *dev_priv)
 		return ret;
 
 	intel_uc_fetch_firmwares(&dev_priv->gt.uc);
-
-	ret = intel_wopcm_init(&dev_priv->wopcm);
-	if (ret)
-		goto err_uc_fw;
+	intel_wopcm_init(&dev_priv->wopcm);
 
 	/* This is just a security blanket to placate dragons.
 	 * On some systems, we very sporadically observe that the first TLBs
@@ -1568,7 +1565,6 @@ int i915_gem_init(struct drm_i915_private *dev_priv)
 	intel_uncore_forcewake_put(&dev_priv->uncore, FORCEWAKE_ALL);
 	mutex_unlock(&dev_priv->drm.struct_mutex);
 
-err_uc_fw:
 	intel_uc_cleanup_firmwares(&dev_priv->gt.uc);
 
 	if (ret != -EIO) {
diff --git a/drivers/gpu/drm/i915/intel_wopcm.c b/drivers/gpu/drm/i915/intel_wopcm.c
index 291881937d97..4c22143ee84f 100644
--- a/drivers/gpu/drm/i915/intel_wopcm.c
+++ b/drivers/gpu/drm/i915/intel_wopcm.c
@@ -156,12 +156,10 @@ static inline int check_hw_restriction(struct drm_i915_private *i915,
  * This function will partition WOPCM space based on GuC and HuC firmware sizes
  * and will allocate max remaining for use by GuC. This function will also
  * enforce platform dependent hardware restrictions on GuC WOPCM offset and
- * size. It will fail the WOPCM init if any of these checks were failed, so that
- * the following GuC firmware uploading would be aborted.
- *
- * Return: 0 on success, non-zero error code on failure.
+ * size. It will fail the WOPCM init if any of these checks fail, so that the
+ * following WOPCM registers setup and GuC firmware uploading would be aborted.
  */
-int intel_wopcm_init(struct intel_wopcm *wopcm)
+void intel_wopcm_init(struct intel_wopcm *wopcm)
 {
 	struct drm_i915_private *i915 = wopcm_to_i915(wopcm);
 	u32 guc_fw_size = intel_uc_fw_get_upload_size(&i915->gt.uc.guc.fw);
@@ -173,23 +171,25 @@ int intel_wopcm_init(struct intel_wopcm *wopcm)
 	int err;
 
 	if (!USES_GUC(i915))
-		return 0;
+		return;
 
 	GEM_BUG_ON(!wopcm->size);
+	GEM_BUG_ON(wopcm->guc.base);
+	GEM_BUG_ON(wopcm->guc.size);
 
 	if (i915_inject_probe_failure(i915))
-		return -E2BIG;
+		return;
 
 	if (guc_fw_size >= wopcm->size) {
 		DRM_ERROR("GuC FW (%uKiB) is too big to fit in WOPCM.",
 			  guc_fw_size / 1024);
-		return -E2BIG;
+		return;
 	}
 
 	if (huc_fw_size >= wopcm->size) {
 		DRM_ERROR("HuC FW (%uKiB) is too big to fit in WOPCM.",
 			  huc_fw_size / 1024);
-		return -E2BIG;
+		return;
 	}
 
 	guc_wopcm_base = ALIGN(huc_fw_size + WOPCM_RESERVED_SIZE,
@@ -197,7 +197,7 @@ int intel_wopcm_init(struct intel_wopcm *wopcm)
 	if ((guc_wopcm_base + ctx_rsvd) >= wopcm->size) {
 		DRM_ERROR("GuC WOPCM base (%uKiB) is too big.\n",
 			  guc_wopcm_base / 1024);
-		return -E2BIG;
+		return;
 	}
 
 	guc_wopcm_size = wopcm->size - guc_wopcm_base - ctx_rsvd;
@@ -211,16 +211,16 @@ int intel_wopcm_init(struct intel_wopcm *wopcm)
 		DRM_ERROR("Need %uKiB WOPCM for GuC, %uKiB available.\n",
 			  (guc_fw_size + guc_wopcm_rsvd) / 1024,
 			  guc_wopcm_size / 1024);
-		return -E2BIG;
+		return;
 	}
 
 	err = check_hw_restriction(i915, guc_wopcm_base, guc_wopcm_size,
 				   huc_fw_size);
 	if (err)
-		return err;
+		return;
 
 	wopcm->guc.base = guc_wopcm_base;
 	wopcm->guc.size = guc_wopcm_size;
-
-	return 0;
+	GEM_BUG_ON(!wopcm->guc.base);
+	GEM_BUG_ON(!wopcm->guc.size);
 }
diff --git a/drivers/gpu/drm/i915/intel_wopcm.h b/drivers/gpu/drm/i915/intel_wopcm.h
index f9b603205bb1..17d6aa86008a 100644
--- a/drivers/gpu/drm/i915/intel_wopcm.h
+++ b/drivers/gpu/drm/i915/intel_wopcm.h
@@ -55,6 +55,6 @@ static inline u32 intel_wopcm_guc_size(struct intel_wopcm *wopcm)
 }
 
 void intel_wopcm_init_early(struct intel_wopcm *wopcm);
-int intel_wopcm_init(struct intel_wopcm *wopcm);
+void intel_wopcm_init(struct intel_wopcm *wopcm);
 
 #endif
-- 
2.19.2

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

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

* Re: [PATCH v2 1/3] drm/i915: Add i915 to i915_inject_probe_failure
  2019-07-31 17:48 ` [PATCH v2 1/3] drm/i915: Add i915 to i915_inject_probe_failure Michal Wajdeczko
@ 2019-07-31 19:17   ` Chris Wilson
  0 siblings, 0 replies; 10+ messages in thread
From: Chris Wilson @ 2019-07-31 19:17 UTC (permalink / raw)
  To: Michal Wajdeczko, intel-gfx

Quoting Michal Wajdeczko (2019-07-31 18:48:31)
> With i915 added to i915_inject_probe_failure we can use dedicated
> printk when injecting artificial load failure.
> 
> Also make this function look like other i915 functions that return
> error code and make it more flexible to return any provided error
> code instead of previously assumed -ENODEV.
> 
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>

(would like to store i915 in drv_set_drvdata and provide a pdev_to_i915
before adding another to_i915(pci_get_drvdata) :)
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH v2 2/3] drm/i915/uc: Inject probe errors into intel_uc_init_hw
  2019-07-31 17:48 ` [PATCH v2 2/3] drm/i915/uc: Inject probe errors into intel_uc_init_hw Michal Wajdeczko
@ 2019-07-31 19:20   ` Chris Wilson
  0 siblings, 0 replies; 10+ messages in thread
From: Chris Wilson @ 2019-07-31 19:20 UTC (permalink / raw)
  To: Michal Wajdeczko, intel-gfx

Quoting Michal Wajdeczko (2019-07-31 18:48:32)
> Inject probe errors into intel_uc_init_hw to make sure we
> correctly handle any uC initialization failure.
> 
> To avoid complains from CI about injected errors use
> i915_probe_error to lower message level.
> 
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>

Minor concern over i915_probe_error() on not strictly probe paths, but I
don't have a better idea.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH v2 3/3] drm/i915/wopcm: Don't fail on WOPCM partitioning failure
  2019-07-31 17:48 ` [PATCH v2 3/3] drm/i915/wopcm: Don't fail on WOPCM partitioning failure Michal Wajdeczko
@ 2019-07-31 19:22   ` Chris Wilson
  0 siblings, 0 replies; 10+ messages in thread
From: Chris Wilson @ 2019-07-31 19:22 UTC (permalink / raw)
  To: Michal Wajdeczko, intel-gfx

Quoting Michal Wajdeczko (2019-07-31 18:48:33)
> We don't have to immediately fail on WOPCM partitioning, we can wait
> until we will start programming WOPCM registers. This should give us
> more options if we decide to restore fallback in case of GuC failures.
> 
> v2: rebased
> 
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>

Fair rationale,
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] 10+ messages in thread

* ✗ Fi.CI.BAT: failure for add more probe failures (rev3)
  2019-07-31 17:48 [PATCH v2 0/3] add more probe failures Michal Wajdeczko
                   ` (2 preceding siblings ...)
  2019-07-31 17:48 ` [PATCH v2 3/3] drm/i915/wopcm: Don't fail on WOPCM partitioning failure Michal Wajdeczko
@ 2019-08-01 15:22 ` Patchwork
  2019-08-01 15:27   ` Chris Wilson
  3 siblings, 1 reply; 10+ messages in thread
From: Patchwork @ 2019-08-01 15:22 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: add more probe failures (rev3)
URL   : https://patchwork.freedesktop.org/series/64390/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_6602 -> Patchwork_13830
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_13830 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_13830, 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_13830/

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@i915_module_load@reload-with-fault-injection:
    - fi-cfl-guc:         [PASS][1] -> [INCOMPLETE][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-cfl-guc/igt@i915_module_load@reload-with-fault-injection.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-cfl-guc/igt@i915_module_load@reload-with-fault-injection.html
    - fi-skl-guc:         [PASS][3] -> [INCOMPLETE][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-skl-guc/igt@i915_module_load@reload-with-fault-injection.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-skl-guc/igt@i915_module_load@reload-with-fault-injection.html
    - fi-kbl-guc:         [PASS][5] -> [INCOMPLETE][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-kbl-guc/igt@i915_module_load@reload-with-fault-injection.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-kbl-guc/igt@i915_module_load@reload-with-fault-injection.html

  * igt@runner@aborted:
    - fi-cfl-guc:         NOTRUN -> [FAIL][7]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-cfl-guc/igt@runner@aborted.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_mmap_gtt@basic-small-bo-tiledy:
    - fi-icl-u3:          [PASS][8] -> [DMESG-WARN][9] ([fdo#107724])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-icl-u3/igt@gem_mmap_gtt@basic-small-bo-tiledy.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-icl-u3/igt@gem_mmap_gtt@basic-small-bo-tiledy.html

  * igt@i915_module_load@reload-with-fault-injection:
    - fi-apl-guc:         [PASS][10] -> [INCOMPLETE][11] ([fdo#103927])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-apl-guc/igt@i915_module_load@reload-with-fault-injection.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-apl-guc/igt@i915_module_load@reload-with-fault-injection.html

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-kbl-7567u:       [PASS][12] -> [WARN][13] ([fdo#109380])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-kbl-7567u/igt@kms_chamelium@common-hpd-after-suspend.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-kbl-7567u/igt@kms_chamelium@common-hpd-after-suspend.html

  * igt@kms_pipe_crc_basic@read-crc-pipe-c:
    - fi-kbl-7567u:       [PASS][14] -> [SKIP][15] ([fdo#109271]) +23 similar issues
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-kbl-7567u/igt@kms_pipe_crc_basic@read-crc-pipe-c.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-kbl-7567u/igt@kms_pipe_crc_basic@read-crc-pipe-c.html

  * igt@prime_vgem@basic-fence-mmap:
    - fi-byt-j1900:       [PASS][16] -> [INCOMPLETE][17] ([fdo#102657] / [fdo#111276])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-byt-j1900/igt@prime_vgem@basic-fence-mmap.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-byt-j1900/igt@prime_vgem@basic-fence-mmap.html
    - fi-gdg-551:         [PASS][18] -> [INCOMPLETE][19] ([fdo#108316] / [fdo#111276])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-gdg-551/igt@prime_vgem@basic-fence-mmap.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-gdg-551/igt@prime_vgem@basic-fence-mmap.html
    - fi-pnv-d510:        [PASS][20] -> [INCOMPLETE][21] ([fdo#110740] / [fdo#111276])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-pnv-d510/igt@prime_vgem@basic-fence-mmap.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-pnv-d510/igt@prime_vgem@basic-fence-mmap.html

  * igt@prime_vgem@basic-fence-read:
    - fi-bsw-kefka:       [PASS][22] -> [INCOMPLETE][23] ([fdo#111278])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-bsw-kefka/igt@prime_vgem@basic-fence-read.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-bsw-kefka/igt@prime_vgem@basic-fence-read.html

  
#### Possible fixes ####

  * igt@gem_mmap@basic:
    - fi-icl-u3:          [DMESG-WARN][24] ([fdo#107724]) -> [PASS][25] +1 similar issue
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-icl-u3/igt@gem_mmap@basic.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-icl-u3/igt@gem_mmap@basic.html

  * igt@i915_selftest@live_hangcheck:
    - {fi-icl-u4}:        [INCOMPLETE][26] ([fdo#107713] / [fdo#108569]) -> [PASS][27]
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-icl-u4/igt@i915_selftest@live_hangcheck.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-icl-u4/igt@i915_selftest@live_hangcheck.html

  * igt@kms_busy@basic-flip-c:
    - fi-kbl-7500u:       [SKIP][28] ([fdo#109271] / [fdo#109278]) -> [PASS][29] +2 similar issues
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-kbl-7500u/igt@kms_busy@basic-flip-c.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-kbl-7500u/igt@kms_busy@basic-flip-c.html

  * igt@kms_chamelium@dp-edid-read:
    - fi-icl-u2:          [FAIL][30] ([fdo#109483] / [fdo#109635 ]) -> [PASS][31]
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-icl-u2/igt@kms_chamelium@dp-edid-read.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-icl-u2/igt@kms_chamelium@dp-edid-read.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [FAIL][32] ([fdo#109485]) -> [PASS][33]
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  * igt@kms_frontbuffer_tracking@basic:
    - fi-icl-u2:          [FAIL][34] ([fdo#103167]) -> [PASS][35]
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-icl-u2/igt@kms_frontbuffer_tracking@basic.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-icl-u2/igt@kms_frontbuffer_tracking@basic.html

  * igt@prime_vgem@basic-fence-mmap:
    - fi-elk-e7500:       [INCOMPLETE][36] ([fdo#103989]) -> [PASS][37]
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-elk-e7500/igt@prime_vgem@basic-fence-mmap.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-elk-e7500/igt@prime_vgem@basic-fence-mmap.html
    - fi-bsw-kefka:       [INCOMPLETE][38] ([fdo#111276]) -> [PASS][39]
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-bsw-kefka/igt@prime_vgem@basic-fence-mmap.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-bsw-kefka/igt@prime_vgem@basic-fence-mmap.html

  * igt@prime_vgem@basic-fence-read:
    - fi-pnv-d510:        [INCOMPLETE][40] ([fdo#110740]) -> [PASS][41]
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-pnv-d510/igt@prime_vgem@basic-fence-read.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-pnv-d510/igt@prime_vgem@basic-fence-read.html
    - fi-byt-j1900:       [INCOMPLETE][42] ([fdo#102657]) -> [PASS][43]
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-byt-j1900/igt@prime_vgem@basic-fence-read.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-byt-j1900/igt@prime_vgem@basic-fence-read.html

  * igt@prime_vgem@basic-sync-default:
    - fi-bxt-dsi:         [FAIL][44] ([fdo#111277]) -> [PASS][45]
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-bxt-dsi/igt@prime_vgem@basic-sync-default.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-bxt-dsi/igt@prime_vgem@basic-sync-default.html

  
#### Warnings ####

  * igt@kms_chamelium@vga-edid-read:
    - fi-icl-u2:          [FAIL][46] ([fdo#109483]) -> [SKIP][47] ([fdo#109309])
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-icl-u2/igt@kms_chamelium@vga-edid-read.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-icl-u2/igt@kms_chamelium@vga-edid-read.html

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

  [fdo#102657]: https://bugs.freedesktop.org/show_bug.cgi?id=102657
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#103989]: https://bugs.freedesktop.org/show_bug.cgi?id=103989
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#108316]: https://bugs.freedesktop.org/show_bug.cgi?id=108316
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309
  [fdo#109380]: https://bugs.freedesktop.org/show_bug.cgi?id=109380
  [fdo#109483]: https://bugs.freedesktop.org/show_bug.cgi?id=109483
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485
  [fdo#109635 ]: https://bugs.freedesktop.org/show_bug.cgi?id=109635 
  [fdo#110740]: https://bugs.freedesktop.org/show_bug.cgi?id=110740
  [fdo#111045]: https://bugs.freedesktop.org/show_bug.cgi?id=111045
  [fdo#111096]: https://bugs.freedesktop.org/show_bug.cgi?id=111096
  [fdo#111276]: https://bugs.freedesktop.org/show_bug.cgi?id=111276
  [fdo#111277]: https://bugs.freedesktop.org/show_bug.cgi?id=111277
  [fdo#111278]: https://bugs.freedesktop.org/show_bug.cgi?id=111278


Participating hosts (50 -> 44)
------------------------------

  Missing    (6): fi-kbl-soraka fi-byt-squawks fi-bsw-cyan fi-icl-y fi-byt-clapper fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * Linux: CI_DRM_6602 -> Patchwork_13830

  CI-20190529: 20190529
  CI_DRM_6602: dd7a77416867b70c404a75cb413f717d3ca1bfdc @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5119: b646668b947851459e0aec0ecfc54e9ed5503bfc @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13830: 0ae3d41d08211fdcf86b00c804e30b534d338d45 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

0ae3d41d0821 drm/i915/wopcm: Don't fail on WOPCM partitioning failure
4fc3380ac817 drm/i915/uc: Inject probe errors into intel_uc_init_hw
5f43e9824104 drm/i915: Add i915 to i915_inject_probe_failure

== Logs ==

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

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

* Re: ✗ Fi.CI.BAT: failure for add more probe failures (rev3)
  2019-08-01 15:22 ` ✗ Fi.CI.BAT: failure for add more probe failures (rev3) Patchwork
@ 2019-08-01 15:27   ` Chris Wilson
  2019-08-01 16:14     ` Michal Wajdeczko
  0 siblings, 1 reply; 10+ messages in thread
From: Chris Wilson @ 2019-08-01 15:27 UTC (permalink / raw)
  To: Patchwork; +Cc: intel-gfx

Quoting Patchwork (2019-08-01 16:22:20)
> == Series Details ==
> 
> Series: add more probe failures (rev3)
> URL   : https://patchwork.freedesktop.org/series/64390/
> State : failure
> 
> == Summary ==
> 
> CI Bug Log - changes from CI_DRM_6602 -> Patchwork_13830
> ====================================================
> 
> Summary
> -------
> 
>   **FAILURE**

> #### Possible regressions ####
> 
>   * igt@i915_module_load@reload-with-fault-injection:
>     - fi-cfl-guc:         [PASS][1] -> [INCOMPLETE][2]
>    [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-cfl-guc/igt@i915_module_load@reload-with-fault-injection.html
>    [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-cfl-guc/igt@i915_module_load@reload-with-fault-injection.html
>     - fi-skl-guc:         [PASS][3] -> [INCOMPLETE][4]
>    [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-skl-guc/igt@i915_module_load@reload-with-fault-injection.html
>    [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-skl-guc/igt@i915_module_load@reload-with-fault-injection.html
>     - fi-kbl-guc:         [PASS][5] -> [INCOMPLETE][6]
>    [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6602/fi-kbl-guc/igt@i915_module_load@reload-with-fault-injection.html
>    [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13830/fi-kbl-guc/igt@i915_module_load@reload-with-fault-injection.html

<7> [229.652594] [drm:intel_uc_fw_fetch [i915]] GuC fw size 182912 ptr 0000000070788d09
<7> [229.652626] [drm:intel_uc_fw_fetch [i915]] GuC fw version 33.0 (wanted 33.0)
<7> [229.652895] [drm:intel_uc_fw_fetch [i915]] HuC fw size 218688 ptr 0000000070788d09
<7> [229.652925] [drm:intel_uc_fw_fetch [i915]] HuC fw version 2.0 (wanted 2.0)
<7> [229.653095] [drm:intel_wopcm_init [i915]] Calculated GuC WOPCM Region: [240KiB, 784KiB)
<7> [229.653142] [drm:i915_init_ggtt [i915]] clearing unused GTT space: [1000, fee00000]
<7> [229.653522] [drm:intel_engines_setup [i915]] Initialized 5 engine workarounds on rcs0
<7> [229.653556] [drm:intel_engines_setup [i915]] Initialized 4 whitelist workarounds on rcs0
<7> [229.653609] [drm:__intel_engine_init_ctx_wa [i915]] Initialized 14 context workarounds on rcs0
<7> [229.653920] [drm:i915_gem_contexts_init [i915]] logical context support initialized
<7> [229.654996] [drm:intel_guc_log_create [i915]] guc_log_level=5 (enabled, verbose:yes, verbosity:3)
<7> [229.655251] [drm:intel_guc_init [i915]] param[ 0] = 0x0
<7> [229.655284] [drm:intel_guc_init [i915]] param[ 1] = 0xc9fd3
<7> [229.655314] [drm:intel_guc_init [i915]] param[ 2] = 0x0
<7> [229.655344] [drm:intel_guc_init [i915]] param[ 3] = 0x4000
<7> [229.655374] [drm:intel_guc_init [i915]] param[ 4] = 0x3
<7> [229.655418] [drm:intel_guc_init [i915]] param[ 5] = 0x1b8
<7> [229.655446] [drm:intel_guc_init [i915]] param[ 6] = 0x0
<7> [229.655473] [drm:intel_guc_init [i915]] param[ 7] = 0x0
<7> [229.655501] [drm:intel_guc_init [i915]] param[ 8] = 0x0
<7> [229.655528] [drm:intel_guc_init [i915]] param[ 9] = 0x0
<7> [229.655556] [drm:intel_guc_init [i915]] param[10] = 0x0
<7> [229.655583] [drm:intel_guc_init [i915]] param[11] = 0x0
<7> [229.655610] [drm:intel_guc_init [i915]] param[12] = 0x0
<7> [229.655637] [drm:intel_guc_init [i915]] param[13] = 0x0
<7> [229.655762] [drm:intel_uc_fw_upload [i915]] HuC fw load i915/kbl_huc_ver02_00_1810.bin
<7> [229.656489] [drm:intel_uc_fw_upload [i915]] HuC fw xfer completed
<6> [229.656490] [drm] HuC: Loaded firmware i915/kbl_huc_ver02_00_1810.bin (version 2.0)
<7> [229.656579] [drm:intel_uc_fw_upload [i915]] GuC fw load i915/kbl_guc_33.0.0.bin
<6> [229.656639] i915 0000:00:02.0: [drm:__i915_inject_load_error [i915]] Injecting failure -8 at checkpoint 15 [intel_uc_fw_upload:427]
<7> [229.656688] [drm:intel_uc_init_hw [i915]] GuC fw load failed: -8; will reset and retry 2 more time(s)
<7> [229.656739] [drm:intel_uc_fw_upload [i915]] HuC fw load i915/kbl_huc_ver02_00_1810.bin
<3> [229.656740] intel_uc_fw_upload:425 GEM_BUG_ON(intel_uc_fw_is_loaded(uc_fw))
<4> [229.656798] ------------[ cut here ]------------
<2> [229.656800] kernel BUG at drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c:425!
<4> [229.656813] invalid opcode: 0000 [#1] PREEMPT SMP PTI
<4> [229.656817] CPU: 1 PID: 3279 Comm: i915_module_loa Tainted: G     U            5.3.0-rc2-CI-Patchwork_13830+ #1
<4> [229.656822] Hardware name: Micro-Star International Co., Ltd. MS-7B54/Z370M MORTAR (MS-7B54), BIOS 1.10 12/28/2017
<4> [229.656857] RIP: 0010:intel_uc_fw_upload+0x314/0x3b0 [i915]
<4> [229.656861] Code: 0b 51 ed e0 48 8b 35 a3 13 1c 00 49 c7 c0 ac 69 38 a0 b9 a9 01 00 00 48 c7 c2 a0 df 32 a0 48 c7 c7 cf 93 25 a0 e8 3c 34 f4 e0 <0f> 0b 48 c7 c1 98 e5 35 a0 ba 79 00 00 00 48 c7 c6 c0 df 32 a0 48
<4> [229.656870] RSP: 0018:ffffc90000aff948 EFLAGS: 00010286
<4> [229.656873] RAX: 000000000000000e RBX: ffff8882214fc4b0 RCX: 0000000000000000
<4> [229.656877] RDX: 0000000000000001 RSI: 0000000000000008 RDI: 0000000000000034
<4> [229.656881] RBP: ffff8882214fc0a8 R08: 0000000000000000 R09: 0000000000000034
<4> [229.656885] R10: 0000000000000000 R11: ffff888264cf0008 R12: 0000000000000001
<4> [229.656889] R13: ffff8882214fc090 R14: 0000000000000200 R15: 0000000000000000
<4> [229.656893] FS:  00007f806f489e40(0000) GS:ffff888266680000(0000) knlGS:0000000000000000
<4> [229.656897] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
<4> [229.656900] CR2: 0000556d82156598 CR3: 00000001fbbca004 CR4: 00000000003606e0
<4> [229.656904] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
<4> [229.656908] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
<4> [229.656912] Call Trace:
<4> [229.656944]  intel_uc_init_hw+0x1a3/0x7d0 [i915]
<4> [229.656977]  i915_gem_init_hw+0x15c/0x260 [i915]
<4> [229.657008]  i915_gem_init+0x39a/0xa80 [i915]
<4> [229.657034]  i915_driver_probe+0xe0b/0x18c0 [i915]
<4> [229.657040]  ? __pm_runtime_resume+0x4f/0x80
<4> [229.657066]  i915_pci_probe+0x43/0x1b0 [i915]
<4> [229.657070]  ? _raw_spin_unlock_irqrestore+0x39/0x60
<4> [229.657075]  pci_device_probe+0x9e/0x120
<4> [229.657079]  really_probe+0xea/0x3d0
<4> [229.657082]  driver_probe_device+0x10b/0x120
<4> [229.657085]  device_driver_attach+0x4a/0x50
<4> [229.657089]  __driver_attach+0x97/0x130
<4> [229.657092]  ? device_driver_attach+0x50/0x50
<4> [229.657095]  bus_for_each_dev+0x74/0xc0
<4> [229.657099]  bus_add_driver+0x13f/0x210
<4> [229.657102]  ? 0xffffffffa04bd000
<4> [229.657105]  driver_register+0x56/0xe0
<4> [229.657107]  ? 0xffffffffa04bd000
<4> [229.657111]  do_one_initcall+0x58/0x300
<4> [229.657114]  ? do_init_module+0x1d/0x1f6
<4> [229.657118]  ? rcu_read_lock_sched_held+0x6f/0x80
<4> [229.657122]  ? kmem_cache_alloc_trace+0x2d1/0x300
<4> [229.657126]  do_init_module+0x56/0x1f6
<4> [229.657129]  load_module+0x25bd/0x2a40
<4> [229.657135]  ? __se_sys_finit_module+0xd3/0xf0
<4> [229.657138]  __se_sys_finit_module+0xd3/0xf0
<4> [229.657143]  do_syscall_64+0x55/0x1c0
<4> [229.657146]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
<4> [229.657150] RIP: 0033:0x7f806e923839
<4> [229.657170] Code: 00 f3 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 1f f6 2c 00 f7 d8 64 89 01 48
<4> [229.657179] RSP: 002b:00007ffc40fdb2d8 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
<4> [229.657184] RAX: ffffffffffffffda RBX: 00005601a02956e0 RCX: 00007f806e923839
<4> [229.657188] RDX: 0000000000000000 RSI: 00005601a028e650 RDI: 0000000000000005
<4> [229.657192] RBP: 00005601a028e650 R08: 0000000000000000 R09: 0000000000000000
<4> [229.657196] R10: 0000000000000005 R11: 0000000000000246 R12: 0000000000000000
<4> [229.657200] R13: 00005601a028be00 R14: 0000000000000020 R15: 0000000000000016

That looks significant. So, success? \o/
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: ✗ Fi.CI.BAT: failure for add more probe failures (rev3)
  2019-08-01 15:27   ` Chris Wilson
@ 2019-08-01 16:14     ` Michal Wajdeczko
  0 siblings, 0 replies; 10+ messages in thread
From: Michal Wajdeczko @ 2019-08-01 16:14 UTC (permalink / raw)
  To: Patchwork, intel-gfx, Chris Wilson

On Thu, 01 Aug 2019 17:27:22 +0200, Chris Wilson  
<chris@chris-wilson.co.uk> wrote:


> <7> [229.655762] [drm:intel_uc_fw_upload [i915]] HuC fw load  
> i915/kbl_huc_ver02_00_1810.bin
> <7> [229.656489] [drm:intel_uc_fw_upload [i915]] HuC fw xfer completed
> <6> [229.656490] [drm] HuC: Loaded firmware  
> i915/kbl_huc_ver02_00_1810.bin (version 2.0)

we loaded HuC fw here

> <7> [229.656579] [drm:intel_uc_fw_upload [i915]] GuC fw load  
> i915/kbl_guc_33.0.0.bin
> <6> [229.656639] i915 0000:00:02.0: [drm:__i915_inject_load_error  
> [i915]] Injecting failure -8 at checkpoint 15 [intel_uc_fw_upload:427]
> <7> [229.656688] [drm:intel_uc_init_hw [i915]] GuC fw load failed: -8;  
> will reset and retry 2 more time(s)
> <7> [229.656739] [drm:intel_uc_fw_upload [i915]] HuC fw load  
> i915/kbl_huc_ver02_00_1810.bin
> <3> [229.656740] intel_uc_fw_upload:425  
> GEM_BUG_ON(intel_uc_fw_is_loaded(uc_fw))

and now we try again (Gen9 feature!)

> That looks significant. So, success? \o/

Yes! the other good news is ICL was clean!
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

end of thread, other threads:[~2019-08-01 16:14 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-31 17:48 [PATCH v2 0/3] add more probe failures Michal Wajdeczko
2019-07-31 17:48 ` [PATCH v2 1/3] drm/i915: Add i915 to i915_inject_probe_failure Michal Wajdeczko
2019-07-31 19:17   ` Chris Wilson
2019-07-31 17:48 ` [PATCH v2 2/3] drm/i915/uc: Inject probe errors into intel_uc_init_hw Michal Wajdeczko
2019-07-31 19:20   ` Chris Wilson
2019-07-31 17:48 ` [PATCH v2 3/3] drm/i915/wopcm: Don't fail on WOPCM partitioning failure Michal Wajdeczko
2019-07-31 19:22   ` Chris Wilson
2019-08-01 15:22 ` ✗ Fi.CI.BAT: failure for add more probe failures (rev3) Patchwork
2019-08-01 15:27   ` Chris Wilson
2019-08-01 16:14     ` Michal Wajdeczko

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.