diff mbox series

[v5] drm/i915: Initialize dkl_phy spin lock from display code path

Message ID 20230420170558.35398-1-jose.souza@intel.com (mailing list archive)
State New, archived
Headers show
Series [v5] drm/i915: Initialize dkl_phy spin lock from display code path | expand

Commit Message

Souza, Jose April 20, 2023, 5:05 p.m. UTC
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>
---
 drivers/gpu/drm/i915/display/intel_display_driver.c | 2 ++
 drivers/gpu/drm/i915/display/intel_dkl_phy.c        | 9 +++++++++
 drivers/gpu/drm/i915/display/intel_dkl_phy.h        | 1 +
 drivers/gpu/drm/i915/i915_driver.c                  | 1 -
 4 files changed, 12 insertions(+), 1 deletion(-)

Comments

Souza, Jose April 21, 2023, 2:44 a.m. UTC | #1
On Fri, 2023-04-21 at 02:02 +0000, Patchwork wrote:
Patch Details
Series: drm/i915: Initialize dkl_phy spin lock from display code path (rev4)
URL:    https://patchwork.freedesktop.org/series/116325/
State:  failure
Details:        https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116325v4/index.html
CI Bug Log - changes from CI_DRM_13034_full -> Patchwork_116325v4_full
Summary

FAILURE

Serious unknown changes coming with Patchwork_116325v4_full absolutely need to be
verified manually.

If you think the reported changes have nothing to do with the changes
introduced in Patchwork_116325v4_full, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.

Participating hosts (7 -> 7)

No changes in participating hosts

Possible new issues

Here are the unknown changes that may have been introduced in Patchwork_116325v4_full:

IGT changes
Possible regressions

  *   igt@gem_ppgtt@blt-vs-render-ctxn:
     *   shard-snb: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13034/shard-snb1/igt@gem_ppgtt@blt-vs-render-ctxn.html> -> DMESG-FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116325v4/shard-snb1/igt@gem_ppgtt@blt-vs-render-ctxn.html>

Not related.
SNB don't even have DKL phy.

Patch pushed, thanks for all the comments and reviews.

Suppressed

The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.

  *   igt@kms_flip@2x-flip-vs-fences-interruptible:
     *   {shard-dg1}: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116325v4/shard-dg1-16/igt@kms_flip@2x-flip-vs-fences-interruptible.html>

Known issues

Here are the changes found in Patchwork_116325v4_full that come from known issues:

