* [Intel-gfx] [PATCH v3] drm/i915: Invoke another _DSM to enable MUX on HP Workstation laptops
@ 2021-04-26 15:24 Kai-Heng Feng
2021-04-26 19:22 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
` (4 more replies)
0 siblings, 5 replies; 8+ messages in thread
From: Kai-Heng Feng @ 2021-04-26 15:24 UTC (permalink / raw)
To: jani.nikula, joonas.lahtinen, rodrigo.vivi, ville.syrjala
Cc: David Airlie, open list, Chris Wilson, Takashi Iwai,
Kai-Heng Feng, open list:DRM DRIVERS, Dave Airlie, intel-gfx
On HP Fury G7 Workstations, graphics output is re-routed from Intel GFX
to discrete GFX after S3. This is not desirable, because userspace will
treat connected display as a new one, losing display settings.
The expected behavior is to let discrete GFX drives all external
displays.
The platform in question uses ACPI method \_SB.PCI0.HGME to enable MUX.
The method is inside the another _DSM, so add the _DSM and call it
accordingly.
I also tested some MUX-less and iGPU only laptops with that _DSM, no
regression was found.
v3:
- Remove BXT from names.
- Change the parameter type.
- Fold the function into intel_modeset_init_hw().
v2:
- Forward declare struct pci_dev.
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/3113
References: https://lore.kernel.org/intel-gfx/1460040732-31417-4-git-send-email-animesh.manna@intel.com/
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
---
drivers/gpu/drm/i915/display/intel_acpi.c | 18 ++++++++++++++++++
drivers/gpu/drm/i915/display/intel_acpi.h | 3 +++
drivers/gpu/drm/i915/display/intel_display.c | 2 ++
3 files changed, 23 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_acpi.c b/drivers/gpu/drm/i915/display/intel_acpi.c
index 833d0c1be4f1..d008d3976261 100644
--- a/drivers/gpu/drm/i915/display/intel_acpi.c
+++ b/drivers/gpu/drm/i915/display/intel_acpi.c
@@ -13,12 +13,17 @@
#include "intel_display_types.h"
#define INTEL_DSM_REVISION_ID 1 /* For Calpella anyway... */
+#define INTEL_DSM_FN_PLATFORM_MUX_ENABLE 0 /* No args */
#define INTEL_DSM_FN_PLATFORM_MUX_INFO 1 /* No args */
static const guid_t intel_dsm_guid =
GUID_INIT(0x7ed873d3, 0xc2d0, 0x4e4f,
0xa8, 0x54, 0x0f, 0x13, 0x17, 0xb0, 0x1c, 0x2c);
+static const guid_t intel_dsm_guid2 =
+ GUID_INIT(0x3e5b41c6, 0xeb1d, 0x4260,
+ 0x9d, 0x15, 0xc7, 0x1f, 0xba, 0xda, 0xe4, 0x14);
+
static char *intel_dsm_port_name(u8 id)
{
switch (id) {
@@ -176,6 +181,19 @@ void intel_unregister_dsm_handler(void)
{
}
+void intel_dsm_enable_mux(struct drm_i915_private *i915)
+{
+ struct pci_dev *pdev = i915->drm.pdev;
+ acpi_handle dhandle;
+
+ dhandle = ACPI_HANDLE(&pdev->dev);
+ if (!dhandle)
+ return;
+
+ acpi_evaluate_dsm(dhandle, &intel_dsm_guid2, INTEL_DSM_REVISION_ID,
+ INTEL_DSM_FN_PLATFORM_MUX_ENABLE, NULL);
+}
+
/*
* ACPI Specification, Revision 5.0, Appendix B.3.2 _DOD (Enumerate All Devices
* Attached to the Display Adapter).
diff --git a/drivers/gpu/drm/i915/display/intel_acpi.h b/drivers/gpu/drm/i915/display/intel_acpi.h
index e8b068661d22..def013cf6308 100644
--- a/drivers/gpu/drm/i915/display/intel_acpi.h
+++ b/drivers/gpu/drm/i915/display/intel_acpi.h
@@ -11,11 +11,14 @@ struct drm_i915_private;
#ifdef CONFIG_ACPI
void intel_register_dsm_handler(void);
void intel_unregister_dsm_handler(void);
+void intel_dsm_enable_mux(struct drm_i915_private *i915);
void intel_acpi_device_id_update(struct drm_i915_private *i915);
#else
static inline void intel_register_dsm_handler(void) { return; }
static inline void intel_unregister_dsm_handler(void) { return; }
static inline
+void intel_dsm_enable_mux(struct drm_i915_private *i915) { return; }
+static inline
void intel_acpi_device_id_update(struct drm_i915_private *i915) { return; }
#endif /* CONFIG_ACPI */
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index a10e26380ef3..d79dae370b20 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -11472,6 +11472,8 @@ void intel_modeset_init_hw(struct drm_i915_private *i915)
{
struct intel_cdclk_state *cdclk_state;
+ intel_dsm_enable_mux(i915);
+
if (!HAS_DISPLAY(i915))
return;
--
2.30.2
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 8+ messages in thread* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Invoke another _DSM to enable MUX on HP Workstation laptops 2021-04-26 15:24 [Intel-gfx] [PATCH v3] drm/i915: Invoke another _DSM to enable MUX on HP Workstation laptops Kai-Heng Feng @ 2021-04-26 19:22 ` Patchwork 2021-04-26 19:53 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork ` (3 subsequent siblings) 4 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2021-04-26 19:22 UTC (permalink / raw) To: Kai-Heng Feng; +Cc: intel-gfx == Series Details == Series: drm/i915: Invoke another _DSM to enable MUX on HP Workstation laptops URL : https://patchwork.freedesktop.org/series/89503/ State : warning == Summary == $ dim checkpatch origin/drm-tip 16d0229a8c52 drm/i915: Invoke another _DSM to enable MUX on HP Workstation laptops -:30: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line) #30: References: https://lore.kernel.org/intel-gfx/1460040732-31417-4-git-send-email-animesh.manna@intel.com/ total: 0 errors, 1 warnings, 0 checks, 58 lines checked _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Invoke another _DSM to enable MUX on HP Workstation laptops 2021-04-26 15:24 [Intel-gfx] [PATCH v3] drm/i915: Invoke another _DSM to enable MUX on HP Workstation laptops Kai-Heng Feng 2021-04-26 19:22 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork @ 2021-04-26 19:53 ` Patchwork 2021-04-27 4:10 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork ` (2 subsequent siblings) 4 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2021-04-26 19:53 UTC (permalink / raw) To: Kai-Heng Feng; +Cc: intel-gfx [-- Attachment #1.1: Type: text/plain, Size: 2983 bytes --] == Series Details == Series: drm/i915: Invoke another _DSM to enable MUX on HP Workstation laptops URL : https://patchwork.freedesktop.org/series/89503/ State : success == Summary == CI Bug Log - changes from CI_DRM_10011 -> Patchwork_19994 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/index.html Known issues ------------ Here are the changes found in Patchwork_19994 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@amdgpu/amd_basic@query-info: - fi-bsw-kefka: NOTRUN -> [SKIP][1] ([fdo#109271]) +17 similar issues [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/fi-bsw-kefka/igt@amdgpu/amd_basic@query-info.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic: - fi-kbl-soraka: [PASS][2] -> [DMESG-WARN][3] ([i915#1982]) [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/fi-kbl-soraka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/fi-kbl-soraka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html #### Possible fixes #### * igt@i915_selftest@live@execlists: - fi-bsw-kefka: [INCOMPLETE][4] ([i915#2782] / [i915#2940]) -> [PASS][5] [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/fi-bsw-kefka/igt@i915_selftest@live@execlists.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/fi-bsw-kefka/igt@i915_selftest@live@execlists.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 [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#2782]: https://gitlab.freedesktop.org/drm/intel/issues/2782 [i915#2940]: https://gitlab.freedesktop.org/drm/intel/issues/2940 [i915#3180]: https://gitlab.freedesktop.org/drm/intel/issues/3180 [i915#3303]: https://gitlab.freedesktop.org/drm/intel/issues/3303 Participating hosts (40 -> 38) ------------------------------ Missing (2): fi-bsw-cyan fi-bdw-samus Build changes ------------- * Linux: CI_DRM_10011 -> Patchwork_19994 CI-20190529: 20190529 CI_DRM_10011: 7e185a8c4fb2230187a8637e3885be57123cb7eb @ git://anongit.freedesktop.org/gfx-ci/linux IGT_6075: ccf602c569257291045415ff504a6d2460986c28 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_19994: 16d0229a8c5231354f4a26702ceaa9a2367843e7 @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 16d0229a8c52 drm/i915: Invoke another _DSM to enable MUX on HP Workstation laptops == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/index.html [-- Attachment #1.2: Type: text/html, Size: 3440 bytes --] [-- Attachment #2: Type: text/plain, Size: 160 bytes --] _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Invoke another _DSM to enable MUX on HP Workstation laptops 2021-04-26 15:24 [Intel-gfx] [PATCH v3] drm/i915: Invoke another _DSM to enable MUX on HP Workstation laptops Kai-Heng Feng 2021-04-26 19:22 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork 2021-04-26 19:53 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork @ 2021-04-27 4:10 ` Patchwork 2021-05-11 3:33 ` [Intel-gfx] [PATCH v3] " Kai-Heng Feng 2021-05-11 18:19 ` Ville Syrjälä 4 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2021-04-27 4:10 UTC (permalink / raw) To: Kai-Heng Feng; +Cc: intel-gfx [-- Attachment #1.1: Type: text/plain, Size: 30289 bytes --] == Series Details == Series: drm/i915: Invoke another _DSM to enable MUX on HP Workstation laptops URL : https://patchwork.freedesktop.org/series/89503/ State : success == Summary == CI Bug Log - changes from CI_DRM_10011_full -> Patchwork_19994_full ==================================================== Summary ------- **SUCCESS** No regressions found. Known issues ------------ Here are the changes found in Patchwork_19994_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_ctx_exec@basic-close-race: - shard-iclb: [PASS][1] -> [INCOMPLETE][2] ([i915#1895]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-iclb3/igt@gem_ctx_exec@basic-close-race.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-iclb2/igt@gem_ctx_exec@basic-close-race.html * igt@gem_ctx_persistence@legacy-engines-queued: - shard-snb: NOTRUN -> [SKIP][3] ([fdo#109271] / [i915#1099]) +2 similar issues [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-snb2/igt@gem_ctx_persistence@legacy-engines-queued.html * igt@gem_ctx_ringsize@idle@bcs0: - shard-skl: NOTRUN -> [INCOMPLETE][4] ([i915#3316]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-skl1/igt@gem_ctx_ringsize@idle@bcs0.html * igt@gem_eio@unwedge-stress: - shard-tglb: [PASS][5] -> [TIMEOUT][6] ([i915#2369] / [i915#3063]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-tglb5/igt@gem_eio@unwedge-stress.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-tglb5/igt@gem_eio@unwedge-stress.html * igt@gem_exec_fair@basic-flow@rcs0: - shard-skl: NOTRUN -> [SKIP][7] ([fdo#109271]) +87 similar issues [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-skl1/igt@gem_exec_fair@basic-flow@rcs0.html * igt@gem_exec_fair@basic-none@vcs0: - shard-apl: [PASS][8] -> [FAIL][9] ([i915#2842]) +1 similar issue [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-apl8/igt@gem_exec_fair@basic-none@vcs0.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-apl8/igt@gem_exec_fair@basic-none@vcs0.html * igt@gem_exec_fair@basic-pace@vcs1: - shard-kbl: [PASS][10] -> [SKIP][11] ([fdo#109271]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-kbl1/igt@gem_exec_fair@basic-pace@vcs1.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl1/igt@gem_exec_fair@basic-pace@vcs1.html * igt@gem_exec_fair@basic-throttle@rcs0: - shard-iclb: [PASS][12] -> [FAIL][13] ([i915#2849]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-iclb2/igt@gem_exec_fair@basic-throttle@rcs0.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-iclb4/igt@gem_exec_fair@basic-throttle@rcs0.html * igt@gem_exec_reloc@basic-wide-active@vcs1: - shard-iclb: NOTRUN -> [FAIL][14] ([i915#2389]) [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-iclb2/igt@gem_exec_reloc@basic-wide-active@vcs1.html * igt@gem_mmap_gtt@cpuset-medium-copy: - shard-iclb: [PASS][15] -> [FAIL][16] ([i915#307]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-iclb8/igt@gem_mmap_gtt@cpuset-medium-copy.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-iclb6/igt@gem_mmap_gtt@cpuset-medium-copy.html * igt@gem_pwrite@basic-exhaustion: - shard-kbl: NOTRUN -> [WARN][17] ([i915#2658]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl4/igt@gem_pwrite@basic-exhaustion.html * igt@gem_render_copy@x-tiled-to-vebox-yf-tiled: - shard-kbl: NOTRUN -> [SKIP][18] ([fdo#109271]) +81 similar issues [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl3/igt@gem_render_copy@x-tiled-to-vebox-yf-tiled.html * igt@gem_userptr_blits@set-cache-level: - shard-snb: NOTRUN -> [FAIL][19] ([i915#3324]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-snb2/igt@gem_userptr_blits@set-cache-level.html * igt@gem_userptr_blits@vma-merge: - shard-apl: NOTRUN -> [FAIL][20] ([i915#3318]) [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-apl8/igt@gem_userptr_blits@vma-merge.html * igt@gem_workarounds@suspend-resume: - shard-kbl: NOTRUN -> [DMESG-WARN][21] ([i915#180]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl3/igt@gem_workarounds@suspend-resume.html * igt@gen9_exec_parse@batch-invalid-length: - shard-snb: NOTRUN -> [SKIP][22] ([fdo#109271]) +193 similar issues [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-snb2/igt@gen9_exec_parse@batch-invalid-length.html * igt@i915_pm_dc@dc6-psr: - shard-skl: NOTRUN -> [FAIL][23] ([i915#454]) [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-skl1/igt@i915_pm_dc@dc6-psr.html * igt@i915_suspend@forcewake: - shard-kbl: [PASS][24] -> [INCOMPLETE][25] ([i915#636]) [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-kbl6/igt@i915_suspend@forcewake.html [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl3/igt@i915_suspend@forcewake.html * igt@kms_chamelium@hdmi-hpd-storm-disable: - shard-skl: NOTRUN -> [SKIP][26] ([fdo#109271] / [fdo#111827]) +6 similar issues [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-skl1/igt@kms_chamelium@hdmi-hpd-storm-disable.html * igt@kms_chamelium@hdmi-mode-timings: - shard-snb: NOTRUN -> [SKIP][27] ([fdo#109271] / [fdo#111827]) +11 similar issues [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-snb2/igt@kms_chamelium@hdmi-mode-timings.html * igt@kms_chamelium@vga-hpd-for-each-pipe: - shard-kbl: NOTRUN -> [SKIP][28] ([fdo#109271] / [fdo#111827]) +9 similar issues [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl3/igt@kms_chamelium@vga-hpd-for-each-pipe.html * igt@kms_color_chamelium@pipe-a-ctm-limited-range: - shard-apl: NOTRUN -> [SKIP][29] ([fdo#109271] / [fdo#111827]) +17 similar issues [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-apl7/igt@kms_color_chamelium@pipe-a-ctm-limited-range.html * igt@kms_content_protection@lic: - shard-apl: NOTRUN -> [TIMEOUT][30] ([i915#1319]) +1 similar issue [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-apl8/igt@kms_content_protection@lic.html * igt@kms_content_protection@uevent: - shard-apl: NOTRUN -> [FAIL][31] ([i915#2105]) [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-apl7/igt@kms_content_protection@uevent.html * igt@kms_cursor_crc@pipe-c-cursor-128x42-offscreen: - shard-skl: NOTRUN -> [FAIL][32] ([i915#54]) [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-skl8/igt@kms_cursor_crc@pipe-c-cursor-128x42-offscreen.html * igt@kms_fbcon_fbt@fbc-suspend: - shard-kbl: [PASS][33] -> [INCOMPLETE][34] ([i915#155] / [i915#180] / [i915#636]) [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-kbl2/igt@kms_fbcon_fbt@fbc-suspend.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl7/igt@kms_fbcon_fbt@fbc-suspend.html * igt@kms_flip@flip-vs-suspend-interruptible@a-dp1: - shard-kbl: [PASS][35] -> [DMESG-WARN][36] ([i915#180]) +7 similar issues [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-kbl2/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl4/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html * igt@kms_flip@plain-flip-fb-recreate-interruptible@c-edp1: - shard-skl: [PASS][37] -> [FAIL][38] ([i915#2122]) [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-skl10/igt@kms_flip@plain-flip-fb-recreate-interruptible@c-edp1.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-skl2/igt@kms_flip@plain-flip-fb-recreate-interruptible@c-edp1.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render: - shard-iclb: [PASS][39] -> [FAIL][40] ([i915#49]) [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-iclb7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render.html * igt@kms_pipe_crc_basic@hang-read-crc-pipe-d: - shard-apl: NOTRUN -> [SKIP][41] ([fdo#109271] / [i915#533]) [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-apl3/igt@kms_pipe_crc_basic@hang-read-crc-pipe-d.html * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes: - shard-kbl: [PASS][42] -> [DMESG-WARN][43] ([i915#180] / [i915#533]) [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-kbl7/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl7/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html * igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb: - shard-skl: NOTRUN -> [FAIL][44] ([fdo#108145] / [i915#265]) +1 similar issue [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-skl1/igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb.html * igt@kms_plane_alpha_blend@pipe-a-alpha-transparent-fb: - shard-skl: NOTRUN -> [FAIL][45] ([i915#265]) [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-skl1/igt@kms_plane_alpha_blend@pipe-a-alpha-transparent-fb.html * igt@kms_plane_alpha_blend@pipe-c-alpha-basic: - shard-apl: NOTRUN -> [FAIL][46] ([fdo#108145] / [i915#265]) +2 similar issues [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-apl7/igt@kms_plane_alpha_blend@pipe-c-alpha-basic.html * igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-c-scaler-with-clipping-clamping: - shard-skl: NOTRUN -> [SKIP][47] ([fdo#109271] / [i915#2733]) [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-skl1/igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-c-scaler-with-clipping-clamping.html * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-5: - shard-apl: NOTRUN -> [SKIP][48] ([fdo#109271] / [i915#658]) +2 similar issues [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-apl7/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-5.html * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-3: - shard-kbl: NOTRUN -> [SKIP][49] ([fdo#109271] / [i915#658]) +1 similar issue [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl4/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-3.html * igt@kms_psr2_sf@plane-move-sf-dmg-area-3: - shard-skl: NOTRUN -> [SKIP][50] ([fdo#109271] / [i915#658]) [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-skl1/igt@kms_psr2_sf@plane-move-sf-dmg-area-3.html * igt@kms_psr@psr2_suspend: - shard-iclb: [PASS][51] -> [SKIP][52] ([fdo#109441]) +2 similar issues [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-iclb2/igt@kms_psr@psr2_suspend.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-iclb4/igt@kms_psr@psr2_suspend.html * igt@kms_sysfs_edid_timing: - shard-apl: NOTRUN -> [FAIL][53] ([IGT#2]) [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-apl7/igt@kms_sysfs_edid_timing.html * igt@kms_vblank@pipe-d-wait-idle: - shard-kbl: NOTRUN -> [SKIP][54] ([fdo#109271] / [i915#533]) +1 similar issue [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl1/igt@kms_vblank@pipe-d-wait-idle.html - shard-skl: NOTRUN -> [SKIP][55] ([fdo#109271] / [i915#533]) [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-skl1/igt@kms_vblank@pipe-d-wait-idle.html * igt@kms_writeback@writeback-check-output: - shard-apl: NOTRUN -> [SKIP][56] ([fdo#109271] / [i915#2437]) [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-apl3/igt@kms_writeback@writeback-check-output.html * igt@kms_writeback@writeback-fb-id: - shard-skl: NOTRUN -> [SKIP][57] ([fdo#109271] / [i915#2437]) [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-skl1/igt@kms_writeback@writeback-fb-id.html * igt@prime_nv_api@i915_nv_reimport_twice_check_flink_name: - shard-apl: NOTRUN -> [SKIP][58] ([fdo#109271]) +188 similar issues [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-apl7/igt@prime_nv_api@i915_nv_reimport_twice_check_flink_name.html * igt@sysfs_clients@fair-0: - shard-apl: NOTRUN -> [SKIP][59] ([fdo#109271] / [i915#2994]) +2 similar issues [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-apl7/igt@sysfs_clients@fair-0.html * igt@sysfs_clients@fair-1: - shard-kbl: NOTRUN -> [SKIP][60] ([fdo#109271] / [i915#2994]) [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl1/igt@sysfs_clients@fair-1.html * igt@sysfs_clients@pidname: - shard-skl: NOTRUN -> [SKIP][61] ([fdo#109271] / [i915#2994]) +1 similar issue [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-skl1/igt@sysfs_clients@pidname.html * igt@sysfs_heartbeat_interval@mixed@vecs0: - shard-skl: [PASS][62] -> [FAIL][63] ([i915#1731]) [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-skl4/igt@sysfs_heartbeat_interval@mixed@vecs0.html [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-skl9/igt@sysfs_heartbeat_interval@mixed@vecs0.html * igt@sysfs_timeslice_duration@timeout@vcs0: - shard-skl: [PASS][64] -> [FAIL][65] ([i915#3259]) [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-skl4/igt@sysfs_timeslice_duration@timeout@vcs0.html [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-skl7/igt@sysfs_timeslice_duration@timeout@vcs0.html #### Possible fixes #### * igt@gem_create@create-clear: - shard-glk: [FAIL][66] ([i915#1888] / [i915#3160]) -> [PASS][67] [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-glk3/igt@gem_create@create-clear.html [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-glk7/igt@gem_create@create-clear.html * igt@gem_ctx_persistence@many-contexts: - shard-tglb: [FAIL][68] ([i915#2410]) -> [PASS][69] [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-tglb1/igt@gem_ctx_persistence@many-contexts.html [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-tglb2/igt@gem_ctx_persistence@many-contexts.html * igt@gem_ctx_ringsize@active@bcs0: - shard-skl: [INCOMPLETE][70] ([i915#3316]) -> [PASS][71] [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-skl4/igt@gem_ctx_ringsize@active@bcs0.html [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-skl9/igt@gem_ctx_ringsize@active@bcs0.html * igt@gem_exec_fair@basic-deadline: - shard-kbl: [FAIL][72] ([i915#2846]) -> [PASS][73] [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-kbl4/igt@gem_exec_fair@basic-deadline.html [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl1/igt@gem_exec_fair@basic-deadline.html - shard-glk: [FAIL][74] ([i915#2846]) -> [PASS][75] [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-glk2/igt@gem_exec_fair@basic-deadline.html [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-glk3/igt@gem_exec_fair@basic-deadline.html * igt@gem_exec_fair@basic-none@vcs0: - shard-kbl: [FAIL][76] ([i915#2842]) -> [PASS][77] +1 similar issue [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-kbl4/igt@gem_exec_fair@basic-none@vcs0.html [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl1/igt@gem_exec_fair@basic-none@vcs0.html * igt@gem_exec_fair@basic-pace@rcs0: - shard-kbl: [SKIP][78] ([fdo#109271]) -> [PASS][79] +1 similar issue [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-kbl1/igt@gem_exec_fair@basic-pace@rcs0.html [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl1/igt@gem_exec_fair@basic-pace@rcs0.html - shard-tglb: [FAIL][80] ([i915#2842]) -> [PASS][81] [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-tglb1/igt@gem_exec_fair@basic-pace@rcs0.html [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-tglb2/igt@gem_exec_fair@basic-pace@rcs0.html * igt@gem_exec_whisper@basic-normal-all: - shard-glk: [DMESG-WARN][82] ([i915#118] / [i915#95]) -> [PASS][83] [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-glk4/igt@gem_exec_whisper@basic-normal-all.html [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-glk1/igt@gem_exec_whisper@basic-normal-all.html * igt@gem_mmap_gtt@cpuset-big-copy: - shard-iclb: [FAIL][84] ([i915#307]) -> [PASS][85] [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-iclb7/igt@gem_mmap_gtt@cpuset-big-copy.html [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-iclb4/igt@gem_mmap_gtt@cpuset-big-copy.html * igt@gem_mmap_gtt@cpuset-big-copy-odd: - shard-iclb: [FAIL][86] ([i915#2428]) -> [PASS][87] [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-iclb3/igt@gem_mmap_gtt@cpuset-big-copy-odd.html [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-iclb3/igt@gem_mmap_gtt@cpuset-big-copy-odd.html * igt@i915_selftest@mock@requests: - shard-skl: [INCOMPLETE][88] ([i915#198]) -> [PASS][89] [88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-skl6/igt@i915_selftest@mock@requests.html [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-skl8/igt@i915_selftest@mock@requests.html * igt@i915_suspend@fence-restore-tiled2untiled: - shard-glk: [FAIL][90] -> [PASS][91] [90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-glk3/igt@i915_suspend@fence-restore-tiled2untiled.html [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-glk6/igt@i915_suspend@fence-restore-tiled2untiled.html * igt@kms_cursor_crc@pipe-c-cursor-suspend: - shard-kbl: [DMESG-WARN][92] ([i915#180]) -> [PASS][93] +5 similar issues [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-kbl4/igt@kms_cursor_crc@pipe-c-cursor-suspend.html [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl6/igt@kms_cursor_crc@pipe-c-cursor-suspend.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic: - shard-skl: [FAIL][94] ([i915#2346]) -> [PASS][95] +2 similar issues [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-skl6/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-skl9/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1: - shard-skl: [FAIL][96] ([i915#2122]) -> [PASS][97] [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-skl7/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-skl6/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html * igt@kms_flip@flip-vs-suspend-interruptible@a-edp1: - shard-skl: [DMESG-WARN][98] ([i915#1982]) -> [PASS][99] [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-skl4/igt@kms_flip@flip-vs-suspend-interruptible@a-edp1.html [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-skl6/igt@kms_flip@flip-vs-suspend-interruptible@a-edp1.html * igt@kms_hdr@bpc-switch-dpms: - shard-skl: [FAIL][100] ([i915#1188]) -> [PASS][101] +1 similar issue [100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-skl1/igt@kms_hdr@bpc-switch-dpms.html [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-skl4/igt@kms_hdr@bpc-switch-dpms.html * igt@kms_psr@psr2_sprite_plane_move: - shard-iclb: [SKIP][102] ([fdo#109441]) -> [PASS][103] +2 similar issues [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-iclb3/igt@kms_psr@psr2_sprite_plane_move.html [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html * igt@perf@polling-parameterized: - shard-iclb: [FAIL][104] ([i915#1542]) -> [PASS][105] [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-iclb5/igt@perf@polling-parameterized.html [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-iclb2/igt@perf@polling-parameterized.html #### Warnings #### * igt@i915_pm_rc6_residency@rc6-fence: - shard-iclb: [WARN][106] ([i915#2681] / [i915#2684]) -> [WARN][107] ([i915#1804] / [i915#2684]) [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-iclb1/igt@i915_pm_rc6_residency@rc6-fence.html [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-iclb3/igt@i915_pm_rc6_residency@rc6-fence.html * igt@i915_pm_rc6_residency@rc6-idle: - shard-iclb: [WARN][108] ([i915#2684]) -> [WARN][109] ([i915#1804] / [i915#2684]) [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-iclb2/igt@i915_pm_rc6_residency@rc6-idle.html [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-iclb7/igt@i915_pm_rc6_residency@rc6-idle.html * igt@kms_dp_dsc@basic-dsc-enable-edp: - shard-iclb: [DMESG-WARN][110] ([i915#1226]) -> [SKIP][111] ([fdo#109349]) [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable-edp.html [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-iclb7/igt@kms_dp_dsc@basic-dsc-enable-edp.html * igt@kms_psr2_sf@cursor-plane-update-sf: - shard-iclb: [SKIP][112] ([i915#2920]) -> [SKIP][113] ([i915#658]) +2 similar issues [112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-iclb2/igt@kms_psr2_sf@cursor-plane-update-sf.html [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-iclb4/igt@kms_psr2_sf@cursor-plane-update-sf.html * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-1: - shard-iclb: [SKIP][114] ([i915#658]) -> [SKIP][115] ([i915#2920]) +2 similar issues [114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-iclb3/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-1.html [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-iclb2/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-1.html * igt@runner@aborted: - shard-kbl: ([FAIL][116], [FAIL][117], [FAIL][118], [FAIL][119], [FAIL][120], [FAIL][121], [FAIL][122], [FAIL][123], [FAIL][124], [FAIL][125]) ([i915#1436] / [i915#180] / [i915#1814] / [i915#2292] / [i915#3002] / [i915#602]) -> ([FAIL][126], [FAIL][127], [FAIL][128], [FAIL][129], [FAIL][130], [FAIL][131], [FAIL][132], [FAIL][133], [FAIL][134], [FAIL][135], [FAIL][136], [FAIL][137], [FAIL][138]) ([i915#1436] / [i915#180] / [i915#1814] / [i915#3002] / [i915#92]) [116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-kbl7/igt@runner@aborted.html [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-kbl3/igt@runner@aborted.html [118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-kbl3/igt@runner@aborted.html [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-kbl3/igt@runner@aborted.html [120]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-kbl7/igt@runner@aborted.html [121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-kbl4/igt@runner@aborted.html [122]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-kbl3/igt@runner@aborted.html [123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-kbl7/igt@runner@aborted.html [124]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-kbl1/igt@runner@aborted.html [125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-kbl7/igt@runner@aborted.html [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl3/igt@runner@aborted.html [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl4/igt@runner@aborted.html [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl4/igt@runner@aborted.html [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl4/igt@runner@aborted.html [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl3/igt@runner@aborted.html [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl1/igt@runner@aborted.html [132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl7/igt@runner@aborted.html [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl4/igt@runner@aborted.html [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl7/igt@runner@aborted.html [135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl2/igt@runner@aborted.html [136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl7/igt@runner@aborted.html [137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl3/igt@runner@aborted.html [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-kbl7/igt@runner@aborted.html - shard-apl: ([FAIL][139], [FAIL][140], [FAIL][141]) ([i915#1814] / [i915#3002]) -> ([FAIL][142], [FAIL][143]) ([i915#3002]) [139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-apl6/igt@runner@aborted.html [140]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-apl2/igt@runner@aborted.html [141]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-apl8/igt@runner@aborted.html [142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-apl2/igt@runner@aborted.html [143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-apl1/igt@runner@aborted.html - shard-skl: ([FAIL][144], [FAIL][145], [FAIL][146], [FAIL][147], [FAIL][148], [FAIL][149]) ([i915#1436] / [i915#1814] / [i915#2029] / [i915#2722] / [i915#3002]) -> ([FAIL][150], [FAIL][151], [FAIL][152]) ([i915#2029] / [i915#3002]) [144]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-skl2/igt@runner@aborted.html [145]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-skl2/igt@runner@aborted.html [146]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-skl6/igt@runner@aborted.html [147]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-skl2/igt@runner@aborted.html [148]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-skl9/igt@runner@aborted.html [149]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10011/shard-skl2/igt@runner@aborted.html [150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-skl1/igt@runner@aborted.html [151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-skl9/igt@runner@aborted.html [152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/shard-skl2/igt@runner@aborted.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2 [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109349]: https://bugs.freedesktop.org/show_bug.cgi?id=109349 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [i915#1099]: https://gitlab.freedesktop.org/drm/intel/issues/1099 [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118 [i915#1188]: https://gitlab.freedesktop.org/drm/intel/issues/1188 [i915#1226]: https://gitlab.freedesktop.org/drm/intel/issues/1226 [i915#1319]: https://gitlab.freedesktop.org/drm/intel/issues/1319 [i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436 [i915#1542]: https://gitlab.freedesktop.org/drm/intel/issues/1542 [i915#155]: https://gitlab.freedesktop.org/drm/intel/issues/155 [i915#1731]: https://gitlab.freedesktop.org/drm/intel/issues/1731 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#1804]: https://gitlab.freedesktop.org/drm/intel/issues/1804 [i915#1814]: https://gitlab.freedesktop.org/drm/intel/issues/1814 [i915#1888]: https://gitlab.freedesktop.org/drm/intel/issues/1888 [i915#1895]: https://gitlab.freedesktop.org/drm/intel/issues/1895 [i915#198]: https://gitlab.freedesktop.org/drm/intel/issues/198 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#2029]: https://gitlab.freedesktop.org/drm/intel/issues/2029 [i915#2105]: https://gitlab.freedesktop.org/drm/intel/issues/2105 [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122 [i915#2292]: https://gitlab.freedesktop.org/drm/intel/issues/2292 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2369]: https://gitlab.freedesktop.org/drm/intel/issues/2369 [i915#2389]: https://gitlab.freedesktop.org/drm/intel/issues/2389 == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19994/index.html [-- Attachment #1.2: Type: text/html, Size: 35963 bytes --] [-- Attachment #2: Type: text/plain, Size: 160 bytes --] _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Intel-gfx] [PATCH v3] drm/i915: Invoke another _DSM to enable MUX on HP Workstation laptops 2021-04-26 15:24 [Intel-gfx] [PATCH v3] drm/i915: Invoke another _DSM to enable MUX on HP Workstation laptops Kai-Heng Feng ` (2 preceding siblings ...) 2021-04-27 4:10 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork @ 2021-05-11 3:33 ` Kai-Heng Feng 2021-05-11 18:19 ` Ville Syrjälä 4 siblings, 0 replies; 8+ messages in thread From: Kai-Heng Feng @ 2021-05-11 3:33 UTC (permalink / raw) To: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Ville Syrjälä Cc: David Airlie, open list, Chris Wilson, Takashi Iwai, open list:DRM DRIVERS, Dave Airlie, intel-gfx On Mon, Apr 26, 2021 at 11:24 PM Kai-Heng Feng <kai.heng.feng@canonical.com> wrote: > > On HP Fury G7 Workstations, graphics output is re-routed from Intel GFX > to discrete GFX after S3. This is not desirable, because userspace will > treat connected display as a new one, losing display settings. > > The expected behavior is to let discrete GFX drives all external > displays. > > The platform in question uses ACPI method \_SB.PCI0.HGME to enable MUX. > The method is inside the another _DSM, so add the _DSM and call it > accordingly. > > I also tested some MUX-less and iGPU only laptops with that _DSM, no > regression was found. > > v3: > - Remove BXT from names. > - Change the parameter type. > - Fold the function into intel_modeset_init_hw(). > > v2: > - Forward declare struct pci_dev. > > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/3113 > References: https://lore.kernel.org/intel-gfx/1460040732-31417-4-git-send-email-animesh.manna@intel.com/ > Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> A gentle ping... > --- > drivers/gpu/drm/i915/display/intel_acpi.c | 18 ++++++++++++++++++ > drivers/gpu/drm/i915/display/intel_acpi.h | 3 +++ > drivers/gpu/drm/i915/display/intel_display.c | 2 ++ > 3 files changed, 23 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/intel_acpi.c b/drivers/gpu/drm/i915/display/intel_acpi.c > index 833d0c1be4f1..d008d3976261 100644 > --- a/drivers/gpu/drm/i915/display/intel_acpi.c > +++ b/drivers/gpu/drm/i915/display/intel_acpi.c > @@ -13,12 +13,17 @@ > #include "intel_display_types.h" > > #define INTEL_DSM_REVISION_ID 1 /* For Calpella anyway... */ > +#define INTEL_DSM_FN_PLATFORM_MUX_ENABLE 0 /* No args */ > #define INTEL_DSM_FN_PLATFORM_MUX_INFO 1 /* No args */ > > static const guid_t intel_dsm_guid = > GUID_INIT(0x7ed873d3, 0xc2d0, 0x4e4f, > 0xa8, 0x54, 0x0f, 0x13, 0x17, 0xb0, 0x1c, 0x2c); > > +static const guid_t intel_dsm_guid2 = > + GUID_INIT(0x3e5b41c6, 0xeb1d, 0x4260, > + 0x9d, 0x15, 0xc7, 0x1f, 0xba, 0xda, 0xe4, 0x14); > + > static char *intel_dsm_port_name(u8 id) > { > switch (id) { > @@ -176,6 +181,19 @@ void intel_unregister_dsm_handler(void) > { > } > > +void intel_dsm_enable_mux(struct drm_i915_private *i915) > +{ > + struct pci_dev *pdev = i915->drm.pdev; > + acpi_handle dhandle; > + > + dhandle = ACPI_HANDLE(&pdev->dev); > + if (!dhandle) > + return; > + > + acpi_evaluate_dsm(dhandle, &intel_dsm_guid2, INTEL_DSM_REVISION_ID, > + INTEL_DSM_FN_PLATFORM_MUX_ENABLE, NULL); > +} > + > /* > * ACPI Specification, Revision 5.0, Appendix B.3.2 _DOD (Enumerate All Devices > * Attached to the Display Adapter). > diff --git a/drivers/gpu/drm/i915/display/intel_acpi.h b/drivers/gpu/drm/i915/display/intel_acpi.h > index e8b068661d22..def013cf6308 100644 > --- a/drivers/gpu/drm/i915/display/intel_acpi.h > +++ b/drivers/gpu/drm/i915/display/intel_acpi.h > @@ -11,11 +11,14 @@ struct drm_i915_private; > #ifdef CONFIG_ACPI > void intel_register_dsm_handler(void); > void intel_unregister_dsm_handler(void); > +void intel_dsm_enable_mux(struct drm_i915_private *i915); > void intel_acpi_device_id_update(struct drm_i915_private *i915); > #else > static inline void intel_register_dsm_handler(void) { return; } > static inline void intel_unregister_dsm_handler(void) { return; } > static inline > +void intel_dsm_enable_mux(struct drm_i915_private *i915) { return; } > +static inline > void intel_acpi_device_id_update(struct drm_i915_private *i915) { return; } > #endif /* CONFIG_ACPI */ > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c > index a10e26380ef3..d79dae370b20 100644 > --- a/drivers/gpu/drm/i915/display/intel_display.c > +++ b/drivers/gpu/drm/i915/display/intel_display.c > @@ -11472,6 +11472,8 @@ void intel_modeset_init_hw(struct drm_i915_private *i915) > { > struct intel_cdclk_state *cdclk_state; > > + intel_dsm_enable_mux(i915); > + > if (!HAS_DISPLAY(i915)) > return; > > -- > 2.30.2 > _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Intel-gfx] [PATCH v3] drm/i915: Invoke another _DSM to enable MUX on HP Workstation laptops 2021-04-26 15:24 [Intel-gfx] [PATCH v3] drm/i915: Invoke another _DSM to enable MUX on HP Workstation laptops Kai-Heng Feng ` (3 preceding siblings ...) 2021-05-11 3:33 ` [Intel-gfx] [PATCH v3] " Kai-Heng Feng @ 2021-05-11 18:19 ` Ville Syrjälä 2021-05-14 9:38 ` Kai-Heng Feng 4 siblings, 1 reply; 8+ messages in thread From: Ville Syrjälä @ 2021-05-11 18:19 UTC (permalink / raw) To: Kai-Heng Feng Cc: open list:DRM DRIVERS, David Airlie, open list, Chris Wilson, Takashi Iwai, Dave Airlie, intel-gfx On Mon, Apr 26, 2021 at 11:24:10PM +0800, Kai-Heng Feng wrote: > On HP Fury G7 Workstations, graphics output is re-routed from Intel GFX > to discrete GFX after S3. This is not desirable, because userspace will > treat connected display as a new one, losing display settings. > > The expected behavior is to let discrete GFX drives all external > displays. > > The platform in question uses ACPI method \_SB.PCI0.HGME to enable MUX. > The method is inside the another _DSM, so add the _DSM and call it > accordingly. > > I also tested some MUX-less and iGPU only laptops with that _DSM, no > regression was found. > > v3: > - Remove BXT from names. > - Change the parameter type. > - Fold the function into intel_modeset_init_hw(). > > v2: > - Forward declare struct pci_dev. > > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/3113 > References: https://lore.kernel.org/intel-gfx/1460040732-31417-4-git-send-email-animesh.manna@intel.com/ > Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> > --- > drivers/gpu/drm/i915/display/intel_acpi.c | 18 ++++++++++++++++++ > drivers/gpu/drm/i915/display/intel_acpi.h | 3 +++ > drivers/gpu/drm/i915/display/intel_display.c | 2 ++ > 3 files changed, 23 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/intel_acpi.c b/drivers/gpu/drm/i915/display/intel_acpi.c > index 833d0c1be4f1..d008d3976261 100644 > --- a/drivers/gpu/drm/i915/display/intel_acpi.c > +++ b/drivers/gpu/drm/i915/display/intel_acpi.c > @@ -13,12 +13,17 @@ > #include "intel_display_types.h" > > #define INTEL_DSM_REVISION_ID 1 /* For Calpella anyway... */ > +#define INTEL_DSM_FN_PLATFORM_MUX_ENABLE 0 /* No args */ This block of defines is for the other DSM. We don't want to mix these up. We also want to name it according to the spec, so something like GET_BIOS_DATA_FUNCS_SUPPORTED. Similarly for the intel_dsm_enable_mux() wrapper function. + it needs a comment to document that some BIOSes abuse it to do MUX initialization and whatnot. We should perhaps rename all the old DSM stuff to something a bit less generic as well... > #define INTEL_DSM_FN_PLATFORM_MUX_INFO 1 /* No args */ > > static const guid_t intel_dsm_guid = > GUID_INIT(0x7ed873d3, 0xc2d0, 0x4e4f, > 0xa8, 0x54, 0x0f, 0x13, 0x17, 0xb0, 0x1c, 0x2c); > > +static const guid_t intel_dsm_guid2 = > + GUID_INIT(0x3e5b41c6, 0xeb1d, 0x4260, > + 0x9d, 0x15, 0xc7, 0x1f, 0xba, 0xda, 0xe4, 0x14); > + > static char *intel_dsm_port_name(u8 id) > { > switch (id) { > @@ -176,6 +181,19 @@ void intel_unregister_dsm_handler(void) > { > } > > +void intel_dsm_enable_mux(struct drm_i915_private *i915) > +{ > + struct pci_dev *pdev = i915->drm.pdev; > + acpi_handle dhandle; > + > + dhandle = ACPI_HANDLE(&pdev->dev); > + if (!dhandle) > + return; > + > + acpi_evaluate_dsm(dhandle, &intel_dsm_guid2, INTEL_DSM_REVISION_ID, > + INTEL_DSM_FN_PLATFORM_MUX_ENABLE, NULL); > +} > + > /* > * ACPI Specification, Revision 5.0, Appendix B.3.2 _DOD (Enumerate All Devices > * Attached to the Display Adapter). > diff --git a/drivers/gpu/drm/i915/display/intel_acpi.h b/drivers/gpu/drm/i915/display/intel_acpi.h > index e8b068661d22..def013cf6308 100644 > --- a/drivers/gpu/drm/i915/display/intel_acpi.h > +++ b/drivers/gpu/drm/i915/display/intel_acpi.h > @@ -11,11 +11,14 @@ struct drm_i915_private; > #ifdef CONFIG_ACPI > void intel_register_dsm_handler(void); > void intel_unregister_dsm_handler(void); > +void intel_dsm_enable_mux(struct drm_i915_private *i915); > void intel_acpi_device_id_update(struct drm_i915_private *i915); > #else > static inline void intel_register_dsm_handler(void) { return; } > static inline void intel_unregister_dsm_handler(void) { return; } > static inline > +void intel_dsm_enable_mux(struct drm_i915_private *i915) { return; } > +static inline > void intel_acpi_device_id_update(struct drm_i915_private *i915) { return; } > #endif /* CONFIG_ACPI */ > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c > index a10e26380ef3..d79dae370b20 100644 > --- a/drivers/gpu/drm/i915/display/intel_display.c > +++ b/drivers/gpu/drm/i915/display/intel_display.c > @@ -11472,6 +11472,8 @@ void intel_modeset_init_hw(struct drm_i915_private *i915) > { > struct intel_cdclk_state *cdclk_state; > > + intel_dsm_enable_mux(i915); > + This should probably be somewhere around where we do all the other semi ACPI related init (OpRegion/etc.). > if (!HAS_DISPLAY(i915)) > return; > > -- > 2.30.2 -- Ville Syrjälä Intel _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Intel-gfx] [PATCH v3] drm/i915: Invoke another _DSM to enable MUX on HP Workstation laptops 2021-05-11 18:19 ` Ville Syrjälä @ 2021-05-14 9:38 ` Kai-Heng Feng 2021-05-17 12:15 ` Jani Nikula 0 siblings, 1 reply; 8+ messages in thread From: Kai-Heng Feng @ 2021-05-14 9:38 UTC (permalink / raw) To: Ville Syrjälä Cc: open list:DRM DRIVERS, David Airlie, open list, Chris Wilson, Takashi Iwai, Dave Airlie, intel-gfx On Wed, May 12, 2021 at 2:19 AM Ville Syrjälä <ville.syrjala@linux.intel.com> wrote: > > On Mon, Apr 26, 2021 at 11:24:10PM +0800, Kai-Heng Feng wrote: > > On HP Fury G7 Workstations, graphics output is re-routed from Intel GFX > > to discrete GFX after S3. This is not desirable, because userspace will > > treat connected display as a new one, losing display settings. > > > > The expected behavior is to let discrete GFX drives all external > > displays. > > > > The platform in question uses ACPI method \_SB.PCI0.HGME to enable MUX. > > The method is inside the another _DSM, so add the _DSM and call it > > accordingly. > > > > I also tested some MUX-less and iGPU only laptops with that _DSM, no > > regression was found. > > > > v3: > > - Remove BXT from names. > > - Change the parameter type. > > - Fold the function into intel_modeset_init_hw(). > > > > v2: > > - Forward declare struct pci_dev. > > > > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/3113 > > References: https://lore.kernel.org/intel-gfx/1460040732-31417-4-git-send-email-animesh.manna@intel.com/ > > Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> > > --- > > drivers/gpu/drm/i915/display/intel_acpi.c | 18 ++++++++++++++++++ > > drivers/gpu/drm/i915/display/intel_acpi.h | 3 +++ > > drivers/gpu/drm/i915/display/intel_display.c | 2 ++ > > 3 files changed, 23 insertions(+) > > > > diff --git a/drivers/gpu/drm/i915/display/intel_acpi.c b/drivers/gpu/drm/i915/display/intel_acpi.c > > index 833d0c1be4f1..d008d3976261 100644 > > --- a/drivers/gpu/drm/i915/display/intel_acpi.c > > +++ b/drivers/gpu/drm/i915/display/intel_acpi.c > > @@ -13,12 +13,17 @@ > > #include "intel_display_types.h" > > > > #define INTEL_DSM_REVISION_ID 1 /* For Calpella anyway... */ > > +#define INTEL_DSM_FN_PLATFORM_MUX_ENABLE 0 /* No args */ > > This block of defines is for the other DSM. We don't want to > mix these up. We also want to name it according to the spec, > so something like GET_BIOS_DATA_FUNCS_SUPPORTED. Similarly > for the intel_dsm_enable_mux() wrapper function. + it needs > a comment to document that some BIOSes abuse it to do MUX > initialization and whatnot. Will do. > > We should perhaps rename all the old DSM stuff to > something a bit less generic as well... I can rename them as well. But what's the naming scheme you prefer? > > > #define INTEL_DSM_FN_PLATFORM_MUX_INFO 1 /* No args */ > > > > static const guid_t intel_dsm_guid = > > GUID_INIT(0x7ed873d3, 0xc2d0, 0x4e4f, > > 0xa8, 0x54, 0x0f, 0x13, 0x17, 0xb0, 0x1c, 0x2c); > > > > +static const guid_t intel_dsm_guid2 = > > + GUID_INIT(0x3e5b41c6, 0xeb1d, 0x4260, > > + 0x9d, 0x15, 0xc7, 0x1f, 0xba, 0xda, 0xe4, 0x14); > > + > > static char *intel_dsm_port_name(u8 id) > > { > > switch (id) { > > @@ -176,6 +181,19 @@ void intel_unregister_dsm_handler(void) > > { > > } > > > > +void intel_dsm_enable_mux(struct drm_i915_private *i915) > > +{ > > + struct pci_dev *pdev = i915->drm.pdev; > > + acpi_handle dhandle; > > + > > + dhandle = ACPI_HANDLE(&pdev->dev); > > + if (!dhandle) > > + return; > > + > > + acpi_evaluate_dsm(dhandle, &intel_dsm_guid2, INTEL_DSM_REVISION_ID, > > + INTEL_DSM_FN_PLATFORM_MUX_ENABLE, NULL); > > +} > > + > > /* > > * ACPI Specification, Revision 5.0, Appendix B.3.2 _DOD (Enumerate All Devices > > * Attached to the Display Adapter). > > diff --git a/drivers/gpu/drm/i915/display/intel_acpi.h b/drivers/gpu/drm/i915/display/intel_acpi.h > > index e8b068661d22..def013cf6308 100644 > > --- a/drivers/gpu/drm/i915/display/intel_acpi.h > > +++ b/drivers/gpu/drm/i915/display/intel_acpi.h > > @@ -11,11 +11,14 @@ struct drm_i915_private; > > #ifdef CONFIG_ACPI > > void intel_register_dsm_handler(void); > > void intel_unregister_dsm_handler(void); > > +void intel_dsm_enable_mux(struct drm_i915_private *i915); > > void intel_acpi_device_id_update(struct drm_i915_private *i915); > > #else > > static inline void intel_register_dsm_handler(void) { return; } > > static inline void intel_unregister_dsm_handler(void) { return; } > > static inline > > +void intel_dsm_enable_mux(struct drm_i915_private *i915) { return; } > > +static inline > > void intel_acpi_device_id_update(struct drm_i915_private *i915) { return; } > > #endif /* CONFIG_ACPI */ > > > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c > > index a10e26380ef3..d79dae370b20 100644 > > --- a/drivers/gpu/drm/i915/display/intel_display.c > > +++ b/drivers/gpu/drm/i915/display/intel_display.c > > @@ -11472,6 +11472,8 @@ void intel_modeset_init_hw(struct drm_i915_private *i915) > > { > > struct intel_cdclk_state *cdclk_state; > > > > + intel_dsm_enable_mux(i915); > > + > > This should probably be somewhere around where we do all the other > semi ACPI related init (OpRegion/etc.). Hmm, but Jani prefers to put it inside intel_modeset_*() helpers. But I don't see any opregion related functions are being called by intel_modeset_*() helpers. Any suggestion? Kai-Heng > > > if (!HAS_DISPLAY(i915)) > > return; > > > > -- > > 2.30.2 > > -- > Ville Syrjälä > Intel _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Intel-gfx] [PATCH v3] drm/i915: Invoke another _DSM to enable MUX on HP Workstation laptops 2021-05-14 9:38 ` Kai-Heng Feng @ 2021-05-17 12:15 ` Jani Nikula 0 siblings, 0 replies; 8+ messages in thread From: Jani Nikula @ 2021-05-17 12:15 UTC (permalink / raw) To: Kai-Heng Feng, Ville Syrjälä Cc: David Airlie, open list, Chris Wilson, Takashi Iwai, open list:DRM DRIVERS, Dave Airlie, intel-gfx On Fri, 14 May 2021, Kai-Heng Feng <kai.heng.feng@canonical.com> wrote: > On Wed, May 12, 2021 at 2:19 AM Ville Syrjälä > <ville.syrjala@linux.intel.com> wrote: >> >> On Mon, Apr 26, 2021 at 11:24:10PM +0800, Kai-Heng Feng wrote: >> > On HP Fury G7 Workstations, graphics output is re-routed from Intel GFX >> > to discrete GFX after S3. This is not desirable, because userspace will >> > treat connected display as a new one, losing display settings. >> > >> > The expected behavior is to let discrete GFX drives all external >> > displays. >> > >> > The platform in question uses ACPI method \_SB.PCI0.HGME to enable MUX. >> > The method is inside the another _DSM, so add the _DSM and call it >> > accordingly. >> > >> > I also tested some MUX-less and iGPU only laptops with that _DSM, no >> > regression was found. >> > >> > v3: >> > - Remove BXT from names. >> > - Change the parameter type. >> > - Fold the function into intel_modeset_init_hw(). >> > >> > v2: >> > - Forward declare struct pci_dev. >> > >> > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/3113 >> > References: https://lore.kernel.org/intel-gfx/1460040732-31417-4-git-send-email-animesh.manna@intel.com/ >> > Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> >> > --- >> > drivers/gpu/drm/i915/display/intel_acpi.c | 18 ++++++++++++++++++ >> > drivers/gpu/drm/i915/display/intel_acpi.h | 3 +++ >> > drivers/gpu/drm/i915/display/intel_display.c | 2 ++ >> > 3 files changed, 23 insertions(+) >> > >> > diff --git a/drivers/gpu/drm/i915/display/intel_acpi.c b/drivers/gpu/drm/i915/display/intel_acpi.c >> > index 833d0c1be4f1..d008d3976261 100644 >> > --- a/drivers/gpu/drm/i915/display/intel_acpi.c >> > +++ b/drivers/gpu/drm/i915/display/intel_acpi.c >> > @@ -13,12 +13,17 @@ >> > #include "intel_display_types.h" >> > >> > #define INTEL_DSM_REVISION_ID 1 /* For Calpella anyway... */ >> > +#define INTEL_DSM_FN_PLATFORM_MUX_ENABLE 0 /* No args */ >> >> This block of defines is for the other DSM. We don't want to >> mix these up. We also want to name it according to the spec, >> so something like GET_BIOS_DATA_FUNCS_SUPPORTED. Similarly >> for the intel_dsm_enable_mux() wrapper function. + it needs >> a comment to document that some BIOSes abuse it to do MUX >> initialization and whatnot. > > Will do. > > >> >> We should perhaps rename all the old DSM stuff to >> something a bit less generic as well... > > I can rename them as well. But what's the naming scheme you prefer? > >> >> > #define INTEL_DSM_FN_PLATFORM_MUX_INFO 1 /* No args */ >> > >> > static const guid_t intel_dsm_guid = >> > GUID_INIT(0x7ed873d3, 0xc2d0, 0x4e4f, >> > 0xa8, 0x54, 0x0f, 0x13, 0x17, 0xb0, 0x1c, 0x2c); >> > >> > +static const guid_t intel_dsm_guid2 = >> > + GUID_INIT(0x3e5b41c6, 0xeb1d, 0x4260, >> > + 0x9d, 0x15, 0xc7, 0x1f, 0xba, 0xda, 0xe4, 0x14); >> > + >> > static char *intel_dsm_port_name(u8 id) >> > { >> > switch (id) { >> > @@ -176,6 +181,19 @@ void intel_unregister_dsm_handler(void) >> > { >> > } >> > >> > +void intel_dsm_enable_mux(struct drm_i915_private *i915) >> > +{ >> > + struct pci_dev *pdev = i915->drm.pdev; >> > + acpi_handle dhandle; >> > + >> > + dhandle = ACPI_HANDLE(&pdev->dev); >> > + if (!dhandle) >> > + return; >> > + >> > + acpi_evaluate_dsm(dhandle, &intel_dsm_guid2, INTEL_DSM_REVISION_ID, >> > + INTEL_DSM_FN_PLATFORM_MUX_ENABLE, NULL); >> > +} >> > + >> > /* >> > * ACPI Specification, Revision 5.0, Appendix B.3.2 _DOD (Enumerate All Devices >> > * Attached to the Display Adapter). >> > diff --git a/drivers/gpu/drm/i915/display/intel_acpi.h b/drivers/gpu/drm/i915/display/intel_acpi.h >> > index e8b068661d22..def013cf6308 100644 >> > --- a/drivers/gpu/drm/i915/display/intel_acpi.h >> > +++ b/drivers/gpu/drm/i915/display/intel_acpi.h >> > @@ -11,11 +11,14 @@ struct drm_i915_private; >> > #ifdef CONFIG_ACPI >> > void intel_register_dsm_handler(void); >> > void intel_unregister_dsm_handler(void); >> > +void intel_dsm_enable_mux(struct drm_i915_private *i915); >> > void intel_acpi_device_id_update(struct drm_i915_private *i915); >> > #else >> > static inline void intel_register_dsm_handler(void) { return; } >> > static inline void intel_unregister_dsm_handler(void) { return; } >> > static inline >> > +void intel_dsm_enable_mux(struct drm_i915_private *i915) { return; } >> > +static inline >> > void intel_acpi_device_id_update(struct drm_i915_private *i915) { return; } >> > #endif /* CONFIG_ACPI */ >> > >> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c >> > index a10e26380ef3..d79dae370b20 100644 >> > --- a/drivers/gpu/drm/i915/display/intel_display.c >> > +++ b/drivers/gpu/drm/i915/display/intel_display.c >> > @@ -11472,6 +11472,8 @@ void intel_modeset_init_hw(struct drm_i915_private *i915) >> > { >> > struct intel_cdclk_state *cdclk_state; >> > >> > + intel_dsm_enable_mux(i915); >> > + >> >> This should probably be somewhere around where we do all the other >> semi ACPI related init (OpRegion/etc.). > > Hmm, but Jani prefers to put it inside intel_modeset_*() helpers. But > I don't see any opregion related functions are being called by > intel_modeset_*() helpers. Any suggestion? I think I mainly wanted it in intel_display.c instead of at the driver top level. BR, Jani. > > Kai-Heng > >> >> > if (!HAS_DISPLAY(i915)) >> > return; >> > >> > -- >> > 2.30.2 >> >> -- >> Ville Syrjälä >> Intel -- Jani Nikula, Intel Open Source Graphics Center _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2021-05-17 12:15 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-04-26 15:24 [Intel-gfx] [PATCH v3] drm/i915: Invoke another _DSM to enable MUX on HP Workstation laptops Kai-Heng Feng 2021-04-26 19:22 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork 2021-04-26 19:53 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2021-04-27 4:10 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork 2021-05-11 3:33 ` [Intel-gfx] [PATCH v3] " Kai-Heng Feng 2021-05-11 18:19 ` Ville Syrjälä 2021-05-14 9:38 ` Kai-Heng Feng 2021-05-17 12:15 ` Jani Nikula
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox