提交 71690148 编写于 作者: G Gustavo Sousa 提交者: Lucas De Marchi

drm/i915: Move hotplug inversion logic into separate helper

Use *_hpd_invert() helpers whenever possible to isolate logic specific
to hotplug inversion from common HPD setup logic to improve readability
and maintainability of the source code.

While we only define dg1_hpd_invert() here, future platforms are likely
to have different hotplug inversion needs, thus it makes sense grouping
different implementations under a common suffix.

v2: Fix coding style and prefer to use small *_hdp_invert() helpers
    instead of a generic one.

CC: Jani Nikula <jani.nikula@linux.intel.com>
CC: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: NGustavo Sousa <gustavo.sousa@intel.com>
Reviewed-by: NJani Nikula <jani.nikula@intel.com>
Signed-off-by: NLucas De Marchi <lucas.demarchi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220922164949.163985-1-gustavo.sousa@intel.com
上级 8146d588
...@@ -3411,17 +3411,18 @@ static u32 gen11_hotplug_enables(struct drm_i915_private *i915, ...@@ -3411,17 +3411,18 @@ static u32 gen11_hotplug_enables(struct drm_i915_private *i915,
} }
} }
static void dg1_hpd_irq_setup(struct drm_i915_private *dev_priv) static void dg1_hpd_invert(struct drm_i915_private *i915)
{ {
u32 val; u32 val = (INVERT_DDIA_HPD |
val = intel_uncore_read(&dev_priv->uncore, SOUTH_CHICKEN1);
val |= (INVERT_DDIA_HPD |
INVERT_DDIB_HPD | INVERT_DDIB_HPD |
INVERT_DDIC_HPD | INVERT_DDIC_HPD |
INVERT_DDID_HPD); INVERT_DDID_HPD);
intel_uncore_write(&dev_priv->uncore, SOUTH_CHICKEN1, val); intel_uncore_rmw(&i915->uncore, SOUTH_CHICKEN1, 0, val);
}
static void dg1_hpd_irq_setup(struct drm_i915_private *dev_priv)
{
dg1_hpd_invert(dev_priv);
icp_hpd_irq_setup(dev_priv); icp_hpd_irq_setup(dev_priv);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册