Summary: | [BAT][BYT,BSW] WARN_ON(dev_priv->uncore.funcs.mmio_readl(dev_priv, (((const i915_reg_t){ .reg = (0x180000 + 0x650C) })), true) & (1 << 27)) | ||
---|---|---|---|
Product: | DRI | Reporter: | Martin Peres <martin.peres> |
Component: | DRM/Intel | Assignee: | krisman |
Status: | CLOSED FIXED | QA Contact: | Intel GFX Bugs mailing list <intel-gfx-bugs> |
Severity: | critical | ||
Priority: | highest | CC: | intel-gfx-bugs |
Version: | DRI git | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | ReadyForDev | ||
i915 platform: | BYT | i915 features: | display/Other |
Description
Martin Peres
2017-06-20 13:30:00 UTC
Adding tag into "Whiteboard" field - ReadyForDev *Status is correct *Platform is included *Feature is included *Priority and Severity correctly set *Logs included (In reply to Martin Peres from comment #0) > Starting from CI_DRM_2743, executing the tests > igt@kms_pipe_crc_basic@suspend-read-crc-pipe-[ac] on our baytrails and > braswells may lead to the following WARNING: > > [ 579.071526] [drm:chv_set_cdclk [i915]] *ERROR* timed out waiting for > CDclk change > [ 579.071942] WARN_ON(dev_priv->uncore.funcs.mmio_readl(dev_priv, (((const I (In reply to Martin Peres from comment #0) > Starting from CI_DRM_2743, executing the tests > igt@kms_pipe_crc_basic@suspend-read-crc-pipe-[ac] on our baytrails and > braswells may lead to the following WARNING: > > [ 579.071526] [drm:chv_set_cdclk [i915]] *ERROR* timed out waiting for > CDclk change > [ 579.071942] WARN_ON(dev_priv->uncore.funcs.mmio_readl(dev_priv, (((const In the code, this WARN_ON carries the following comment: /* * FIXME is this guaranteed to clear * immediately or should we poll for it? */ WARN_ON(I915_READ(GCI_CONTROL) & PFI_CREDIT_RESEND); Maybe we should consider polling? :-) Anyway, that WARN_ON can be a side effect of the *ERROR* right before it. I'm Looking into that. Also, I don't see much change in the commit log between CI_DRM_2742 and CI_DRM_2743 that would explain it, but I will take a deeper look. (In reply to krisman from comment #3) > (In reply to Martin Peres from comment #0) > > Starting from CI_DRM_2743, executing the tests > > igt@kms_pipe_crc_basic@suspend-read-crc-pipe-[ac] on our baytrails and > > braswells may lead to the following WARNING: > > > > [ 579.071526] [drm:chv_set_cdclk [i915]] *ERROR* timed out waiting for > > CDclk change > > [ 579.071942] WARN_ON(dev_priv->uncore.funcs.mmio_readl(dev_priv, (((const > > In the code, this WARN_ON carries the following comment: > > /* > * FIXME is this guaranteed to clear > * immediately or should we poll for it? > */ > WARN_ON(I915_READ(GCI_CONTROL) & PFI_CREDIT_RESEND); > > Maybe we should consider polling? :-) > > Anyway, that WARN_ON can be a side effect of the *ERROR* right before it. > I'm Looking into that. Also, I don't see much change in the commit log > between CI_DRM_2742 and CI_DRM_2743 that would explain it, but I will take a > deeper look. The simple solution would be to just revert commit 63ff30442519 ("drm/i915: Nuke the VLV/CHV PFI programming power domain workaround") I failed to consider that the firmware likes to reset the cdclk to some non-minimum frequency during suspend, and then we apparently perform a modeset without actually modesetting anything and thus only end up reprogramming the cdclk without the power well being enabled. (In reply to Ville Syrjala from comment #4) > (In reply to krisman from comment #3) > > (In reply to Martin Peres from comment #0) > > > Starting from CI_DRM_2743, executing the tests > > > igt@kms_pipe_crc_basic@suspend-read-crc-pipe-[ac] on our baytrails and > > > braswells may lead to the following WARNING: > > > > > > [ 579.071526] [drm:chv_set_cdclk [i915]] *ERROR* timed out waiting for > > > CDclk change > > > [ 579.071942] WARN_ON(dev_priv->uncore.funcs.mmio_readl(dev_priv, (((const > > > > In the code, this WARN_ON carries the following comment: > > > > /* > > * FIXME is this guaranteed to clear > > * immediately or should we poll for it? > > */ > > WARN_ON(I915_READ(GCI_CONTROL) & PFI_CREDIT_RESEND); > > > > Maybe we should consider polling? :-) > > > > Anyway, that WARN_ON can be a side effect of the *ERROR* right before it. > > I'm Looking into that. Also, I don't see much change in the commit log > > between CI_DRM_2742 and CI_DRM_2743 that would explain it, but I will take a > > deeper look. > > The simple solution would be to just revert commit 63ff30442519 ("drm/i915: > Nuke the VLV/CHV PFI programming power domain workaround") > > I failed to consider that the firmware likes to reset the cdclk to some > non-minimum frequency during suspend, and then we apparently perform a > modeset without actually modesetting anything and thus only end up > reprogramming the cdclk without the power well being enabled. Let's do it then! Revert fast, rework carefully. *** Bug 101516 has been marked as a duplicate of this bug. *** (In reply to Ville Syrjala from comment #4) > The simple solution would be to just revert commit 63ff30442519 ("drm/i915: > Nuke the VLV/CHV PFI programming power domain workaround") > > I failed to consider that the firmware likes to reset the cdclk to some > non-minimum frequency during suspend, and then we apparently perform a > modeset without actually modesetting anything and thus only end up > reprogramming the cdclk without the power well being enabled. trybot confirmed it addresses the issue: https://intel-gfx-ci.01.org/CI/Trybot_973/ (In reply to Martin Peres from comment #5) > > The simple solution would be to just revert commit 63ff30442519 ("drm/i915: > > Nuke the VLV/CHV PFI programming power domain workaround") > > > > I failed to consider that the firmware likes to reset the cdclk to some > > non-minimum frequency during suspend, and then we apparently perform a > > modeset without actually modesetting anything and thus only end up > > reprogramming the cdclk without the power well being enabled. > > Let's do it then! Revert fast, rework carefully. Submitted to the ML: https://lists.freedesktop.org/archives/intel-gfx/2017-June/131672.html (In reply to krisman from comment #8) > (In reply to Martin Peres from comment #5) > > > > The simple solution would be to just revert commit 63ff30442519 ("drm/i915: > > > Nuke the VLV/CHV PFI programming power domain workaround") > > > > > > I failed to consider that the firmware likes to reset the cdclk to some > > > non-minimum frequency during suspend, and then we apparently perform a > > > modeset without actually modesetting anything and thus only end up > > > reprogramming the cdclk without the power well being enabled. > > > > Let's do it then! Revert fast, rework carefully. > > Submitted to the ML: > https://lists.freedesktop.org/archives/intel-gfx/2017-June/131672.html Applied and verified by CI_DRM_2783. Verified and closed. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.