Re: [Intel-gfx] [topic/core-for-CI] Revert "debugfs: annotate debugfs handlers vs. removal with lockdep"

2023-12-06 Thread Saarinen, Jani



> -Original Message-
> From: De Marchi, Lucas 
> Sent: Wednesday, December 6, 2023 11:33 PM
> To: Saarinen, Jani 
> Cc: Shankar, Uma ; Borah, Chaitanya Kumar
> ; intel-gfx@lists.freedesktop.org; Vivi, 
> Rodrigo
> 
> Subject: Re: [Intel-gfx] [topic/core-for-CI] Revert "debugfs: annotate debugfs
> handlers vs. removal with lockdep"
> 
> On Wed, Dec 06, 2023 at 07:41:04PM +, Jani Saarinen wrote:
> >Hi,
> >> -Original Message-
> >> From: Intel-gfx  On Behalf
> >> Of Shankar, Uma
> >> Sent: Wednesday, December 6, 2023 1:05 PM
> >> To: Borah, Chaitanya Kumar ; intel-
> >> g...@lists.freedesktop.org
> >> Subject: Re: [Intel-gfx] [topic/core-for-CI] Revert "debugfs:
> >> annotate debugfs handlers vs. removal with lockdep"
> >>
> >>
> >>
> >> > -Original Message-
> >> > From: Intel-gfx  On Behalf
> >> > Of Chaitanya Kumar Borah
> >> > Sent: Wednesday, December 6, 2023 12:17 PM
> >> > To: intel-gfx@lists.freedesktop.org
> >> > Subject: [Intel-gfx] [topic/core-for-CI] Revert "debugfs: annotate
> >> > debugfs handlers vs. removal with lockdep"
> >> >
> >> > From: Johannes Berg 
> >> >
> >> > This reverts commit f4acfcd4deb1 ("debugfs: annotate debugfs handlers vs.
> >> > removal with lockdep"), it appears to have false positives and
> >> > really shouldn't have been in the -rc series with the fixes anyway.
> >>
> >> Acked-by: Uma Shankar 
> >>
> >> Hi Chaitanya,
> >> Please get the full CI run executed with this change, once its green we 
> >> can plan
> merge.
> >Just commented on "issues" (no real issues ) on BAT and asked to re-report 
> >but we
> really should use sometimes by-pass shards when we see regression on this
> magnitude.
> >This has big impact on core/gem tests
> >https://intel-gfx-ci.01.org/tree/drm-tip/index.html?testfilter=module%7
> >Cgem%7Ccore Even on module load. I am leaning to break process and not
> >wait to Full CI if someone who has merge rights (eg @Vivi, Rodrigo, @De 
> >Marchi,
> Lucas) agree here?
> 
> I think this is the convincing link:
> https://intel-gfx-ci.01.org/tree/drm-
> tip/Patchwork_127359v2/index.html?testfilter=module%7Cgem%7Ccore
> 
> Applied with ack on irc by Rodrigo.
Thank you! 

> 
> Lucas De Marchi
> 
> >
> >Br,
> >Jani
> >>
> >> Regards,
> >> Uma Shankar
> >>
> >> > Link:https://patchwork.kernel.org/project/linux-
> >> > fsdevel/patch/20231202114936.fd55431ab160.I911aa53abeeca138126f69
> >> > 0d383a89b13eb05667@changeid/
> >> > Reference: https://gitlab.freedesktop.org/drm/intel/-/issues/9802
> >> > Signed-off-by: Johannes Berg 
> >> > Acked-by: Greg Kroah-Hartman 
> >> > ---
> >> >  fs/debugfs/file.c | 10 --
> >> >  fs/debugfs/inode.c|  7 ---
> >> >  fs/debugfs/internal.h |  6 --
> >> >  3 files changed, 23 deletions(-)
> >> >
> >> > diff --git a/fs/debugfs/file.c b/fs/debugfs/file.c index
> >> > a5ade8c16375..5063434be0fc 100644
> >> > --- a/fs/debugfs/file.c
> >> > +++ b/fs/debugfs/file.c
> >> > @@ -108,12 +108,6 @@ int debugfs_file_get(struct dentry *dentry)
> >> >  kfree(fsd);
> >> >  fsd = READ_ONCE(dentry->d_fsdata);
> >> >  }
> >> > -#ifdef CONFIG_LOCKDEP
> >> > -fsd->lock_name = kasprintf(GFP_KERNEL, "debugfs:%pd",
> >> > dentry);
> >> > -lockdep_register_key(>key);
> >> > -lockdep_init_map(>lockdep_map, fsd->lock_name ?:
> >> > "debugfs",
> >> > - >key, 0);
> >> > -#endif
> >> >  INIT_LIST_HEAD(>cancellations);
> >> >  mutex_init(>cancellations_mtx);
> >> >  }
> >> > @@ -132,8 +126,6 @@ int debugfs_file_get(struct dentry *dentry)
> >> >  if (!refcount_inc_not_zero(>active_users))
> >> >  return -EIO;
> >> >
> >> > -lock_map_acquire_read(>lockdep_map);
> >> > -
> >> >  return 0;
> >> >  }
> >> >  EXPORT_SYMBOL_GPL(debugfs_file_get);
> >> > @@ -151,8 +143,6 @@ void debugfs_file_put(struct dentry *dentry)  {
> >> >  struct debugfs_fsdata *fsd = READ_ONCE(dentry->d_fsdata);
> >> >
> >> > -lock_map_release(>lockdep_map);
> >> > -
> >> >  if (refcount_dec_and_test(>active_users))
> >> >  complete(>active_users_drained);
> >> >  }
> >> > diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c index
> >> > e4e7fe1bd9fb..034a617cb1a5 100644
> >> > --- a/fs/debugfs/inode.c
> >> > +++ b/fs/debugfs/inode.c
> >> > @@ -243,10 +243,6 @@ static void debugfs_release_dentry(struct
> >> > dentry
> >> > *dentry)
> >> >
> >> >  /* check it wasn't a dir (no fsdata) or automount (no 
> >> > real_fops) */
> >> >  if (fsd && fsd->real_fops) {
> >> > -#ifdef CONFIG_LOCKDEP
> >> > -lockdep_unregister_key(>key);
> >> > -kfree(fsd->lock_name);
> >> > -#endif
> >> >  WARN_ON(!list_empty(>cancellations));
> >> >  mutex_destroy(>cancellations_mtx);
> >> >  }
> >> > @@ -755,9 +751,6 @@ static 

