* [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.