All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH 0/5] drm/i915/ipc: ipc and sub-struct refactoring, take 2
@ 2022-09-12 11:45 Jani Nikula
  2022-09-12 11:45 ` [Intel-gfx] [PATCH 1/5] drm/i915/ipc: refactor and rename IPC functions Jani Nikula
                   ` (8 more replies)
  0 siblings, 9 replies; 12+ messages in thread
From: Jani Nikula @ 2022-09-12 11:45 UTC (permalink / raw)
  To: intel-gfx; +Cc: jani.nikula

This is a rewrite of [1] after Ville NAK'd intel_ipc.[ch] and moved skl
watermark stuff to skl_watermark.[ch].

BR,
Jani.


[1] https://patchwork.freedesktop.org/series/108157/


Jani Nikula (5):
  drm/i915/ipc: refactor and rename IPC functions
  drm/i915/ipc: move IPC debugfs to skl_watermark.c
  drm/i915/ipc: register debugfs only if IPC available
  drm/i915/display: move IPC under display wm sub-struct
  drm/i915/ipc: use intel_uncore_rmw() to enable/disable

 drivers/gpu/drm/i915/display/intel_display.c  |  6 +-
 .../gpu/drm/i915/display/intel_display_core.h |  2 +
 .../drm/i915/display/intel_display_debugfs.c  | 54 +----------
 drivers/gpu/drm/i915/display/skl_watermark.c  | 94 +++++++++++++++----
 drivers/gpu/drm/i915/display/skl_watermark.h  |  6 +-
 drivers/gpu/drm/i915/i915_driver.c            |  2 +-
 6 files changed, 86 insertions(+), 78 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Intel-gfx] [PATCH 1/5] drm/i915/ipc: refactor and rename IPC functions
  2022-09-12 11:45 [Intel-gfx] [PATCH 0/5] drm/i915/ipc: ipc and sub-struct refactoring, take 2 Jani Nikula
@ 2022-09-12 11:45 ` Jani Nikula
  2022-09-13  9:23   ` Ville Syrjälä
  2022-09-12 11:45 ` [Intel-gfx] [PATCH 2/5] drm/i915/ipc: move IPC debugfs to skl_watermark.c Jani Nikula
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 12+ messages in thread
From: Jani Nikula @ 2022-09-12 11:45 UTC (permalink / raw)
  To: intel-gfx; +Cc: jani.nikula

Rename the IPC functions to have skl_watermark_ipc_ prefix, rename
enable to update to reflect what the function actually does, and add
enabled function to abstract direct ->ipc_enabled access for state
query.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c  |  6 ++---
 .../drm/i915/display/intel_display_debugfs.c  |  6 ++---
 drivers/gpu/drm/i915/display/skl_watermark.c  | 25 +++++++++++--------
 drivers/gpu/drm/i915/display/skl_watermark.h  |  5 ++--
 drivers/gpu/drm/i915/i915_driver.c            |  2 +-
 5 files changed, 24 insertions(+), 20 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 2d0018ae34b1..a0829dcfd6d3 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -4779,7 +4779,7 @@ static u16 skl_linetime_wm(const struct intel_crtc_state *crtc_state)
 
 	/* Display WA #1135: BXT:ALL GLK:ALL */
 	if ((IS_GEMINILAKE(dev_priv) || IS_BROXTON(dev_priv)) &&
-	    dev_priv->ipc_enabled)
+	    skl_watermark_ipc_enabled(dev_priv))
 		linetime_wm /= 2;
 
 	return min(linetime_wm, 0x1ff);
@@ -8782,7 +8782,7 @@ int intel_modeset_init(struct drm_i915_private *i915)
 	intel_hpd_init(i915);
 	intel_hpd_poll_disable(i915);
 
-	intel_init_ipc(i915);
+	skl_watermark_ipc_init(i915);
 
 	return 0;
 }
@@ -8913,7 +8913,7 @@ void intel_display_resume(struct drm_device *dev)
 	if (!ret)
 		ret = __intel_display_resume(i915, state, &ctx);
 
-	intel_enable_ipc(i915);
+	skl_watermark_ipc_update(i915);
 	drm_modeset_drop_locks(&ctx);
 	drm_modeset_acquire_fini(&ctx);
 
diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index fe40e2a226d6..d2139cf4f825 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -988,7 +988,7 @@ static int i915_ipc_status_show(struct seq_file *m, void *data)
 	struct drm_i915_private *dev_priv = m->private;
 
 	seq_printf(m, "Isochronous Priority Control: %s\n",
-			str_yes_no(dev_priv->ipc_enabled));
+		   str_yes_no(skl_watermark_ipc_enabled(dev_priv)));
 	return 0;
 }
 
@@ -1016,11 +1016,11 @@ static ssize_t i915_ipc_status_write(struct file *file, const char __user *ubuf,
 		return ret;
 
 	with_intel_runtime_pm(&dev_priv->runtime_pm, wakeref) {
-		if (!dev_priv->ipc_enabled && enable)
+		if (!skl_watermark_ipc_enabled(dev_priv) && enable)
 			drm_info(&dev_priv->drm,
 				 "Enabling IPC: WM will be proper only after next commit\n");
 		dev_priv->ipc_enabled = enable;
-		intel_enable_ipc(dev_priv);
+		skl_watermark_ipc_update(dev_priv);
 	}
 
 	return len;
diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
index cb297725d5b9..df505ca6ef91 100644
--- a/drivers/gpu/drm/i915/display/skl_watermark.c
+++ b/drivers/gpu/drm/i915/display/skl_watermark.c
@@ -1837,10 +1837,8 @@ static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
 	 * WaIncreaseLatencyIPCEnabled: kbl,cfl
 	 * Display WA #1141: kbl,cfl
 	 */
-	if ((IS_KABYLAKE(i915) ||
-	     IS_COFFEELAKE(i915) ||
-	     IS_COMETLAKE(i915)) &&
-	    i915->ipc_enabled)
+	if ((IS_KABYLAKE(i915) || IS_COFFEELAKE(i915) || IS_COMETLAKE(i915)) &&
+	    skl_watermark_ipc_enabled(i915))
 		latency += 4;
 
 	if (skl_needs_memory_bw_wa(i915) && wp->x_tiled)
@@ -2008,7 +2006,7 @@ static void skl_compute_transition_wm(struct drm_i915_private *i915,
 	u16 wm0_blocks, trans_offset, blocks;
 
 	/* Transition WM don't make any sense if ipc is disabled */
-	if (!i915->ipc_enabled)
+	if (!skl_watermark_ipc_enabled(i915))
 		return;
 
 	/*
@@ -3116,7 +3114,12 @@ void intel_wm_state_verify(struct intel_crtc *crtc,
 	kfree(hw);
 }
 
-void intel_enable_ipc(struct drm_i915_private *i915)
+bool skl_watermark_ipc_enabled(struct drm_i915_private *i915)
+{
+	return i915->ipc_enabled;
+}
+
+void skl_watermark_ipc_update(struct drm_i915_private *i915)
 {
 	u32 val;
 
@@ -3125,7 +3128,7 @@ void intel_enable_ipc(struct drm_i915_private *i915)
 
 	val = intel_uncore_read(&i915->uncore, DISP_ARB_CTL2);
 
-	if (i915->ipc_enabled)
+	if (skl_watermark_ipc_enabled(i915))
 		val |= DISP_IPC_ENABLE;
 	else
 		val &= ~DISP_IPC_ENABLE;
@@ -3133,7 +3136,7 @@ void intel_enable_ipc(struct drm_i915_private *i915)
 	intel_uncore_write(&i915->uncore, DISP_ARB_CTL2, val);
 }
 
-static bool intel_can_enable_ipc(struct drm_i915_private *i915)
+static bool skl_watermark_ipc_can_enable(struct drm_i915_private *i915)
 {
 	/* Display WA #0477 WaDisableIPC: skl */
 	if (IS_SKYLAKE(i915))
@@ -3148,14 +3151,14 @@ static bool intel_can_enable_ipc(struct drm_i915_private *i915)
 	return true;
 }
 
-void intel_init_ipc(struct drm_i915_private *i915)
+void skl_watermark_ipc_init(struct drm_i915_private *i915)
 {
 	if (!HAS_IPC(i915))
 		return;
 
-	i915->ipc_enabled = intel_can_enable_ipc(i915);
+	i915->ipc_enabled = skl_watermark_ipc_can_enable(i915);
 
-	intel_enable_ipc(i915);
+	skl_watermark_ipc_update(i915);
 }
 
 static void
diff --git a/drivers/gpu/drm/i915/display/skl_watermark.h b/drivers/gpu/drm/i915/display/skl_watermark.h
index 50da05932750..7e5adef0c510 100644
--- a/drivers/gpu/drm/i915/display/skl_watermark.h
+++ b/drivers/gpu/drm/i915/display/skl_watermark.h
@@ -44,8 +44,9 @@ void skl_wm_sanitize(struct drm_i915_private *i915);
 void intel_wm_state_verify(struct intel_crtc *crtc,
 			   struct intel_crtc_state *new_crtc_state);
 
-void intel_enable_ipc(struct drm_i915_private *i915);
-void intel_init_ipc(struct drm_i915_private *i915);
+void skl_watermark_ipc_init(struct drm_i915_private *i915);
+void skl_watermark_ipc_update(struct drm_i915_private *i915);
+bool skl_watermark_ipc_enabled(struct drm_i915_private *i915);
 
 void skl_wm_init(struct drm_i915_private *i915);
 
diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
index 8262bfb2a2d9..c459eb362c47 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -1756,7 +1756,7 @@ static int intel_runtime_resume(struct device *kdev)
 		intel_hpd_poll_disable(dev_priv);
 	}
 
-	intel_enable_ipc(dev_priv);
+	skl_watermark_ipc_update(dev_priv);
 
 	enable_rpm_wakeref_asserts(rpm);
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Intel-gfx] [PATCH 2/5] drm/i915/ipc: move IPC debugfs to skl_watermark.c
  2022-09-12 11:45 [Intel-gfx] [PATCH 0/5] drm/i915/ipc: ipc and sub-struct refactoring, take 2 Jani Nikula
  2022-09-12 11:45 ` [Intel-gfx] [PATCH 1/5] drm/i915/ipc: refactor and rename IPC functions Jani Nikula
