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