[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/hdcp: Fail Repeater authentication if Type1 device not present (rev2)

2023-12-06 Thread Patchwork
== Series Details ==

Series: drm/i915/hdcp: Fail Repeater authentication if Type1 device not present 
(rev2)
URL   : https://patchwork.freedesktop.org/series/127414/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_13990 -> Patchwork_127414v2


Summary
---

  **FAILURE**

  Serious unknown changes coming with Patchwork_127414v2 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_127414v2, please notify your bug team 
(i915-ci-in...@lists.freedesktop.org) 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_127414v2/index.html

Participating hosts (37 -> 35)
--

  Missing(2): bat-dg2-9 fi-snb-2520m 

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

  * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence:
- bat-adlp-9: NOTRUN -> [SKIP][1] +2 other tests skip
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127414v2/bat-adlp-9/igt@kms_pipe_crc_ba...@nonblocking-crc-frame-sequence.html

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence:
- bat-dg2-11: NOTRUN -> [SKIP][2] ([i915#9197]) +3 other tests skip
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127414v2/bat-dg2-11/igt@kms_pipe_crc_ba...@nonblocking-crc-frame-sequence.html

  * igt@kms_pm_backlight@basic-brightness@edp-1:
- bat-rplp-1: NOTRUN -> [ABORT][3] ([i915#8668])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127414v2/bat-rplp-1/igt@kms_pm_backlight@basic-brightn...@edp-1.html

  
 Possible fixes 

  * igt@kms_flip@basic-flip-vs-dpms@d-dp6:
- bat-adlp-11:[DMESG-FAIL][4] ([i915#6868]) -> [PASS][5]
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/bat-adlp-11/igt@kms_flip@basic-flip-vs-d...@d-dp6.html
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127414v2/bat-adlp-11/igt@kms_flip@basic-flip-vs-d...@d-dp6.html

  * igt@kms_flip@basic-flip-vs-modeset@d-dp6:
- bat-adlp-11:[DMESG-WARN][6] -> [PASS][7]
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/bat-adlp-11/igt@kms_flip@basic-flip-vs-mode...@d-dp6.html
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127414v2/bat-adlp-11/igt@kms_flip@basic-flip-vs-mode...@d-dp6.html

  * igt@kms_hdmi_inject@inject-audio:
- fi-kbl-guc: [FAIL][8] ([IGT#3]) -> [PASS][9]
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/fi-kbl-guc/igt@kms_hdmi_inj...@inject-audio.html
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127414v2/fi-kbl-guc/igt@kms_hdmi_inj...@inject-audio.html

  * igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-d-edp-1:
- bat-rplp-1: [ABORT][10] ([i915#8668]) -> [PASS][11]
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/bat-rplp-1/igt@kms_pipe_crc_basic@read-crc-frame-seque...@pipe-d-edp-1.html
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127414v2/bat-rplp-1/igt@kms_pipe_crc_basic@read-crc-frame-seque...@pipe-d-edp-1.html

  
  [IGT#3]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/3
  [i915#6868]: https://gitlab.freedesktop.org/drm/intel/issues/6868
  [i915#8668]: https://gitlab.freedesktop.org/drm/intel/issues/8668
  [i915#9197]: https://gitlab.freedesktop.org/drm/intel/issues/9197


Build changes
-

  * Linux: CI_DRM_13990 -> Patchwork_127414v2

  CI-20190529: 20190529
  CI_DRM_13990: 85d33d0ad82a5c1a71492f14a5ceb67ada6a22d8 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7626: 154b7288552cd7ed3033f8ef396e88d0bd1b7646 @ 
https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_127414v2: 85d33d0ad82a5c1a71492f14a5ceb67ada6a22d8 @ 
git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

a20eeb2ab5a4 drm/i915/hdcp: Fail Repeater authentication if Type1 device not 
present

== Logs ==

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


[Intel-gfx] [PATCH] drm/i915/hdcp: Fail Repeater authentication if Type1 device not present

2023-12-06 Thread Suraj Kandpal
Fail repeater authentication step in case RX_INFO indicates
HDCP1.x or HDCP2.0/2.1 device is present downstream in repeater
topology and content type set by userspace is Type1.

--v2
-Fix build error.

Signed-off-by: Suraj Kandpal 
---
 drivers/gpu/drm/i915/display/intel_hdcp.c | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c 
b/drivers/gpu/drm/i915/display/intel_hdcp.c
index 39b3f7c0c77c..07d110c5841d 100644
--- a/drivers/gpu/drm/i915/display/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
@@ -1633,6 +1633,13 @@ int hdcp2_authenticate_repeater_topology(struct 
intel_connector *connector)
!HDCP_2_2_HDCP1_DEVICE_CONNECTED(rx_info[1]) &&
!HDCP_2_2_HDCP_2_0_REP_CONNECTED(rx_info[1]);
 
+   if (!dig_port->hdcp_mst_type1_capable && hdcp->content_type &&
+   !intel_encoder_is_mst(connector->encoder)) {
+   drm_dbg_kms(>drm,
+   "HDCP1.x or 2.0 Legacy Device Downstream\n");
+   return -EINVAL;
+   }
+
/* Converting and Storing the seq_num_v to local variable as DWORD */
seq_num_v =
drm_hdcp_be24_to_cpu((const u8 *)msgs.recvid_list.seq_num_v);
-- 
2.25.1



[Intel-gfx] ✗ Fi.CI.IGT: failure for Add drm_dbg_ratelimited() (rev2)

2023-12-06 Thread Patchwork
== Series Details ==

Series: Add drm_dbg_ratelimited() (rev2)
URL   : https://patchwork.freedesktop.org/series/124894/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_13990_full -> Patchwork_124894v2_full


Summary
---

  **FAILURE**

  Serious unknown changes coming with Patchwork_124894v2_full absolutely need 
to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_124894v2_full, please notify your bug team 
(i915-ci-in...@lists.freedesktop.org) to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

Participating hosts (8 -> 8)
--

  No changes in participating hosts

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

  * igt@kms_dirtyfb@psr-dirtyfb-ioctl:
- shard-dg2:  NOTRUN -> [SKIP][1]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124894v2/shard-dg2-11/igt@kms_dirt...@psr-dirtyfb-ioctl.html

  * igt@kms_draw_crc@draw-method-blt@xrgb-ytiled:
- shard-glk:  [PASS][2] -> [DMESG-WARN][3]
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/shard-glk8/igt@kms_draw_crc@draw-method-...@xrgb-ytiled.html
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124894v2/shard-glk5/igt@kms_draw_crc@draw-method-...@xrgb-ytiled.html

  * igt@kms_plane@pixel-format-source-clamping@pipe-a:
- shard-rkl:  [PASS][4] -> [INCOMPLETE][5]
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/shard-rkl-1/igt@kms_plane@pixel-format-source-clamp...@pipe-a.html
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124894v2/shard-rkl-4/igt@kms_plane@pixel-format-source-clamp...@pipe-a.html

  * igt@kms_rotation_crc@primary-rotation-90:
- shard-dg1:  [PASS][6] -> [INCOMPLETE][7]
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/shard-dg1-12/igt@kms_rotation_...@primary-rotation-90.html
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124894v2/shard-dg1-14/igt@kms_rotation_...@primary-rotation-90.html

  
 Warnings 

  * igt@i915_module_load@reload:
- shard-snb:  [INCOMPLETE][8] ([i915#4528]) -> [INCOMPLETE][9]
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/shard-snb5/igt@i915_module_l...@reload.html
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124894v2/shard-snb1/igt@i915_module_l...@reload.html

  * igt@i915_pm_rc6_residency@rc6-idle@gt0-vecs0:
- shard-tglu: [FAIL][10] ([i915#3591]) -> [WARN][11]
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/shard-tglu-6/igt@i915_pm_rc6_residency@rc6-i...@gt0-vecs0.html
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124894v2/shard-tglu-3/igt@i915_pm_rc6_residency@rc6-i...@gt0-vecs0.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-render:
- shard-snb:  [SKIP][12] ([fdo#109271]) -> [ABORT][13]
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/shard-snb4/igt@kms_frontbuffer_track...@psr-1p-primscrn-pri-indfb-draw-render.html
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124894v2/shard-snb2/igt@kms_frontbuffer_track...@psr-1p-primscrn-pri-indfb-draw-render.html

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@api_intel_bb@object-reloc-purge-cache:
- shard-dg2:  NOTRUN -> [SKIP][14] ([i915#8411]) +2 other tests skip
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124894v2/shard-dg2-11/igt@api_intel...@object-reloc-purge-cache.html

  * igt@api_intel_bb@render-ccs:
- shard-dg2:  NOTRUN -> [FAIL][15] ([i915#6122])
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124894v2/shard-dg2-1/igt@api_intel...@render-ccs.html

  * igt@device_reset@unbind-cold-reset-rebind:
- shard-dg2:  NOTRUN -> [SKIP][16] ([i915#7701])
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124894v2/shard-dg2-11/igt@device_re...@unbind-cold-reset-rebind.html

  * igt@drm_fdinfo@most-busy-check-all@bcs0:
- shard-dg2:  NOTRUN -> [SKIP][17] ([i915#8414]) +21 other tests 
skip
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124894v2/shard-dg2-1/igt@drm_fdinfo@most-busy-check-...@bcs0.html

  * igt@drm_fdinfo@virtual-busy-idle-all:
- shard-dg1:  NOTRUN -> [SKIP][18] ([i915#8414])
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124894v2/shard-dg1-18/igt@drm_fdi...@virtual-busy-idle-all.html

  * igt@fbdev@pan:
- shard-snb:  [PASS][19] -> [FAIL][20] ([i915#4435])
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/shard-snb2/igt@fb...@pan.html
   [20]: 

[Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [v3,1/3] drm/i915/dp: Use LINK_QUAL_PATTERN_* Phy test pattern names

2023-12-06 Thread Patchwork
== Series Details ==

Series: series starting with [v3,1/3] drm/i915/dp: Use LINK_QUAL_PATTERN_* Phy 
test pattern names
URL   : https://patchwork.freedesktop.org/series/127465/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_13990 -> Patchwork_127465v1


Summary
---

  **FAILURE**

  Serious unknown changes coming with Patchwork_127465v1 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_127465v1, please notify your bug team 
(i915-ci-in...@lists.freedesktop.org) 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_127465v1/index.html

Participating hosts (37 -> 34)
--

  Missing(3): bat-dg2-9 fi-snb-2520m bat-dg1-5 

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

  * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence:
- bat-adlp-9: NOTRUN -> [SKIP][1] +2 other tests skip
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127465v1/bat-adlp-9/igt@kms_pipe_crc_ba...@nonblocking-crc-frame-sequence.html

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@i915_selftest@live@gem_contexts:
- bat-mtlp-6: [PASS][2] -> [DMESG-FAIL][3] ([i915#9780])
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/bat-mtlp-6/igt@i915_selftest@live@gem_contexts.html
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127465v1/bat-mtlp-6/igt@i915_selftest@live@gem_contexts.html

  * igt@i915_selftest@live@gt_heartbeat:
- bat-jsl-1:  [PASS][4] -> [DMESG-FAIL][5] ([i915#5334])
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/bat-jsl-1/igt@i915_selftest@live@gt_heartbeat.html
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127465v1/bat-jsl-1/igt@i915_selftest@live@gt_heartbeat.html

  * igt@kms_pm_backlight@basic-brightness@edp-1:
- bat-rplp-1: NOTRUN -> [ABORT][6] ([i915#8668])
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127465v1/bat-rplp-1/igt@kms_pm_backlight@basic-brightn...@edp-1.html

  
 Possible fixes 

  * igt@kms_flip@basic-flip-vs-dpms@d-dp6:
- bat-adlp-11:[DMESG-FAIL][7] ([i915#6868]) -> [PASS][8]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/bat-adlp-11/igt@kms_flip@basic-flip-vs-d...@d-dp6.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127465v1/bat-adlp-11/igt@kms_flip@basic-flip-vs-d...@d-dp6.html

  * igt@kms_flip@basic-flip-vs-modeset@d-dp6:
- bat-adlp-11:[DMESG-WARN][9] -> [PASS][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/bat-adlp-11/igt@kms_flip@basic-flip-vs-mode...@d-dp6.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127465v1/bat-adlp-11/igt@kms_flip@basic-flip-vs-mode...@d-dp6.html

  * igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-d-edp-1:
- bat-rplp-1: [ABORT][11] ([i915#8668]) -> [PASS][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/bat-rplp-1/igt@kms_pipe_crc_basic@read-crc-frame-seque...@pipe-d-edp-1.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127465v1/bat-rplp-1/igt@kms_pipe_crc_basic@read-crc-frame-seque...@pipe-d-edp-1.html

  
  [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
  [i915#6868]: https://gitlab.freedesktop.org/drm/intel/issues/6868
  [i915#8668]: https://gitlab.freedesktop.org/drm/intel/issues/8668
  [i915#9780]: https://gitlab.freedesktop.org/drm/intel/issues/9780


Build changes
-

  * Linux: CI_DRM_13990 -> Patchwork_127465v1

  CI-20190529: 20190529
  CI_DRM_13990: 85d33d0ad82a5c1a71492f14a5ceb67ada6a22d8 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7626: 154b7288552cd7ed3033f8ef396e88d0bd1b7646 @ 
https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_127465v1: 85d33d0ad82a5c1a71492f14a5ceb67ada6a22d8 @ 
git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

de17784582b4 drm/i915/dp: Fix passing the correct DPCD_REV for 
drm_dp_set_phy_test_pattern
501373f5cb6c drm/i915/dp: Add TPS4 PHY test pattern support
87bde8c90318 drm/i915/dp: Use LINK_QUAL_PATTERN_* Phy test pattern names

== Logs ==

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


[Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [v3,1/3] drm/i915/dp: Use LINK_QUAL_PATTERN_* Phy test pattern names

2023-12-06 Thread Patchwork
== Series Details ==

Series: series starting with [v3,1/3] drm/i915/dp: Use LINK_QUAL_PATTERN_* Phy 
test pattern names
URL   : https://patchwork.freedesktop.org/series/127465/
State : warning

== Summary ==

Error: dim sparse failed
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: warning: unreplaced symbol 'return'
+./arch/x86/include/asm/bitops.h:116:1: 

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [v3,1/3] drm/i915/dp: Use LINK_QUAL_PATTERN_* Phy test pattern names

2023-12-06 Thread Patchwork
== Series Details ==

Series: series starting with [v3,1/3] drm/i915/dp: Use LINK_QUAL_PATTERN_* Phy 
test pattern names
URL   : https://patchwork.freedesktop.org/series/127465/
State : warning

== Summary ==

Error: dim checkpatch failed
8c800d8c9785 drm/i915/dp: Use LINK_QUAL_PATTERN_* Phy test pattern names
bf0cf5497db1 drm/i915/dp: Add TPS4 PHY test pattern support
-:55: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#55: FILE: drivers/gpu/drm/i915/display/intel_dp.c:4748:
+   intel_de_rmw(dev_priv, dp_tp_ctl_reg(encoder, crtc_state),
+   DP_TP_CTL_TRAIN_PAT4_SEL_MASK | 
DP_TP_CTL_LINK_TRAIN_MASK,

total: 0 errors, 0 warnings, 1 checks, 46 lines checked
2caf7ce81e0f drm/i915/dp: Fix passing the correct DPCD_REV for 
drm_dp_set_phy_test_pattern




[Intel-gfx] ✓ Fi.CI.BAT: success for Add drm_dbg_ratelimited() (rev2)

2023-12-06 Thread Patchwork
== Series Details ==

Series: Add drm_dbg_ratelimited() (rev2)
URL   : https://patchwork.freedesktop.org/series/124894/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_13990 -> Patchwork_124894v2


Summary
---

  **SUCCESS**

  No regressions found.

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

Participating hosts (37 -> 35)
--

  Missing(2): fi-snb-2520m fi-pnv-d510 

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@i915_selftest@live@gt_heartbeat:
- fi-apl-guc: [PASS][1] -> [DMESG-FAIL][2] ([i915#5334])
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124894v2/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html

  * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence:
- bat-dg2-11: NOTRUN -> [SKIP][3] ([i915#9197]) +2 other tests skip
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124894v2/bat-dg2-11/igt@kms_pipe_crc_ba...@nonblocking-crc-frame-sequence.html

  * igt@kms_pm_backlight@basic-brightness@edp-1:
- bat-rplp-1: NOTRUN -> [ABORT][4] ([i915#8668])
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124894v2/bat-rplp-1/igt@kms_pm_backlight@basic-brightn...@edp-1.html

  
 Possible fixes 

  * igt@gem_exec_suspend@basic-s0@lmem0:
- bat-dg2-9:  [INCOMPLETE][5] ([i915#9275]) -> [PASS][6]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/bat-dg2-9/igt@gem_exec_suspend@basic...@lmem0.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124894v2/bat-dg2-9/igt@gem_exec_suspend@basic...@lmem0.html

  * igt@kms_flip@basic-flip-vs-dpms@d-dp6:
- bat-adlp-11:[DMESG-FAIL][7] ([i915#6868]) -> [PASS][8]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/bat-adlp-11/igt@kms_flip@basic-flip-vs-d...@d-dp6.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124894v2/bat-adlp-11/igt@kms_flip@basic-flip-vs-d...@d-dp6.html

  * igt@kms_flip@basic-flip-vs-modeset@d-dp6:
- bat-adlp-11:[DMESG-WARN][9] -> [PASS][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/bat-adlp-11/igt@kms_flip@basic-flip-vs-mode...@d-dp6.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124894v2/bat-adlp-11/igt@kms_flip@basic-flip-vs-mode...@d-dp6.html

  * igt@kms_hdmi_inject@inject-audio:
- fi-kbl-guc: [FAIL][11] ([IGT#3]) -> [PASS][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/fi-kbl-guc/igt@kms_hdmi_inj...@inject-audio.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124894v2/fi-kbl-guc/igt@kms_hdmi_inj...@inject-audio.html

  * igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-d-edp-1:
- bat-rplp-1: [ABORT][13] ([i915#8668]) -> [PASS][14]
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/bat-rplp-1/igt@kms_pipe_crc_basic@read-crc-frame-seque...@pipe-d-edp-1.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124894v2/bat-rplp-1/igt@kms_pipe_crc_basic@read-crc-frame-seque...@pipe-d-edp-1.html

  
  [IGT#3]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/3
  [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
  [i915#6868]: https://gitlab.freedesktop.org/drm/intel/issues/6868
  [i915#8668]: https://gitlab.freedesktop.org/drm/intel/issues/8668
  [i915#9197]: https://gitlab.freedesktop.org/drm/intel/issues/9197
  [i915#9275]: https://gitlab.freedesktop.org/drm/intel/issues/9275


Build changes
-

  * Linux: CI_DRM_13990 -> Patchwork_124894v2

  CI-20190529: 20190529
  CI_DRM_13990: 85d33d0ad82a5c1a71492f14a5ceb67ada6a22d8 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7626: 154b7288552cd7ed3033f8ef396e88d0bd1b7646 @ 
https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_124894v2: 85d33d0ad82a5c1a71492f14a5ceb67ada6a22d8 @ 
git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

cbd7d195b733 drm/i915: Ratelimit debug log in vm_fault_ttm
335e8ef85c4b drm/print: Add drm_dbg_ratelimited

== Logs ==

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


[Intel-gfx] ✗ Fi.CI.SPARSE: warning for Add drm_dbg_ratelimited() (rev2)

2023-12-06 Thread Patchwork
== Series Details ==

Series: Add drm_dbg_ratelimited() (rev2)
URL   : https://patchwork.freedesktop.org/series/124894/
State : warning

== Summary ==

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




[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Add drm_dbg_ratelimited() (rev2)

2023-12-06 Thread Patchwork
== Series Details ==

Series: Add drm_dbg_ratelimited() (rev2)
URL   : https://patchwork.freedesktop.org/series/124894/
State : warning

== Summary ==

Error: dim checkpatch failed
771479080ffb drm/print: Add drm_dbg_ratelimited
c3c299917b16 drm/i915: Ratelimit debug log in vm_fault_ttm
-:9: WARNING:COMMIT_LOG_USE_LINK: Unknown link reference 'References:', use 
'Link:' or 'Closes:' instead
#9: 
References: https://gitlab.freedesktop.org/drm/intel/-/issues/7038

total: 0 errors, 1 warnings, 0 checks, 11 lines checked




[Intel-gfx] ✗ Fi.CI.BAT: failure for Add gt_to_guc() helper

2023-12-06 Thread Patchwork
== Series Details ==

Series: Add gt_to_guc() helper
URL   : https://patchwork.freedesktop.org/series/127455/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_13990 -> Patchwork_127455v1


Summary
---

  **FAILURE**

  Serious unknown changes coming with Patchwork_127455v1 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_127455v1, please notify your bug team 
(i915-ci-in...@lists.freedesktop.org) 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_127455v1/index.html

Participating hosts (37 -> 35)
--

  Missing(2): bat-mtlp-8 fi-snb-2520m 

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

  * igt@kms_pipe_crc_basic@read-crc:
- bat-adlp-11:NOTRUN -> [SKIP][1]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127455v1/bat-adlp-11/igt@kms_pipe_crc_ba...@read-crc.html

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence:
- bat-dg2-11: NOTRUN -> [SKIP][2] ([i915#9197]) +3 other tests skip
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127455v1/bat-dg2-11/igt@kms_pipe_crc_ba...@nonblocking-crc-frame-sequence.html

  * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-d-dp-5:
- bat-adlp-11:[PASS][3] -> [DMESG-FAIL][4] ([i915#6868])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/bat-adlp-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-seque...@pipe-d-dp-5.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127455v1/bat-adlp-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-seque...@pipe-d-dp-5.html

  
 Possible fixes 

  * igt@gem_exec_suspend@basic-s0@lmem0:
- bat-dg2-9:  [INCOMPLETE][5] ([i915#9275]) -> [PASS][6]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/bat-dg2-9/igt@gem_exec_suspend@basic...@lmem0.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127455v1/bat-dg2-9/igt@gem_exec_suspend@basic...@lmem0.html

  * igt@kms_flip@basic-flip-vs-dpms@d-dp6:
- bat-adlp-11:[DMESG-FAIL][7] ([i915#6868]) -> [PASS][8]
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/bat-adlp-11/igt@kms_flip@basic-flip-vs-d...@d-dp6.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127455v1/bat-adlp-11/igt@kms_flip@basic-flip-vs-d...@d-dp6.html

  * igt@kms_flip@basic-flip-vs-modeset@d-dp6:
- bat-adlp-11:[DMESG-WARN][9] -> [PASS][10]
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/bat-adlp-11/igt@kms_flip@basic-flip-vs-mode...@d-dp6.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127455v1/bat-adlp-11/igt@kms_flip@basic-flip-vs-mode...@d-dp6.html

  * igt@kms_hdmi_inject@inject-audio:
- fi-kbl-guc: [FAIL][11] ([IGT#3]) -> [PASS][12]
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/fi-kbl-guc/igt@kms_hdmi_inj...@inject-audio.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127455v1/fi-kbl-guc/igt@kms_hdmi_inj...@inject-audio.html

  
  [IGT#3]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/3
  [i915#6868]: https://gitlab.freedesktop.org/drm/intel/issues/6868
  [i915#9197]: https://gitlab.freedesktop.org/drm/intel/issues/9197
  [i915#9275]: https://gitlab.freedesktop.org/drm/intel/issues/9275


Build changes
-

  * Linux: CI_DRM_13990 -> Patchwork_127455v1

  CI-20190529: 20190529
  CI_DRM_13990: 85d33d0ad82a5c1a71492f14a5ceb67ada6a22d8 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7626: 154b7288552cd7ed3033f8ef396e88d0bd1b7646 @ 
https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_127455v1: 85d33d0ad82a5c1a71492f14a5ceb67ada6a22d8 @ 
git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

29003fdef5a9 drm/i915/guc: Use the ce_to_guc() wrapper whenever possible
79c36de90d97 drm/i915: Use the new gt_to_guc() wrapper
04be755ef1df drm/i915/guc: Use the new gt_to_guc() wrapper
5fdb5c907d9e drm/i915/gt: Create the gt_to_guc() wrapper

== Logs ==

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


[Intel-gfx] ✗ Fi.CI.SPARSE: warning for Add gt_to_guc() helper

2023-12-06 Thread Patchwork
== Series Details ==

Series: Add gt_to_guc() helper
URL   : https://patchwork.freedesktop.org/series/127455/
State : warning

== Summary ==

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




[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/display: Check GGTT to determine phys_base (rev2)

2023-12-06 Thread Patchwork
== Series Details ==

Series: drm/i915/display: Check GGTT to determine phys_base (rev2)
URL   : https://patchwork.freedesktop.org/series/127130/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_13990 -> Patchwork_127130v2


Summary
---

  **FAILURE**

  Serious unknown changes coming with Patchwork_127130v2 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_127130v2, please notify your bug team 
(i915-ci-in...@lists.freedesktop.org) 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_127130v2/index.html

Participating hosts (37 -> 34)
--

  Missing(3): fi-pnv-d510 fi-snb-2520m bat-dg1-5 

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

  * igt@i915_module_load@load:
- bat-mtlp-8: [PASS][1] -> [INCOMPLETE][2]
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/bat-mtlp-8/igt@i915_module_l...@load.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127130v2/bat-mtlp-8/igt@i915_module_l...@load.html

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@kms_pm_backlight@basic-brightness@edp-1:
- bat-rplp-1: NOTRUN -> [ABORT][3] ([i915#8668])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127130v2/bat-rplp-1/igt@kms_pm_backlight@basic-brightn...@edp-1.html

  
 Possible fixes 

  * igt@gem_exec_suspend@basic-s0@lmem0:
- bat-dg2-9:  [INCOMPLETE][4] ([i915#9275]) -> [PASS][5]
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/bat-dg2-9/igt@gem_exec_suspend@basic...@lmem0.html
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127130v2/bat-dg2-9/igt@gem_exec_suspend@basic...@lmem0.html

  * igt@kms_flip@basic-flip-vs-dpms@d-dp6:
- bat-adlp-11:[DMESG-FAIL][6] ([i915#6868]) -> [PASS][7]
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/bat-adlp-11/igt@kms_flip@basic-flip-vs-d...@d-dp6.html
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127130v2/bat-adlp-11/igt@kms_flip@basic-flip-vs-d...@d-dp6.html

  * igt@kms_flip@basic-flip-vs-modeset@d-dp6:
- bat-adlp-11:[DMESG-WARN][8] -> [PASS][9]
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/bat-adlp-11/igt@kms_flip@basic-flip-vs-mode...@d-dp6.html
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127130v2/bat-adlp-11/igt@kms_flip@basic-flip-vs-mode...@d-dp6.html

  * igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-d-edp-1:
- bat-rplp-1: [ABORT][10] ([i915#8668]) -> [PASS][11]
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13990/bat-rplp-1/igt@kms_pipe_crc_basic@read-crc-frame-seque...@pipe-d-edp-1.html
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127130v2/bat-rplp-1/igt@kms_pipe_crc_basic@read-crc-frame-seque...@pipe-d-edp-1.html

  
  [i915#6868]: https://gitlab.freedesktop.org/drm/intel/issues/6868
  [i915#8668]: https://gitlab.freedesktop.org/drm/intel/issues/8668
  [i915#9275]: https://gitlab.freedesktop.org/drm/intel/issues/9275


Build changes
-

  * Linux: CI_DRM_13990 -> Patchwork_127130v2

  CI-20190529: 20190529
  CI_DRM_13990: 85d33d0ad82a5c1a71492f14a5ceb67ada6a22d8 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7626: 154b7288552cd7ed3033f8ef396e88d0bd1b7646 @ 
https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_127130v2: 85d33d0ad82a5c1a71492f14a5ceb67ada6a22d8 @ 
git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

43f210e851cd drm/i915/display: Check GGTT to determine phys_base

== Logs ==

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


[Intel-gfx] [PATCH v3 3/3] drm/i915/dp: Fix passing the correct DPCD_REV for drm_dp_set_phy_test_pattern

2023-12-06 Thread Khaled Almahallawy
Using link_status to get DPCD_REV fails when disabling/defaulting
phy pattern. Use intel_dp->dpcd to access DPCD_REV correctly.

Fixes: 8cdf72711928 ("drm/i915/dp: Program vswing, pre-emphasis, test-pattern")
Cc: Jani Nikula 
Cc: Imre Deak 
Cc: Lee Shawn C 
Signed-off-by: Khaled Almahallawy 
---
 drivers/gpu/drm/i915/display/intel_dp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dp.c 
b/drivers/gpu/drm/i915/display/intel_dp.c
index 579ec63002fa..2a89a4351d27 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -4779,7 +4779,7 @@ static void intel_dp_process_phy_request(struct intel_dp 
*intel_dp,
  intel_dp->train_set, crtc_state->lane_count);
 
drm_dp_set_phy_test_pattern(_dp->aux, data,
-   link_status[DP_DPCD_REV]);
+   intel_dp->dpcd[DP_DPCD_REV]);
 }
 
 static u8 intel_dp_autotest_phy_pattern(struct intel_dp *intel_dp)
-- 
2.34.1



[Intel-gfx] [PATCH v3 2/3] drm/i915/dp: Add TPS4 PHY test pattern support

2023-12-06 Thread Khaled Almahallawy
Adding support for TPS4 (CP2520 Pattern 3) PHY pattern source tests.

v2: rebase
v3:
  - Enable TPS4 only for supported platforms (Jani)
  - Uppercase in macro names (Jani)
  - Fix indentation (Jani)
  - Use drm_warn instead of WARN

Bspec: 50482, 50484, 7557
Cc: Jani Nikula 
Cc: Imre Deak 
Cc: Lee Shawn C 
Signed-off-by: Khaled Almahallawy 
---
 drivers/gpu/drm/i915/display/intel_dp.c | 17 -
 drivers/gpu/drm/i915/i915_reg.h |  4 
 2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dp.c 
b/drivers/gpu/drm/i915/display/intel_dp.c
index a1e63ab5761b..579ec63002fa 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -4679,6 +4679,7 @@ static void intel_dp_phy_pattern_update(struct intel_dp 
*intel_dp,
struct drm_dp_phy_test_params *data =
_dp->compliance.test_data.phytest;
struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
+   struct intel_encoder *encoder = _to_dig_port(intel_dp)->base;
enum pipe pipe = crtc->pipe;
u32 pattern_val;
 
@@ -4686,6 +4687,9 @@ static void intel_dp_phy_pattern_update(struct intel_dp 
*intel_dp,
case DP_LINK_QUAL_PATTERN_DISABLE:
drm_dbg_kms(_priv->drm, "Disable Phy Test Pattern\n");
intel_de_write(dev_priv, DDI_DP_COMP_CTL(pipe), 0x0);
+   intel_de_rmw(dev_priv, dp_tp_ctl_reg(encoder, crtc_state),
+DP_TP_CTL_TRAIN_PAT4_SEL_MASK | 
DP_TP_CTL_LINK_TRAIN_MASK,
+DP_TP_CTL_LINK_TRAIN_NORMAL);
break;
case DP_LINK_QUAL_PATTERN_D10_2:
drm_dbg_kms(_priv->drm, "Set D10.2 Phy Test Pattern\n");
@@ -4733,8 +4737,19 @@ static void intel_dp_phy_pattern_update(struct intel_dp 
*intel_dp,
   DDI_DP_COMP_CTL_ENABLE | DDI_DP_COMP_CTL_HBR2 |
   pattern_val);
break;
+   case DP_LINK_QUAL_PATTERN_CP2520_PAT_3:
+   if (DISPLAY_VER(dev_priv) < 10)  {
+   drm_warn(_priv->drm, "Platform does not support 
TPS4\n");
+   break;
+   }
+   drm_dbg_kms(_priv->drm, "Set TPS4 compliance Phy Test 
Pattern\n");
+   intel_de_write(dev_priv, DDI_DP_COMP_CTL(pipe), 0x0);
+   intel_de_rmw(dev_priv, dp_tp_ctl_reg(encoder, crtc_state),
+   DP_TP_CTL_TRAIN_PAT4_SEL_MASK | 
DP_TP_CTL_LINK_TRAIN_MASK,
+   DP_TP_CTL_TRAIN_PAT4_SEL_TP4A | 
DP_TP_CTL_LINK_TRAIN_PAT4);
+   break;
default:
-   WARN(1, "Invalid Phy Test Pattern\n");
+   drm_warn(_priv->drm, "Invalid Phy Test Pattern\n");
}
 }
 
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 27dc903f0553..220fcd9f8f1d 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -5652,6 +5652,10 @@ enum skl_power_gate {
 #define  DP_TP_CTL_MODE_SST(0 << 27)
 #define  DP_TP_CTL_MODE_MST(1 << 27)
 #define  DP_TP_CTL_FORCE_ACT   (1 << 25)
+#define  DP_TP_CTL_TRAIN_PAT4_SEL_MASK (3 << 19)
+#define  DP_TP_CTL_TRAIN_PAT4_SEL_TP4A (0 << 19)
+#define  DP_TP_CTL_TRAIN_PAT4_SEL_TP4B (1 << 19)
+#define  DP_TP_CTL_TRAIN_PAT4_SEL_TP4C (2 << 19)
 #define  DP_TP_CTL_ENHANCED_FRAME_ENABLE   (1 << 18)
 #define  DP_TP_CTL_FDI_AUTOTRAIN   (1 << 15)
 #define  DP_TP_CTL_LINK_TRAIN_MASK (7 << 8)
-- 
2.34.1



[Intel-gfx] [PATCH v3 1/3] drm/i915/dp: Use LINK_QUAL_PATTERN_* Phy test pattern names

2023-12-06 Thread Khaled Almahallawy
Starting from DP2.0 specs, DPCD 248h is renamed
LINK_QUAL_PATTERN_SELECT and it has the same values of registers
DPCD 10Bh-10Eh.
Use the PHY pattern names defined for DPCD 10Bh-10Eh in order to add
CP2520 Pattern 3 (TPS4) phy pattern support in the next
patch of this series and DP2.1 PHY patterns for future series.

v2: rebase

Cc: Jani Nikula 
Cc: Imre Deak 
Cc: Lee Shawn C 
Signed-off-by: Khaled Almahallawy 
Reviewed-by: Jani Nikula 
---
 drivers/gpu/drm/i915/display/intel_dp.c | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dp.c 
b/drivers/gpu/drm/i915/display/intel_dp.c
index 3b2482bf683f..a1e63ab5761b 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -4683,27 +4683,27 @@ static void intel_dp_phy_pattern_update(struct intel_dp 
*intel_dp,
u32 pattern_val;
 
switch (data->phy_pattern) {
-   case DP_PHY_TEST_PATTERN_NONE:
+   case DP_LINK_QUAL_PATTERN_DISABLE:
drm_dbg_kms(_priv->drm, "Disable Phy Test Pattern\n");
intel_de_write(dev_priv, DDI_DP_COMP_CTL(pipe), 0x0);
break;
-   case DP_PHY_TEST_PATTERN_D10_2:
+   case DP_LINK_QUAL_PATTERN_D10_2:
drm_dbg_kms(_priv->drm, "Set D10.2 Phy Test Pattern\n");
intel_de_write(dev_priv, DDI_DP_COMP_CTL(pipe),
   DDI_DP_COMP_CTL_ENABLE | DDI_DP_COMP_CTL_D10_2);
break;
-   case DP_PHY_TEST_PATTERN_ERROR_COUNT:
+   case DP_LINK_QUAL_PATTERN_ERROR_RATE:
drm_dbg_kms(_priv->drm, "Set Error Count Phy Test 
Pattern\n");
intel_de_write(dev_priv, DDI_DP_COMP_CTL(pipe),
   DDI_DP_COMP_CTL_ENABLE |
   DDI_DP_COMP_CTL_SCRAMBLED_0);
break;
-   case DP_PHY_TEST_PATTERN_PRBS7:
+   case DP_LINK_QUAL_PATTERN_PRBS7:
drm_dbg_kms(_priv->drm, "Set PRBS7 Phy Test Pattern\n");
intel_de_write(dev_priv, DDI_DP_COMP_CTL(pipe),
   DDI_DP_COMP_CTL_ENABLE | DDI_DP_COMP_CTL_PRBS7);
break;
-   case DP_PHY_TEST_PATTERN_80BIT_CUSTOM:
+   case DP_LINK_QUAL_PATTERN_80BIT_CUSTOM:
/*
 * FIXME: Ideally pattern should come from DPCD 0x250. As
 * current firmware of DPR-100 could not set it, so hardcoding
@@ -4721,7 +4721,7 @@ static void intel_dp_phy_pattern_update(struct intel_dp 
*intel_dp,
   DDI_DP_COMP_CTL_ENABLE |
   DDI_DP_COMP_CTL_CUSTOM80);
break;
-   case DP_PHY_TEST_PATTERN_CP2520:
+   case DP_LINK_QUAL_PATTERN_CP2520_PAT_1:
/*
 * FIXME: Ideally pattern should come from DPCD 0x24A. As
 * current firmware of DPR-100 could not set it, so hardcoding
-- 
2.34.1



Re: [Intel-gfx] [PATCH v7 2/2] drm/i915/guc: Close deregister-context race against CT-loss

2023-12-06 Thread Daniele Ceraolo Spurio




On 11/30/2023 4:10 PM, Teres Alexis, Alan Previn wrote:

As far as i can tell, its only if we started resetting / wedging right after 
this
queued worker got started.

alan: hope Daniele can proof read my tracing and confirm if got it right.


Yup, we don't flush the worker in reset prepare, so there is a chance 
that it might run parallel to the reset/wedge code, which we handle by 
checking the submission status. The list manipulation is protected by 
spinlock so we're safe on that side. The rest of the approach also LGTM:


Acked-by: Daniele Ceraolo Spurio 

Daniele


Re: [Intel-gfx] [topic/core-for-CI] Revert "debugfs: annotate debugfs handlers vs. removal with lockdep"

2023-12-06 Thread Lucas De Marchi

On Wed, Dec 06, 2023 at 07:41:04PM +, Jani Saarinen wrote:

Hi,

-Original Message-
From: Intel-gfx  On Behalf Of Shankar,
Uma
Sent: Wednesday, December 6, 2023 1:05 PM
To: Borah, Chaitanya Kumar ; intel-
g...@lists.freedesktop.org
Subject: Re: [Intel-gfx] [topic/core-for-CI] Revert "debugfs: annotate debugfs
handlers vs. removal with lockdep"



> -Original Message-
> From: Intel-gfx  On Behalf Of
> Chaitanya Kumar Borah
> Sent: Wednesday, December 6, 2023 12:17 PM
> To: intel-gfx@lists.freedesktop.org
> Subject: [Intel-gfx] [topic/core-for-CI] Revert "debugfs: annotate
> debugfs handlers vs. removal with lockdep"
>
> From: Johannes Berg 
>
> This reverts commit f4acfcd4deb1 ("debugfs: annotate debugfs handlers vs.
> removal with lockdep"), it appears to have false positives and really
> shouldn't have been in the -rc series with the fixes anyway.

Acked-by: Uma Shankar 

Hi Chaitanya,
Please get the full CI run executed with this change, once its green we can 
plan merge.

Just commented on "issues" (no real issues ) on BAT and asked to re-report but 
we really should use sometimes by-pass shards when we see regression on this magnitude.
This has big impact on core/gem tests 
https://intel-gfx-ci.01.org/tree/drm-tip/index.html?testfilter=module%7Cgem%7Ccore
Even on module load. I am leaning to break process and not wait to Full CI if 
someone who has merge rights (eg @Vivi, Rodrigo, @De Marchi, Lucas) agree here?


I think this is the convincing link:
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127359v2/index.html?testfilter=module%7Cgem%7Ccore

Applied with ack on irc by Rodrigo.

Lucas De Marchi



Br,
Jani


Regards,
Uma Shankar

> Link:https://patchwork.kernel.org/project/linux-
> fsdevel/patch/20231202114936.fd55431ab160.I911aa53abeeca138126f69
> 0d383a89b13eb05667@changeid/
> Reference: https://gitlab.freedesktop.org/drm/intel/-/issues/9802
> Signed-off-by: Johannes Berg 
> Acked-by: Greg Kroah-Hartman 
> ---
>  fs/debugfs/file.c | 10 --
>  fs/debugfs/inode.c|  7 ---
>  fs/debugfs/internal.h |  6 --
>  3 files changed, 23 deletions(-)
>
> diff --git a/fs/debugfs/file.c b/fs/debugfs/file.c index
> a5ade8c16375..5063434be0fc 100644
> --- a/fs/debugfs/file.c
> +++ b/fs/debugfs/file.c
> @@ -108,12 +108,6 @@ int debugfs_file_get(struct dentry *dentry)
>kfree(fsd);
>fsd = READ_ONCE(dentry->d_fsdata);
>}
> -#ifdef CONFIG_LOCKDEP
> -  fsd->lock_name = kasprintf(GFP_KERNEL, "debugfs:%pd",
> dentry);
> -  lockdep_register_key(>key);
> -  lockdep_init_map(>lockdep_map, fsd->lock_name ?:
> "debugfs",
> -   >key, 0);
> -#endif
>INIT_LIST_HEAD(>cancellations);
>mutex_init(>cancellations_mtx);
>}
> @@ -132,8 +126,6 @@ int debugfs_file_get(struct dentry *dentry)
>if (!refcount_inc_not_zero(>active_users))
>return -EIO;
>
> -  lock_map_acquire_read(>lockdep_map);
> -
>return 0;
>  }
>  EXPORT_SYMBOL_GPL(debugfs_file_get);
> @@ -151,8 +143,6 @@ void debugfs_file_put(struct dentry *dentry)  {
>struct debugfs_fsdata *fsd = READ_ONCE(dentry->d_fsdata);
>
> -  lock_map_release(>lockdep_map);
> -
>if (refcount_dec_and_test(>active_users))
>complete(>active_users_drained);
>  }
> diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c index
> e4e7fe1bd9fb..034a617cb1a5 100644
> --- a/fs/debugfs/inode.c
> +++ b/fs/debugfs/inode.c
> @@ -243,10 +243,6 @@ static void debugfs_release_dentry(struct dentry
> *dentry)
>
>/* check it wasn't a dir (no fsdata) or automount (no real_fops) */
>if (fsd && fsd->real_fops) {
> -#ifdef CONFIG_LOCKDEP
> -  lockdep_unregister_key(>key);
> -  kfree(fsd->lock_name);
> -#endif
>WARN_ON(!list_empty(>cancellations));
>mutex_destroy(>cancellations_mtx);
>}
> @@ -755,9 +751,6 @@ static void __debugfs_file_removed(struct dentry
> *dentry)
>if ((unsigned long)fsd & DEBUGFS_FSDATA_IS_REAL_FOPS_BIT)
>return;
>
> -  lock_map_acquire(>lockdep_map);
> -  lock_map_release(>lockdep_map);
> -
>/* if we hit zero, just wait for all to finish */
>if (!refcount_dec_and_test(>active_users)) {
>wait_for_completion(>active_users_drained);
> diff --git a/fs/debugfs/internal.h b/fs/debugfs/internal.h index
> 0c4c68cf161f..dae80c2a469e 100644
> --- a/fs/debugfs/internal.h
> +++ b/fs/debugfs/internal.h
> @@ -7,7 +7,6 @@
>
>  #ifndef _DEBUGFS_INTERNAL_H_
>  #define _DEBUGFS_INTERNAL_H_
> -#include 
>  #include 
>
>  struct file_operations;
> @@ -25,11 +24,6 @@ struct debugfs_fsdata {
>struct {
>refcount_t active_users;
>struct completion active_users_drained; -#ifdef
CONFIG_LOCKDEP
> -  struct lockdep_map lockdep_map;
> -  struct lock_class_key key;
> -  char *lock_name;
> -#endif
>
>/* protect 

[Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915/guc: Create the guc_to_i915() wrapper (rev3)

2023-12-06 Thread Patchwork
== Series Details ==

Series: drm/i915/guc: Create the guc_to_i915() wrapper (rev3)
URL   : https://patchwork.freedesktop.org/series/124686/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_13988_full -> Patchwork_124686v3_full


Summary
---

  **FAILURE**

  Serious unknown changes coming with Patchwork_124686v3_full absolutely need 
to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_124686v3_full, please notify your bug team 
(i915-ci-in...@lists.freedesktop.org) to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

Participating hosts (8 -> 8)
--

  No changes in participating hosts

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

  * igt@gem_lmem_swapping@heavy-verify-random@lmem0:
- shard-dg2:  NOTRUN -> [ABORT][1] +1 other test abort
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124686v3/shard-dg2-11/igt@gem_lmem_swapping@heavy-verify-ran...@lmem0.html

  * igt@gem_ppgtt@blt-vs-render-ctx0:
- shard-tglu: [PASS][2] -> [INCOMPLETE][3]
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/shard-tglu-10/igt@gem_pp...@blt-vs-render-ctx0.html
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124686v3/shard-tglu-4/igt@gem_pp...@blt-vs-render-ctx0.html

  * igt@perf_pmu@module-unload:
- shard-rkl:  NOTRUN -> [ABORT][4] +1 other test abort
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124686v3/shard-rkl-5/igt@perf_...@module-unload.html

  
 Warnings 

  * igt@i915_module_load@reload-no-display:
- shard-snb:  [INCOMPLETE][5] ([i915#4528]) -> [INCOMPLETE][6]
   [5]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/shard-snb4/igt@i915_module_l...@reload-no-display.html
   [6]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124686v3/shard-snb4/igt@i915_module_l...@reload-no-display.html

  
Known issues


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

### CI changes ###

 Issues hit 

  * boot:
- shard-glk:  ([PASS][7], [PASS][8], [PASS][9], [PASS][10], 
[PASS][11], [PASS][12], [PASS][13], [PASS][14], [PASS][15], [PASS][16], 
[PASS][17], [PASS][18], [PASS][19], [PASS][20], [PASS][21], [PASS][22], 
[PASS][23], [PASS][24], [PASS][25], [PASS][26], [PASS][27], [PASS][28], 
[PASS][29], [PASS][30]) -> ([PASS][31], [PASS][32], [PASS][33], [PASS][34], 
[PASS][35], [PASS][36], [FAIL][37], [PASS][38], [FAIL][39], [FAIL][40], 
[PASS][41], [PASS][42], [PASS][43], [PASS][44], [PASS][45], [PASS][46], 
[PASS][47], [PASS][48], [PASS][49], [PASS][50], [PASS][51], [PASS][52], 
[PASS][53], [PASS][54], [PASS][55]) ([i915#8293])
   [7]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/shard-glk9/boot.html
   [8]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/shard-glk9/boot.html
   [9]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/shard-glk9/boot.html
   [10]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/shard-glk8/boot.html
   [11]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/shard-glk8/boot.html
   [12]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/shard-glk8/boot.html
   [13]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/shard-glk8/boot.html
   [14]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/shard-glk7/boot.html
   [15]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/shard-glk7/boot.html
   [16]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/shard-glk7/boot.html
   [17]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/shard-glk6/boot.html
   [18]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/shard-glk6/boot.html
   [19]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/shard-glk5/boot.html
   [20]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/shard-glk5/boot.html
   [21]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/shard-glk4/boot.html
   [22]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/shard-glk4/boot.html
   [23]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/shard-glk4/boot.html
   [24]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/shard-glk4/boot.html
   [25]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/shard-glk3/boot.html
   [26]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/shard-glk3/boot.html
   [27]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/shard-glk2/boot.html
   [28]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/shard-glk2/boot.html
   [29]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/shard-glk1/boot.html
   [30]: 

[Intel-gfx] [PATCH RESEND AGAIN v2 2/2] drm/i915: Ratelimit debug log in vm_fault_ttm

2023-12-06 Thread Andi Shyti
From: Nirmoy Das 

Test like i915_gem_mman_live_selftests/igt_mmap_migrate can cause
dmesg spamming. Use ratelimit api to reduce log rate.

References: https://gitlab.freedesktop.org/drm/intel/-/issues/7038
Signed-off-by: Nirmoy Das 
Cc: Matthew Auld 
Reviewed-by: Matthew Auld 
Reviewed-by: Andrzej Hajda 
Reviewed-by: Andi Shyti 
Signed-off-by: Andi Shyti 
---
 drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c 
b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
index 9227f8146a58..6b69ef0cdbb4 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
@@ -1101,8 +1101,9 @@ static vm_fault_t vm_fault_ttm(struct vm_fault *vmf)
}
 
if (err) {
-   drm_dbg(dev, "Unable to make resource CPU 
accessible(err = %pe)\n",
-   ERR_PTR(err));
+   drm_dbg_ratelimited(dev,
+   "Unable to make resource CPU 
accessible(err = %pe)\n",
+   ERR_PTR(err));
dma_resv_unlock(bo->base.resv);
ret = VM_FAULT_SIGBUS;
goto out_rpm;
-- 
2.43.0



[Intel-gfx] [PATCH RESEND AGAIN v2 1/2] drm/print: Add drm_dbg_ratelimited

2023-12-06 Thread Andi Shyti
From: Nirmoy Das 

Add a function for ratelimitted debug print.

Signed-off-by: Nirmoy Das 
Cc: Maarten Lankhorst 
Cc: Maxime Ripard 
Cc: Thomas Zimmermann 
Cc: David Airlie 
Cc: Daniel Vetter 
Reviewed-by: Matthew Auld 
Reviewed-by: Andrzej Hajda 
Reviewed-by: Andi Shyti 
Reviewed-by: Sam Ravnborg 
Signed-off-by: Andi Shyti 
---
 include/drm/drm_print.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h
index dd4883df876a..5ed26a702e3e 100644
--- a/include/drm/drm_print.h
+++ b/include/drm/drm_print.h
@@ -602,6 +602,9 @@ void __drm_err(const char *format, ...);
drm_dev_printk(drm_ ? drm_->dev : NULL, KERN_DEBUG, fmt, ## 
__VA_ARGS__);   \
 })
 
+#define drm_dbg_ratelimited(drm, fmt, ...) \
+   __DRM_DEFINE_DBG_RATELIMITED(DRIVER, drm, fmt, ## __VA_ARGS__)
+
 #define drm_dbg_kms_ratelimited(drm, fmt, ...) \
__DRM_DEFINE_DBG_RATELIMITED(KMS, drm, fmt, ## __VA_ARGS__)
 
-- 
2.43.0



[Intel-gfx] [PATCH RESEND AGAIN v2 0/2] Add drm_dbg_ratelimited()

2023-12-06 Thread Andi Shyti
Hi,

This is the second time I am resending this series in its v2. It
has been reviewd, acked, blessed, discussed, rectified, assessed,
authorized, validated, glorified, praised, demanded, approved,
and yet, I don't understand why no one is merging it.

Thanks,
Andi

v2:
pick the right patch with the following changes:
 - add more r-b's
 - add a patch 2 where the drm_dbg_ratelimited is actually used.

Nirmoy Das (2):
  drm/print: Add drm_dbg_ratelimited
  drm/i915: Ratelimit debug log in vm_fault_ttm

 drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 5 +++--
 include/drm/drm_print.h | 3 +++
 2 files changed, 6 insertions(+), 2 deletions(-)

-- 
2.43.0



[Intel-gfx] [PATCH v3 4/4] drm/i915/guc: Use the ce_to_guc() wrapper whenever possible

2023-12-06 Thread Andi Shyti
Get the guc reference from the ce using the ce_to_guc() helper.
Just a leftover from previous cleanups.

Signed-off-by: Andi Shyti 
---
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c 
b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
index 4f51cc5f1604..3c7821ae9f0d 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
@@ -3513,7 +3513,7 @@ static inline void sub_context_inflight_prio(struct 
intel_context *ce,
 
 static inline void update_context_prio(struct intel_context *ce)
 {
-   struct intel_guc *guc = >engine->gt->uc.guc;
+   struct intel_guc *guc = ce_to_guc(ce);
int i;
 
BUILD_BUG_ON(GUC_CLIENT_PRIORITY_KMD_HIGH != 0);
-- 
2.43.0



[Intel-gfx] [PATCH v3 2/4] drm/i915/guc: Use the new gt_to_guc() wrapper

2023-12-06 Thread Andi Shyti
Get the guc reference from the gt using the gt_to_guc() helper.

Signed-off-by: Andi Shyti 
---
 drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c |  4 +--
 drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.c  |  3 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c|  2 +-
 .../gpu/drm/i915/gt/uc/intel_guc_capture.c|  6 ++--
 .../gpu/drm/i915/gt/uc/intel_guc_hwconfig.c   |  2 +-
 .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 28 +--
 drivers/gpu/drm/i915/gt/uc/intel_huc.c|  4 +--
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c  |  4 +--
 drivers/gpu/drm/i915/gt/uc/selftest_guc.c |  2 +-
 9 files changed, 28 insertions(+), 27 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c 
b/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c
index e2e42b3e0d5d..3b69bc6616bd 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c
@@ -298,7 +298,7 @@ static int gsc_fw_load_prepare(struct intel_gsc_uc *gsc)
memcpy_toio(gsc->local_vaddr, src, gsc->fw.size);
memset_io(gsc->local_vaddr + gsc->fw.size, 0, gsc->local->size - 
gsc->fw.size);
 
-   intel_guc_write_barrier(>uc.guc);
+   intel_guc_write_barrier(gt_to_guc(gt));
 
i915_gem_object_unpin_map(gsc->fw.obj);
 
@@ -351,7 +351,7 @@ static int gsc_fw_query_compatibility_version(struct 
intel_gsc_uc *gsc)
void *vaddr;
int err;
 
-   err = intel_guc_allocate_and_map_vma(>uc.guc, GSC_VER_PKT_SZ * 2,
+   err = intel_guc_allocate_and_map_vma(gt_to_guc(gt), GSC_VER_PKT_SZ * 2,
 , );
if (err) {
gt_err(gt, "failed to allocate vma for GSC version query\n");
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.c 
b/drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.c
index 40817ebcca71..a7d5465655f9 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.c
@@ -358,7 +358,8 @@ static int proxy_channel_alloc(struct intel_gsc_uc *gsc)
void *vaddr;
int err;
 
-   err = intel_guc_allocate_and_map_vma(>uc.guc, 
GSC_PROXY_CHANNEL_SIZE,
+   err = intel_guc_allocate_and_map_vma(gt_to_guc(gt),
+GSC_PROXY_CHANNEL_SIZE,
 , );
if (err)
return err;
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c 
b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c
index 63724e17829a..1ef470e64604 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c
@@ -956,7 +956,7 @@ u32 intel_guc_engine_usage_offset(struct intel_guc *guc)
 
 struct iosys_map intel_guc_engine_usage_record_map(struct intel_engine_cs 
*engine)
 {
-   struct intel_guc *guc = >gt->uc.guc;
+   struct intel_guc *guc = gt_to_guc(engine->gt);
u8 guc_class = engine_class_to_guc_class(engine->class);
size_t offset = offsetof(struct __guc_ads_blob,
 
engine_usage.engines[guc_class][ilog2(engine->logical_mask)]);
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c 
b/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
index a4da0208c883..84a8807391c5 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
@@ -1441,7 +1441,7 @@ int intel_guc_capture_print_engine_node(struct 
drm_i915_error_state_buf *ebuf,
if (!cap || !ee->engine)
return -ENODEV;
 
-   guc = >engine->gt->uc.guc;
+   guc = gt_to_guc(ee->engine->gt);
 
i915_error_printf(ebuf, "global --- GuC Error Capture on %s command 
stream:\n",
  ee->engine->name);
@@ -1543,7 +1543,7 @@ bool intel_guc_capture_is_matching_engine(struct intel_gt 
*gt,
if (!gt || !ce || !engine)
return false;
 
-   guc = >uc.guc;
+   guc = gt_to_guc(gt);
if (!guc->capture)
return false;
 
@@ -1573,7 +1573,7 @@ void intel_guc_capture_get_matching_node(struct intel_gt 
*gt,
if (!gt || !ee || !ce)
return;
 
-   guc = >uc.guc;
+   guc = gt_to_guc(gt);
if (!guc->capture)
return;
 
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_hwconfig.c 
b/drivers/gpu/drm/i915/gt/uc/intel_guc_hwconfig.c
index cc9569af7f0c..b67a15f74276 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_hwconfig.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_hwconfig.c
@@ -111,7 +111,7 @@ static bool has_table(struct drm_i915_private *i915)
 static int guc_hwconfig_init(struct intel_gt *gt)
 {
struct intel_hwconfig *hwconfig = >info.hwconfig;
-   struct intel_guc *guc = >uc.guc;
+   struct intel_guc *guc = gt_to_guc(gt);
int ret;
 
if (!has_table(gt->i915))
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c 
b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
index 04f8377fd7a3..4f51cc5f1604 100644
--- 

[Intel-gfx] [PATCH v3 3/4] drm/i915: Use the new gt_to_guc() wrapper

2023-12-06 Thread Andi Shyti
Get the guc reference from the gt using the gt_to_guc() helper.

Signed-off-by: Andi Shyti 
---
 drivers/gpu/drm/i915/i915_debugfs_params.c   | 2 +-
 drivers/gpu/drm/i915/selftests/intel_scheduler_helpers.c | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_debugfs_params.c 
b/drivers/gpu/drm/i915/i915_debugfs_params.c
index 8bca02025e09..74b7f2fd8b57 100644
--- a/drivers/gpu/drm/i915/i915_debugfs_params.c
+++ b/drivers/gpu/drm/i915/i915_debugfs_params.c
@@ -43,7 +43,7 @@ static int notify_guc(struct drm_i915_private *i915)
 
for_each_gt(gt, i915, i) {
if (intel_uc_uses_guc_submission(>uc))
-   ret = intel_guc_global_policies_update(>uc.guc);
+   ret = intel_guc_global_policies_update(gt_to_guc(gt));
}
 
return ret;
diff --git a/drivers/gpu/drm/i915/selftests/intel_scheduler_helpers.c 
b/drivers/gpu/drm/i915/selftests/intel_scheduler_helpers.c
index 2990dd4d4a0d..d9d8f0336702 100644
--- a/drivers/gpu/drm/i915/selftests/intel_scheduler_helpers.c
+++ b/drivers/gpu/drm/i915/selftests/intel_scheduler_helpers.c
@@ -65,7 +65,7 @@ int intel_selftest_modify_policy(struct intel_engine_cs 
*engine,
if (!intel_engine_uses_guc(engine))
return 0;
 
-   err = intel_guc_global_policies_update(>gt->uc.guc);
+   err = intel_guc_global_policies_update(gt_to_guc(engine->gt));
if (err)
intel_selftest_restore_policy(engine, saved);
 
@@ -84,7 +84,7 @@ int intel_selftest_restore_policy(struct intel_engine_cs 
*engine,
if (!intel_engine_uses_guc(engine))
return 0;
 
-   return intel_guc_global_policies_update(>gt->uc.guc);
+   return intel_guc_global_policies_update(gt_to_guc(engine->gt));
 }
 
 int intel_selftest_wait_for_rq(struct i915_request *rq)
-- 
2.43.0



[Intel-gfx] [PATCH v3 0/4] Add gt_to_guc() helper

2023-12-06 Thread Andi Shyti
Hi,

this is just a resend of this series:

https://patchwork.freedesktop.org/series/125583/

but I removed patch one that introduces guc_to_i915()

Thanks,
Andi

Changelog:
==
v2 -> v3:
 - Remove patch 1 that contained guc_to_i915()
v1 -> v2:
 - add the gt_to_guc() helper and change files in:
- i915/gt/
- i915/gt/uc
- i915/

Andi Shyti (4):
  drm/i915/gt: Create the gt_to_guc() wrapper
  drm/i915/guc: Use the new gt_to_guc() wrapper
  drm/i915: Use the new gt_to_guc() wrapper
  drm/i915/guc: Use the ce_to_guc() wrapper whenever possible

 drivers/gpu/drm/i915/gt/intel_engine_cs.c |  4 +--
 drivers/gpu/drm/i915/gt/intel_ggtt.c  |  9 ++
 drivers/gpu/drm/i915/gt/intel_gt.h|  5 
 drivers/gpu/drm/i915/gt/intel_gt_irq.c|  6 ++--
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c |  2 +-
 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c   |  8 ++---
 drivers/gpu/drm/i915/gt/intel_rc6.c   |  4 +--
 drivers/gpu/drm/i915/gt/intel_rps.c   |  2 +-
 drivers/gpu/drm/i915/gt/intel_tlb.c   |  2 +-
 drivers/gpu/drm/i915/gt/selftest_slpc.c   |  6 ++--
 drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c |  4 +--
 drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.c  |  3 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c|  2 +-
 .../gpu/drm/i915/gt/uc/intel_guc_capture.c|  6 ++--
 .../gpu/drm/i915/gt/uc/intel_guc_hwconfig.c   |  2 +-
 .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 30 +--
 drivers/gpu/drm/i915/gt/uc/intel_huc.c|  4 +--
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c  |  4 +--
 drivers/gpu/drm/i915/gt/uc/selftest_guc.c |  2 +-
 drivers/gpu/drm/i915/i915_debugfs_params.c|  2 +-
 .../i915/selftests/intel_scheduler_helpers.c  |  4 +--
 21 files changed, 57 insertions(+), 54 deletions(-)

-- 
2.43.0



[Intel-gfx] [PATCH v3 1/4] drm/i915/gt: Create the gt_to_guc() wrapper

2023-12-06 Thread Andi Shyti
We already have guc_to_gt() and getting to guc from the GT it
requires some mental effort. Add the gt_to_guc().

Given the reference to the "gt", the gt_to_guc() will return the
pinter to the "guc".

Update all the files under the gt/ directory.

Signed-off-by: Andi Shyti 
---
 drivers/gpu/drm/i915/gt/intel_engine_cs.c | 4 ++--
 drivers/gpu/drm/i915/gt/intel_ggtt.c  | 9 +++--
 drivers/gpu/drm/i915/gt/intel_gt.h| 5 +
 drivers/gpu/drm/i915/gt/intel_gt_irq.c| 6 +++---
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c | 2 +-
 drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c   | 8 
 drivers/gpu/drm/i915/gt/intel_rc6.c   | 4 ++--
 drivers/gpu/drm/i915/gt/intel_rps.c   | 2 +-
 drivers/gpu/drm/i915/gt/intel_tlb.c   | 2 +-
 drivers/gpu/drm/i915/gt/selftest_slpc.c   | 6 +++---
 10 files changed, 25 insertions(+), 23 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c 
b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
index 40687806d22a..bede7f09d4af 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
@@ -589,7 +589,7 @@ u64 intel_clamp_preempt_timeout_ms(struct intel_engine_cs 
*engine, u64 value)
 * NB: The GuC API only supports 32bit values. However, the limit is 
further
 * reduced due to internal calculations which would otherwise overflow.
 */
-   if (intel_guc_submission_is_wanted(>gt->uc.guc))
+   if (intel_guc_submission_is_wanted(gt_to_guc(engine->gt)))
value = min_t(u64, value, guc_policy_max_preempt_timeout_ms());
 
value = min_t(u64, value, jiffies_to_msecs(MAX_SCHEDULE_TIMEOUT));
@@ -610,7 +610,7 @@ u64 intel_clamp_timeslice_duration_ms(struct 
intel_engine_cs *engine, u64 value)
 * NB: The GuC API only supports 32bit values. However, the limit is 
further
 * reduced due to internal calculations which would otherwise overflow.
 */
-   if (intel_guc_submission_is_wanted(>gt->uc.guc))
+   if (intel_guc_submission_is_wanted(gt_to_guc(engine->gt)))
value = min_t(u64, value, guc_policy_max_exec_quantum_ms());
 
value = min_t(u64, value, jiffies_to_msecs(MAX_SCHEDULE_TIMEOUT));
diff --git a/drivers/gpu/drm/i915/gt/intel_ggtt.c 
b/drivers/gpu/drm/i915/gt/intel_ggtt.c
index 21a7e3191c18..aa1e9249d393 100644
--- a/drivers/gpu/drm/i915/gt/intel_ggtt.c
+++ b/drivers/gpu/drm/i915/gt/intel_ggtt.c
@@ -230,11 +230,8 @@ static void guc_ggtt_ct_invalidate(struct intel_gt *gt)
struct intel_uncore *uncore = gt->uncore;
intel_wakeref_t wakeref;
 
-   with_intel_runtime_pm_if_active(uncore->rpm, wakeref) {
-   struct intel_guc *guc = >uc.guc;
-
-   intel_guc_invalidate_tlb_guc(guc);
-   }
+   with_intel_runtime_pm_if_active(uncore->rpm, wakeref)
+   intel_guc_invalidate_tlb_guc(gt_to_guc(gt));
 }
 
 static void guc_ggtt_invalidate(struct i915_ggtt *ggtt)
@@ -245,7 +242,7 @@ static void guc_ggtt_invalidate(struct i915_ggtt *ggtt)
gen8_ggtt_invalidate(ggtt);
 
list_for_each_entry(gt, >gt_list, ggtt_link) {
-   if (intel_guc_tlb_invalidation_is_available(>uc.guc))
+   if (intel_guc_tlb_invalidation_is_available(gt_to_guc(gt)))
guc_ggtt_ct_invalidate(gt);
else if (GRAPHICS_VER(i915) >= 12)
intel_uncore_write_fw(gt->uncore,
diff --git a/drivers/gpu/drm/i915/gt/intel_gt.h 
b/drivers/gpu/drm/i915/gt/intel_gt.h
index b0e453e27ea8..d7c859039828 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt.h
+++ b/drivers/gpu/drm/i915/gt/intel_gt.h
@@ -118,6 +118,11 @@ static inline struct intel_gt *gsc_to_gt(struct intel_gsc 
*gsc)
return container_of(gsc, struct intel_gt, gsc);
 }
 
+static inline struct intel_guc *gt_to_guc(struct intel_gt *gt)
+{
+   return >uc.guc;
+}
+
 void intel_gt_common_init_early(struct intel_gt *gt);
 int intel_root_gt_init_early(struct drm_i915_private *i915);
 int intel_gt_assign_ggtt(struct intel_gt *gt);
diff --git a/drivers/gpu/drm/i915/gt/intel_gt_irq.c 
b/drivers/gpu/drm/i915/gt/intel_gt_irq.c
index 77fb57223465..ad4c51f18d3a 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt_irq.c
+++ b/drivers/gpu/drm/i915/gt/intel_gt_irq.c
@@ -68,9 +68,9 @@ gen11_other_irq_handler(struct intel_gt *gt, const u8 
instance,
struct intel_gt *media_gt = gt->i915->media_gt;
 
if (instance == OTHER_GUC_INSTANCE)
-   return guc_irq_handler(>uc.guc, iir);
+   return guc_irq_handler(gt_to_guc(gt), iir);
if (instance == OTHER_MEDIA_GUC_INSTANCE && media_gt)
-   return guc_irq_handler(_gt->uc.guc, iir);
+   return guc_irq_handler(gt_to_guc(media_gt), iir);
 
if (instance == OTHER_GTPM_INSTANCE)
return gen11_rps_irq_handler(>rps, iir);
@@ -442,7 +442,7 @@ void gen8_gt_irq_handler(struct intel_gt *gt, u32 
master_ctl)
iir 

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/guc: Create the guc_to_i915() wrapper (rev3)

2023-12-06 Thread Patchwork
== Series Details ==

Series: drm/i915/guc: Create the guc_to_i915() wrapper (rev3)
URL   : https://patchwork.freedesktop.org/series/124686/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_13988 -> Patchwork_124686v3


Summary
---

  **SUCCESS**

  No regressions found.

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

Participating hosts (37 -> 35)
--

  Missing(2): fi-apl-guc fi-snb-2520m 

Known issues


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

### IGT changes ###

 Warnings 

  * igt@kms_pipe_crc_basic@nonblocking-crc:
- bat-mtlp-6: [SKIP][1] -> [SKIP][2] ([i915#9792]) +3 other tests 
skip
   [1]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/bat-mtlp-6/igt@kms_pipe_crc_ba...@nonblocking-crc.html
   [2]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124686v3/bat-mtlp-6/igt@kms_pipe_crc_ba...@nonblocking-crc.html

  * igt@prime_vgem@basic-fence-flip:
- bat-mtlp-6: [SKIP][3] ([i915#3708]) -> [SKIP][4] ([i915#3708] / 
[i915#9792])
   [3]: 
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13988/bat-mtlp-6/igt@prime_v...@basic-fence-flip.html
   [4]: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_124686v3/bat-mtlp-6/igt@prime_v...@basic-fence-flip.html

  
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#9792]: https://gitlab.freedesktop.org/drm/intel/issues/9792


Build changes
-

  * Linux: CI_DRM_13988 -> Patchwork_124686v3

  CI-20190529: 20190529
  CI_DRM_13988: 6ae23377ae459d8506ecdd2f538bfee2f52652f6 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7625: f40c67d84e142095ac6215be154e1f3710f26cba @ 
https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_124686v3: 6ae23377ae459d8506ecdd2f538bfee2f52652f6 @ 
git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

4874b6d46577 drm/i915/guc: Create the guc_to_i915() wrapper

== Logs ==

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


[Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915/guc: Create the guc_to_i915() wrapper (rev3)

2023-12-06 Thread Patchwork
== Series Details ==

Series: drm/i915/guc: Create the guc_to_i915() wrapper (rev3)
URL   : https://patchwork.freedesktop.org/series/124686/
State : warning

== Summary ==

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




Re: [Intel-gfx] [topic/core-for-CI] Revert "debugfs: annotate debugfs handlers vs. removal with lockdep"

2023-12-06 Thread Saarinen, Jani
Hi, 
> -Original Message-
> From: Intel-gfx  On Behalf Of 
> Shankar,
> Uma
> Sent: Wednesday, December 6, 2023 1:05 PM
> To: Borah, Chaitanya Kumar ; intel-
> g...@lists.freedesktop.org
> Subject: Re: [Intel-gfx] [topic/core-for-CI] Revert "debugfs: annotate debugfs
> handlers vs. removal with lockdep"
> 
> 
> 
> > -Original Message-
> > From: Intel-gfx  On Behalf Of
> > Chaitanya Kumar Borah
> > Sent: Wednesday, December 6, 2023 12:17 PM
> > To: intel-gfx@lists.freedesktop.org
> > Subject: [Intel-gfx] [topic/core-for-CI] Revert "debugfs: annotate
> > debugfs handlers vs. removal with lockdep"
> >
> > From: Johannes Berg 
> >
> > This reverts commit f4acfcd4deb1 ("debugfs: annotate debugfs handlers vs.
> > removal with lockdep"), it appears to have false positives and really
> > shouldn't have been in the -rc series with the fixes anyway.
> 
> Acked-by: Uma Shankar 
> 
> Hi Chaitanya,
> Please get the full CI run executed with this change, once its green we can 
> plan merge.
Just commented on "issues" (no real issues ) on BAT and asked to re-report but 
we really should use sometimes by-pass shards when we see regression on this 
magnitude. 
This has big impact on core/gem tests 
https://intel-gfx-ci.01.org/tree/drm-tip/index.html?testfilter=module%7Cgem%7Ccore
 
Even on module load. I am leaning to break process and not wait to Full CI if 
someone who has merge rights (eg @Vivi, Rodrigo, @De Marchi, Lucas) agree here? 

Br,
Jani
> 
> Regards,
> Uma Shankar
> 
> > Link:https://patchwork.kernel.org/project/linux-
> > fsdevel/patch/20231202114936.fd55431ab160.I911aa53abeeca138126f69
> > 0d383a89b13eb05667@changeid/
> > Reference: https://gitlab.freedesktop.org/drm/intel/-/issues/9802
> > Signed-off-by: Johannes Berg 
> > Acked-by: Greg Kroah-Hartman 
> > ---
> >  fs/debugfs/file.c | 10 --
> >  fs/debugfs/inode.c|  7 ---
> >  fs/debugfs/internal.h |  6 --
> >  3 files changed, 23 deletions(-)
> >
> > diff --git a/fs/debugfs/file.c b/fs/debugfs/file.c index
> > a5ade8c16375..5063434be0fc 100644
> > --- a/fs/debugfs/file.c
> > +++ b/fs/debugfs/file.c
> > @@ -108,12 +108,6 @@ int debugfs_file_get(struct dentry *dentry)
> > kfree(fsd);
> > fsd = READ_ONCE(dentry->d_fsdata);
> > }
> > -#ifdef CONFIG_LOCKDEP
> > -   fsd->lock_name = kasprintf(GFP_KERNEL, "debugfs:%pd",
> > dentry);
> > -   lockdep_register_key(>key);
> > -   lockdep_init_map(>lockdep_map, fsd->lock_name ?:
> > "debugfs",
> > ->key, 0);
> > -#endif
> > INIT_LIST_HEAD(>cancellations);
> > mutex_init(>cancellations_mtx);
> > }
> > @@ -132,8 +126,6 @@ int debugfs_file_get(struct dentry *dentry)
> > if (!refcount_inc_not_zero(>active_users))
> > return -EIO;
> >
> > -   lock_map_acquire_read(>lockdep_map);
> > -
> > return 0;
> >  }
> >  EXPORT_SYMBOL_GPL(debugfs_file_get);
> > @@ -151,8 +143,6 @@ void debugfs_file_put(struct dentry *dentry)  {
> > struct debugfs_fsdata *fsd = READ_ONCE(dentry->d_fsdata);
> >
> > -   lock_map_release(>lockdep_map);
> > -
> > if (refcount_dec_and_test(>active_users))
> > complete(>active_users_drained);
> >  }
> > diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c index
> > e4e7fe1bd9fb..034a617cb1a5 100644
> > --- a/fs/debugfs/inode.c
> > +++ b/fs/debugfs/inode.c
> > @@ -243,10 +243,6 @@ static void debugfs_release_dentry(struct dentry
> > *dentry)
> >
> > /* check it wasn't a dir (no fsdata) or automount (no real_fops) */
> > if (fsd && fsd->real_fops) {
> > -#ifdef CONFIG_LOCKDEP
> > -   lockdep_unregister_key(>key);
> > -   kfree(fsd->lock_name);
> > -#endif
> > WARN_ON(!list_empty(>cancellations));
> > mutex_destroy(>cancellations_mtx);
> > }
> > @@ -755,9 +751,6 @@ static void __debugfs_file_removed(struct dentry
> > *dentry)
> > if ((unsigned long)fsd & DEBUGFS_FSDATA_IS_REAL_FOPS_BIT)
> > return;
> >
> > -   lock_map_acquire(>lockdep_map);
> > -   lock_map_release(>lockdep_map);
> > -
> > /* if we hit zero, just wait for all to finish */
> > if (!refcount_dec_and_test(>active_users)) {
> > wait_for_completion(>active_users_drained);
> > diff --git a/fs/debugfs/internal.h b/fs/debugfs/internal.h index
> > 0c4c68cf161f..dae80c2a469e 100644
> > --- a/fs/debugfs/internal.h
> > +++ b/fs/debugfs/internal.h
> > @@ -7,7 +7,6 @@
> >
> >  #ifndef _DEBUGFS_INTERNAL_H_
> >  #define _DEBUGFS_INTERNAL_H_
> > -#include 
> >  #include 
> >
> >  struct file_operations;
> > @@ -25,11 +24,6 @@ struct debugfs_fsdata {
> > struct {
> > refcount_t active_users;
> > struct completion active_users_drained; -#ifdef
> CONFIG_LOCKDEP
> > -   struct lockdep_map lockdep_map;
> > -   struct lock_class_key key;
> > -   char *lock_name;
> > 

Re: [Intel-gfx] ✗ Fi.CI.BAT: failure for Revert "debugfs: annotate debugfs handlers vs. removal with lockdep" (rev2)

2023-12-06 Thread Saarinen, Jani
Hi. 

> -Original Message-
> From: Intel-gfx  On Behalf Of
> Patchwork
> Sent: Wednesday, December 6, 2023 9:58 AM
> To: Borah, Chaitanya Kumar 
> Cc: intel-gfx@lists.freedesktop.org
> Subject: [Intel-gfx] ✗ Fi.CI.BAT: failure for Revert "debugfs: annotate 
> debugfs
> handlers vs. removal with lockdep" (rev2)
> 
> Patch Details
> Series:   Revert "debugfs: annotate debugfs handlers vs. removal with 
> lockdep"
> (rev2)
> URL:  https://patchwork.freedesktop.org/series/127359/
> State:failure
> Details:  
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_127359v2/index.html
> 
> 
> CI Bug Log - changes from CI_DRM_13983 -> Patchwork_127359v2
> 
> 
> Summary
> 
> 
> FAILURE
> 
> Serious unknown changes coming with Patchwork_127359v2 absolutely need to
> be verified manually.
> 
> If you think the reported changes have nothing to do with the changes
> introduced in Patchwork_127359v2, please notify your bug team (I915-ci-
> in...@lists.freedesktop.org) 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_127359v2/index.html
> 
> 
> Participating hosts (35 -> 36)
> 
> 
> Additional (2): bat-dg2-8 bat-mtlp-8
> Missing (1): fi-snb-2520m
> 
> 
> Possible new issues
> 
> 
> Here are the unknown changes that may have been introduced in
> Patchwork_127359v2:
> 
> 
> IGT changes
> 
> 
> Possible regressions
> 
> 
> * igt@kms_pipe_crc_basic@suspend-read-crc:
> 
>   *   bat-mtlp-6: NOTRUN -> SKIP  ci.01.org/tree/drm-tip/Patchwork_127359v2/bat-mtlp-
> 6/igt@kms_pipe_crc_ba...@suspend-read-crc.html>
> 
> * igt@kms_psr@psr_cursor_plane_move:
Has been always skipping: 
https://intel-gfx-ci.01.org/tree/drm-tip/bat-all.html?testfilter=suspend-read-crc=mtlp-6
 
> 
>   *   bat-mtlp-8: NOTRUN -> SKIP  ci.01.org/tree/drm-tip/Patchwork_127359v2/bat-mtlp-
> 8/igt@kms_psr@psr_cursor_plane_move.html>  +3 other tests skip
Has been always skipping: 
https://intel-gfx-ci.01.org/tree/drm-tip/bat-all.html?testfilter=psr_cursor_plane_move=mtlp-8
 

No issues caused by patch. Bug-filing team, please report

> 
> 
> New tests
> 
> 
> New tests have been introduced between CI_DRM_13983 and
> Patchwork_127359v2:
> 
> 
> New IGT tests (12)
> 
> 
> * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-a-dp-
> 7:
> 
>   *   Statuses : 1 pass(s)
>   *   Exec time: [0.0] s
> 
> * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-c-dp-
> 7:
> 
>   *   Statuses : 1 pass(s)
>   *   Exec time: [0.0] s
> 
> * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-d-dp-
> 7:
> 
>   *   Statuses : 1 pass(s)
>   *   Exec time: [0.0] s
> 
> * igt@kms_pipe_crc_basic@nonblocking-crc@pipe-a-dp-7:
> 
>   *   Statuses : 1 pass(s)
>   *   Exec time: [0.0] s
> 
> * igt@kms_pipe_crc_basic@nonblocking-crc@pipe-c-dp-7:
> 
>   *   Statuses : 1 pass(s)
>   *   Exec time: [0.0] s
> 
> * igt@kms_pipe_crc_basic@nonblocking-crc@pipe-d-dp-7:
> 
>   *   Statuses : 1 pass(s)
>   *   Exec time: [0.0] s
> 
> * igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-a-dp-7:
> 
>   *   Statuses : 1 abort(s)
>   *   Exec time: [0.0] s
> 
> * igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-c-dp-7:
> 
>   *   Statuses : 1 pass(s)
>   *   Exec time: [0.0] s
> 
> * igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-d-dp-7:
> 
>   *   Statuses : 1 pass(s)
>   *   Exec time: [0.0] s
> 
> * igt@kms_pipe_crc_basic@read-crc@pipe-a-dp-7:
> 
>   *   Statuses : 1 pass(s)
>   *   Exec time: [0.0] s
> 
> * igt@kms_pipe_crc_basic@read-crc@pipe-c-dp-7:
> 
>   *   Statuses : 1 pass(s)
>   *   Exec time: [0.0] s
> 
> * igt@kms_pipe_crc_basic@read-crc@pipe-d-dp-7:
> 
>   *   Statuses : 1 pass(s)
>   *   Exec time: [0.0] s
> 
> 
> Known issues
> 
> 
> Here are the changes found in Patchwork_127359v2 that come from known
> issues:
> 
> 
> IGT changes
> 
> 
> Issues hit
> 
> 
> * igt@debugfs_test@basic-hwmon:
> 
>   *   bat-mtlp-8: NOTRUN -> SKIP  ci.01.org/tree/drm-tip/Patchwork_127359v2/bat-mtlp-
> 8/igt@debugfs_t...@basic-hwmon.html>  (i915#9318
>  )
> 
> * igt@gem_lmem_swapping@basic:
> 
>   *   fi-apl-guc: NOTRUN -> SKIP 
>  tip/Patchwork_127359v2/fi-apl-guc/igt@gem_lmem_swapp...@basic.html>
> (fdo#109271   /
> i915#4613  ) +3 other
> tests skip
> 
>   *   bat-jsl-3: NOTRUN -> SKIP  tip/Patchwork_127359v2/bat-jsl-3/igt@gem_lmem_swapp...@basic.html>
> 

[Intel-gfx] [PATCH] [v2] drm/i915/display: Check GGTT to determine phys_base

2023-12-06 Thread Paz Zcharya
There was an assumption that for iGPU there should be a 1:1 mapping
of GGTT to physical address pointing to the framebuffer.
This assumption is not strictly true effective generation 8 or newer.
Fix that by checking GGTT to determine the phys address on gen8+.

The following algorithm for phys_base should be valid for all platforms:
1. Find pte
2. if(IS_DGFX(i915) && pte & GEN12_GGTT_PTE_LM) mem =
i915->mm.regions[INTEL_REGION_LMEM_0] else mem = i915->mm.stolen_region
3. phys_base = (pte & I915_GTT_PAGE_MASK) - mem->region.start;

- On older platforms, stolen_region points to system memory, starting at 0
- on DG2, it uses lmem region which starts at 0 as well
- on MTL, stolen_region points to stolen-local which starts at 0x80

Changes from v1:
  - Add an if statement for gen7-, where there is a 1:1 mapping

Signed-off-by: Paz Zcharya 
---

 .../drm/i915/display/intel_plane_initial.c| 64 +++
 1 file changed, 39 insertions(+), 25 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_plane_initial.c 
b/drivers/gpu/drm/i915/display/intel_plane_initial.c
index a55c09cbd0e4..7d9bb631b93b 100644
--- a/drivers/gpu/drm/i915/display/intel_plane_initial.c
+++ b/drivers/gpu/drm/i915/display/intel_plane_initial.c
@@ -59,44 +59,58 @@ initial_plane_vma(struct drm_i915_private *i915,
return NULL;
 
base = round_down(plane_config->base, I915_GTT_MIN_ALIGNMENT);
-   if (IS_DGFX(i915)) {
+
+   if (GRAPHICS_VER(i915) < 8) {
+   /*
+* In gen7-, there is a 1:1 mapping
+* between GSM and physical address.
+*/
+   phys_base = base;
+   mem = i915->mm.stolen_region;
+   } else {
+   /*
+* In gen8+, there is no 1:1 mapping between
+* GSM and physical address, so we need to
+* check GGTT to determine the physical address.
+*/
gen8_pte_t __iomem *gte = to_gt(i915)->ggtt->gsm;
gen8_pte_t pte;
 
gte += base / I915_GTT_PAGE_SIZE;
-
pte = ioread64(gte);
-   if (!(pte & GEN12_GGTT_PTE_LM)) {
-   drm_err(>drm,
-   "Initial plane programming missing PTE_LM 
bit\n");
-   return NULL;
-   }
-
-   phys_base = pte & I915_GTT_PAGE_MASK;
-   mem = i915->mm.regions[INTEL_REGION_LMEM_0];
 
-   /*
-* We don't currently expect this to ever be placed in the
-* stolen portion.
-*/
-   if (phys_base >= resource_size(>region)) {
-   drm_err(>drm,
-   "Initial plane programming using invalid range, 
phys_base=%pa\n",
-   _base);
-   return NULL;
+   if (IS_DGFX(i915)) {
+   if (!(pte & GEN12_GGTT_PTE_LM)) {
+   drm_err(>drm,
+   "Initial plane programming missing 
PTE_LM bit\n");
+   return NULL;
+   }
+   mem = i915->mm.regions[INTEL_REGION_LMEM_0];
+   } else {
+   mem = i915->mm.stolen_region;
}
 
-   drm_dbg(>drm,
-   "Using phys_base=%pa, based on initial plane 
programming\n",
-   _base);
-   } else {
-   phys_base = base;
-   mem = i915->mm.stolen_region;
+   phys_base = (pte & I915_GTT_PAGE_MASK) - mem->region.start;
}
 
if (!mem)
return NULL;
 
+   /*
+* We don't currently expect this to ever be placed in the
+* stolen portion.
+*/
+   if (phys_base >= resource_size(>region)) {
+   drm_err(>drm,
+   "Initial plane programming using invalid range, 
phys_base=%pa\n",
+   _base);
+   return NULL;
+   }
+
+   drm_dbg(>drm,
+   "Using phys_base=%pa, based on initial plane programming\n",
+   _base);
+
size = round_up(plane_config->base + plane_config->size,
mem->min_page_size);
size -= base;
-- 
2.43.0.472.g3155946c3a-goog



[Intel-gfx] [PATCH v3] drm/i915/guc: Create the guc_to_i915() wrapper

2023-12-06 Thread Andi Shyti
Given a reference to "guc", the guc_to_i915() returns the
pointer to "i915" private data.

Signed-off-by: Andi Shyti 
Reviewed-by: Nirmoy Das 
---
Hi,

This is almost a resend of the previous patch (check changelog).
I have taken this one out from the series as this has been
reviewed already.

Thanks,
Andi

Changelog:
--
v2 -> v3:
https://patchwork.freedesktop.org/series/125583/
 - Taken out from its original series
 - Added Nirmoy's r-b.

v1 -> v2:
 - this patch was included in a bigger series, no change.

 drivers/gpu/drm/i915/gt/intel_gt.h|  5 +
 drivers/gpu/drm/i915/gt/uc/intel_guc.c|  2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c|  2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c |  2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c| 10 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c |  2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c   |  2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c |  4 ++--
 8 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_gt.h 
b/drivers/gpu/drm/i915/gt/intel_gt.h
index b0e453e27ea8..608f5c872928 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt.h
+++ b/drivers/gpu/drm/i915/gt/intel_gt.h
@@ -118,6 +118,11 @@ static inline struct intel_gt *gsc_to_gt(struct intel_gsc 
*gsc)
return container_of(gsc, struct intel_gt, gsc);
 }
 
+static inline struct drm_i915_private *guc_to_i915(struct intel_guc *guc)
+{
+   return guc_to_gt(guc)->i915;
+}
+
 void intel_gt_common_init_early(struct intel_gt *gt);
 int intel_root_gt_init_early(struct drm_i915_private *i915);
 int intel_gt_assign_ggtt(struct intel_gt *gt);
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.c 
b/drivers/gpu/drm/i915/gt/uc/intel_guc.c
index 3f3df1166b86..2b450c43bbd7 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.c
@@ -330,7 +330,7 @@ static u32 guc_ctl_wa_flags(struct intel_guc *guc)
 
 static u32 guc_ctl_devid(struct intel_guc *guc)
 {
-   struct drm_i915_private *i915 = guc_to_gt(guc)->i915;
+   struct drm_i915_private *i915 = guc_to_i915(guc);
 
return (INTEL_DEVID(i915) << 16) | INTEL_REVID(i915);
 }
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c 
b/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
index a4da0208c883..a1cd40d80517 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
@@ -355,7 +355,7 @@ guc_capture_alloc_steered_lists(struct intel_guc *guc,
 static const struct __guc_mmio_reg_descr_group *
 guc_capture_get_device_reglist(struct intel_guc *guc)
 {
-   struct drm_i915_private *i915 = guc_to_gt(guc)->i915;
+   struct drm_i915_private *i915 = guc_to_i915(guc);
const struct __guc_mmio_reg_descr_group *lists;
 
if (GRAPHICS_VER(i915) >= 12)
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c 
b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
index ed6ce73ef3b0..0d5197c0824a 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
@@ -265,7 +265,7 @@ int intel_guc_ct_init(struct intel_guc_ct *ct)
u32 *cmds;
int err;
 
-   err = i915_inject_probe_error(guc_to_gt(guc)->i915, -ENXIO);
+   err = i915_inject_probe_error(guc_to_i915(guc), -ENXIO);
if (err)
return err;
 
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c 
b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
index 55bc8b55fbc0..bf16351c9349 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
@@ -520,7 +520,7 @@ void intel_guc_log_init_early(struct intel_guc_log *log)
 static int guc_log_relay_create(struct intel_guc_log *log)
 {
struct intel_guc *guc = log_to_guc(log);
-   struct drm_i915_private *i915 = guc_to_gt(guc)->i915;
+   struct drm_i915_private *i915 = guc_to_i915(guc);
struct rchan *guc_log_relay_chan;
size_t n_subbufs, subbuf_size;
int ret;
@@ -573,7 +573,7 @@ static void guc_log_relay_destroy(struct intel_guc_log *log)
 static void guc_log_copy_debuglogs_for_relay(struct intel_guc_log *log)
 {
struct intel_guc *guc = log_to_guc(log);
-   struct drm_i915_private *i915 = guc_to_gt(guc)->i915;
+   struct drm_i915_private *i915 = guc_to_i915(guc);
intel_wakeref_t wakeref;
 
_guc_log_copy_debuglogs_for_relay(log);
@@ -589,7 +589,7 @@ static void guc_log_copy_debuglogs_for_relay(struct 
intel_guc_log *log)
 static u32 __get_default_log_level(struct intel_guc_log *log)
 {
struct intel_guc *guc = log_to_guc(log);
-   struct drm_i915_private *i915 = guc_to_gt(guc)->i915;
+   struct drm_i915_private *i915 = guc_to_i915(guc);
 
/* A negative value means "use platform/config default" */
if (i915->params.guc_log_level < 0) {
@@ -664,7 +664,7 @@ void intel_guc_log_destroy(struct intel_guc_log *log)
 int 

Re: [Intel-gfx] [PATCH] drm/i915/hwmon: Fix issues found by static analysis tool in i915 hwmon

2023-12-06 Thread Andi Shyti
Hi Karthik,

On Fri, Dec 01, 2023 at 08:04:30PM +0530, Karthik Poosa wrote:
> Updated i915 hwmon with fixes for issues reported by static analysis tool.
> Fixed unintentional buffer overflow (OVERFLOW_BEFORE_WIDEN) with upcasting.

what kind of error was this? Was it caught by a static analyzer
or did you actually hit the overflow?

Thanks,
Andi

> Fixes: 4c2572fe0ae7 ("drm/i915/hwmon: Expose power1_max_interval")
> Signed-off-by: Karthik Poosa 
> ---
>  drivers/gpu/drm/i915/i915_hwmon.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_hwmon.c 
> b/drivers/gpu/drm/i915/i915_hwmon.c
> index 975da8e7f2a9..8c3f443c8347 100644
> --- a/drivers/gpu/drm/i915/i915_hwmon.c
> +++ b/drivers/gpu/drm/i915/i915_hwmon.c
> @@ -175,7 +175,7 @@ hwm_power1_max_interval_show(struct device *dev, struct 
> device_attribute *attr,
>* tau4 = (4 | x) << y
>* but add 2 when doing the final right shift to account for units
>*/
> - tau4 = ((1 << x_w) | x) << y;
> + tau4 = (u64)((1 << x_w) | x) << y;
>   /* val in hwmon interface units (millisec) */
>   out = mul_u64_u32_shr(tau4, SF_TIME, hwmon->scl_shift_time + x_w);
>  
> @@ -211,7 +211,7 @@ hwm_power1_max_interval_store(struct device *dev,
>   r = FIELD_PREP(PKG_MAX_WIN, PKG_MAX_WIN_DEFAULT);
>   x = REG_FIELD_GET(PKG_MAX_WIN_X, r);
>   y = REG_FIELD_GET(PKG_MAX_WIN_Y, r);
> - tau4 = ((1 << x_w) | x) << y;
> + tau4 = (u64)((1 << x_w) | x) << y;
>   max_win = mul_u64_u32_shr(tau4, SF_TIME, hwmon->scl_shift_time + x_w);
>  
>   if (val > max_win)
> -- 
> 2.25.1


Re: [Intel-gfx] [PATCH v2] drm/i915/selftests: wait for active idle event in i915_active_unlock_wait

2023-12-06 Thread Andi Shyti
Hi Andrzej,

On Tue, Dec 05, 2023 at 02:09:37PM +0100, Andrzej Hajda wrote:
> After i915_active_unlock_wait i915_active can be still non-idle due
> to barrier async handling in signal_irq_work. As a result one can observe
> following errors:
> bcs0: heartbeat pulse did not flush idle tasks
> *ERROR* pulse active pulse_active [i915]:pulse_retire [i915]
> *ERROR* pulsecount: 0
> *ERROR* pulsepreallocated barriers? no
> 
> To prevent it let's wait explicitly for idleness.
> 
> v2: wait only in live_idle tests
> 
> Signed-off-by: Andrzej Hajda 

Reviewed-by: Andi Shyti 

Andi


Re: [Intel-gfx] [PATCH] drm/i915/hdcp: Fail Repeater authentication if Type1 device not present

2023-12-06 Thread kernel test robot
Hi Suraj,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-tip/drm-tip]

url:
https://github.com/intel-lab-lkp/linux/commits/Suraj-Kandpal/drm-i915-hdcp-Fail-Repeater-authentication-if-Type1-device-not-present/20231206-174124
base:   git://anongit.freedesktop.org/drm/drm-tip drm-tip
patch link:
https://lore.kernel.org/r/20231206093916.1733863-1-suraj.kandpal%40intel.com
patch subject: [Intel-gfx] [PATCH] drm/i915/hdcp: Fail Repeater authentication 
if Type1 device not present
config: x86_64-defconfig 
(https://download.01.org/0day-ci/archive/20231206/202312062206.3ktqfac1-...@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-12) 11.3.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20231206/202312062206.3ktqfac1-...@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot 
| Closes: 
https://lore.kernel.org/oe-kbuild-all/202312062206.3ktqfac1-...@intel.com/

All errors (new ones prefixed by >>):

   In file included from include/drm/ttm/ttm_resource.h:34,
from include/drm/ttm/ttm_device.h:30,
from drivers/gpu/drm/i915/i915_drv.h:37,
from drivers/gpu/drm/i915/display/intel_hdcp.c:18:
   drivers/gpu/drm/i915/display/intel_hdcp.c: In function 
'hdcp2_authenticate_repeater_topology':
>> drivers/gpu/drm/i915/display/intel_hdcp.c:1638:30: error: 'dev_priv' 
>> undeclared (first use in this function); did you mean 'dev_crit'?
1638 | drm_dbg_kms(_priv->drm,
 |  ^~~~
   include/drm/drm_print.h:410:29: note: in definition of macro 'drm_dev_dbg'
 410 | __drm_dev_dbg(NULL, dev, cat, fmt, ##__VA_ARGS__)
 | ^~~
   drivers/gpu/drm/i915/display/intel_hdcp.c:1638:17: note: in expansion of 
macro 'drm_dbg_kms'
1638 | drm_dbg_kms(_priv->drm,
 | ^~~
   drivers/gpu/drm/i915/display/intel_hdcp.c:1638:30: note: each undeclared 
identifier is reported only once for each function it appears in
1638 | drm_dbg_kms(_priv->drm,
 |  ^~~~
   include/drm/drm_print.h:410:29: note: in definition of macro 'drm_dev_dbg'
 410 | __drm_dev_dbg(NULL, dev, cat, fmt, ##__VA_ARGS__)
 | ^~~
   drivers/gpu/drm/i915/display/intel_hdcp.c:1638:17: note: in expansion of 
macro 'drm_dbg_kms'
1638 | drm_dbg_kms(_priv->drm,
 | ^~~


vim +1638 drivers/gpu/drm/i915/display/intel_hdcp.c

  1599  
  1600  static
  1601  int hdcp2_authenticate_repeater_topology(struct intel_connector 
*connector)
  1602  {
  1603  struct intel_digital_port *dig_port = 
intel_attached_dig_port(connector);
  1604  struct drm_i915_private *i915 = to_i915(connector->base.dev);
  1605  struct intel_hdcp *hdcp = >hdcp;
  1606  union {
  1607  struct hdcp2_rep_send_receiverid_list recvid_list;
  1608  struct hdcp2_rep_send_ack rep_ack;
  1609  } msgs;
  1610  const struct intel_hdcp_shim *shim = hdcp->shim;
  1611  u32 seq_num_v, device_cnt;
  1612  u8 *rx_info;
  1613  int ret;
  1614  
  1615  ret = shim->read_2_2_msg(connector, 
HDCP_2_2_REP_SEND_RECVID_LIST,
  1616   _list, 
sizeof(msgs.recvid_list));
  1617  if (ret < 0)
  1618  return ret;
  1619  
  1620  rx_info = msgs.recvid_list.rx_info;
  1621  
  1622  if (HDCP_2_2_MAX_CASCADE_EXCEEDED(rx_info[1]) ||
  1623  HDCP_2_2_MAX_DEVS_EXCEEDED(rx_info[1])) {
  1624  drm_dbg_kms(>drm, "Topology Max Size Exceeded\n");
  1625  return -EINVAL;
  1626  }
  1627  
  1628  /*
  1629   * MST topology is not Type 1 capable if it contains a 
downstream
  1630   * device that is only HDCP 1.x or Legacy HDCP 2.0/2.1 
compliant.
  1631   */
  1632  dig_port->hdcp_mst_type1_capable =
  1633  !HDCP_2_2_HDCP1_DEVICE_CONNECTED(rx_info[1]) &&
  1634  !HDCP_2_2_HDCP_2_0_REP_CONNECTED(rx_info[1]);
  1635  
  1636  if (!dig_port->hdcp_mst_type1_capable && hdcp->content_type &&
  1637  !intel_encoder_is_mst(connector->encoder)) {
> 1638  drm_dbg_kms(_priv->drm,
  1639  "HDCP1.x or 2.0 Legacy Device 
Downstream\n");
  1640  return -EINVAL;
  1641  }
  1642  
  1643  /* Converting and Storing the seq_num_v to local variable as 
DWORD */
  1644  seq_num_v =
  1645 

Re: [Intel-gfx] [PATCH] drm/i915/hdcp: Fail Repeater authentication if Type1 device not present

2023-12-06 Thread kernel test robot
Hi Suraj,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-tip/drm-tip]

url:
https://github.com/intel-lab-lkp/linux/commits/Suraj-Kandpal/drm-i915-hdcp-Fail-Repeater-authentication-if-Type1-device-not-present/20231206-174124
base:   git://anongit.freedesktop.org/drm/drm-tip drm-tip
patch link:
https://lore.kernel.org/r/20231206093916.1733863-1-suraj.kandpal%40intel.com
patch subject: [Intel-gfx] [PATCH] drm/i915/hdcp: Fail Repeater authentication 
if Type1 device not present
config: x86_64-allyesconfig 
(https://download.01.org/0day-ci/archive/20231206/202312062210.sq5uhqkd-...@intel.com/config)
compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git 
ae42196bc493ffe877a7e3dff8be32035dea4d07)
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20231206/202312062210.sq5uhqkd-...@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot 
| Closes: 
https://lore.kernel.org/oe-kbuild-all/202312062210.sq5uhqkd-...@intel.com/

All errors (new ones prefixed by >>):

   warning: unknown warning option '-Wrestrict' [-Wunknown-warning-option]
   warning: unknown warning option '-Wpacked-not-aligned'; did you mean 
'-Wpacked-non-pod'? [-Wunknown-warning-option]
   warning: unknown warning option '-Wformat-overflow'; did you mean 
'-Wshift-overflow'? [-Wunknown-warning-option]
   warning: unknown warning option '-Wformat-truncation' 
[-Wunknown-warning-option]
   warning: unknown warning option '-Wstringop-overflow'; did you mean 
'-Wshift-overflow'? [-Wunknown-warning-option]
   warning: unknown warning option '-Wstringop-truncation'; did you mean 
'-Wstring-concatenation'? [-Wunknown-warning-option]
>> drivers/gpu/drm/i915/display/intel_hdcp.c:1638:16: error: use of undeclared 
>> identifier 'dev_priv'
   drm_dbg_kms(_priv->drm,
^
>> drivers/gpu/drm/i915/display/intel_hdcp.c:1638:16: error: use of undeclared 
>> identifier 'dev_priv'
   6 warnings and 2 errors generated.


vim +/dev_priv +1638 drivers/gpu/drm/i915/display/intel_hdcp.c

  1599  
  1600  static
  1601  int hdcp2_authenticate_repeater_topology(struct intel_connector 
*connector)
  1602  {
  1603  struct intel_digital_port *dig_port = 
intel_attached_dig_port(connector);
  1604  struct drm_i915_private *i915 = to_i915(connector->base.dev);
  1605  struct intel_hdcp *hdcp = >hdcp;
  1606  union {
  1607  struct hdcp2_rep_send_receiverid_list recvid_list;
  1608  struct hdcp2_rep_send_ack rep_ack;
  1609  } msgs;
  1610  const struct intel_hdcp_shim *shim = hdcp->shim;
  1611  u32 seq_num_v, device_cnt;
  1612  u8 *rx_info;
  1613  int ret;
  1614  
  1615  ret = shim->read_2_2_msg(connector, 
HDCP_2_2_REP_SEND_RECVID_LIST,
  1616   _list, 
sizeof(msgs.recvid_list));
  1617  if (ret < 0)
  1618  return ret;
  1619  
  1620  rx_info = msgs.recvid_list.rx_info;
  1621  
  1622  if (HDCP_2_2_MAX_CASCADE_EXCEEDED(rx_info[1]) ||
  1623  HDCP_2_2_MAX_DEVS_EXCEEDED(rx_info[1])) {
  1624  drm_dbg_kms(>drm, "Topology Max Size Exceeded\n");
  1625  return -EINVAL;
  1626  }
  1627  
  1628  /*
  1629   * MST topology is not Type 1 capable if it contains a 
downstream
  1630   * device that is only HDCP 1.x or Legacy HDCP 2.0/2.1 
compliant.
  1631   */
  1632  dig_port->hdcp_mst_type1_capable =
  1633  !HDCP_2_2_HDCP1_DEVICE_CONNECTED(rx_info[1]) &&
  1634  !HDCP_2_2_HDCP_2_0_REP_CONNECTED(rx_info[1]);
  1635  
  1636  if (!dig_port->hdcp_mst_type1_capable && hdcp->content_type &&
  1637  !intel_encoder_is_mst(connector->encoder)) {
> 1638  drm_dbg_kms(_priv->drm,
  1639  "HDCP1.x or 2.0 Legacy Device 
Downstream\n");
  1640  return -EINVAL;
  1641  }
  1642  
  1643  /* Converting and Storing the seq_num_v to local variable as 
DWORD */
  1644  seq_num_v =
  1645  drm_hdcp_be24_to_cpu((const u8 
*)msgs.recvid_list.seq_num_v);
  1646  
  1647  if (!hdcp->hdcp2_encrypted && seq_num_v) {
  1648  drm_dbg_kms(>drm,
  1649  "Non zero Seq_num_v at first RecvId_List 
msg\n");
  1650  return -EINVAL;
  1651  }
  1652  
  1653  if (seq_num_v < hdcp->seq_num_v) {
  1654  /* Roll over of the seq_num_v from repeater. 
Reauthenticate. */
  1655 

Re: [Intel-gfx] [PATCH] drm/i915/rpm: add rpm_to_i915() helper around container_of()

2023-12-06 Thread Gustavo Sousa
Quoting Jani Nikula (2023-12-05 09:15:45-03:00)
>Reduce the duplication.

By the way, is it too ambitious to dream of a to_i915() using generics?

--
Gustavo Sousa

>
>Signed-off-by: Jani Nikula 
>---
> drivers/gpu/drm/i915/intel_runtime_pm.c | 24 ++--
> 1 file changed, 10 insertions(+), 14 deletions(-)
>
>diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c 
>b/drivers/gpu/drm/i915/intel_runtime_pm.c
>index 9149dbd5..860b51b56a92 100644
>--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
>+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
>@@ -50,6 +50,11 @@
>  * present for a given platform.
>  */
> 
>+static struct drm_i915_private *rpm_to_i915(struct intel_runtime_pm *rpm)
>+{
>+return container_of(rpm, struct drm_i915_private, runtime_pm);
>+}
>+
> #if IS_ENABLED(CONFIG_DRM_I915_DEBUG_RUNTIME_PM)
> 
> static void init_intel_runtime_pm_wakeref(struct intel_runtime_pm *rpm)
>@@ -158,9 +163,7 @@ intel_runtime_pm_release(struct intel_runtime_pm *rpm, int 
>wakelock)
> static intel_wakeref_t __intel_runtime_pm_get(struct intel_runtime_pm *rpm,
>   bool wakelock)
> {
>-struct drm_i915_private *i915 = container_of(rpm,
>- struct drm_i915_private,
>- runtime_pm);
>+struct drm_i915_private *i915 = rpm_to_i915(rpm);
> int ret;
> 
> ret = pm_runtime_get_sync(rpm->kdev);
>@@ -365,9 +368,7 @@ void intel_runtime_pm_put(struct intel_runtime_pm *rpm, 
>intel_wakeref_t wref)
>  */
> void intel_runtime_pm_enable(struct intel_runtime_pm *rpm)
> {
>-struct drm_i915_private *i915 = container_of(rpm,
>- struct drm_i915_private,
>- runtime_pm);
>+struct drm_i915_private *i915 = rpm_to_i915(rpm);
> struct device *kdev = rpm->kdev;
> 
> /*
>@@ -420,9 +421,7 @@ void intel_runtime_pm_enable(struct intel_runtime_pm *rpm)
> 
> void intel_runtime_pm_disable(struct intel_runtime_pm *rpm)
> {
>-struct drm_i915_private *i915 = container_of(rpm,
>- struct drm_i915_private,
>- runtime_pm);
>+struct drm_i915_private *i915 = rpm_to_i915(rpm);
> struct device *kdev = rpm->kdev;
> 
> /* Transfer rpm ownership back to core */
>@@ -437,9 +436,7 @@ void intel_runtime_pm_disable(struct intel_runtime_pm *rpm)
> 
> void intel_runtime_pm_driver_release(struct intel_runtime_pm *rpm)
> {
>-struct drm_i915_private *i915 = container_of(rpm,
>- struct drm_i915_private,
>- runtime_pm);
>+struct drm_i915_private *i915 = rpm_to_i915(rpm);
> int count = atomic_read(>wakeref_count);
> 
> intel_wakeref_auto_fini(>userfault_wakeref);
>@@ -458,8 +455,7 @@ void intel_runtime_pm_driver_last_release(struct 
>intel_runtime_pm *rpm)
> 
> void intel_runtime_pm_init_early(struct intel_runtime_pm *rpm)
> {
>-struct drm_i915_private *i915 =
>-container_of(rpm, struct drm_i915_private, 
>runtime_pm);
>+struct drm_i915_private *i915 = rpm_to_i915(rpm);
> struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
> struct device *kdev = >dev;
> 
>-- 
>2.39.2
>


[Intel-gfx] ✗ Fi.CI.BUILD: failure for drm/i915/hdcp: Fail Repeater authentication if Type1 device not present

2023-12-06 Thread Patchwork
== Series Details ==

Series: drm/i915/hdcp: Fail Repeater authentication if Type1 device not present
URL   : https://patchwork.freedesktop.org/series/127414/
State : failure

== Summary ==

Error: make failed
  CALLscripts/checksyscalls.sh
  DESCEND objtool
  INSTALL libsubcmd_headers
  CC [M]  drivers/gpu/drm/i915/display/intel_hdcp.o
In file included from ./include/drm/ttm/ttm_resource.h:34,
 from ./include/drm/ttm/ttm_device.h:30,
 from ./drivers/gpu/drm/i915/i915_drv.h:37,
 from drivers/gpu/drm/i915/display/intel_hdcp.c:18:
drivers/gpu/drm/i915/display/intel_hdcp.c: In function 
‘hdcp2_authenticate_repeater_topology’:
drivers/gpu/drm/i915/display/intel_hdcp.c:1638:16: error: ‘dev_priv’ undeclared 
(first use in this function); did you mean ‘dev_crit’?
 1638 |   drm_dbg_kms(_priv->drm,
  |^~~~
./include/drm/drm_print.h:410:22: note: in definition of macro ‘drm_dev_dbg’
  410 |  __drm_dev_dbg(NULL, dev, cat, fmt, ##__VA_ARGS__)
  |  ^~~
drivers/gpu/drm/i915/display/intel_hdcp.c:1638:3: note: in expansion of macro 
‘drm_dbg_kms’
 1638 |   drm_dbg_kms(_priv->drm,
  |   ^~~
drivers/gpu/drm/i915/display/intel_hdcp.c:1638:16: note: each undeclared 
identifier is reported only once for each function it appears in
 1638 |   drm_dbg_kms(_priv->drm,
  |^~~~
./include/drm/drm_print.h:410:22: note: in definition of macro ‘drm_dev_dbg’
  410 |  __drm_dev_dbg(NULL, dev, cat, fmt, ##__VA_ARGS__)
  |  ^~~
drivers/gpu/drm/i915/display/intel_hdcp.c:1638:3: note: in expansion of macro 
‘drm_dbg_kms’
 1638 |   drm_dbg_kms(_priv->drm,
  |   ^~~
make[6]: *** [scripts/Makefile.build:243: 
drivers/gpu/drm/i915/display/intel_hdcp.o] Error 1
make[5]: *** [scripts/Makefile.build:480: drivers/gpu/drm/i915] Error 2
make[4]: *** [scripts/Makefile.build:480: drivers/gpu/drm] Error 2
make[3]: *** [scripts/Makefile.build:480: drivers/gpu] Error 2
make[2]: *** [scripts/Makefile.build:480: drivers] Error 2
make[1]: *** [/home/kbuild/kernel/Makefile:1911: .] Error 2
make: *** [Makefile:234: __sub-make] Error 2
Build failed, no error log produced




Re: [Intel-gfx] [topic/core-for-CI] Revert "debugfs: annotate debugfs handlers vs. removal with lockdep"

2023-12-06 Thread Shankar, Uma



> -Original Message-
> From: Intel-gfx  On Behalf Of
> Chaitanya Kumar Borah
> Sent: Wednesday, December 6, 2023 12:17 PM
> To: intel-gfx@lists.freedesktop.org
> Subject: [Intel-gfx] [topic/core-for-CI] Revert "debugfs: annotate debugfs
> handlers vs. removal with lockdep"
> 
> From: Johannes Berg 
> 
> This reverts commit f4acfcd4deb1 ("debugfs: annotate debugfs handlers vs.
> removal with lockdep"), it appears to have false positives and really 
> shouldn't
> have been in the -rc series with the fixes anyway.

Acked-by: Uma Shankar 

Hi Chaitanya,
Please get the full CI run executed with this change, once its green we can
plan merge.

Regards,
Uma Shankar

> Link:https://patchwork.kernel.org/project/linux-
> fsdevel/patch/20231202114936.fd55431ab160.I911aa53abeeca138126f69
> 0d383a89b13eb05667@changeid/
> Reference: https://gitlab.freedesktop.org/drm/intel/-/issues/9802
> Signed-off-by: Johannes Berg 
> Acked-by: Greg Kroah-Hartman 
> ---
>  fs/debugfs/file.c | 10 --
>  fs/debugfs/inode.c|  7 ---
>  fs/debugfs/internal.h |  6 --
>  3 files changed, 23 deletions(-)
> 
> diff --git a/fs/debugfs/file.c b/fs/debugfs/file.c index
> a5ade8c16375..5063434be0fc 100644
> --- a/fs/debugfs/file.c
> +++ b/fs/debugfs/file.c
> @@ -108,12 +108,6 @@ int debugfs_file_get(struct dentry *dentry)
>   kfree(fsd);
>   fsd = READ_ONCE(dentry->d_fsdata);
>   }
> -#ifdef CONFIG_LOCKDEP
> - fsd->lock_name = kasprintf(GFP_KERNEL, "debugfs:%pd",
> dentry);
> - lockdep_register_key(>key);
> - lockdep_init_map(>lockdep_map, fsd->lock_name ?:
> "debugfs",
> -  >key, 0);
> -#endif
>   INIT_LIST_HEAD(>cancellations);
>   mutex_init(>cancellations_mtx);
>   }
> @@ -132,8 +126,6 @@ int debugfs_file_get(struct dentry *dentry)
>   if (!refcount_inc_not_zero(>active_users))
>   return -EIO;
> 
> - lock_map_acquire_read(>lockdep_map);
> -
>   return 0;
>  }
>  EXPORT_SYMBOL_GPL(debugfs_file_get);
> @@ -151,8 +143,6 @@ void debugfs_file_put(struct dentry *dentry)  {
>   struct debugfs_fsdata *fsd = READ_ONCE(dentry->d_fsdata);
> 
> - lock_map_release(>lockdep_map);
> -
>   if (refcount_dec_and_test(>active_users))
>   complete(>active_users_drained);
>  }
> diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c index
> e4e7fe1bd9fb..034a617cb1a5 100644
> --- a/fs/debugfs/inode.c
> +++ b/fs/debugfs/inode.c
> @@ -243,10 +243,6 @@ static void debugfs_release_dentry(struct dentry
> *dentry)
> 
>   /* check it wasn't a dir (no fsdata) or automount (no real_fops) */
>   if (fsd && fsd->real_fops) {
> -#ifdef CONFIG_LOCKDEP
> - lockdep_unregister_key(>key);
> - kfree(fsd->lock_name);
> -#endif
>   WARN_ON(!list_empty(>cancellations));
>   mutex_destroy(>cancellations_mtx);
>   }
> @@ -755,9 +751,6 @@ static void __debugfs_file_removed(struct dentry
> *dentry)
>   if ((unsigned long)fsd & DEBUGFS_FSDATA_IS_REAL_FOPS_BIT)
>   return;
> 
> - lock_map_acquire(>lockdep_map);
> - lock_map_release(>lockdep_map);
> -
>   /* if we hit zero, just wait for all to finish */
>   if (!refcount_dec_and_test(>active_users)) {
>   wait_for_completion(>active_users_drained);
> diff --git a/fs/debugfs/internal.h b/fs/debugfs/internal.h index
> 0c4c68cf161f..dae80c2a469e 100644
> --- a/fs/debugfs/internal.h
> +++ b/fs/debugfs/internal.h
> @@ -7,7 +7,6 @@
> 
>  #ifndef _DEBUGFS_INTERNAL_H_
>  #define _DEBUGFS_INTERNAL_H_
> -#include 
>  #include 
> 
>  struct file_operations;
> @@ -25,11 +24,6 @@ struct debugfs_fsdata {
>   struct {
>   refcount_t active_users;
>   struct completion active_users_drained; -#ifdef
> CONFIG_LOCKDEP
> - struct lockdep_map lockdep_map;
> - struct lock_class_key key;
> - char *lock_name;
> -#endif
> 
>   /* protect cancellations */
>   struct mutex cancellations_mtx;
> --
> 2.25.1



Re: [Intel-gfx] [PATCH v2] drm/i915/gt: Convert reset prepare failure log to trace

2023-12-06 Thread Nirmoy Das

Hi John,

On 12/5/2023 8:50 PM, John Harrison wrote:

On 12/5/2023 02:39, Nirmoy Das wrote:

Hi John,

On 12/5/2023 10:10 AM, John Harrison wrote:

On 12/5/2023 00:52, Nirmoy Das wrote:

gen8_engine_reset_prepare() can fail when HW fails to set
RESET_CTL_READY_TO_RESET bit. In some cases this is not fatal
error as driver will retry.

Convert the log to a trace log for debugging without triggering
unnecessary concerns in CI or for end-users during non-fatal 
scenarios.
I strongly disagree with this change. The hardware spec for the 
RESET_CTL and GDRST registers are that they will self clear within a 
matter of microseconds. If something is so badly wrong with the 
hardware that it can't even manage to reset



This message is for reset readiness  poll timeout not that the reset 
is failed which doesn't sound so serious if the subsequent attempt 
managed reset the engine.
Not sure what the distinction is. The reset procedure is poke 
RESET_CTL wait for it to clear, poke GDRST and wait for it to clear. 
Just because step one is failing rather than step 2 does not mean that 
the reset as a whole has not failed.


Note that the purpose of RESET_CTL is to pause a bunch of stuff like 
the command streamers to prevent them from issuing new memory requests 
while the reset is in progress. If it fails, it likely means that a CS 
is refusing to stop. Most probably because it can't reach a stopping 
point because it is stuck waiting on a lost memory request or similar. 
And the point of stopping further memory requests during reset is that 
if the memory channel gets out of sync (because only the GT side is 
reset during a GT reset) then that can result in total system failure. 
As in potentially even the CPU can no longer get to memory if it is an 
integrated platform. So yes, it can be quite a serious failure indeed.




Thanks bspec didn't explain those details. My intention was to 
acknowledge that engine reset is a complicated process which why the 
driver retries  and don't spook CI/user if subsequent reset works but I 
get your objection on this.




I couldn't get enough details when this can happen that HW takes very 
long time to set the readiness bit.
Is it simply 'taking a long time' or is never clearing at all? If it 
is just that the timeout is too short then the proper fix would be to 
increase the timeout. But if it is taking seconds or longer or just 
never succeeding at all, then something is very bad.


I tried with 10x timeout without any help so I think the CS is stuck 
though re-try works. I will try to get more details from HW team on this 
issue.







then that is something that very much warrants more than a 
completely silent trace event. It most certainly should be flagged 
as a failure in CI.


Just because the driver will retry does not mean that this is not a 
serious error. And if the first attempt failed, why would a 
subsequent attempt succeed?


The patch is not ignoring the failure. If the subsequent attempt 
fails then driver load will fail or it will be wedged if that happens 
after driver load.
One thing I really hate about our driver is the total lack of 
information when something goes wrong during load. The driver wedges 
in total silence. There are many error paths that have no reporting at 
all. Which means you are left with a totally useless bug report.






Escalating to FLR may have more success, but that is not something 
that i915 currently does.


Do we still need to do FLR if a subsequent engine reset failure ?
Assuming that we are talking about modern(ish) platforms, an engine 
reset failure would be hit by GuC rather than i915, but that would be 
escalated to an i915 based full GT reset. Generally speaking though, 
if the engine reset fails the GT reset isn't going to do much better. 
It would fix a dead GuC problem but it can't help with memory related 
issues. If the full GT reset fails then we are out of escalation 
routes as there is no FLR path at present (I think we have that at 
driver unload on MTL but not for general reset?). The FLR resets a lot 
more than just the GT, so it does have a chance to fix some issues 
that a GT reset can't. After driver-level FLR, there is PCI level FLR. 
Not sure if that involves a full power down and restart, but if not 
then that would be the last escalation possible. A power cycle really 
should fix any issues, if it doesn't then it's time to return the 
system as being totally dead!


My recollection is that the vast majority of engine reset failures 
I've looked at have been completely catastrophic and the system only 
recovered after a reboot. I.e. after the card was power cycled. Such 
issues were generally caused by bad memory. Once the path to memory 
has died, there really is not much of the GPU that can do anything at 
all and there isn't much that can be done to recover it.



Thanks,

Nirmoy



John.





Regards,

Nirmoy



John.




v2: Improve commit message(Tvrtko)

Cc: Tvrtko Ursulin 
Cc: John Harrison 

[Intel-gfx] [PATCH] drm/i915/hdcp: Fail Repeater authentication if Type1 device not present

2023-12-06 Thread Suraj Kandpal
Fail repeater authentication step in case RX_INFO indicates
HDCP1.x or HDCP2.0/2.1 device is present downstream in repeater
topology and content type set by userspace is Type1.

Signed-off-by: Suraj Kandpal 
---
 drivers/gpu/drm/i915/display/intel_hdcp.c | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c 
b/drivers/gpu/drm/i915/display/intel_hdcp.c
index 39b3f7c0c77c..2aaf924fceb1 100644
--- a/drivers/gpu/drm/i915/display/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
@@ -1633,6 +1633,13 @@ int hdcp2_authenticate_repeater_topology(struct 
intel_connector *connector)
!HDCP_2_2_HDCP1_DEVICE_CONNECTED(rx_info[1]) &&
!HDCP_2_2_HDCP_2_0_REP_CONNECTED(rx_info[1]);
 
+   if (!dig_port->hdcp_mst_type1_capable && hdcp->content_type &&
+   !intel_encoder_is_mst(connector->encoder)) {
+   drm_dbg_kms(_priv->drm,
+   "HDCP1.x or 2.0 Legacy Device Downstream\n");
+   return -EINVAL;
+   }
+
/* Converting and Storing the seq_num_v to local variable as DWORD */
seq_num_v =
drm_hdcp_be24_to_cpu((const u8 *)msgs.recvid_list.seq_num_v);
-- 
2.25.1