@ 2022-09-12 11:45 ` Jani Nikula
  2022-09-12 11:45 ` [Intel-gfx] [PATCH 3/5] drm/i915/ipc: register debugfs only if IPC available Jani Nikula
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Jani Nikula @ 2022-09-12 11:45 UTC (permalink / raw)
  To: intel-gfx; +Cc: jani.nikula

Follow the new direction for debugfs files, moving the details where the
implementation is. It seems quite natural skl_watermark.c is the place
that controls IPC details, even for debugfs, not
intel_display_debugfs.c.

Rename the functions and convert dev_priv->i915 while at it.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 .../drm/i915/display/intel_display_debugfs.c  | 54 +---------------
 drivers/gpu/drm/i915/display/skl_watermark.c  | 61 +++++++++++++++++++
 drivers/gpu/drm/i915/display/skl_watermark.h  |  1 +
 3 files changed, 63 insertions(+), 53 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index d2139cf4f825..338e92889ace 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -983,58 +983,6 @@ static int i915_shared_dplls_info(struct seq_file *m, void *unused)
 	return 0;
 }
 
-static int i915_ipc_status_show(struct seq_file *m, void *data)
-{
-	struct drm_i915_private *dev_priv = m->private;
-
-	seq_printf(m, "Isochronous Priority Control: %s\n",
-		   str_yes_no(skl_watermark_ipc_enabled(dev_priv)));
-	return 0;
-}
-
-static int i915_ipc_status_open(struct inode *inode, struct file *file)
-{
-	struct drm_i915_private *dev_priv = inode->i_private;
-
-	if (!HAS_IPC(dev_priv))
-		return -ENODEV;
-
-	return single_open(file, i915_ipc_status_show, dev_priv);
-}
-
-static ssize_t i915_ipc_status_write(struct file *file, const char __user *ubuf,
-				     size_t len, loff_t *offp)
-{
-	struct seq_file *m = file->private_data;
-	struct drm_i915_private *dev_priv = m->private;
-	intel_wakeref_t wakeref;
-	bool enable;
-	int ret;
-
-	ret = kstrtobool_from_user(ubuf, len, &enable);
-	if (ret < 0)
-		return ret;
-
-	with_intel_runtime_pm(&dev_priv->runtime_pm, wakeref) {
-		if (!skl_watermark_ipc_enabled(dev_priv) && enable)
-			drm_info(&dev_priv->drm,
-				 "Enabling IPC: WM will be proper only after next commit\n");
-		dev_priv->ipc_enabled = enable;
-		skl_watermark_ipc_update(dev_priv);
-	}
-
-	return len;
-}
-
-static const struct file_operations i915_ipc_status_fops = {
-	.owner = THIS_MODULE,
-	.open = i915_ipc_status_open,
-	.read = seq_read,
-	.llseek = seq_lseek,
-	.release = single_release,
-	.write = i915_ipc_status_write
-};
-
 static int i915_ddb_info(struct seq_file *m, void *unused)
 {
 	struct drm_i915_private *dev_priv = node_to_i915(m->private);
@@ -1911,7 +1859,6 @@ static const struct {
 	{"i915_dp_test_active", &i915_displayport_test_active_fops},
 	{"i915_hpd_storm_ctl", &i915_hpd_storm_ctl_fops},
 	{"i915_hpd_short_storm_ctl", &i915_hpd_short_storm_ctl_fops},
-	{"i915_ipc_status", &i915_ipc_status_fops},
 	{"i915_drrs_ctl", &i915_drrs_ctl_fops},
 	{"i915_edp_psr_debug", &i915_edp_psr_debug_fops},
 };
@@ -1935,6 +1882,7 @@ void intel_display_debugfs_register(struct drm_i915_private *i915)
 
 	intel_dmc_debugfs_register(i915);
 	intel_fbc_debugfs_register(i915);
+	skl_watermark_ipc_debugfs_register(i915);
 }
 
 static int i915_panel_show(struct seq_file *m, void *data)
diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
index df505ca6ef91..1f0efde29d96 100644
--- a/drivers/gpu/drm/i915/display/skl_watermark.c
+++ b/drivers/gpu/drm/i915/display/skl_watermark.c
@@ -3465,3 +3465,64 @@ void intel_mbus_dbox_update(struct intel_atomic_state *state)
 		intel_de_write(i915, PIPE_MBUS_DBOX_CTL(crtc->pipe), val);
 	}
 }
+
+static int skl_watermark_ipc_status_show(struct seq_file *m, void *data)
+{
+	struct drm_i915_private *i915 = m->private;
+
+	seq_printf(m, "Isochronous Priority Control: %s\n",
+		   str_yes_no(skl_watermark_ipc_enabled(i915)));
+	return 0;
+}
+
+static int skl_watermark_ipc_status_open(struct inode *inode, struct file *file)
+{
+	struct drm_i915_private *i915 = inode->i_private;
+
+	if (!HAS_IPC(i915))
+		return -ENODEV;
+
+	return single_open(file, skl_watermark_ipc_status_show, i915);
+}
+
+static ssize_t skl_watermark_ipc_status_write(struct file *file,
+					      const char __user *ubuf,
+					      size_t len, loff_t *offp)
+{
+	struct seq_file *m = file->private_data;
+	struct drm_i915_private *i915 = m->private;
+	intel_wakeref_t wakeref;
+	bool enable;
+	int ret;
+
+	ret = kstrtobool_from_user(ubuf, len, &enable);
+	if (ret < 0)
+		return ret;
+
+	with_intel_runtime_pm(&i915->runtime_pm, wakeref) {
+		if (!skl_watermark_ipc_enabled(i915) && enable)
+			drm_info(&i915->drm,
+				 "Enabling IPC: WM will be proper only after next commit\n");
+		i915->ipc_enabled = enable;
+		skl_watermark_ipc_update(i915);
+	}
+
+	return len;
+}
+
+static const struct file_operations skl_watermark_ipc_status_fops = {
+	.owner = THIS_MODULE,
+	.open = skl_watermark_ipc_status_open,
+	.read = seq_read,
+	.llseek = seq_lseek,
+	.release = single_release,
+	.write = skl_watermark_ipc_status_write
+};
+
+void skl_watermark_ipc_debugfs_register(struct drm_i915_private *i915)
+{
+	struct drm_minor *minor = i915->drm.primary;
+
+	debugfs_create_file("i915_ipc_status", 0644, minor->debugfs_root, i915,
+			    &skl_watermark_ipc_status_fops);
+}
diff --git a/drivers/gpu/drm/i915/display/skl_watermark.h b/drivers/gpu/drm/i915/display/skl_watermark.h
index 7e5adef0c510..7a5a4e67cd73 100644
--- a/drivers/gpu/drm/i915/display/skl_watermark.h
+++ b/drivers/gpu/drm/i915/display/skl_watermark.h
@@ -47,6 +47,7 @@ void intel_wm_state_verify(struct intel_crtc *crtc,
 void skl_watermark_ipc_init(struct drm_i915_private *i915);
 void skl_watermark_ipc_update(struct drm_i915_private *i915);
 bool skl_watermark_ipc_enabled(struct drm_i915_private *i915);
+void skl_watermark_ipc_debugfs_register(struct drm_i915_private *i915);
 
 void skl_wm_init(struct drm_i915_private *i915);
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Intel-gfx] [PATCH 3/5] drm/i915/ipc: register debugfs only if IPC available
  2022-09-12 11:45 [Intel-gfx] [PATCH 0/5] drm/i915/ipc: ipc and sub-struct refactoring, take 2 Jani Nikula
  2022-09-12 11:45 ` [Intel-gfx] [PATCH 1/5] drm/i915/ipc: refactor and rename IPC functions Jani Nikula
  2022-09-12 11:45 ` [Intel-gfx] [PATCH 2/5] drm/i915/ipc: move IPC debugfs to skl_watermark.c Jani Nikula