IGT changes
Issues hit

  *   igt@gem_exec_fair@basic-pace@rcs0:

     *   shard-glk: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13034/shard-glk5/igt@gem_exec_fair@basic-pace@rcs0.html> -> FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116325v4/shard-glk3/igt@gem_exec_fair@basic-pace@rcs0.html> (i915#2842<https://gitlab.freedesktop.org/drm/intel/issues/2842>)
  *   igt@kms_color@ctm-0-25@pipe-b-vga-1:

     *   shard-snb: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116325v4/shard-snb7/igt@kms_color@ctm-0-25@pipe-b-vga-1.html> (fdo#109271<https://bugs.freedesktop.org/show_bug.cgi?id=109271>) +6 similar issues

Possible fixes

  *   igt@gem_barrier_race@remote-request@rcs0:

     *   {shard-rkl}: ABORT<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13034/shard-rkl-7/igt@gem_barrier_race@remote-request@rcs0.html> (i915#8211<https://gitlab.freedesktop.org/drm/intel/issues/8211>) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116325v4/shard-rkl-2/igt@gem_barrier_race@remote-request@rcs0.html>
  *   igt@gem_exec_endless@dispatch@rcs0:

     *   {shard-tglu}: TIMEOUT<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13034/shard-tglu-8/igt@gem_exec_endless@dispatch@rcs0.html> (i915#3778<https://gitlab.freedesktop.org/drm/intel/issues/3778>) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116325v4/shard-tglu-10/igt@gem_exec_endless@dispatch@rcs0.html>
  *   igt@gem_exec_fair@basic-deadline:

     *   shard-apl: FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13034/shard-apl4/igt@gem_exec_fair@basic-deadline.html> (i915#2846<https://gitlab.freedesktop.org/drm/intel/issues/2846>) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116325v4/shard-apl6/igt@gem_exec_fair@basic-deadline.html>
  *   igt@gem_exec_fair@basic-none@vcs0:

     *   {shard-rkl}: FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13034/shard-rkl-7/igt@gem_exec_fair@basic-none@vcs0.html> (i915#2842<https://gitlab.freedesktop.org/drm/intel/issues/2842>) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116325v4/shard-rkl-2/igt@gem_exec_fair@basic-none@vcs0.html> +2 similar issues
  *   igt@i915_pm_rpm@dpms-lpsp:

     *   {shard-rkl}: SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13034/shard-rkl-6/igt@i915_pm_rpm@dpms-lpsp.html> (i915#1397<https://gitlab.freedesktop.org/drm/intel/issues/1397>) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116325v4/shard-rkl-7/igt@i915_pm_rpm@dpms-lpsp.html> +1 similar issue
  *   igt@i915_pm_rpm@modeset-non-lpsp:

     *   {shard-dg1}: SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13034/shard-dg1-14/igt@i915_pm_rpm@modeset-non-lpsp.html> (i915#1397<https://gitlab.freedesktop.org/drm/intel/issues/1397>) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116325v4/shard-dg1-18/igt@i915_pm_rpm@modeset-non-lpsp.html>
  *   igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:

     *   shard-apl: FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13034/shard-apl2/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html> (i915#2346<https://gitlab.freedesktop.org/drm/intel/issues/2346>) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116325v4/shard-apl6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html>
  *   igt@kms_cursor_legacy@forked-bo@pipe-b:

     *   {shard-rkl}: INCOMPLETE<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13034/shard-rkl-7/igt@kms_cursor_legacy@forked-bo@pipe-b.html> (i915#8011<https://gitlab.freedesktop.org/drm/intel/issues/8011>) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116325v4/shard-rkl-2/igt@kms_cursor_legacy@forked-bo@pipe-b.html>
  *   igt@kms_flip@flip-vs-expired-vblank@c-dp1:

     *   shard-apl: FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13034/shard-apl1/igt@kms_flip@flip-vs-expired-vblank@c-dp1.html> (i915#79<https://gitlab.freedesktop.org/drm/intel/issues/79>) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116325v4/shard-apl3/igt@kms_flip@flip-vs-expired-vblank@c-dp1.html>

{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).

Build changes

  *   Linux: CI_DRM_13034 -> Patchwork_116325v4

CI-20190529: 20190529
CI_DRM_13034: bf6a3fbb5a6d7afbbaeb93043fd0001d6b83591b @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7263: a6bd8f415c4ec41b5a014c7db47e46c81ffd0074 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_116325v4: bf6a3fbb5a6d7afbbaeb93043fd0001d6b83591b @ git://anongit.freedesktop.org/gfx-ci/linux
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
index b3dbfe2a892e6..60ce10fc72058 100644
--- a/drivers/gpu/drm/i915/display/intel_display_driver.c
+++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
@@ -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);
diff --git a/drivers/gpu/drm/i915/display/intel_dkl_phy.c b/drivers/gpu/drm/i915/display/intel_dkl_phy.c
index 57cc3edba0163..a001232ad445e 100644
--- a/drivers/gpu/drm/i915/display/intel_dkl_phy.c
+++ b/drivers/gpu/drm/i915/display/intel_dkl_phy.c
@@ -11,6 +11,15 @@ 
 #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)
 {
diff --git a/drivers/gpu/drm/i915/display/intel_dkl_phy.h b/drivers/gpu/drm/i915/display/intel_dkl_phy.h
index 570ee36f9386f..5956ec3e940b1 100644
--- a/drivers/gpu/drm/i915/display/intel_dkl_phy.h
+++ b/drivers/gpu/drm/i915/display/intel_dkl_phy.h
@@ -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
diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
index a52db8a809006..fd198700272b1 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -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);