OSDN Git Service

drm/i915/display: Suppress "Combo PHY A HW state changed unexpectedly"
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 27 Nov 2020 21:00:59 +0000 (21:00 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 27 Nov 2020 23:32:39 +0000 (23:32 +0000)
We know a problem exists in the ifwi shipped with the early
pre-production Tigerlake and DG1 prototypes, later revisions are fine.
However, CI still relies on the earlier ifwi and we grow tired of
the volume of warnings as we wait for replacements.

Since the warning is a bug, we do not want to lose the warning in its
entirety, so only suppress the warning for the platforms currently
exhibiting the issue.

Suggested-by: José Roberto de Souza <gitlab@gitlab.freedesktop.org>
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2411
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201127210059.10702-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/display/intel_combo_phy.c

index d5ad61e..996ae06 100644 (file)
@@ -427,10 +427,22 @@ static void icl_combo_phys_uninit(struct drm_i915_private *dev_priv)
                u32 val;
 
                if (phy == PHY_A &&
-                   !icl_combo_phy_verify_state(dev_priv, phy))
-                       drm_warn(&dev_priv->drm,
-                                "Combo PHY %c HW state changed unexpectedly\n",
-                                phy_name(phy));
+                   !icl_combo_phy_verify_state(dev_priv, phy)) {
+                       if (IS_TIGERLAKE(dev_priv) || IS_DG1(dev_priv)) {
+                               /*
+                                * A known problem with old ifwi:
+                                * https://gitlab.freedesktop.org/drm/intel/-/issues/2411
+                                * Suppress the warning for CI. Remove ASAP!
+                                */
+                               drm_dbg_kms(&dev_priv->drm,
+                                           "Combo PHY %c HW state changed unexpectedly\n",
+                                           phy_name(phy));
+                       } else {
+                               drm_warn(&dev_priv->drm,
+                                        "Combo PHY %c HW state changed unexpectedly\n",
+                                        phy_name(phy));
+                       }
+               }
 
                if (!has_phy_misc(dev_priv, phy))
                        goto skip_phy_misc;