@ 2022-09-12 11:45 ` Jani Nikula
  2022-09-12 11:45 ` [Intel-gfx] [PATCH 4/5] drm/i915/display: move IPC under display wm sub-struct Jani Nikula
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Jani Nikula @ 2022-09-12 11:45 UTC (permalink / raw)
  To: intel-gfx; +Cc: jani.nikula

It looks like trying to enable IPC via debugfs on platforms that don't
have IPC resulted in dmesg info message about IPC being enabled, which
is clearly not possible and would not happen.

Seems sensible to register IPC debugfs only on platforms that have IPC.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/skl_watermark.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
index 1f0efde29d96..fd9552f08422 100644
--- a/drivers/gpu/drm/i915/display/skl_watermark.c
+++ b/drivers/gpu/drm/i915/display/skl_watermark.c
@@ -3479,9 +3479,6 @@ static int skl_watermark_ipc_status_open(struct inode *inode, struct file *file)
 {
 	struct drm_i915_private *i915 = inode->i_private;
 
-	if (!HAS_IPC(i915))
-		return -ENODEV;
-
 	return single_open(file, skl_watermark_ipc_status_show, i915);
 }
 
@@ -3523,6 +3520,9 @@ void skl_watermark_ipc_debugfs_register(struct drm_i915_private *i915)
 {
 	struct drm_minor *minor = i915->drm.primary;
 
+	if (!HAS_IPC(i915))
+		return;
+
 	debugfs_create_file("i915_ipc_status", 0644, minor->debugfs_root, i915,
 			    &skl_watermark_ipc_status_fops);
 }
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Intel-gfx] [PATCH 4/5] drm/i915/display: move IPC under display wm sub-struct
  2022-09-12 11:45 [Intel-gfx] [PATCH 0/5] drm/i915/ipc: ipc and sub-struct refactoring, take 2 Jani Nikula
                   ` (2 preceding siblings ...)
  2022-09-12 11:45 ` [Intel-gfx] [PATCH 3/5] drm/i915/ipc: register debugfs only if IPC available Jani Nikula
@ 2022-09-12 11:45 ` Jani Nikula
  2022-09-12 11:45 ` [Intel-gfx] [PATCH 5/5] drm/i915/ipc: use intel_uncore_rmw() to enable/disable Jani Nikula
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Jani Nikula @ 2022-09-12 11:45 UTC (permalink / raw)
  To: intel-gfx; +Cc: jani.nikula

Move display IPC related member under drm_i915_private display
sub-struct.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display_core.h | 2 ++
 drivers/gpu/drm/i915/display/skl_watermark.c      | 6 +++---
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
index 9086a612365e..96cf994b0ad1 100644
--- a/drivers/gpu/drm/i915/display/intel_display_core.h
+++ b/drivers/gpu/drm/i915/display/intel_display_core.h
@@ -239,6 +239,8 @@ struct intel_wm {
 	 * crtc_state->wm.need_postvbl_update.
 	 */
 	struct mutex wm_mutex;
+
+	bool ipc_enabled;
 };
 
 struct intel_display {
diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
index fd9552f08422..ab7fc41d325a 100644
--- a/drivers/gpu/drm/i915/display/skl_watermark.c
+++ b/drivers/gpu/drm/i915/display/skl_watermark.c
@@ -3116,7 +3116,7 @@ void intel_wm_state_verify(struct intel_crtc *crtc,
 
 bool skl_watermark_ipc_enabled(struct drm_i915_private *i915)
 {
-	return i915->ipc_enabled;
+	return i915->display.wm.ipc_enabled;
 }
 
 void skl_watermark_ipc_update(struct drm_i915_private *i915)
@@ -3156,7 +3156,7 @@ void skl_watermark_ipc_init(struct drm_i915_private *i915)
 	if (!HAS_IPC(i915))
 		return;
 
-	i915->ipc_enabled = skl_watermark_ipc_can_enable(i915);
+	i915->display.wm.ipc_enabled = skl_watermark_ipc_can_enable(i915);
 
 	skl_watermark_ipc_update(i915);
 }
@@ -3500,7 +3500,7 @@ static ssize_t skl_watermark_ipc_status_write(struct file *file,
 		if (!skl_watermark_ipc_enabled(i915) && enable)
 			drm_info(&i915->drm,
 				 "Enabling IPC: WM will be proper only after next commit\n");
-		i915->ipc_enabled = enable;
+		i915->display.wm.ipc_enabled = enable;
 		skl_watermark_ipc_update(i915);
 	}
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Intel-gfx] [PATCH 5/5] drm/i915/ipc: use intel_uncore_rmw() to enable/disable
  2022-09-12 11:45 [Intel-gfx] [PATCH 0/5] drm/i915/ipc: ipc and sub-struct refactoring, take 2 Jani Nikula
                   ` (3 preceding siblings ...)
  2022-09-12 11:45 ` [Intel-gfx] [PATCH 4/5] drm/i915/display: move IPC under display wm sub-struct Jani Nikula
@ 2022-09-12 11:45 ` Jani Nikula
  2022-09-12 18:27 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915/ipc: ipc and sub-struct refactoring, take 2 Patchwork
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Jani Nikula @ 2022-09-12 11:45 UTC (permalink / raw)
  To: intel-gfx; +Cc: jani.nikula

Don't duplicate the rmw function.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/skl_watermark.c | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
index ab7fc41d325a..c70d811163f6 100644
--- a/drivers/gpu/drm/i915/display/skl_watermark.c
+++ b/drivers/gpu/drm/i915/display/skl_watermark.c
@@ -3121,19 +3121,11 @@ bool skl_watermark_ipc_enabled(struct drm_i915_private *i915)
 
 void skl_watermark_ipc_update(struct drm_i915_private *i915)
 {
-	u32 val;
-
 	if (!HAS_IPC(i915))
 		return;
 
-	val = intel_uncore_read(&i915->uncore, DISP_ARB_CTL2);
-
-	if (skl_watermark_ipc_enabled(i915))
-		val |= DISP_IPC_ENABLE;
-	else
-		val &= ~DISP_IPC_ENABLE;
-
-	intel_uncore_write(&i915->uncore, DISP_ARB_CTL2, val);
+	intel_uncore_rmw(&i915->uncore, DISP_ARB_CTL2, DISP_IPC_ENABLE,
+			 skl_watermark_ipc_enabled(i915) ? DISP_IPC_ENABLE : 0);
 }
 
 static bool skl_watermark_ipc_can_enable(struct drm_i915_private *i915)
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915/ipc: ipc and sub-struct refactoring, take 2
  2022-09-12 11:45 [Intel-gfx] [PATCH 0/5] drm/i915/ipc: ipc and sub-struct refactoring, take 2 Jani Nikula
                   ` (4 preceding siblings ...)
  2022-09-12 11:45 ` [Intel-gfx] [PATCH 5/5] drm/i915/ipc: use intel_uncore_rmw() to enable/disable Jani Nikula
@ 2022-09-12 18:27 ` Patchwork
  2022-09-12 18:50 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2022-09-12 18:27 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/ipc: ipc and sub-struct refactoring, take 2
URL   : https://patchwork.freedesktop.org/series/108428/
State : warning

== Summary ==

Error: dim sparse failed
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/ipc: ipc and sub-struct refactoring, take 2
  2022-09-12 11:45 [Intel-gfx] [PATCH 0/5] drm/i915/ipc: ipc and sub-struct refactoring, take 2 Jani Nikula
                   ` (5 preceding siblings ...)
  2022-09-12 18:27 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915/ipc: ipc and sub-struct refactoring, take 2 Patchwork
@ 2022-09-12 18:50 ` Patchwork
  2022-09-13  7:53 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/ipc: ipc and sub-struct refactoring, take 2 (rev2) Patchwork
  2022-09-13 16:22 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
  8 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2022-09-12 18:50 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 5009 bytes --]

== Series Details ==

Series: drm/i915/ipc: ipc and sub-struct refactoring, take 2
URL   : https://patchwork.freedesktop.org/series/108428/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_12123 -> Patchwork_108428v1
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_108428v1 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_108428v1, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v1/index.html

Participating hosts (42 -> 41)
------------------------------

  Additional (1): bat-jsl-1 
  Missing    (2): fi-ctg-p8600 fi-bdw-samus 

