From: Imre Deak <imre.deak@intel.com>
To: intel-gfx@lists.freedesktop.org
Subject: [Intel-gfx] [PATCH 3/8] drm/i915: Remove redundant state verification during TypeC AUX power well disabling
Date: Tue, 22 Feb 2022 18:51:32 +0200 [thread overview]
Message-ID: <20220222165137.1004194-4-imre.deak@intel.com> (raw)
In-Reply-To: <20220222165137.1004194-1-imre.deak@intel.com>
Commit d5ce34da31456a
("drm/i915: Add state verification for the TypeC port mode")
added a verification to the TypeC AUX power well enable()/disable()
hooks to check if the TypeC port related to this power well is properly
locked. If the disabling happens asynchronously the verification is
skipped, since in this case the port is unlocked. The detection of
asnychronous disabling doesn't work as intended though, since the power
well's reference count is always 0 when its disable() hook is called
(and since there won't be any domain reference held for this power well
either, the verification is always skipped); remove the verification
from the disable() hook for now. In the power well's enable() hook the
power well's reference will be always >0 and there won't be any
asynchronous disabling pending for it, so we can drop the async refcount
check from there.
No functional change.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Jouni Högander <jouni.hogander@intel.com>
---
.../drm/i915/display/intel_display_power.c | 32 +------------------
1 file changed, 1 insertion(+), 31 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
index bf3619ae9dad2..857dd9ddba35f 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power.c
@@ -636,28 +636,10 @@ icl_combo_phy_aux_power_well_disable(struct drm_i915_private *dev_priv,
#if IS_ENABLED(CONFIG_DRM_I915_DEBUG_RUNTIME_PM)
-static u64 async_put_domains_mask(struct i915_power_domains *power_domains);
-
-static int power_well_async_ref_count(struct drm_i915_private *dev_priv,
- struct i915_power_well *power_well)
-{
- int refs = hweight64(power_well->desc->domains &
- async_put_domains_mask(&dev_priv->power_domains));
-
- drm_WARN_ON(&dev_priv->drm, refs > power_well->count);
-
- return refs;
-}
-
static void icl_tc_port_assert_ref_held(struct drm_i915_private *dev_priv,
struct i915_power_well *power_well,
struct intel_digital_port *dig_port)
{
- /* Bypass the check if all references are released asynchronously */
- if (power_well_async_ref_count(dev_priv, power_well) ==
- power_well->count)
- return;
-
if (drm_WARN_ON(&dev_priv->drm, !dig_port))
return;
@@ -748,18 +730,6 @@ icl_tc_phy_aux_power_well_enable(struct drm_i915_private *dev_priv,
}
}
-static void
-icl_tc_phy_aux_power_well_disable(struct drm_i915_private *dev_priv,
- struct i915_power_well *power_well)
-{
- enum aux_ch aux_ch = icl_aux_pw_to_ch(power_well);
- struct intel_digital_port *dig_port = aux_ch_to_digital_port(dev_priv, aux_ch);
-
- icl_tc_port_assert_ref_held(dev_priv, power_well, dig_port);
-
- hsw_power_well_disable(dev_priv, power_well);
-}
-
static void
icl_aux_power_well_enable(struct drm_i915_private *dev_priv,
struct i915_power_well *power_well)
@@ -782,7 +752,7 @@ icl_aux_power_well_disable(struct drm_i915_private *dev_priv,
enum phy phy = icl_aux_pw_to_phy(dev_priv, power_well);
if (intel_phy_is_tc(dev_priv, phy))
- return icl_tc_phy_aux_power_well_disable(dev_priv, power_well);
+ return hsw_power_well_disable(dev_priv, power_well);
else if (IS_ICELAKE(dev_priv))
return icl_combo_phy_aux_power_well_disable(dev_priv,
power_well);
--
2.27.0
next prev parent reply other threads:[~2022-02-22 16:51 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-22 16:51 [Intel-gfx] [PATCH 0/8] drm/i915: Move power well code to a separate file Imre Deak
2022-02-22 16:51 ` [Intel-gfx] [PATCH 1/8] drm/i915: Fix the VDSC_PW2 power domain enum value Imre Deak
2022-02-22 16:51 ` [Intel-gfx] [PATCH 2/8] drm/i915: Sanitize open-coded power well enable()/disable() calls Imre Deak
2022-02-22 16:51 ` Imre Deak [this message]
2022-02-22 16:51 ` [Intel-gfx] [PATCH 4/8] drm/i915: Move i915_power_well_regs struct into i915_power_well_ops Imre Deak
2022-02-22 16:51 ` [Intel-gfx] [PATCH 5/8] drm/i915: Move power well get/put/enable/disable functions to a new file Imre Deak
2022-02-22 16:51 ` [Intel-gfx] [PATCH 6/8] drm/i915: Add function to call a power well's sync_hw() hook Imre Deak
2022-02-22 16:51 ` [Intel-gfx] [PATCH 7/8] drm/i915: Add functions to get a power well's state/name/domains/mask/refcount Imre Deak
2022-02-22 16:51 ` [Intel-gfx] [PATCH 8/8] drm/i915: Move intel_display_power_well_is_enabled() to intel_display_power_well.c Imre Deak
2022-02-23 0:17 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Move power well code to a separate file Patchwork
2022-02-23 0:18 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2022-02-23 0:49 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2022-02-23 23:50 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Move power well code to a separate file (rev2) Patchwork
2022-02-23 23:51 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2022-02-24 0:24 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-02-24 12:01 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2022-02-25 19:22 ` Imre Deak
2022-02-26 6:12 ` Vudum, Lakshminarayana
2022-02-26 3:40 ` [Intel-gfx] ✓ Fi.CI.IGT: success " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220222165137.1004194-4-imre.deak@intel.com \
--to=imre.deak@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox