All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH] drm/i915: fix device info for devices without display
@ 2022-09-16  8:26 Jani Nikula
  2022-09-16  9:21 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Jani Nikula @ 2022-09-16  8:26 UTC (permalink / raw)
  To: intel-gfx; +Cc: jani.nikula, Lucas De Marchi

Commit 00c6cbfd4e8a ("drm/i915: move pipe_mask and cpu_transcoder_mask
to runtime info") moved the pipe_mask member from struct
intel_device_info to intel_runtime_info, but overlooked some of our
platforms initializing device info .display = {}. This is significant,
as pipe_mask is the single point of truth for a device having a display
or not; the platforms in question left pipe_mask to whatever was set for
the platforms they "inherit" from in the complex macro scheme we have.

Add new NO_DISPLAY macro initializing .__runtime.pipe_mask = 0, which
will cause the device info .display sub-struct to be zeroed in
intel_device_info_runtime_init(). A better solution (or simply audit of
proper use of HAS_DISPLAY() checks) is required before moving forward
with [1].

Also clear all the display related members in runtime info if there's no
display. The latter is a bit tedious, but it's for completeness at this
time, to ensure similar functionality as before.

[1] https://lore.kernel.org/r/dfda1bf67f02ceb07c280b7a13216405fd1f7a34.1660137416.git.jani.nikula@intel.com

Fixes: 00c6cbfd4e8a ("drm/i915: move pipe_mask and cpu_transcoder_mask to runtime info")
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Maarten Lankhort <maarten.lankhorst@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/i915_pci.c          | 11 ++++++-----
 drivers/gpu/drm/i915/intel_device_info.c |  6 ++++++
 2 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
index 77e7df21f539..cd4487a1d3be 100644
--- a/drivers/gpu/drm/i915/i915_pci.c
+++ b/drivers/gpu/drm/i915/i915_pci.c
@@ -41,6 +41,8 @@
 	.__runtime.media.ip.ver = (x), \
 	.__runtime.display.ip.ver = (x)
 
+#define NO_DISPLAY .__runtime.pipe_mask = 0
+
 #define I845_PIPE_OFFSETS \
 	.display.pipe_offsets = { \
 		[TRANSCODER_A] = PIPE_A_OFFSET,	\
@@ -519,9 +521,8 @@ static const struct intel_device_info ivb_m_gt2_info = {
 static const struct intel_device_info ivb_q_info = {
 	GEN7_FEATURES,
 	PLATFORM(INTEL_IVYBRIDGE),
+	NO_DISPLAY,
 	.gt = 2,
-	.__runtime.pipe_mask = 0, /* legal, last one wins */
-	.__runtime.cpu_transcoder_mask = 0,
 	.has_l3_dpf = 1,
 };
 
@@ -1039,7 +1040,7 @@ static const struct intel_device_info xehpsdv_info = {
 	XE_HPM_FEATURES,
 	DGFX_FEATURES,
 	PLATFORM(INTEL_XEHPSDV),
-	.display = { },
+	NO_DISPLAY,
 	.has_64k_pages = 1,
 	.needs_compact_pt = 1,
 	.has_media_ratio_mode = 1,
@@ -1081,7 +1082,7 @@ static const struct intel_device_info dg2_info = {
 
 static const struct intel_device_info ats_m_info = {
 	DG2_FEATURES,
-	.display = { 0 },
+	NO_DISPLAY,
 	.require_force_probe = 1,
 	.tuning_thread_rr_after_dep = 1,
 };
@@ -1103,7 +1104,7 @@ static const struct intel_device_info pvc_info = {
 	.__runtime.graphics.ip.rel = 60,
 	.__runtime.media.ip.rel = 60,
 	PLATFORM(INTEL_PONTEVECCHIO),
-	.display = { 0 },
+	NO_DISPLAY,
 	.has_flat_ccs = 0,
 	.__runtime.platform_engine_mask =
 		BIT(BCS0) |
diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
index 1434dc33cf49..20575eb77ea7 100644
--- a/drivers/gpu/drm/i915/intel_device_info.c
+++ b/drivers/gpu/drm/i915/intel_device_info.c
@@ -433,8 +433,14 @@ void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
 		dev_priv->drm.driver_features &= ~(DRIVER_MODESET |
 						   DRIVER_ATOMIC);
 		memset(&info->display, 0, sizeof(info->display));
+
+		runtime->cpu_transcoder_mask = 0;
 		memset(runtime->num_sprites, 0, sizeof(runtime->num_sprites));
 		memset(runtime->num_scalers, 0, sizeof(runtime->num_scalers));
+		runtime->fbc_mask = 0;
+		runtime->has_hdcp = false;
+		runtime->has_dmc = false;
+		runtime->has_dsc = false;
 	}
 }
 
-- 
2.34.1


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

* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: fix device info for devices without display
  2022-09-16  8:26 [Intel-gfx] [PATCH] drm/i915: fix device info for devices without display Jani Nikula
@ 2022-09-16  9:21 ` Patchwork
  2022-09-16  9:41 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2022-09-16  9:21 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: fix device info for devices without display
URL   : https://patchwork.freedesktop.org/series/108642/
State : warning

== Summary ==

Error: dim checkpatch failed
262478f3fe42 drm/i915: fix device info for devices without display
-:24: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line)
#24: 
[1] https://lore.kernel.org/r/dfda1bf67f02ceb07c280b7a13216405fd1f7a34.1660137416.git.jani.nikula@intel.com

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



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

* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: fix device info for devices without display
  2022-09-16  8:26 [Intel-gfx] [PATCH] drm/i915: fix device info for devices without display Jani Nikula
  2022-09-16  9:21 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
@ 2022-09-16  9:41 ` Patchwork
  2022-09-16 11:51 ` [Intel-gfx] [PATCH] " Gwan-gyeong Mun
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2022-09-16  9:41 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915: fix device info for devices without display
URL   : https://patchwork.freedesktop.org/series/108642/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_12145 -> Patchwork_108642v1
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (44 -> 41)
------------------------------

  Additional (2): fi-apl-guc bat-dg1-5 
  Missing    (5): fi-hsw-4200u fi-ctg-p8600 fi-hsw-4770 bat-dg2-11 fi-bdw-samus 

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

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

### IGT changes ###

#### Issues hit ####

  * igt@fbdev@nullptr:
    - bat-dg1-5:          NOTRUN -> [SKIP][1] ([i915#2582]) +4 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/bat-dg1-5/igt@fbdev@nullptr.html

  * igt@gem_exec_suspend@basic-s3@smem:
    - fi-skl-6600u:       [PASS][2] -> [INCOMPLETE][3] ([i915#4939] / [i915#6598])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/fi-skl-6600u/igt@gem_exec_suspend@basic-s3@smem.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/fi-skl-6600u/igt@gem_exec_suspend@basic-s3@smem.html

  * igt@gem_mmap@basic:
    - bat-dg1-5:          NOTRUN -> [SKIP][4] ([i915#4083])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/bat-dg1-5/igt@gem_mmap@basic.html

  * igt@gem_tiled_blits@basic:
    - bat-dg1-5:          NOTRUN -> [SKIP][5] ([i915#4077]) +2 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/bat-dg1-5/igt@gem_tiled_blits@basic.html

  * igt@gem_tiled_pread_basic:
    - bat-dg1-5:          NOTRUN -> [SKIP][6] ([i915#4079]) +1 similar issue
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/bat-dg1-5/igt@gem_tiled_pread_basic.html

  * igt@i915_pm_backlight@basic-brightness:
    - bat-dg1-5:          NOTRUN -> [SKIP][7] ([i915#1155])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/bat-dg1-5/igt@i915_pm_backlight@basic-brightness.html

  * igt@i915_pm_rps@basic-api:
    - bat-dg1-5:          NOTRUN -> [SKIP][8] ([i915#6621])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/bat-dg1-5/igt@i915_pm_rps@basic-api.html

  * igt@i915_selftest@live@gt_lrc:
    - fi-rkl-guc:         [PASS][9] -> [INCOMPLETE][10] ([i915#4983])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/fi-rkl-guc/igt@i915_selftest@live@gt_lrc.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/fi-rkl-guc/igt@i915_selftest@live@gt_lrc.html

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

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

  * igt@kms_addfb_basic@basic-x-tiled-legacy:
    - bat-dg1-5:          NOTRUN -> [SKIP][15] ([i915#4212]) +7 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/bat-dg1-5/igt@kms_addfb_basic@basic-x-tiled-legacy.html

  * igt@kms_addfb_basic@basic-y-tiled-legacy:
    - bat-dg1-5:          NOTRUN -> [SKIP][16] ([i915#4215])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/bat-dg1-5/igt@kms_addfb_basic@basic-y-tiled-legacy.html

  * igt@kms_busy@basic:
    - bat-dg1-5:          NOTRUN -> [SKIP][17] ([i915#1845] / [i915#4303])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/bat-dg1-5/igt@kms_busy@basic.html

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-bsw-nick:        NOTRUN -> [SKIP][18] ([fdo#109271] / [fdo#111827])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/fi-bsw-nick/igt@kms_chamelium@common-hpd-after-suspend.html

  * igt@kms_chamelium@dp-crc-fast:
    - bat-dg1-5:          NOTRUN -> [SKIP][19] ([fdo#111827]) +8 similar issues
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/bat-dg1-5/igt@kms_chamelium@dp-crc-fast.html

  * igt@kms_force_connector_basic@force-load-detect:
    - bat-dg1-5:          NOTRUN -> [SKIP][20] ([fdo#109285])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/bat-dg1-5/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_pipe_crc_basic@nonblocking-crc:
    - bat-dg1-5:          NOTRUN -> [SKIP][21] ([i915#4078]) +14 similar issues
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/bat-dg1-5/igt@kms_pipe_crc_basic@nonblocking-crc.html

  * igt@kms_pipe_crc_basic@suspend-read-crc:
    - fi-bsw-nick:        NOTRUN -> [SKIP][22] ([fdo#109271])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/fi-bsw-nick/igt@kms_pipe_crc_basic@suspend-read-crc.html

  * igt@kms_psr@primary_page_flip:
    - bat-dg1-5:          NOTRUN -> [SKIP][23] ([i915#1072] / [i915#4078]) +3 similar issues
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/bat-dg1-5/igt@kms_psr@primary_page_flip.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - bat-dg1-5:          NOTRUN -> [SKIP][24] ([i915#3555])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/bat-dg1-5/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-fence-flip:
    - bat-dg1-5:          NOTRUN -> [SKIP][25] ([i915#1845] / [i915#3708])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/bat-dg1-5/igt@prime_vgem@basic-fence-flip.html

  * igt@prime_vgem@basic-fence-read:
    - bat-dg1-5:          NOTRUN -> [SKIP][26] ([i915#3708]) +2 similar issues
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/bat-dg1-5/igt@prime_vgem@basic-fence-read.html

  * igt@prime_vgem@basic-gtt:
    - bat-dg1-5:          NOTRUN -> [SKIP][27] ([i915#3708] / [i915#4077]) +1 similar issue
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/bat-dg1-5/igt@prime_vgem@basic-gtt.html

  * igt@prime_vgem@basic-userptr:
    - bat-dg1-5:          NOTRUN -> [SKIP][28] ([i915#3708] / [i915#4873])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/bat-dg1-5/igt@prime_vgem@basic-userptr.html

  * igt@runner@aborted:
    - fi-pnv-d510:        NOTRUN -> [FAIL][29] ([fdo#109271] / [i915#2403] / [i915#4312])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/fi-pnv-d510/igt@runner@aborted.html
    - fi-apl-guc:         NOTRUN -> [FAIL][30] ([i915#6599])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/fi-apl-guc/igt@runner@aborted.html
    - fi-hsw-g3258:       NOTRUN -> [FAIL][31] ([fdo#109271] / [i915#4312] / [i915#6246])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/fi-hsw-g3258/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@hugepages:
    - {bat-rpls-1}:       [DMESG-WARN][32] ([i915#5278]) -> [PASS][33]
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/bat-rpls-1/igt@i915_selftest@live@hugepages.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/bat-rpls-1/igt@i915_selftest@live@hugepages.html

  * igt@i915_selftest@live@late_gt_pm:
    - fi-bsw-nick:        [DMESG-FAIL][34] ([i915#3428] / [i915#6217]) -> [PASS][35]
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/fi-bsw-nick/igt@i915_selftest@live@late_gt_pm.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/fi-bsw-nick/igt@i915_selftest@live@late_gt_pm.html

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

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1155]: https://gitlab.freedesktop.org/drm/intel/issues/1155
  [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#2403]: https://gitlab.freedesktop.org/drm/intel/issues/2403
  [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
  [i915#3303]: https://gitlab.freedesktop.org/drm/intel/issues/3303
  [i915#3428]: https://gitlab.freedesktop.org/drm/intel/issues/3428
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
  [i915#4303]: https://gitlab.freedesktop.org/drm/intel/issues/4303
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4528]: https://gitlab.freedesktop.org/drm/intel/issues/4528
  [i915#4785]: https://gitlab.freedesktop.org/drm/intel/issues/4785
  [i915#4873]: https://gitlab.freedesktop.org/drm/intel/issues/4873
  [i915#4939]: https://gitlab.freedesktop.org/drm/intel/issues/4939
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#5278]: https://gitlab.freedesktop.org/drm/intel/issues/5278
  [i915#6217]: https://gitlab.freedesktop.org/drm/intel/issues/6217
  [i915#6246]: https://gitlab.freedesktop.org/drm/intel/issues/6246
  [i915#6598]: https://gitlab.freedesktop.org/drm/intel/issues/6598
  [i915#6599]: https://gitlab.freedesktop.org/drm/intel/issues/6599
  [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621


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

  * Linux: CI_DRM_12145 -> Patchwork_108642v1

  CI-20190529: 20190529
  CI_DRM_12145: 2dc9ea03abff1bfc8c8ebe0f7ef056edf77cc29e @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6656: 24100c4e181c50e3678aeca9c641b8a43555ad73 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_108642v1: 2dc9ea03abff1bfc8c8ebe0f7ef056edf77cc29e @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

f8f3be57d9c7 drm/i915: fix device info for devices without display

== Logs ==

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

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

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

* Re: [Intel-gfx] [PATCH] drm/i915: fix device info for devices without display
  2022-09-16  8:26 [Intel-gfx] [PATCH] drm/i915: fix device info for devices without display Jani Nikula
  2022-09-16  9:21 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
  2022-09-16  9:41 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
@ 2022-09-16 11:51 ` Gwan-gyeong Mun
  2022-09-16 13:44 ` [Intel-gfx] ✓ Fi.CI.IGT: success for " Patchwork
  2022-09-16 15:26 ` [Intel-gfx] [PATCH] " Lucas De Marchi
  4 siblings, 0 replies; 11+ messages in thread
From: Gwan-gyeong Mun @ 2022-09-16 11:51 UTC (permalink / raw)
  To: Jani Nikula, intel-gfx; +Cc: Lucas De Marchi

Looks good to me

Reviewed-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>

On 9/16/22 11:26 AM, Jani Nikula wrote:
> Commit 00c6cbfd4e8a ("drm/i915: move pipe_mask and cpu_transcoder_mask
> to runtime info") moved the pipe_mask member from struct
> intel_device_info to intel_runtime_info, but overlooked some of our
> platforms initializing device info .display = {}. This is significant,
> as pipe_mask is the single point of truth for a device having a display
> or not; the platforms in question left pipe_mask to whatever was set for
> the platforms they "inherit" from in the complex macro scheme we have.
> 
> Add new NO_DISPLAY macro initializing .__runtime.pipe_mask = 0, which
> will cause the device info .display sub-struct to be zeroed in
> intel_device_info_runtime_init(). A better solution (or simply audit of
> proper use of HAS_DISPLAY() checks) is required before moving forward
> with [1].
> 
> Also clear all the display related members in runtime info if there's no
> display. The latter is a bit tedious, but it's for completeness at this
> time, to ensure similar functionality as before.
> 
> [1] https://lore.kernel.org/r/dfda1bf67f02ceb07c280b7a13216405fd1f7a34.1660137416.git.jani.nikula@intel.com
> 
> Fixes: 00c6cbfd4e8a ("drm/i915: move pipe_mask and cpu_transcoder_mask to runtime info")
> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
> Cc: Maarten Lankhort <maarten.lankhorst@linux.intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
>   drivers/gpu/drm/i915/i915_pci.c          | 11 ++++++-----
>   drivers/gpu/drm/i915/intel_device_info.c |  6 ++++++
>   2 files changed, 12 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
> index 77e7df21f539..cd4487a1d3be 100644
> --- a/drivers/gpu/drm/i915/i915_pci.c
> +++ b/drivers/gpu/drm/i915/i915_pci.c
> @@ -41,6 +41,8 @@
>   	.__runtime.media.ip.ver = (x), \
>   	.__runtime.display.ip.ver = (x)
>   
> +#define NO_DISPLAY .__runtime.pipe_mask = 0
> +
>   #define I845_PIPE_OFFSETS \
>   	.display.pipe_offsets = { \
>   		[TRANSCODER_A] = PIPE_A_OFFSET,	\
> @@ -519,9 +521,8 @@ static const struct intel_device_info ivb_m_gt2_info = {
>   static const struct intel_device_info ivb_q_info = {
>   	GEN7_FEATURES,
>   	PLATFORM(INTEL_IVYBRIDGE),
> +	NO_DISPLAY,
>   	.gt = 2,
> -	.__runtime.pipe_mask = 0, /* legal, last one wins */
> -	.__runtime.cpu_transcoder_mask = 0,
>   	.has_l3_dpf = 1,
>   };
>   
> @@ -1039,7 +1040,7 @@ static const struct intel_device_info xehpsdv_info = {
>   	XE_HPM_FEATURES,
>   	DGFX_FEATURES,
>   	PLATFORM(INTEL_XEHPSDV),
> -	.display = { },
> +	NO_DISPLAY,
>   	.has_64k_pages = 1,
>   	.needs_compact_pt = 1,
>   	.has_media_ratio_mode = 1,
> @@ -1081,7 +1082,7 @@ static const struct intel_device_info dg2_info = {
>   
>   static const struct intel_device_info ats_m_info = {
>   	DG2_FEATURES,
> -	.display = { 0 },
> +	NO_DISPLAY,
>   	.require_force_probe = 1,
>   	.tuning_thread_rr_after_dep = 1,
>   };
> @@ -1103,7 +1104,7 @@ static const struct intel_device_info pvc_info = {
>   	.__runtime.graphics.ip.rel = 60,
>   	.__runtime.media.ip.rel = 60,
>   	PLATFORM(INTEL_PONTEVECCHIO),
> -	.display = { 0 },
> +	NO_DISPLAY,
>   	.has_flat_ccs = 0,
>   	.__runtime.platform_engine_mask =
>   		BIT(BCS0) |
> diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
> index 1434dc33cf49..20575eb77ea7 100644
> --- a/drivers/gpu/drm/i915/intel_device_info.c
> +++ b/drivers/gpu/drm/i915/intel_device_info.c
> @@ -433,8 +433,14 @@ void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
>   		dev_priv->drm.driver_features &= ~(DRIVER_MODESET |
>   						   DRIVER_ATOMIC);
>   		memset(&info->display, 0, sizeof(info->display));
> +
> +		runtime->cpu_transcoder_mask = 0;
>   		memset(runtime->num_sprites, 0, sizeof(runtime->num_sprites));
>   		memset(runtime->num_scalers, 0, sizeof(runtime->num_scalers));
> +		runtime->fbc_mask = 0;
> +		runtime->has_hdcp = false;
> +		runtime->has_dmc = false;
> +		runtime->has_dsc = false;
>   	}
>   }
>   

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

* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: fix device info for devices without display
  2022-09-16  8:26 [Intel-gfx] [PATCH] drm/i915: fix device info for devices without display Jani Nikula
                   ` (2 preceding siblings ...)
  2022-09-16 11:51 ` [Intel-gfx] [PATCH] " Gwan-gyeong Mun
@ 2022-09-16 13:44 ` Patchwork
  2022-09-16 15:26 ` [Intel-gfx] [PATCH] " Lucas De Marchi
  4 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2022-09-16 13:44 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915: fix device info for devices without display
URL   : https://patchwork.freedesktop.org/series/108642/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_12145_full -> Patchwork_108642v1_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (11 -> 10)
------------------------------

  Missing    (1): shard-rkl 

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_fair@basic-flow@rcs0:
    - shard-tglb:         [PASS][1] -> [FAIL][2] ([i915#2842])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/shard-tglb2/igt@gem_exec_fair@basic-flow@rcs0.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-tglb5/igt@gem_exec_fair@basic-flow@rcs0.html

  * igt@gem_exec_fair@basic-none@vcs0:
    - shard-glk:          [PASS][3] -> [FAIL][4] ([i915#2842]) +1 similar issue
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/shard-glk5/igt@gem_exec_fair@basic-none@vcs0.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-glk6/igt@gem_exec_fair@basic-none@vcs0.html

  * igt@gem_pwrite@basic-exhaustion:
    - shard-iclb:         NOTRUN -> [WARN][5] ([i915#2658])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb7/igt@gem_pwrite@basic-exhaustion.html

  * igt@gem_render_copy@y-tiled-ccs-to-yf-tiled-mc-ccs:
    - shard-iclb:         NOTRUN -> [SKIP][6] ([i915#768]) +1 similar issue
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb7/igt@gem_render_copy@y-tiled-ccs-to-yf-tiled-mc-ccs.html

  * igt@i915_suspend@sysfs-reader:
    - shard-apl:          [PASS][7] -> [DMESG-WARN][8] ([i915#180]) +2 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/shard-apl2/igt@i915_suspend@sysfs-reader.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-apl2/igt@i915_suspend@sysfs-reader.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-iclb:         NOTRUN -> [SKIP][9] ([i915#5286]) +1 similar issue
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb7/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_big_fb@x-tiled-16bpp-rotate-270:
    - shard-iclb:         NOTRUN -> [SKIP][10] ([fdo#110725] / [fdo#111614]) +1 similar issue
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb7/igt@kms_big_fb@x-tiled-16bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-64bpp-rotate-180:
    - shard-iclb:         NOTRUN -> [SKIP][11] ([fdo#110723])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb7/igt@kms_big_fb@yf-tiled-64bpp-rotate-180.html

  * igt@kms_ccs@pipe-c-crc-primary-rotation-180-y_tiled_gen12_mc_ccs:
    - shard-iclb:         NOTRUN -> [SKIP][12] ([fdo#109278] / [i915#3886]) +1 similar issue
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb7/igt@kms_ccs@pipe-c-crc-primary-rotation-180-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-c-random-ccs-data-y_tiled_gen12_rc_ccs:
    - shard-apl:          NOTRUN -> [SKIP][13] ([fdo#109271]) +10 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-apl6/igt@kms_ccs@pipe-c-random-ccs-data-y_tiled_gen12_rc_ccs.html

  * igt@kms_ccs@pipe-d-bad-aux-stride-y_tiled_gen12_mc_ccs:
    - shard-iclb:         NOTRUN -> [SKIP][14] ([fdo#109278]) +6 similar issues
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb7/igt@kms_ccs@pipe-d-bad-aux-stride-y_tiled_gen12_mc_ccs.html

  * igt@kms_chamelium@hdmi-audio-edid:
    - shard-apl:          NOTRUN -> [SKIP][15] ([fdo#109271] / [fdo#111827])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-apl6/igt@kms_chamelium@hdmi-audio-edid.html

  * igt@kms_chamelium@vga-hpd-for-each-pipe:
    - shard-iclb:         NOTRUN -> [SKIP][16] ([fdo#109284] / [fdo#111827]) +1 similar issue
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb7/igt@kms_chamelium@vga-hpd-for-each-pipe.html

  * igt@kms_content_protection@uevent:
    - shard-iclb:         NOTRUN -> [SKIP][17] ([fdo#109300] / [fdo#111066])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb7/igt@kms_content_protection@uevent.html

  * igt@kms_flip@2x-absolute-wf_vblank:
    - shard-iclb:         NOTRUN -> [SKIP][18] ([fdo#109274])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb7/igt@kms_flip@2x-absolute-wf_vblank.html

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

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

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

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-valid-mode:
    - shard-iclb:         NOTRUN -> [SKIP][22] ([i915#2672] / [i915#3555])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb5/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-valid-mode.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-pgflip-blt:
    - shard-iclb:         [PASS][23] -> [FAIL][24] ([i915#1888] / [i915#2546])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/shard-iclb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-pgflip-blt.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb3/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-pgflip-blt:
    - shard-iclb:         NOTRUN -> [SKIP][25] ([fdo#109280]) +6 similar issues
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb7/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-pgflip-blt.html

  * igt@kms_plane_lowres@tiling-x@pipe-b-edp-1:
    - shard-iclb:         NOTRUN -> [SKIP][26] ([i915#3536]) +2 similar issues
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb7/igt@kms_plane_lowres@tiling-x@pipe-b-edp-1.html

  * igt@kms_plane_lowres@tiling-y@pipe-b-hdmi-a-1:
    - shard-glk:          [PASS][27] -> [FAIL][28] ([i915#1888])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/shard-glk7/igt@kms_plane_lowres@tiling-y@pipe-b-hdmi-a-1.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-glk9/igt@kms_plane_lowres@tiling-y@pipe-b-hdmi-a-1.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-75@pipe-c-hdmi-a-1:
    - shard-glk:          NOTRUN -> [SKIP][29] ([fdo#109271]) +3 similar issues
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-glk8/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-75@pipe-c-hdmi-a-1.html

  * igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf:
    - shard-apl:          NOTRUN -> [SKIP][30] ([fdo#109271] / [i915#658])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-apl6/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area:
    - shard-iclb:         NOTRUN -> [SKIP][31] ([fdo#111068] / [i915#658]) +1 similar issue
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb7/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area.html

  * igt@kms_psr2_su@frontbuffer-xrgb8888:
    - shard-iclb:         [PASS][32] -> [SKIP][33] ([fdo#109642] / [fdo#111068] / [i915#658])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/shard-iclb2/igt@kms_psr2_su@frontbuffer-xrgb8888.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb8/igt@kms_psr2_su@frontbuffer-xrgb8888.html

  * igt@kms_psr@psr2_sprite_render:
    - shard-iclb:         [PASS][34] -> [SKIP][35] ([fdo#109441])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/shard-iclb2/igt@kms_psr@psr2_sprite_render.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb8/igt@kms_psr@psr2_sprite_render.html

  * igt@kms_writeback@writeback-fb-id:
    - shard-iclb:         NOTRUN -> [SKIP][36] ([i915#2437])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb7/igt@kms_writeback@writeback-fb-id.html

  * igt@nouveau_crc@pipe-d-ctx-flip-skip-current-frame:
    - shard-iclb:         NOTRUN -> [SKIP][37] ([fdo#109278] / [i915#2530])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb7/igt@nouveau_crc@pipe-d-ctx-flip-skip-current-frame.html

  * igt@prime_nv_api@nv_i915_reimport_twice_check_flink_name:
    - shard-iclb:         NOTRUN -> [SKIP][38] ([fdo#109291])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb7/igt@prime_nv_api@nv_i915_reimport_twice_check_flink_name.html

  * igt@prime_vgem@fence-flip-hang:
    - shard-iclb:         NOTRUN -> [SKIP][39] ([fdo#109295])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb7/igt@prime_vgem@fence-flip-hang.html

  * igt@sysfs_clients@split-50:
    - shard-iclb:         NOTRUN -> [SKIP][40] ([i915#2994])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb7/igt@sysfs_clients@split-50.html

  
#### Possible fixes ####

  * igt@gem_exec_balancer@parallel-balancer:
    - shard-iclb:         [SKIP][41] ([i915#4525]) -> [PASS][42] +1 similar issue
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/shard-iclb8/igt@gem_exec_balancer@parallel-balancer.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb1/igt@gem_exec_balancer@parallel-balancer.html

  * igt@gem_exec_fair@basic-none-share@rcs0:
    - shard-iclb:         [FAIL][43] ([i915#2842]) -> [PASS][44]
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/shard-iclb3/igt@gem_exec_fair@basic-none-share@rcs0.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb4/igt@gem_exec_fair@basic-none-share@rcs0.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-tglb:         [FAIL][45] ([i915#2842]) -> [PASS][46]
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/shard-tglb8/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-tglb3/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_suspend@basic-s3@smem:
    - shard-apl:          [DMESG-WARN][47] ([i915#180]) -> [PASS][48]
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/shard-apl2/igt@gem_exec_suspend@basic-s3@smem.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-apl6/igt@gem_exec_suspend@basic-s3@smem.html

  * igt@gen9_exec_parse@allowed-single:
    - shard-glk:          [DMESG-WARN][49] ([i915#5566] / [i915#716]) -> [PASS][50]
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/shard-glk6/igt@gen9_exec_parse@allowed-single.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-glk8/igt@gen9_exec_parse@allowed-single.html

  * igt@i915_pm_dc@dc6-psr:
    - shard-iclb:         [FAIL][51] ([i915#3989] / [i915#454]) -> [PASS][52]
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/shard-iclb8/igt@i915_pm_dc@dc6-psr.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb5/igt@i915_pm_dc@dc6-psr.html

  * igt@i915_pm_rps@engine-order:
    - shard-apl:          [FAIL][53] ([i915#6537]) -> [PASS][54]
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/shard-apl2/igt@i915_pm_rps@engine-order.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-apl1/igt@i915_pm_rps@engine-order.html

  * igt@kms_cursor_crc@cursor-onscreen-256x85@pipe-a-hdmi-a-1:
    - {shard-tglu}:       [FAIL][55] ([i915#1888]) -> [PASS][56]
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/shard-tglu-1/igt@kms_cursor_crc@cursor-onscreen-256x85@pipe-a-hdmi-a-1.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-tglu-4/igt@kms_cursor_crc@cursor-onscreen-256x85@pipe-a-hdmi-a-1.html

  * igt@kms_plane_lowres@tiling-y@pipe-a-hdmi-a-2:
    - shard-glk:          [DMESG-FAIL][57] ([i915#118] / [i915#1888]) -> [PASS][58]
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/shard-glk7/igt@kms_plane_lowres@tiling-y@pipe-a-hdmi-a-2.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-glk9/igt@kms_plane_lowres@tiling-y@pipe-a-hdmi-a-2.html

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

  * igt@kms_psr@psr2_cursor_mmap_gtt:
    - shard-iclb:         [SKIP][61] ([fdo#109441]) -> [PASS][62] +1 similar issue
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/shard-iclb6/igt@kms_psr@psr2_cursor_mmap_gtt.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_gtt.html

  * igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
    - shard-tglb:         [SKIP][63] ([i915#5519]) -> [PASS][64]
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/shard-tglb1/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-tglb5/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
    - shard-iclb:         [SKIP][65] ([i915#5519]) -> [PASS][66]
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/shard-iclb7/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb3/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html

  
#### Warnings ####

  * igt@gem_exec_balancer@parallel-ordering:
    - shard-iclb:         [FAIL][67] ([i915#6117]) -> [SKIP][68] ([i915#4525])
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/shard-iclb4/igt@gem_exec_balancer@parallel-ordering.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb6/igt@gem_exec_balancer@parallel-ordering.html

  * igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf:
    - shard-iclb:         [SKIP][69] ([i915#658]) -> [SKIP][70] ([i915#2920])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/shard-iclb6/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb2/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_sf@plane-move-sf-dmg-area:
    - shard-iclb:         [SKIP][71] ([fdo#111068] / [i915#658]) -> [SKIP][72] ([i915#2920])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/shard-iclb6/igt@kms_psr2_sf@plane-move-sf-dmg-area.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb2/igt@kms_psr2_sf@plane-move-sf-dmg-area.html

  * igt@kms_psr2_su@page_flip-nv12:
    - shard-iclb:         [FAIL][73] ([i915#5939]) -> [SKIP][74] ([fdo#109642] / [fdo#111068] / [i915#658])
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12145/shard-iclb2/igt@kms_psr2_su@page_flip-nv12.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_108642v1/shard-iclb4/igt@kms_psr2_su@page_flip-nv12.html

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

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [fdo#109300]: https://bugs.freedesktop.org/show_bug.cgi?id=109300
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
  [fdo#110725]: https://bugs.freedesktop.org/show_bug.cgi?id=110725
  [fdo#111066]: https://bugs.freedesktop.org/show_bug.cgi?id=111066
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#1888]: https://gitlab.freedesktop.org/drm/intel/issues/1888
  [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2530]: https://gitlab.freedesktop.org/drm/intel/issues/2530
  [i915#2546]: https://gitlab.freedesktop.org/drm/intel/issues/2546
  [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
  [i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
  [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
  [i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
  [i915#3063]: https://gitlab.freedesktop.org/drm/intel/issues/3063
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3536]: https://gitlab.freedesktop.org/drm/intel/issues/3536
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3825]: https://gitlab.freedesktop.org/drm/intel/issues/3825
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#3987]: https://gitlab.freedesktop.org/drm/intel/issues/3987
  [i915#3989]: https://gitlab.freedesktop.org/drm/intel/issues/3989
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
  [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5182]: https://gitlab.freedesktop.org/drm/intel/issues/5182
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
  [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
  [i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461
  [i915#5519]: https://gitlab.freedesktop.org/drm/intel/issues/5519
  [i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
  [i915#5723]: https://gitlab.freedesktop.org/drm/intel/issues/5723
  [i915#5939]: https://gitlab.freedesktop.org/drm/intel/issues/5939
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6117]: https://gitlab.freedesktop.org/drm/intel/issues/6117
  [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
  [i915#6537]: https://gitlab.freedesktop.org/drm/intel/issues/6537
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716
  [i915#768]: https://gitlab.freedesktop.org/drm/intel/issues/768


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

  * Linux: CI_DRM_12145 -> Patchwork_108642v1

  CI-20190529: 20190529
  CI_DRM_12145: 2dc9ea03abff1bfc8c8ebe0f7ef056edf77cc29e @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6656: 24100c4e181c50e3678aeca9c641b8a43555ad73 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_108642v1: 2dc9ea03abff1bfc8c8ebe0f7ef056edf77cc29e @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

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

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

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

* Re: [Intel-gfx] [PATCH] drm/i915: fix device info for devices without display
  2022-09-16  8:26 [Intel-gfx] [PATCH] drm/i915: fix device info for devices without display Jani Nikula
                   ` (3 preceding siblings ...)
  2022-09-16 13:44 ` [Intel-gfx] ✓ Fi.CI.IGT: success for " Patchwork
@ 2022-09-16 15:26 ` Lucas De Marchi
  2022-09-19  8:10   ` Jani Nikula
  4 siblings, 1 reply; 11+ messages in thread
From: Lucas De Marchi @ 2022-09-16 15:26 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

On Fri, Sep 16, 2022 at 11:26:42AM +0300, Jani Nikula wrote:
>Commit 00c6cbfd4e8a ("drm/i915: move pipe_mask and cpu_transcoder_mask
>to runtime info") moved the pipe_mask member from struct
>intel_device_info to intel_runtime_info, but overlooked some of our
>platforms initializing device info .display = {}. This is significant,
>as pipe_mask is the single point of truth for a device having a display
>or not; the platforms in question left pipe_mask to whatever was set for
>the platforms they "inherit" from in the complex macro scheme we have.
>
>Add new NO_DISPLAY macro initializing .__runtime.pipe_mask = 0, which
>will cause the device info .display sub-struct to be zeroed in
>intel_device_info_runtime_init(). A better solution (or simply audit of
>proper use of HAS_DISPLAY() checks) is required before moving forward
>with [1].
>
>Also clear all the display related members in runtime info if there's no
>display. The latter is a bit tedious, but it's for completeness at this
>time, to ensure similar functionality as before.
>
>[1] https://lore.kernel.org/r/dfda1bf67f02ceb07c280b7a13216405fd1f7a34.1660137416.git.jani.nikula@intel.com
>
>Fixes: 00c6cbfd4e8a ("drm/i915: move pipe_mask and cpu_transcoder_mask to runtime info")
>Cc: Lucas De Marchi <lucas.demarchi@intel.com>
>Cc: Maarten Lankhort <maarten.lankhorst@linux.intel.com>
>Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>---
> drivers/gpu/drm/i915/i915_pci.c          | 11 ++++++-----
> drivers/gpu/drm/i915/intel_device_info.c |  6 ++++++
> 2 files changed, 12 insertions(+), 5 deletions(-)
>
>diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
>index 77e7df21f539..cd4487a1d3be 100644
>--- a/drivers/gpu/drm/i915/i915_pci.c
>+++ b/drivers/gpu/drm/i915/i915_pci.c
>@@ -41,6 +41,8 @@
> 	.__runtime.media.ip.ver = (x), \
> 	.__runtime.display.ip.ver = (x)
>
>+#define NO_DISPLAY .__runtime.pipe_mask = 0
>+
> #define I845_PIPE_OFFSETS \
> 	.display.pipe_offsets = { \
> 		[TRANSCODER_A] = PIPE_A_OFFSET,	\
>@@ -519,9 +521,8 @@ static const struct intel_device_info ivb_m_gt2_info = {
> static const struct intel_device_info ivb_q_info = {
> 	GEN7_FEATURES,
> 	PLATFORM(INTEL_IVYBRIDGE),
>+	NO_DISPLAY,
> 	.gt = 2,
>-	.__runtime.pipe_mask = 0, /* legal, last one wins */
>-	.__runtime.cpu_transcoder_mask = 0,
> 	.has_l3_dpf = 1,
> };
>
>@@ -1039,7 +1040,7 @@ static const struct intel_device_info xehpsdv_info = {
> 	XE_HPM_FEATURES,
> 	DGFX_FEATURES,
> 	PLATFORM(INTEL_XEHPSDV),
>-	.display = { },
>+	NO_DISPLAY,
> 	.has_64k_pages = 1,
> 	.needs_compact_pt = 1,
> 	.has_media_ratio_mode = 1,
>@@ -1081,7 +1082,7 @@ static const struct intel_device_info dg2_info = {
>
> static const struct intel_device_info ats_m_info = {
> 	DG2_FEATURES,
>-	.display = { 0 },
>+	NO_DISPLAY,
> 	.require_force_probe = 1,
> 	.tuning_thread_rr_after_dep = 1,
> };
>@@ -1103,7 +1104,7 @@ static const struct intel_device_info pvc_info = {
> 	.__runtime.graphics.ip.rel = 60,
> 	.__runtime.media.ip.rel = 60,
> 	PLATFORM(INTEL_PONTEVECCHIO),
>-	.display = { 0 },
>+	NO_DISPLAY,
> 	.has_flat_ccs = 0,
> 	.__runtime.platform_engine_mask =
> 		BIT(BCS0) |
>diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
>index 1434dc33cf49..20575eb77ea7 100644
>--- a/drivers/gpu/drm/i915/intel_device_info.c
>+++ b/drivers/gpu/drm/i915/intel_device_info.c
>@@ -433,8 +433,14 @@ void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
> 		dev_priv->drm.driver_features &= ~(DRIVER_MODESET |
> 						   DRIVER_ATOMIC);
> 		memset(&info->display, 0, sizeof(info->display));
>+
>+		runtime->cpu_transcoder_mask = 0;
> 		memset(runtime->num_sprites, 0, sizeof(runtime->num_sprites));
> 		memset(runtime->num_scalers, 0, sizeof(runtime->num_scalers));
>+		runtime->fbc_mask = 0;
>+		runtime->has_hdcp = false;
>+		runtime->has_dmc = false;
>+		runtime->has_dsc = false;

why are these not inside __runtime.display?

Lucas De Marchi

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

* Re: [Intel-gfx] [PATCH] drm/i915: fix device info for devices without display
  2022-09-16 15:26 ` [Intel-gfx] [PATCH] " Lucas De Marchi
@ 2022-09-19  8:10   ` Jani Nikula
  2022-09-20  7:24     ` Lucas De Marchi
  0 siblings, 1 reply; 11+ messages in thread
From: Jani Nikula @ 2022-09-19  8:10 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-gfx

On Fri, 16 Sep 2022, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
> On Fri, Sep 16, 2022 at 11:26:42AM +0300, Jani Nikula wrote:
>>Commit 00c6cbfd4e8a ("drm/i915: move pipe_mask and cpu_transcoder_mask
>>to runtime info") moved the pipe_mask member from struct
>>intel_device_info to intel_runtime_info, but overlooked some of our
>>platforms initializing device info .display = {}. This is significant,
>>as pipe_mask is the single point of truth for a device having a display
>>or not; the platforms in question left pipe_mask to whatever was set for
>>the platforms they "inherit" from in the complex macro scheme we have.
>>
>>Add new NO_DISPLAY macro initializing .__runtime.pipe_mask = 0, which
>>will cause the device info .display sub-struct to be zeroed in
>>intel_device_info_runtime_init(). A better solution (or simply audit of
>>proper use of HAS_DISPLAY() checks) is required before moving forward
>>with [1].
>>
>>Also clear all the display related members in runtime info if there's no
>>display. The latter is a bit tedious, but it's for completeness at this
>>time, to ensure similar functionality as before.
>>
>>[1] https://lore.kernel.org/r/dfda1bf67f02ceb07c280b7a13216405fd1f7a34.1660137416.git.jani.nikula@intel.com
>>
>>Fixes: 00c6cbfd4e8a ("drm/i915: move pipe_mask and cpu_transcoder_mask to runtime info")
>>Cc: Lucas De Marchi <lucas.demarchi@intel.com>
>>Cc: Maarten Lankhort <maarten.lankhorst@linux.intel.com>
>>Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>>---
>> drivers/gpu/drm/i915/i915_pci.c          | 11 ++++++-----
>> drivers/gpu/drm/i915/intel_device_info.c |  6 ++++++
>> 2 files changed, 12 insertions(+), 5 deletions(-)
>>
>>diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
>>index 77e7df21f539..cd4487a1d3be 100644
>>--- a/drivers/gpu/drm/i915/i915_pci.c
>>+++ b/drivers/gpu/drm/i915/i915_pci.c
>>@@ -41,6 +41,8 @@
>> 	.__runtime.media.ip.ver = (x), \
>> 	.__runtime.display.ip.ver = (x)
>>
>>+#define NO_DISPLAY .__runtime.pipe_mask = 0
>>+
>> #define I845_PIPE_OFFSETS \
>> 	.display.pipe_offsets = { \
>> 		[TRANSCODER_A] = PIPE_A_OFFSET,	\
>>@@ -519,9 +521,8 @@ static const struct intel_device_info ivb_m_gt2_info = {
>> static const struct intel_device_info ivb_q_info = {
>> 	GEN7_FEATURES,
>> 	PLATFORM(INTEL_IVYBRIDGE),
>>+	NO_DISPLAY,
>> 	.gt = 2,
>>-	.__runtime.pipe_mask = 0, /* legal, last one wins */
>>-	.__runtime.cpu_transcoder_mask = 0,
>> 	.has_l3_dpf = 1,
>> };
>>
>>@@ -1039,7 +1040,7 @@ static const struct intel_device_info xehpsdv_info = {
>> 	XE_HPM_FEATURES,
>> 	DGFX_FEATURES,
>> 	PLATFORM(INTEL_XEHPSDV),
>>-	.display = { },
>>+	NO_DISPLAY,
>> 	.has_64k_pages = 1,
>> 	.needs_compact_pt = 1,
>> 	.has_media_ratio_mode = 1,
>>@@ -1081,7 +1082,7 @@ static const struct intel_device_info dg2_info = {
>>
>> static const struct intel_device_info ats_m_info = {
>> 	DG2_FEATURES,
>>-	.display = { 0 },
>>+	NO_DISPLAY,
>> 	.require_force_probe = 1,
>> 	.tuning_thread_rr_after_dep = 1,
>> };
>>@@ -1103,7 +1104,7 @@ static const struct intel_device_info pvc_info = {
>> 	.__runtime.graphics.ip.rel = 60,
>> 	.__runtime.media.ip.rel = 60,
>> 	PLATFORM(INTEL_PONTEVECCHIO),
>>-	.display = { 0 },
>>+	NO_DISPLAY,
>> 	.has_flat_ccs = 0,
>> 	.__runtime.platform_engine_mask =
>> 		BIT(BCS0) |
>>diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
>>index 1434dc33cf49..20575eb77ea7 100644
>>--- a/drivers/gpu/drm/i915/intel_device_info.c
>>+++ b/drivers/gpu/drm/i915/intel_device_info.c
>>@@ -433,8 +433,14 @@ void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
>> 		dev_priv->drm.driver_features &= ~(DRIVER_MODESET |
>> 						   DRIVER_ATOMIC);
>> 		memset(&info->display, 0, sizeof(info->display));
>>+
>>+		runtime->cpu_transcoder_mask = 0;
>> 		memset(runtime->num_sprites, 0, sizeof(runtime->num_sprites));
>> 		memset(runtime->num_scalers, 0, sizeof(runtime->num_scalers));
>>+		runtime->fbc_mask = 0;
>>+		runtime->has_hdcp = false;
>>+		runtime->has_dmc = false;
>>+		runtime->has_dsc = false;
>
> why are these not inside __runtime.display?

The short answer, because there isn't one. It's an anonymous struct for
now.

BR,
Jani.


-- 
Jani Nikula, Intel Open Source Graphics Center

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

* Re: [Intel-gfx] [PATCH] drm/i915: fix device info for devices without display
  2022-09-19  8:10   ` Jani Nikula
@ 2022-09-20  7:24     ` Lucas De Marchi
  2022-09-26 10:11       ` Jani Nikula
  0 siblings, 1 reply; 11+ messages in thread
From: Lucas De Marchi @ 2022-09-20  7:24 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

On Mon, Sep 19, 2022 at 11:10:53AM +0300, Jani Nikula wrote:
>On Fri, 16 Sep 2022, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
>> On Fri, Sep 16, 2022 at 11:26:42AM +0300, Jani Nikula wrote:
>>>Commit 00c6cbfd4e8a ("drm/i915: move pipe_mask and cpu_transcoder_mask
>>>to runtime info") moved the pipe_mask member from struct
>>>intel_device_info to intel_runtime_info, but overlooked some of our
>>>platforms initializing device info .display = {}. This is significant,
>>>as pipe_mask is the single point of truth for a device having a display
>>>or not; the platforms in question left pipe_mask to whatever was set for
>>>the platforms they "inherit" from in the complex macro scheme we have.
>>>
>>>Add new NO_DISPLAY macro initializing .__runtime.pipe_mask = 0, which
>>>will cause the device info .display sub-struct to be zeroed in
>>>intel_device_info_runtime_init(). A better solution (or simply audit of
>>>proper use of HAS_DISPLAY() checks) is required before moving forward
>>>with [1].
>>>
>>>Also clear all the display related members in runtime info if there's no
>>>display. The latter is a bit tedious, but it's for completeness at this
>>>time, to ensure similar functionality as before.
>>>
>>>[1] https://lore.kernel.org/r/dfda1bf67f02ceb07c280b7a13216405fd1f7a34.1660137416.git.jani.nikula@intel.com
>>>
>>>Fixes: 00c6cbfd4e8a ("drm/i915: move pipe_mask and cpu_transcoder_mask to runtime info")
>>>Cc: Lucas De Marchi <lucas.demarchi@intel.com>
>>>Cc: Maarten Lankhort <maarten.lankhorst@linux.intel.com>
>>>Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>>>---
>>> drivers/gpu/drm/i915/i915_pci.c          | 11 ++++++-----
>>> drivers/gpu/drm/i915/intel_device_info.c |  6 ++++++
>>> 2 files changed, 12 insertions(+), 5 deletions(-)
>>>
>>>diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
>>>index 77e7df21f539..cd4487a1d3be 100644
>>>--- a/drivers/gpu/drm/i915/i915_pci.c
>>>+++ b/drivers/gpu/drm/i915/i915_pci.c
>>>@@ -41,6 +41,8 @@
>>> 	.__runtime.media.ip.ver = (x), \
>>> 	.__runtime.display.ip.ver = (x)
>>>
>>>+#define NO_DISPLAY .__runtime.pipe_mask = 0
>>>+
>>> #define I845_PIPE_OFFSETS \
>>> 	.display.pipe_offsets = { \
>>> 		[TRANSCODER_A] = PIPE_A_OFFSET,	\
>>>@@ -519,9 +521,8 @@ static const struct intel_device_info ivb_m_gt2_info = {
>>> static const struct intel_device_info ivb_q_info = {
>>> 	GEN7_FEATURES,
>>> 	PLATFORM(INTEL_IVYBRIDGE),
>>>+	NO_DISPLAY,
>>> 	.gt = 2,
>>>-	.__runtime.pipe_mask = 0, /* legal, last one wins */
>>>-	.__runtime.cpu_transcoder_mask = 0,
>>> 	.has_l3_dpf = 1,
>>> };
>>>
>>>@@ -1039,7 +1040,7 @@ static const struct intel_device_info xehpsdv_info = {
>>> 	XE_HPM_FEATURES,
>>> 	DGFX_FEATURES,
>>> 	PLATFORM(INTEL_XEHPSDV),
>>>-	.display = { },
>>>+	NO_DISPLAY,
>>> 	.has_64k_pages = 1,
>>> 	.needs_compact_pt = 1,
>>> 	.has_media_ratio_mode = 1,
>>>@@ -1081,7 +1082,7 @@ static const struct intel_device_info dg2_info = {
>>>
>>> static const struct intel_device_info ats_m_info = {
>>> 	DG2_FEATURES,
>>>-	.display = { 0 },
>>>+	NO_DISPLAY,
>>> 	.require_force_probe = 1,
>>> 	.tuning_thread_rr_after_dep = 1,
>>> };
>>>@@ -1103,7 +1104,7 @@ static const struct intel_device_info pvc_info = {
>>> 	.__runtime.graphics.ip.rel = 60,
>>> 	.__runtime.media.ip.rel = 60,
>>> 	PLATFORM(INTEL_PONTEVECCHIO),
>>>-	.display = { 0 },
>>>+	NO_DISPLAY,
>>> 	.has_flat_ccs = 0,
>>> 	.__runtime.platform_engine_mask =
>>> 		BIT(BCS0) |
>>>diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
>>>index 1434dc33cf49..20575eb77ea7 100644
>>>--- a/drivers/gpu/drm/i915/intel_device_info.c
>>>+++ b/drivers/gpu/drm/i915/intel_device_info.c
>>>@@ -433,8 +433,14 @@ void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
>>> 		dev_priv->drm.driver_features &= ~(DRIVER_MODESET |
>>> 						   DRIVER_ATOMIC);
>>> 		memset(&info->display, 0, sizeof(info->display));
>>>+
>>>+		runtime->cpu_transcoder_mask = 0;
>>> 		memset(runtime->num_sprites, 0, sizeof(runtime->num_sprites));
>>> 		memset(runtime->num_scalers, 0, sizeof(runtime->num_scalers));
>>>+		runtime->fbc_mask = 0;
>>>+		runtime->has_hdcp = false;
>>>+		runtime->has_dmc = false;
>>>+		runtime->has_dsc = false;
>>
>> why are these not inside __runtime.display?
>
>The short answer, because there isn't one. It's an anonymous struct for
>now.

/me confused... that doesn't really answer the question. Why would we
not move these inside a display substruct? When moving stuff out of
device_info.display.x, it seems the better place would be inside
__runtime.display.x, not __runtime.x.

I must be missing something here. We had a "recent" move of these flags
lying around in device_info to be inside a display substruct -
commit d53db442db36 ("drm/i915: Move display device info capabilities to its
own struct") - to be able to keep the display flags together
and zero them together.

Lucas De Marchi

>
>BR,
>Jani.
>
>
>-- 
>Jani Nikula, Intel Open Source Graphics Center

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

* Re: [Intel-gfx] [PATCH] drm/i915: fix device info for devices without display
  2022-09-20  7:24     ` Lucas De Marchi
@ 2022-09-26 10:11       ` Jani Nikula
  2022-09-26 14:58         ` Lucas De Marchi
  0 siblings, 1 reply; 11+ messages in thread
From: Jani Nikula @ 2022-09-26 10:11 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-gfx

On Tue, 20 Sep 2022, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
> On Mon, Sep 19, 2022 at 11:10:53AM +0300, Jani Nikula wrote:
>>On Fri, 16 Sep 2022, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
>>> On Fri, Sep 16, 2022 at 11:26:42AM +0300, Jani Nikula wrote:
>>>>Commit 00c6cbfd4e8a ("drm/i915: move pipe_mask and cpu_transcoder_mask
>>>>to runtime info") moved the pipe_mask member from struct
>>>>intel_device_info to intel_runtime_info, but overlooked some of our
>>>>platforms initializing device info .display = {}. This is significant,
>>>>as pipe_mask is the single point of truth for a device having a display
>>>>or not; the platforms in question left pipe_mask to whatever was set for
>>>>the platforms they "inherit" from in the complex macro scheme we have.
>>>>
>>>>Add new NO_DISPLAY macro initializing .__runtime.pipe_mask = 0, which
>>>>will cause the device info .display sub-struct to be zeroed in
>>>>intel_device_info_runtime_init(). A better solution (or simply audit of
>>>>proper use of HAS_DISPLAY() checks) is required before moving forward
>>>>with [1].
>>>>
>>>>Also clear all the display related members in runtime info if there's no
>>>>display. The latter is a bit tedious, but it's for completeness at this
>>>>time, to ensure similar functionality as before.
>>>>
>>>>[1] https://lore.kernel.org/r/dfda1bf67f02ceb07c280b7a13216405fd1f7a34.1660137416.git.jani.nikula@intel.com
>>>>
>>>>Fixes: 00c6cbfd4e8a ("drm/i915: move pipe_mask and cpu_transcoder_mask to runtime info")
>>>>Cc: Lucas De Marchi <lucas.demarchi@intel.com>
>>>>Cc: Maarten Lankhort <maarten.lankhorst@linux.intel.com>
>>>>Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>>>>---
>>>> drivers/gpu/drm/i915/i915_pci.c          | 11 ++++++-----
>>>> drivers/gpu/drm/i915/intel_device_info.c |  6 ++++++
>>>> 2 files changed, 12 insertions(+), 5 deletions(-)
>>>>
>>>>diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
>>>>index 77e7df21f539..cd4487a1d3be 100644
>>>>--- a/drivers/gpu/drm/i915/i915_pci.c
>>>>+++ b/drivers/gpu/drm/i915/i915_pci.c
>>>>@@ -41,6 +41,8 @@
>>>> 	.__runtime.media.ip.ver = (x), \
>>>> 	.__runtime.display.ip.ver = (x)
>>>>
>>>>+#define NO_DISPLAY .__runtime.pipe_mask = 0
>>>>+
>>>> #define I845_PIPE_OFFSETS \
>>>> 	.display.pipe_offsets = { \
>>>> 		[TRANSCODER_A] = PIPE_A_OFFSET,	\
>>>>@@ -519,9 +521,8 @@ static const struct intel_device_info ivb_m_gt2_info = {
>>>> static const struct intel_device_info ivb_q_info = {
>>>> 	GEN7_FEATURES,
>>>> 	PLATFORM(INTEL_IVYBRIDGE),
>>>>+	NO_DISPLAY,
>>>> 	.gt = 2,
>>>>-	.__runtime.pipe_mask = 0, /* legal, last one wins */
>>>>-	.__runtime.cpu_transcoder_mask = 0,
>>>> 	.has_l3_dpf = 1,
>>>> };
>>>>
>>>>@@ -1039,7 +1040,7 @@ static const struct intel_device_info xehpsdv_info = {
>>>> 	XE_HPM_FEATURES,
>>>> 	DGFX_FEATURES,
>>>> 	PLATFORM(INTEL_XEHPSDV),
>>>>-	.display = { },
>>>>+	NO_DISPLAY,
>>>> 	.has_64k_pages = 1,
>>>> 	.needs_compact_pt = 1,
>>>> 	.has_media_ratio_mode = 1,
>>>>@@ -1081,7 +1082,7 @@ static const struct intel_device_info dg2_info = {
>>>>
>>>> static const struct intel_device_info ats_m_info = {
>>>> 	DG2_FEATURES,
>>>>-	.display = { 0 },
>>>>+	NO_DISPLAY,
>>>> 	.require_force_probe = 1,
>>>> 	.tuning_thread_rr_after_dep = 1,
>>>> };
>>>>@@ -1103,7 +1104,7 @@ static const struct intel_device_info pvc_info = {
>>>> 	.__runtime.graphics.ip.rel = 60,
>>>> 	.__runtime.media.ip.rel = 60,
>>>> 	PLATFORM(INTEL_PONTEVECCHIO),
>>>>-	.display = { 0 },
>>>>+	NO_DISPLAY,
>>>> 	.has_flat_ccs = 0,
>>>> 	.__runtime.platform_engine_mask =
>>>> 		BIT(BCS0) |
>>>>diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
>>>>index 1434dc33cf49..20575eb77ea7 100644
>>>>--- a/drivers/gpu/drm/i915/intel_device_info.c
>>>>+++ b/drivers/gpu/drm/i915/intel_device_info.c
>>>>@@ -433,8 +433,14 @@ void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
>>>> 		dev_priv->drm.driver_features &= ~(DRIVER_MODESET |
>>>> 						   DRIVER_ATOMIC);
>>>> 		memset(&info->display, 0, sizeof(info->display));
>>>>+
>>>>+		runtime->cpu_transcoder_mask = 0;
>>>> 		memset(runtime->num_sprites, 0, sizeof(runtime->num_sprites));
>>>> 		memset(runtime->num_scalers, 0, sizeof(runtime->num_scalers));
>>>>+		runtime->fbc_mask = 0;
>>>>+		runtime->has_hdcp = false;
>>>>+		runtime->has_dmc = false;
>>>>+		runtime->has_dsc = false;
>>>
>>> why are these not inside __runtime.display?
>>
>>The short answer, because there isn't one. It's an anonymous struct for
>>now.
>
> /me confused... that doesn't really answer the question. Why would we
> not move these inside a display substruct? When moving stuff out of
> device_info.display.x, it seems the better place would be inside
> __runtime.display.x, not __runtime.x.
>
> I must be missing something here. We had a "recent" move of these flags
> lying around in device_info to be inside a display substruct -
> commit d53db442db36 ("drm/i915: Move display device info capabilities to its
> own struct") - to be able to keep the display flags together
> and zero them together.

So there were a few discussions spread around, but effectively the patch
has stalled here.

There's probably a bigger discussion to be had about the management of
mutable and immutable device info, and display and non-display info.

In the mean time, okay to merge this one?


BR,
Jani.


>
> Lucas De Marchi
>
>>
>>BR,
>>Jani.
>>
>>
>>-- 
>>Jani Nikula, Intel Open Source Graphics Center

-- 
Jani Nikula, Intel Open Source Graphics Center

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

* Re: [Intel-gfx] [PATCH] drm/i915: fix device info for devices without display
  2022-09-26 10:11       ` Jani Nikula
@ 2022-09-26 14:58         ` Lucas De Marchi
  2022-09-26 16:32           ` Jani Nikula
  0 siblings, 1 reply; 11+ messages in thread
From: Lucas De Marchi @ 2022-09-26 14:58 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

On Mon, Sep 26, 2022 at 01:11:36PM +0300, Jani Nikula wrote:
>On Tue, 20 Sep 2022, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
>> On Mon, Sep 19, 2022 at 11:10:53AM +0300, Jani Nikula wrote:
>>>On Fri, 16 Sep 2022, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
>>>> On Fri, Sep 16, 2022 at 11:26:42AM +0300, Jani Nikula wrote:
>>>>>Commit 00c6cbfd4e8a ("drm/i915: move pipe_mask and cpu_transcoder_mask
>>>>>to runtime info") moved the pipe_mask member from struct
>>>>>intel_device_info to intel_runtime_info, but overlooked some of our
>>>>>platforms initializing device info .display = {}. This is significant,
>>>>>as pipe_mask is the single point of truth for a device having a display
>>>>>or not; the platforms in question left pipe_mask to whatever was set for
>>>>>the platforms they "inherit" from in the complex macro scheme we have.
>>>>>
>>>>>Add new NO_DISPLAY macro initializing .__runtime.pipe_mask = 0, which
>>>>>will cause the device info .display sub-struct to be zeroed in
>>>>>intel_device_info_runtime_init(). A better solution (or simply audit of
>>>>>proper use of HAS_DISPLAY() checks) is required before moving forward
>>>>>with [1].
>>>>>
>>>>>Also clear all the display related members in runtime info if there's no
>>>>>display. The latter is a bit tedious, but it's for completeness at this
>>>>>time, to ensure similar functionality as before.
>>>>>
>>>>>[1] https://lore.kernel.org/r/dfda1bf67f02ceb07c280b7a13216405fd1f7a34.1660137416.git.jani.nikula@intel.com
>>>>>
>>>>>Fixes: 00c6cbfd4e8a ("drm/i915: move pipe_mask and cpu_transcoder_mask to runtime info")
>>>>>Cc: Lucas De Marchi <lucas.demarchi@intel.com>
>>>>>Cc: Maarten Lankhort <maarten.lankhorst@linux.intel.com>
>>>>>Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>>>>>---
>>>>> drivers/gpu/drm/i915/i915_pci.c          | 11 ++++++-----
>>>>> drivers/gpu/drm/i915/intel_device_info.c |  6 ++++++
>>>>> 2 files changed, 12 insertions(+), 5 deletions(-)
>>>>>
>>>>>diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
>>>>>index 77e7df21f539..cd4487a1d3be 100644
>>>>>--- a/drivers/gpu/drm/i915/i915_pci.c
>>>>>+++ b/drivers/gpu/drm/i915/i915_pci.c
>>>>>@@ -41,6 +41,8 @@
>>>>> 	.__runtime.media.ip.ver = (x), \
>>>>> 	.__runtime.display.ip.ver = (x)
>>>>>
>>>>>+#define NO_DISPLAY .__runtime.pipe_mask = 0
>>>>>+
>>>>> #define I845_PIPE_OFFSETS \
>>>>> 	.display.pipe_offsets = { \
>>>>> 		[TRANSCODER_A] = PIPE_A_OFFSET,	\
>>>>>@@ -519,9 +521,8 @@ static const struct intel_device_info ivb_m_gt2_info = {
>>>>> static const struct intel_device_info ivb_q_info = {
>>>>> 	GEN7_FEATURES,
>>>>> 	PLATFORM(INTEL_IVYBRIDGE),
>>>>>+	NO_DISPLAY,
>>>>> 	.gt = 2,
>>>>>-	.__runtime.pipe_mask = 0, /* legal, last one wins */
>>>>>-	.__runtime.cpu_transcoder_mask = 0,
>>>>> 	.has_l3_dpf = 1,
>>>>> };
>>>>>
>>>>>@@ -1039,7 +1040,7 @@ static const struct intel_device_info xehpsdv_info = {
>>>>> 	XE_HPM_FEATURES,
>>>>> 	DGFX_FEATURES,
>>>>> 	PLATFORM(INTEL_XEHPSDV),
>>>>>-	.display = { },
>>>>>+	NO_DISPLAY,
>>>>> 	.has_64k_pages = 1,
>>>>> 	.needs_compact_pt = 1,
>>>>> 	.has_media_ratio_mode = 1,
>>>>>@@ -1081,7 +1082,7 @@ static const struct intel_device_info dg2_info = {
>>>>>
>>>>> static const struct intel_device_info ats_m_info = {
>>>>> 	DG2_FEATURES,
>>>>>-	.display = { 0 },
>>>>>+	NO_DISPLAY,
>>>>> 	.require_force_probe = 1,
>>>>> 	.tuning_thread_rr_after_dep = 1,
>>>>> };
>>>>>@@ -1103,7 +1104,7 @@ static const struct intel_device_info pvc_info = {
>>>>> 	.__runtime.graphics.ip.rel = 60,
>>>>> 	.__runtime.media.ip.rel = 60,
>>>>> 	PLATFORM(INTEL_PONTEVECCHIO),
>>>>>-	.display = { 0 },
>>>>>+	NO_DISPLAY,
>>>>> 	.has_flat_ccs = 0,
>>>>> 	.__runtime.platform_engine_mask =
>>>>> 		BIT(BCS0) |
>>>>>diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
>>>>>index 1434dc33cf49..20575eb77ea7 100644
>>>>>--- a/drivers/gpu/drm/i915/intel_device_info.c
>>>>>+++ b/drivers/gpu/drm/i915/intel_device_info.c
>>>>>@@ -433,8 +433,14 @@ void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
>>>>> 		dev_priv->drm.driver_features &= ~(DRIVER_MODESET |
>>>>> 						   DRIVER_ATOMIC);
>>>>> 		memset(&info->display, 0, sizeof(info->display));
>>>>>+
>>>>>+		runtime->cpu_transcoder_mask = 0;
>>>>> 		memset(runtime->num_sprites, 0, sizeof(runtime->num_sprites));
>>>>> 		memset(runtime->num_scalers, 0, sizeof(runtime->num_scalers));
>>>>>+		runtime->fbc_mask = 0;
>>>>>+		runtime->has_hdcp = false;
>>>>>+		runtime->has_dmc = false;
>>>>>+		runtime->has_dsc = false;
>>>>
>>>> why are these not inside __runtime.display?
>>>
>>>The short answer, because there isn't one. It's an anonymous struct for
>>>now.
>>
>> /me confused... that doesn't really answer the question. Why would we
>> not move these inside a display substruct? When moving stuff out of
>> device_info.display.x, it seems the better place would be inside
>> __runtime.display.x, not __runtime.x.
>>
>> I must be missing something here. We had a "recent" move of these flags
>> lying around in device_info to be inside a display substruct -
>> commit d53db442db36 ("drm/i915: Move display device info capabilities to its
>> own struct") - to be able to keep the display flags together
>> and zero them together.
>
>So there were a few discussions spread around, but effectively the patch
>has stalled here.
>
>There's probably a bigger discussion to be had about the management of
>mutable and immutable device info, and display and non-display info.
>
>In the mean time, okay to merge this one?


Acked-by: Lucas De Marchi <lucas.demarchi@intel.com>

Lucas De Marchi

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

* Re: [Intel-gfx] [PATCH] drm/i915: fix device info for devices without display
  2022-09-26 14:58         ` Lucas De Marchi
@ 2022-09-26 16:32           ` Jani Nikula
  0 siblings, 0 replies; 11+ messages in thread
From: Jani Nikula @ 2022-09-26 16:32 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-gfx

On Mon, 26 Sep 2022, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
>>In the mean time, okay to merge this one?
>
>
> Acked-by: Lucas De Marchi <lucas.demarchi@intel.com>

Thanks, pushed to drm-intel-next.

BR,
Jani.

-- 
Jani Nikula, Intel Open Source Graphics Center

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

end of thread, other threads:[~2022-09-26 16:32 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-16  8:26 [Intel-gfx] [PATCH] drm/i915: fix device info for devices without display Jani Nikula
2022-09-16  9:21 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2022-09-16  9:41 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-09-16 11:51 ` [Intel-gfx] [PATCH] " Gwan-gyeong Mun
2022-09-16 13:44 ` [Intel-gfx] ✓ Fi.CI.IGT: success for " Patchwork
2022-09-16 15:26 ` [Intel-gfx] [PATCH] " Lucas De Marchi
2022-09-19  8:10   ` Jani Nikula
2022-09-20  7:24     ` Lucas De Marchi
2022-09-26 10:11       ` Jani Nikula
2022-09-26 14:58         ` Lucas De Marchi
2022-09-26 16:32           ` Jani Nikula

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