]> git.itanic.dy.fi Git - linux-stable/commitdiff
drm/i915: Initialize dkl_phy spin lock from display code path
authorJosé Roberto de Souza <jose.souza@intel.com>
Thu, 20 Apr 2023 17:05:58 +0000 (10:05 -0700)
committerJosé Roberto de Souza <jose.souza@intel.com>
Fri, 21 Apr 2023 02:43:02 +0000 (19:43 -0700)
drm/i915: Initialize dkl_phy spin lock from display code path

Start moving the initialization of display locks from
i915_driver_early_probe().
Display locks should be initialized from display-only code paths.

It was also agreed that if a variable is only used in one file, it
should be initialized only in that file, so intel_dkl_phy_init() was
added.

v2:
- added intel_display_locks_init()

v3:
- rebased

v4:
- dropped intel_display_locks_init()

v5:
- moved intel_dkl_phy_init() to the beginning of file

Cc: intel-gfx@lists.freedesktop.org
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230420170558.35398-1-jose.souza@intel.com
drivers/gpu/drm/i915/display/intel_display_driver.c
drivers/gpu/drm/i915/display/intel_dkl_phy.c
drivers/gpu/drm/i915/display/intel_dkl_phy.h
drivers/gpu/drm/i915/i915_driver.c

index b3dbfe2a892e6b918990e1115b2914762c9323ec..60ce10fc720581e9d06d5f924f9212e4a8a9444f 100644 (file)
@@ -30,6 +30,7 @@
 #include "intel_display_driver.h"
 #include "intel_display_power.h"
 #include "intel_display_types.h"
+#include "intel_dkl_phy.h"
 #include "intel_dmc.h"
 #include "intel_dp.h"
 #include "intel_dpll.h"
@@ -175,6 +176,7 @@ void intel_display_driver_early_probe(struct drm_i915_private *i915)
        if (!HAS_DISPLAY(i915))
                return;
 
+       intel_dkl_phy_init(i915);
        intel_color_init_hooks(i915);
        intel_init_cdclk_hooks(i915);
        intel_audio_hooks_init(i915);
index 57cc3edba0163e2aee6b8e022cc3f297d4a45d24..a001232ad445ea08befcd238cf77f412670835d8 100644 (file)
 #include "intel_dkl_phy.h"
 #include "intel_dkl_phy_regs.h"
 
+/**
+ * intel_dkl_phy_init - initialize Dekel PHY
+ * @i915: i915 device instance
+ */
+void intel_dkl_phy_init(struct drm_i915_private *i915)
+{
+       spin_lock_init(&i915->display.dkl.phy_lock);
+}
+
 static void
 dkl_phy_set_hip_idx(struct drm_i915_private *i915, struct intel_dkl_phy_reg reg)
 {
index 570ee36f9386f0df881edb4b6a208d25f4d7d100..5956ec3e940b1b846d6fa85cfbc70be14fdfb096 100644 (file)
@@ -12,6 +12,7 @@
 
 struct drm_i915_private;
 
+void intel_dkl_phy_init(struct drm_i915_private *i915);
 u32
 intel_dkl_phy_read(struct drm_i915_private *i915, struct intel_dkl_phy_reg reg);
 void
index 6ad4190ed46cfd613c0356df4a1e148aa8a75177..bf3af32fa962ddf3f5b0030b9c2c5187854b3962 100644 (file)
@@ -223,7 +223,6 @@ static int i915_driver_early_probe(struct drm_i915_private *dev_priv)
        mutex_init(&dev_priv->display.wm.wm_mutex);
        mutex_init(&dev_priv->display.pps.mutex);
        mutex_init(&dev_priv->display.hdcp.comp_mutex);
-       spin_lock_init(&dev_priv->display.dkl.phy_lock);
 
        i915_memcpy_init_early(dev_priv);
        intel_runtime_pm_init_early(&dev_priv->runtime_pm);