Possible new issues
-------------------

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

### IGT changes ###

#### Possible regressions ####

  * igt@i915_pm_rps@basic-api:
    - fi-adl-ddr5:        [PASS][1] -> [FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12123/fi-adl-ddr5/igt@i915_pm_rps@basic-api.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v1/fi-adl-ddr5/igt@i915_pm_rps@basic-api.html

  
Known issues
------------

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

### IGT changes ###

#### Issues hit ####

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-rkl-11600:       NOTRUN -> [SKIP][3] ([fdo#111827])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v1/fi-rkl-11600/igt@kms_chamelium@common-hpd-after-suspend.html
    - fi-pnv-d510:        NOTRUN -> [SKIP][4] ([fdo#109271])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v1/fi-pnv-d510/igt@kms_chamelium@common-hpd-after-suspend.html

  
#### Possible fixes ####

  * igt@gem_exec_gttfill@basic:
    - {bat-rpls-2}:       [DMESG-WARN][5] -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12123/bat-rpls-2/igt@gem_exec_gttfill@basic.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v1/bat-rpls-2/igt@gem_exec_gttfill@basic.html

  * igt@i915_selftest@live@requests:
    - fi-pnv-d510:        [DMESG-FAIL][7] ([i915#4528]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12123/fi-pnv-d510/igt@i915_selftest@live@requests.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v1/fi-pnv-d510/igt@i915_selftest@live@requests.html

  * igt@i915_suspend@basic-s3-without-i915:
    - fi-rkl-11600:       [INCOMPLETE][9] ([i915#5982]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12123/fi-rkl-11600/igt@i915_suspend@basic-s3-without-i915.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v1/fi-rkl-11600/igt@i915_suspend@basic-s3-without-i915.html

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

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2867]: https://gitlab.freedesktop.org/drm/intel/issues/2867
  [i915#3003]: https://gitlab.freedesktop.org/drm/intel/issues/3003
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4258]: https://gitlab.freedesktop.org/drm/intel/issues/4258
  [i915#4528]: https://gitlab.freedesktop.org/drm/intel/issues/4528
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#5982]: https://gitlab.freedesktop.org/drm/intel/issues/5982


Build changes
-------------

  * Linux: CI_DRM_12123 -> Patchwork_108428v1

  CI-20190529: 20190529
  CI_DRM_12123: 5dd153b15e2e3198fca3d84db9e155f454645f91 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6650: f7aff600ab16d6405f0704b1743d2b7909715752 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_108428v1: 5dd153b15e2e3198fca3d84db9e155f454645f91 @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

4976f897758f drm/i915/ipc: use intel_uncore_rmw() to enable/disable
7593b78e3d53 drm/i915/display: move IPC under display wm sub-struct
d5d89a2be0f9 drm/i915/ipc: register debugfs only if IPC available
dfdced37801b drm/i915/ipc: move IPC debugfs to skl_watermark.c
d75ccc652171 drm/i915/ipc: refactor and rename IPC functions

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v1/index.html

[-- Attachment #2: Type: text/html, Size: 5059 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/ipc: ipc and sub-struct refactoring, take 2 (rev2)
  2022-09-12 11:45 [Intel-gfx] [PATCH 0/5] drm/i915/ipc: ipc and sub-struct refactoring, take 2 Jani Nikula
                   ` (6 preceding siblings ...)
  2022-09-12 18:50 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
@ 2022-09-13  7:53 ` Patchwork
  2022-09-13 16:22 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
  8 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2022-09-13  7:53 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 6294 bytes --]

== Series Details ==

Series: drm/i915/ipc: ipc and sub-struct refactoring, take 2 (rev2)
URL   : https://patchwork.freedesktop.org/series/108428/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_12124 -> Patchwork_108428v2
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/index.html

Participating hosts (41 -> 34)
------------------------------

  Additional (1): fi-hsw-4770 
  Missing    (8): bat-dg1-5 bat-dg2-8 bat-dg2-9 bat-adlp-4 fi-ctg-p8600 bat-rplp-1 bat-rpls-2 fi-bdw-samus 

Possible new issues
-------------------

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

### IGT changes ###

#### Suppressed ####

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

  * igt@i915_selftest@live@ring_submission:
    - {bat-adln-1}:       [PASS][1] -> [DMESG-FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/bat-adln-1/igt@i915_selftest@live@ring_submission.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/bat-adln-1/igt@i915_selftest@live@ring_submission.html

  
Known issues
------------

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_pm_backlight@basic-brightness:
    - fi-hsw-4770:        NOTRUN -> [SKIP][3] ([fdo#109271] / [i915#3012])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/fi-hsw-4770/igt@i915_pm_backlight@basic-brightness.html

  * igt@i915_selftest@live@gem:
    - fi-blb-e6850:       NOTRUN -> [DMESG-FAIL][4] ([i915#4528])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/fi-blb-e6850/igt@i915_selftest@live@gem.html

  * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
    - fi-hsw-4770:        NOTRUN -> [SKIP][5] ([fdo#109271]) +9 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/fi-hsw-4770/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-hsw-g3258:       NOTRUN -> [SKIP][6] ([fdo#109271] / [fdo#111827])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/fi-hsw-g3258/igt@kms_chamelium@common-hpd-after-suspend.html
    - fi-bsw-kefka:       NOTRUN -> [SKIP][7] ([fdo#109271] / [fdo#111827])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/fi-bsw-kefka/igt@kms_chamelium@common-hpd-after-suspend.html
    - fi-pnv-d510:        NOTRUN -> [SKIP][8] ([fdo#109271])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/fi-pnv-d510/igt@kms_chamelium@common-hpd-after-suspend.html

  * igt@kms_chamelium@dp-crc-fast:
    - fi-hsw-4770:        NOTRUN -> [SKIP][9] ([fdo#109271] / [fdo#111827]) +8 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/fi-hsw-4770/igt@kms_chamelium@dp-crc-fast.html

  * igt@kms_psr@sprite_plane_onoff:
    - fi-hsw-4770:        NOTRUN -> [SKIP][10] ([fdo#109271] / [i915#1072]) +3 similar issues
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/fi-hsw-4770/igt@kms_psr@sprite_plane_onoff.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@gem:
    - fi-pnv-d510:        [DMESG-FAIL][11] ([i915#4528]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/fi-pnv-d510/igt@i915_selftest@live@gem.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/fi-pnv-d510/igt@i915_selftest@live@gem.html

  * igt@i915_selftest@live@hangcheck:
    - fi-hsw-g3258:       [INCOMPLETE][13] ([i915#3303] / [i915#4785]) -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/fi-hsw-g3258/igt@i915_selftest@live@hangcheck.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/fi-hsw-g3258/igt@i915_selftest@live@hangcheck.html

  * igt@i915_selftest@live@requests:
    - fi-blb-e6850:       [DMESG-FAIL][15] ([i915#4528]) -> [PASS][16]
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/fi-blb-e6850/igt@i915_selftest@live@requests.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/fi-blb-e6850/igt@i915_selftest@live@requests.html

  * igt@i915_selftest@live@reset:
    - fi-bsw-kefka:       [INCOMPLETE][17] -> [PASS][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/fi-bsw-kefka/igt@i915_selftest@live@reset.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/fi-bsw-kefka/igt@i915_selftest@live@reset.html

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

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#3012]: https://gitlab.freedesktop.org/drm/intel/issues/3012
  [i915#3303]: https://gitlab.freedesktop.org/drm/intel/issues/3303
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4528]: https://gitlab.freedesktop.org/drm/intel/issues/4528
  [i915#4785]: https://gitlab.freedesktop.org/drm/intel/issues/4785
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983


Build changes
-------------

  * Linux: CI_DRM_12124 -> Patchwork_108428v2

  CI-20190529: 20190529
  CI_DRM_12124: 6b64355bf00cf612fef129009e6443471f946265 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6652: 79ebd88d01d679ffe9f6f24108c6ac4dc3f04ddd @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_108428v2: 6b64355bf00cf612fef129009e6443471f946265 @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

8cc85bd2b213 drm/i915/ipc: use intel_uncore_rmw() to enable/disable
125463ba5260 drm/i915/display: move IPC under display wm sub-struct
408c1c840eca drm/i915/ipc: register debugfs only if IPC available
8e0f59c8a6b1 drm/i915/ipc: move IPC debugfs to skl_watermark.c
6a7378b9ad3b drm/i915/ipc: refactor and rename IPC functions

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/index.html

[-- Attachment #2: Type: text/html, Size: 7766 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Intel-gfx] [PATCH 1/5] drm/i915/ipc: refactor and rename IPC functions
  2022-09-12 11:45 ` [Intel-gfx] [PATCH 1/5] drm/i915/ipc: refactor and rename IPC functions Jani Nikula
@ 2022-09-13  9:23   ` Ville Syrjälä
  2022-09-13 17:09     ` Jani Nikula
  0 siblings, 1 reply; 12+ messages in thread
From: Ville Syrjälä @ 2022-09-13  9:23 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

On Mon, Sep 12, 2022 at 02:45:12PM +0300, Jani Nikula wrote:
> Rename the IPC functions to have skl_watermark_ipc_ prefix, rename
> enable to update to reflect what the function actually does, and add
> enabled function to abstract direct ->ipc_enabled access for state
> query.
> 
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_display.c  |  6 ++---
>  .../drm/i915/display/intel_display_debugfs.c  |  6 ++---
>  drivers/gpu/drm/i915/display/skl_watermark.c  | 25 +++++++++++--------
>  drivers/gpu/drm/i915/display/skl_watermark.h  |  5 ++--
>  drivers/gpu/drm/i915/i915_driver.c            |  2 +-
>  5 files changed, 24 insertions(+), 20 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 2d0018ae34b1..a0829dcfd6d3 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -4779,7 +4779,7 @@ static u16 skl_linetime_wm(const struct intel_crtc_state *crtc_state)
>  
>  	/* Display WA #1135: BXT:ALL GLK:ALL */
>  	if ((IS_GEMINILAKE(dev_priv) || IS_BROXTON(dev_priv)) &&
> -	    dev_priv->ipc_enabled)
> +	    skl_watermark_ipc_enabled(dev_priv))

I forgot this spilled so far :/

But yeah, looks OK to me. Series is
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

>  		linetime_wm /= 2;
>  
>  	return min(linetime_wm, 0x1ff);
> @@ -8782,7 +8782,7 @@ int intel_modeset_init(struct drm_i915_private *i915)
>  	intel_hpd_init(i915);
>  	intel_hpd_poll_disable(i915);
>  
> -	intel_init_ipc(i915);
> +	skl_watermark_ipc_init(i915);
>  
>  	return 0;
>  }
> @@ -8913,7 +8913,7 @@ void intel_display_resume(struct drm_device *dev)
>  	if (!ret)
>  		ret = __intel_display_resume(i915, state, &ctx);
>  
> -	intel_enable_ipc(i915);
> +	skl_watermark_ipc_update(i915);
>  	drm_modeset_drop_locks(&ctx);
>  	drm_modeset_acquire_fini(&ctx);
>  
> diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> index fe40e2a226d6..d2139cf4f825 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> @@ -988,7 +988,7 @@ static int i915_ipc_status_show(struct seq_file *m, void *data)
>  	struct drm_i915_private *dev_priv = m->private;
>  
>  	seq_printf(m, "Isochronous Priority Control: %s\n",
> -			str_yes_no(dev_priv->ipc_enabled));
> +		   str_yes_no(skl_watermark_ipc_enabled(dev_priv)));
>  	return 0;
>  }
>  
> @@ -1016,11 +1016,11 @@ static ssize_t i915_ipc_status_write(struct file *file, const char __user *ubuf,
>  		return ret;
>  
>  	with_intel_runtime_pm(&dev_priv->runtime_pm, wakeref) {
> -		if (!dev_priv->ipc_enabled && enable)
> +		if (!skl_watermark_ipc_enabled(dev_priv) && enable)
>  			drm_info(&dev_priv->drm,
>  				 "Enabling IPC: WM will be proper only after next commit\n");
>  		dev_priv->ipc_enabled = enable;
> -		intel_enable_ipc(dev_priv);
> +		skl_watermark_ipc_update(dev_priv);
>  	}
>  
>  	return len;
> diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
> index cb297725d5b9..df505ca6ef91 100644
> --- a/drivers/gpu/drm/i915/display/skl_watermark.c
> +++ b/drivers/gpu/drm/i915/display/skl_watermark.c
> @@ -1837,10 +1837,8 @@ static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
>  	 * WaIncreaseLatencyIPCEnabled: kbl,cfl
>  	 * Display WA #1141: kbl,cfl
>  	 */
> -	if ((IS_KABYLAKE(i915) ||
> -	     IS_COFFEELAKE(i915) ||
> -	     IS_COMETLAKE(i915)) &&
> -	    i915->ipc_enabled)
> +	if ((IS_KABYLAKE(i915) || IS_COFFEELAKE(i915) || IS_COMETLAKE(i915)) &&
> +	    skl_watermark_ipc_enabled(i915))
>  		latency += 4;
>  
>  	if (skl_needs_memory_bw_wa(i915) && wp->x_tiled)
> @@ -2008,7 +2006,7 @@ static void skl_compute_transition_wm(struct drm_i915_private *i915,
>  	u16 wm0_blocks, trans_offset, blocks;
>  
>  	/* Transition WM don't make any sense if ipc is disabled */
> -	if (!i915->ipc_enabled)
> +	if (!skl_watermark_ipc_enabled(i915))
>  		return;
>  
>  	/*
> @@ -3116,7 +3114,12 @@ void intel_wm_state_verify(struct intel_crtc *crtc,
>  	kfree(hw);
>  }
>  
> -void intel_enable_ipc(struct drm_i915_private *i915)
> +bool skl_watermark_ipc_enabled(struct drm_i915_private *i915)
> +{
> +	return i915->ipc_enabled;
> +}
> +
> +void skl_watermark_ipc_update(struct drm_i915_private *i915)
>  {
>  	u32 val;
>  
> @@ -3125,7 +3128,7 @@ void intel_enable_ipc(struct drm_i915_private *i915)
>  
>  	val = intel_uncore_read(&i915->uncore, DISP_ARB_CTL2);
>  
> -	if (i915->ipc_enabled)
> +	if (skl_watermark_ipc_enabled(i915))
>  		val |= DISP_IPC_ENABLE;
>  	else
>  		val &= ~DISP_IPC_ENABLE;
> @@ -3133,7 +3136,7 @@ void intel_enable_ipc(struct drm_i915_private *i915)
>  	intel_uncore_write(&i915->uncore, DISP_ARB_CTL2, val);
>  }
>  
> -static bool intel_can_enable_ipc(struct drm_i915_private *i915)
> +static bool skl_watermark_ipc_can_enable(struct drm_i915_private *i915)
>  {
>  	/* Display WA #0477 WaDisableIPC: skl */
>  	if (IS_SKYLAKE(i915))
> @@ -3148,14 +3151,14 @@ static bool intel_can_enable_ipc(struct drm_i915_private *i915)
>  	return true;
>  }
>  
> -void intel_init_ipc(struct drm_i915_private *i915)
> +void skl_watermark_ipc_init(struct drm_i915_private *i915)
>  {
>  	if (!HAS_IPC(i915))
>  		return;
>  
> -	i915->ipc_enabled = intel_can_enable_ipc(i915);
> +	i915->ipc_enabled = skl_watermark_ipc_can_enable(i915);
>  
> -	intel_enable_ipc(i915);
> +	skl_watermark_ipc_update(i915);
>  }
>  
>  static void
> diff --git a/drivers/gpu/drm/i915/display/skl_watermark.h b/drivers/gpu/drm/i915/display/skl_watermark.h
> index 50da05932750..7e5adef0c510 100644
> --- a/drivers/gpu/drm/i915/display/skl_watermark.h
> +++ b/drivers/gpu/drm/i915/display/skl_watermark.h
> @@ -44,8 +44,9 @@ void skl_wm_sanitize(struct drm_i915_private *i915);
>  void intel_wm_state_verify(struct intel_crtc *crtc,
>  			   struct intel_crtc_state *new_crtc_state);
>  
> -void intel_enable_ipc(struct drm_i915_private *i915);
> -void intel_init_ipc(struct drm_i915_private *i915);
> +void skl_watermark_ipc_init(struct drm_i915_private *i915);
> +void skl_watermark_ipc_update(struct drm_i915_private *i915);
> +bool skl_watermark_ipc_enabled(struct drm_i915_private *i915);
>  
>  void skl_wm_init(struct drm_i915_private *i915);
>  
> diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
> index 8262bfb2a2d9..c459eb362c47 100644
> --- a/drivers/gpu/drm/i915/i915_driver.c
> +++ b/drivers/gpu/drm/i915/i915_driver.c
> @@ -1756,7 +1756,7 @@ static int intel_runtime_resume(struct device *kdev)
>  		intel_hpd_poll_disable(dev_priv);
>  	}
>  
> -	intel_enable_ipc(dev_priv);
> +	skl_watermark_ipc_update(dev_priv);
>  
>  	enable_rpm_wakeref_asserts(rpm);
>  
> -- 
> 2.34.1

-- 
Ville Syrjälä
Intel

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/ipc: ipc and sub-struct refactoring, take 2 (rev2)
  2022-09-12 11:45 [Intel-gfx] [PATCH 0/5] drm/i915/ipc: ipc and sub-struct refactoring, take 2 Jani Nikula
                   ` (7 preceding siblings ...)
  2022-09-13  7:53 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/ipc: ipc and sub-struct refactoring, take 2 (rev2) Patchwork
@ 2022-09-13 16:22 ` Patchwork
  8 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2022-09-13 16:22 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 23838 bytes --]

== Series Details ==

Series: drm/i915/ipc: ipc and sub-struct refactoring, take 2 (rev2)
URL   : https://patchwork.freedesktop.org/series/108428/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_12124_full -> Patchwork_108428v2_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (9 -> 10)
------------------------------

  Additional (2): shard-rkl shard-tglu 
  Missing    (1): pig-glk-j5005 

Known issues
------------

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_exec@basic-nohangcheck:
    - shard-tglb:         [PASS][1] -> [FAIL][2] ([i915#6268])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-tglb3/igt@gem_ctx_exec@basic-nohangcheck.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-tglb6/igt@gem_ctx_exec@basic-nohangcheck.html

  * igt@gem_exec_balancer@parallel-bb-first:
    - shard-iclb:         [PASS][3] -> [SKIP][4] ([i915#4525])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-iclb1/igt@gem_exec_balancer@parallel-bb-first.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-iclb5/igt@gem_exec_balancer@parallel-bb-first.html

  * igt@gem_exec_fair@basic-throttle@rcs0:
    - shard-glk:          [PASS][5] -> [FAIL][6] ([i915#2842]) +3 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-glk5/igt@gem_exec_fair@basic-throttle@rcs0.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-glk3/igt@gem_exec_fair@basic-throttle@rcs0.html
    - shard-iclb:         [PASS][7] -> [FAIL][8] ([i915#2842])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-iclb8/igt@gem_exec_fair@basic-throttle@rcs0.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-iclb7/igt@gem_exec_fair@basic-throttle@rcs0.html

  * igt@gem_lmem_swapping@heavy-multi:
    - shard-glk:          NOTRUN -> [SKIP][9] ([fdo#109271] / [i915#4613])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-glk7/igt@gem_lmem_swapping@heavy-multi.html

  * igt@gem_lmem_swapping@verify-random:
    - shard-apl:          NOTRUN -> [SKIP][10] ([fdo#109271] / [i915#4613]) +1 similar issue
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-apl2/igt@gem_lmem_swapping@verify-random.html

  * igt@gen9_exec_parse@allowed-all:
    - shard-glk:          [PASS][11] -> [DMESG-WARN][12] ([i915#5566] / [i915#716])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-glk6/igt@gen9_exec_parse@allowed-all.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-glk9/igt@gen9_exec_parse@allowed-all.html

  * igt@i915_pm_rpm@gem-execbuf-stress-pc8:
    - shard-glk:          NOTRUN -> [SKIP][13] ([fdo#109271]) +37 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-glk7/igt@i915_pm_rpm@gem-execbuf-stress-pc8.html

  * igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_mc_ccs:
    - shard-glk:          NOTRUN -> [SKIP][14] ([fdo#109271] / [i915#3886]) +1 similar issue
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-glk7/igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_mc_ccs:
    - shard-apl:          NOTRUN -> [SKIP][15] ([fdo#109271] / [i915#3886]) +4 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-apl2/igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_mc_ccs.html

  * igt@kms_chamelium@vga-hpd-without-ddc:
    - shard-apl:          NOTRUN -> [SKIP][16] ([fdo#109271] / [fdo#111827]) +3 similar issues
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-apl6/igt@kms_chamelium@vga-hpd-without-ddc.html
    - shard-glk:          NOTRUN -> [SKIP][17] ([fdo#109271] / [fdo#111827]) +1 similar issue
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-glk7/igt@kms_chamelium@vga-hpd-without-ddc.html

  * igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions:
    - shard-glk:          [PASS][18] -> [FAIL][19] ([i915#2346])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-glk8/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-glk9/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-valid-mode:
    - shard-iclb:         NOTRUN -> [SKIP][20] ([i915#2587] / [i915#2672]) +4 similar issues
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-iclb4/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling@pipe-a-default-mode:
    - shard-iclb:         NOTRUN -> [SKIP][21] ([i915#6375])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-iclb2/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode:
    - shard-iclb:         NOTRUN -> [SKIP][22] ([i915#2672]) +4 similar issues
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling@pipe-a-default-mode:
    - shard-iclb:         NOTRUN -> [SKIP][23] ([i915#3555])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling@pipe-a-default-mode.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff:
    - shard-apl:          NOTRUN -> [SKIP][24] ([fdo#109271]) +74 similar issues
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-apl6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff.html

  * igt@kms_hdr@bpc-switch-suspend@pipe-a-dp-1:
    - shard-apl:          [PASS][25] -> [DMESG-WARN][26] ([i915#180]) +1 similar issue
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-apl4/igt@kms_hdr@bpc-switch-suspend@pipe-a-dp-1.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-apl3/igt@kms_hdr@bpc-switch-suspend@pipe-a-dp-1.html

  * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max:
    - shard-glk:          NOTRUN -> [FAIL][27] ([fdo#108145] / [i915#265])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-glk7/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max.html
    - shard-apl:          NOTRUN -> [FAIL][28] ([fdo#108145] / [i915#265])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-apl6/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max.html

  * igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-fully-sf:
    - shard-apl:          NOTRUN -> [SKIP][29] ([fdo#109271] / [i915#658]) +1 similar issue
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-apl2/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_su@page_flip-nv12:
    - shard-glk:          NOTRUN -> [SKIP][30] ([fdo#109271] / [i915#658])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-glk7/igt@kms_psr2_su@page_flip-nv12.html

  * igt@kms_psr@psr2_cursor_blt:
    - shard-iclb:         [PASS][31] -> [SKIP][32] ([fdo#109441]) +2 similar issues
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-iclb2/igt@kms_psr@psr2_cursor_blt.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-iclb4/igt@kms_psr@psr2_cursor_blt.html

  * igt@kms_vblank@pipe-b-accuracy-idle:
    - shard-snb:          [PASS][33] -> [SKIP][34] ([fdo#109271])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-snb7/igt@kms_vblank@pipe-b-accuracy-idle.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-snb4/igt@kms_vblank@pipe-b-accuracy-idle.html

  
#### Possible fixes ####

  * igt@gem_exec_balancer@parallel-balancer:
    - shard-iclb:         [SKIP][35] ([i915#4525]) -> [PASS][36]
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-iclb3/igt@gem_exec_balancer@parallel-balancer.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-iclb1/igt@gem_exec_balancer@parallel-balancer.html

  * igt@gem_exec_fair@basic-none-solo@rcs0:
    - shard-apl:          [FAIL][37] ([i915#2842]) -> [PASS][38]
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-apl8/igt@gem_exec_fair@basic-none-solo@rcs0.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-apl4/igt@gem_exec_fair@basic-none-solo@rcs0.html

  * igt@gem_exec_fair@basic-pace-solo@rcs0:
    - shard-glk:          [FAIL][39] ([i915#2842]) -> [PASS][40]
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-glk2/igt@gem_exec_fair@basic-pace-solo@rcs0.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-glk6/igt@gem_exec_fair@basic-pace-solo@rcs0.html

  * igt@gem_huc_copy@huc-copy:
    - shard-tglb:         [SKIP][41] ([i915#2190]) -> [PASS][42]
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-tglb6/igt@gem_huc_copy@huc-copy.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-tglb1/igt@gem_huc_copy@huc-copy.html

  * igt@gen9_exec_parse@allowed-single:
    - shard-apl:          [DMESG-WARN][43] ([i915#5566] / [i915#716]) -> [PASS][44]
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-apl6/igt@gen9_exec_parse@allowed-single.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-apl6/igt@gen9_exec_parse@allowed-single.html
    - shard-glk:          [DMESG-WARN][45] ([i915#5566] / [i915#716]) -> [PASS][46]
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-glk8/igt@gen9_exec_parse@allowed-single.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-glk7/igt@gen9_exec_parse@allowed-single.html

  * igt@i915_pm_dc@dc6-dpms:
    - shard-iclb:         [FAIL][47] ([i915#454]) -> [PASS][48] +1 similar issue
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-iclb3/igt@i915_pm_dc@dc6-dpms.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-iclb1/igt@i915_pm_dc@dc6-dpms.html

  * igt@kms_flip@flip-vs-absolute-wf_vblank-interruptible@b-hdmi-a2:
    - shard-glk:          [FAIL][49] ([i915#2122]) -> [PASS][50]
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-glk2/igt@kms_flip@flip-vs-absolute-wf_vblank-interruptible@b-hdmi-a2.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-glk3/igt@kms_flip@flip-vs-absolute-wf_vblank-interruptible@b-hdmi-a2.html

  * igt@kms_flip@flip-vs-suspend-interruptible@c-dp1:
    - shard-apl:          [DMESG-WARN][51] ([i915#180]) -> [PASS][52] +1 similar issue
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-apl3/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-apl2/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-a-edp-1:
    - shard-iclb:         [SKIP][53] ([i915#5235]) -> [PASS][54] +2 similar issues
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-iclb2/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-a-edp-1.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-iclb4/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-a-edp-1.html

  * igt@kms_psr@psr2_sprite_render:
    - shard-iclb:         [SKIP][55] ([fdo#109441]) -> [PASS][56]
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-iclb1/igt@kms_psr@psr2_sprite_render.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-iclb2/igt@kms_psr@psr2_sprite_render.html

  
#### Warnings ####

  * igt@kms_plane_lowres@tiling-yf:
    - shard-tglb:         [SKIP][57] ([fdo#112054]) -> [SKIP][58] ([fdo#112054] / [i915#5288])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-tglb7/igt@kms_plane_lowres@tiling-yf.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-tglb6/igt@kms_plane_lowres@tiling-yf.html

  * igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf:
    - shard-iclb:         [SKIP][59] ([i915#2920]) -> [SKIP][60] ([i915#658]) +2 similar issues
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-iclb2/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-iclb8/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area:
    - shard-iclb:         [SKIP][61] ([fdo#111068] / [i915#658]) -> [SKIP][62] ([i915#2920])
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-iclb5/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-iclb2/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area.html

  * igt@kms_psr2_su@page_flip-p010:
    - shard-iclb:         [SKIP][63] ([fdo#109642] / [fdo#111068] / [i915#658]) -> [FAIL][64] ([i915#5939])
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-iclb1/igt@kms_psr2_su@page_flip-p010.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-iclb2/igt@kms_psr2_su@page_flip-p010.html

  * igt@runner@aborted:
    - shard-apl:          ([FAIL][65], [FAIL][66], [FAIL][67], [FAIL][68], [FAIL][69]) ([fdo#109271] / [i915#180] / [i915#3002] / [i915#4312] / [i915#5257] / [i915#6599]) -> ([FAIL][70], [FAIL][71], [FAIL][72], [FAIL][73]) ([i915#3002] / [i915#4312] / [i915#5257] / [i915#6599])
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-apl7/igt@runner@aborted.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-apl6/igt@runner@aborted.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-apl4/igt@runner@aborted.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-apl3/igt@runner@aborted.html
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12124/shard-apl3/igt@runner@aborted.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-apl3/igt@runner@aborted.html
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-apl8/igt@runner@aborted.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-apl4/igt@runner@aborted.html
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/shard-apl7/igt@runner@aborted.html

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

  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [fdo#109302]: https://bugs.freedesktop.org/show_bug.cgi?id=109302
  [fdo#109303]: https://bugs.freedesktop.org/show_bug.cgi?id=109303
  [fdo#109307]: https://bugs.freedesktop.org/show_bug.cgi?id=109307
  [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309
  [fdo#109312]: https://bugs.freedesktop.org/show_bug.cgi?id=109312
  [fdo#109313]: https://bugs.freedesktop.org/show_bug.cgi?id=109313
  [fdo#109314]: https://bugs.freedesktop.org/show_bug.cgi?id=109314
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#110542]: https://bugs.freedesktop.org/show_bug.cgi?id=110542
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111644]: https://bugs.freedesktop.org/show_bug.cgi?id=111644
  [fdo#111656]: https://bugs.freedesktop.org/show_bug.cgi?id=111656
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
  [fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283
  [i915#1063]: https://gitlab.freedesktop.org/drm/intel/issues/1063
  [i915#1155]: https://gitlab.freedesktop.org/drm/intel/issues/1155
  [i915#1257]: https://gitlab.freedesktop.org/drm/intel/issues/1257
  [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
  [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
  [i915#1902]: https://gitlab.freedesktop.org/drm/intel/issues/1902
  [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2410]: https://gitlab.freedesktop.org/drm/intel/issues/2410
  [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2530]: https://gitlab.freedesktop.org/drm/intel/issues/2530
  [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
  [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
  [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
  [i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
  [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
  [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
  [i915#284]: https://gitlab.freedesktop.org/drm/intel/issues/284
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
  [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
  [i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
  [i915#3002]: https://gitlab.freedesktop.org/drm/intel/issues/3002
  [i915#3012]: https://gitlab.freedesktop.org/drm/intel/issues/3012
  [i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
  [i915#3323]: https://gitlab.freedesktop.org/drm/intel/issues/3323
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3376]: https://gitlab.freedesktop.org/drm/intel/issues/3376
  [i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469
  [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
  [i915#3804]: https://gitlab.freedesktop.org/drm/intel/issues/3804
  [i915#3826]: https://gitlab.freedesktop.org/drm/intel/issues/3826
  [i915#3828]: https://gitlab.freedesktop.org/drm/intel/issues/3828
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#3966]: https://gitlab.freedesktop.org/drm/intel/issues/3966
  [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433
  [i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
  [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5257]: https://gitlab.freedesktop.org/drm/intel/issues/5257
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288
  [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
  [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439
  [i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461
  [i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
  [i915#5723]: https://gitlab.freedesktop.org/drm/intel/issues/5723
  [i915#5939]: https://gitlab.freedesktop.org/drm/intel/issues/5939
  [i915#5982]: https://gitlab.freedesktop.org/drm/intel/issues/5982
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6117]: https://gitlab.freedesktop.org/drm/intel/issues/6117
  [i915#6227]: https://gitlab.freedesktop.org/drm/intel/issues/6227
  [i915#6245]: https://gitlab.freedesktop.org/drm/intel/issues/6245
  [i915#6248]: https://gitlab.freedesktop.org/drm/intel/issues/6248
  [i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
  [i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301
  [i915#6335]: https://gitlab.freedesktop.org/drm/intel/issues/6335
  [i915#6375]: https://gitlab.freedesktop.org/drm/intel/issues/6375
  [i915#6412]: https://gitlab.freedesktop.org/drm/intel/issues/6412
  [i915#6433]: https://gitlab.freedesktop.org/drm/intel/issues/6433
  [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#6599]: https://gitlab.freedesktop.org/drm/intel/issues/6599
  [i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716


Build changes
-------------

  * Linux: CI_DRM_12124 -> Patchwork_108428v2

  CI-20190529: 20190529
  CI_DRM_12124: 6b64355bf00cf612fef129009e6443471f946265 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6652: 79ebd88d01d679ffe9f6f24108c6ac4dc3f04ddd @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_108428v2: 6b64355bf00cf612fef129009e6443471f946265 @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108428v2/index.html

[-- Attachment #2: Type: text/html, Size: 22721 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Intel-gfx] [PATCH 1/5] drm/i915/ipc: refactor and rename IPC functions
  2022-09-13  9:23   ` Ville Syrjälä
@ 2022-09-13 17:09     ` Jani Nikula
  0 siblings, 0 replies; 12+ messages in thread
From: Jani Nikula @ 2022-09-13 17:09 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

On Tue, 13 Sep 2022, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> On Mon, Sep 12, 2022 at 02:45:12PM +0300, Jani Nikula wrote:
>> Rename the IPC functions to have skl_watermark_ipc_ prefix, rename
>> enable to update to reflect what the function actually does, and add
>> enabled function to abstract direct ->ipc_enabled access for state
>> query.
>> 
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> ---
>>  drivers/gpu/drm/i915/display/intel_display.c  |  6 ++---
>>  .../drm/i915/display/intel_display_debugfs.c  |  6 ++---
>>  drivers/gpu/drm/i915/display/skl_watermark.c  | 25 +++++++++++--------
>>  drivers/gpu/drm/i915/display/skl_watermark.h  |  5 ++--
>>  drivers/gpu/drm/i915/i915_driver.c            |  2 +-
>>  5 files changed, 24 insertions(+), 20 deletions(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
>> index 2d0018ae34b1..a0829dcfd6d3 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display.c
>> +++ b/drivers/gpu/drm/i915/display/intel_display.c
>> @@ -4779,7 +4779,7 @@ static u16 skl_linetime_wm(const struct intel_crtc_state *crtc_state)
>>  
>>  	/* Display WA #1135: BXT:ALL GLK:ALL */
>>  	if ((IS_GEMINILAKE(dev_priv) || IS_BROXTON(dev_priv)) &&
>> -	    dev_priv->ipc_enabled)
>> +	    skl_watermark_ipc_enabled(dev_priv))
>
> I forgot this spilled so far :/
>
> But yeah, looks OK to me. Series is
> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Thanks, pushed to drm-intel-next.

BR,
Jani.

>
>>  		linetime_wm /= 2;
>>  
>>  	return min(linetime_wm, 0x1ff);
>> @@ -8782,7 +8782,7 @@ int intel_modeset_init(struct drm_i915_private *i915)
>>  	intel_hpd_init(i915);
>>  	intel_hpd_poll_disable(i915);
>>  
>> -	intel_init_ipc(i915);
>> +	skl_watermark_ipc_init(i915);
>>  
>>  	return 0;
>>  }
>> @@ -8913,7 +8913,7 @@ void intel_display_resume(struct drm_device *dev)
>>  	if (!ret)
>>  		ret = __intel_display_resume(i915, state, &ctx);
>>  
>> -	intel_enable_ipc(i915);
>> +	skl_watermark_ipc_update(i915);
>>  	drm_modeset_drop_locks(&ctx);
>>  	drm_modeset_acquire_fini(&ctx);
>>  
>> diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
>> index fe40e2a226d6..d2139cf4f825 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
>> +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
>> @@ -988,7 +988,7 @@ static int i915_ipc_status_show(struct seq_file *m, void *data)
>>  	struct drm_i915_private *dev_priv = m->private;
>>  
>>  	seq_printf(m, "Isochronous Priority Control: %s\n",
>> -			str_yes_no(dev_priv->ipc_enabled));
>> +		   str_yes_no(skl_watermark_ipc_enabled(dev_priv)));
>>  	return 0;
>>  }
>>  
>> @@ -1016,11 +1016,11 @@ static ssize_t i915_ipc_status_write(struct file *file, const char __user *ubuf,
>>  		return ret;
>>  
>>  	with_intel_runtime_pm(&dev_priv->runtime_pm, wakeref) {
>> -		if (!dev_priv->ipc_enabled && enable)
>> +		if (!skl_watermark_ipc_enabled(dev_priv) && enable)
>>  			drm_info(&dev_priv->drm,
>>  				 "Enabling IPC: WM will be proper only after next commit\n");
>>  		dev_priv->ipc_enabled = enable;
>> -		intel_enable_ipc(dev_priv);
>> +		skl_watermark_ipc_update(dev_priv);
>>  	}
>>  
>>  	return len;
>> diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
>> index cb297725d5b9..df505ca6ef91 100644
>> --- a/drivers/gpu/drm/i915/display/skl_watermark.c
>> +++ b/drivers/gpu/drm/i915/display/skl_watermark.c
>> @@ -1837,10 +1837,8 @@ static void skl_compute_plane_wm(const struct intel_crtc_state *crtc_state,
>>  	 * WaIncreaseLatencyIPCEnabled: kbl,cfl
>>  	 * Display WA #1141: kbl,cfl
>>  	 */
>> -	if ((IS_KABYLAKE(i915) ||
>> -	     IS_COFFEELAKE(i915) ||
>> -	     IS_COMETLAKE(i915)) &&
>> -	    i915->ipc_enabled)
>> +	if ((IS_KABYLAKE(i915) || IS_COFFEELAKE(i915) || IS_COMETLAKE(i915)) &&
>> +	    skl_watermark_ipc_enabled(i915))
>>  		latency += 4;
>>  
>>  	if (skl_needs_memory_bw_wa(i915) && wp->x_tiled)
>> @@ -2008,7 +2006,7 @@ static void skl_compute_transition_wm(struct drm_i915_private *i915,
>>  	u16 wm0_blocks, trans_offset, blocks;
>>  
>>  	/* Transition WM don't make any sense if ipc is disabled */
>> -	if (!i915->ipc_enabled)
>> +	if (!skl_watermark_ipc_enabled(i915))
>>  		return;
>>  
>>  	/*
>> @@ -3116,7 +3114,12 @@ void intel_wm_state_verify(struct intel_crtc *crtc,
>>  	kfree(hw);
>>  }
>>  
>> -void intel_enable_ipc(struct drm_i915_private *i915)
>> +bool skl_watermark_ipc_enabled(struct drm_i915_private *i915)
>> +{
>> +	return i915->ipc_enabled;
>> +}
>> +
>> +void skl_watermark_ipc_update(struct drm_i915_private *i915)
>>  {
>>  	u32 val;
>>  
>> @@ -3125,7 +3128,7 @@ void intel_enable_ipc(struct drm_i915_private *i915)
>>  
>>  	val = intel_uncore_read(&i915->uncore, DISP_ARB_CTL2);
>>  
>> -	if (i915->ipc_enabled)
>> +	if (skl_watermark_ipc_enabled(i915))
>>  		val |= DISP_IPC_ENABLE;
>>  	else
>>  		val &= ~DISP_IPC_ENABLE;
>> @@ -3133,7 +3136,7 @@ void intel_enable_ipc(struct drm_i915_private *i915)
>>  	intel_uncore_write(&i915->uncore, DISP_ARB_CTL2, val);
>>  }
>>  
>> -static bool intel_can_enable_ipc(struct drm_i915_private *i915)
>> +static bool skl_watermark_ipc_can_enable(struct drm_i915_private *i915)
>>  {
>>  	/* Display WA #0477 WaDisableIPC: skl */
>>  	if (IS_SKYLAKE(i915))
>> @@ -3148,14 +3151,14 @@ static bool intel_can_enable_ipc(struct drm_i915_private *i915)
>>  	return true;
>>  }
>>  
>> -void intel_init_ipc(struct drm_i915_private *i915)
>> +void skl_watermark_ipc_init(struct drm_i915_private *i915)
>>  {
>>  	if (!HAS_IPC(i915))
>>  		return;
>>  
>> -	i915->ipc_enabled = intel_can_enable_ipc(i915);
>> +	i915->ipc_enabled = skl_watermark_ipc_can_enable(i915);
>>  
>> -	intel_enable_ipc(i915);
>> +	skl_watermark_ipc_update(i915);
>>  }
>>  
>>  static void
>> diff --git a/drivers/gpu/drm/i915/display/skl_watermark.h b/drivers/gpu/drm/i915/display/skl_watermark.h
>> index 50da05932750..7e5adef0c510 100644
>> --- a/drivers/gpu/drm/i915/display/skl_watermark.h
>> +++ b/drivers/gpu/drm/i915/display/skl_watermark.h
>> @@ -44,8 +44,9 @@ void skl_wm_sanitize(struct drm_i915_private *i915);
>>  void intel_wm_state_verify(struct intel_crtc *crtc,
>>  			   struct intel_crtc_state *new_crtc_state);
>>  
>> -void intel_enable_ipc(struct drm_i915_private *i915);
>> -void intel_init_ipc(struct drm_i915_private *i915);
>> +void skl_watermark_ipc_init(struct drm_i915_private *i915);
>> +void skl_watermark_ipc_update(struct drm_i915_private *i915);
>> +bool skl_watermark_ipc_enabled(struct drm_i915_private *i915);
>>  
>>  void skl_wm_init(struct drm_i915_private *i915);
>>  
>> diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
>> index 8262bfb2a2d9..c459eb362c47 100644
>> --- a/drivers/gpu/drm/i915/i915_driver.c
>> +++ b/drivers/gpu/drm/i915/i915_driver.c
>> @@ -1756,7 +1756,7 @@ static int intel_runtime_resume(struct device *kdev)
>>  		intel_hpd_poll_disable(dev_priv);
>>  	}
>>  
>> -	intel_enable_ipc(dev_priv);
>> +	skl_watermark_ipc_update(dev_priv);
>>  
>>  	enable_rpm_wakeref_asserts(rpm);
>>  
>> -- 
>> 2.34.1

-- 
Jani Nikula, Intel Open Source Graphics Center

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2022-09-13 17:09 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-12 11:45 [Intel-gfx] [PATCH 0/5] drm/i915/ipc: ipc and sub-struct refactoring, take 2 Jani Nikula
2022-09-12 11:45 ` [Intel-gfx] [PATCH 1/5] drm/i915/ipc: refactor and rename IPC functions Jani Nikula
2022-09-13  9:23   ` Ville Syrjälä
2022-09-13 17:09     ` Jani Nikula
2022-09-12 11:45 ` [Intel-gfx] [PATCH 2/5] drm/i915/ipc: move IPC debugfs to skl_watermark.c Jani Nikula
2022-09-12 11:45 ` [Intel-gfx] [PATCH 3/5] drm/i915/ipc: register debugfs only if IPC available Jani Nikula
2022-09-12 11:45 ` [Intel-gfx] [PATCH 4/5] drm/i915/display: move IPC under display wm sub-struct Jani Nikula
2022-09-12 11:45 ` [Intel-gfx] [PATCH 5/5] drm/i915/ipc: use intel_uncore_rmw() to enable/disable Jani Nikula
2022-09-12 18:27 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915/ipc: ipc and sub-struct refactoring, take 2 Patchwork
2022-09-12 18:50 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2022-09-13  7:53 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/ipc: ipc and sub-struct refactoring, take 2 (rev2) Patchwork
2022-09-13 16:22 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.