linux_dsm_epyc7002/drivers/gpu/drm/i915/display
José Roberto de Souza 542dfab53e drm/i915/display: Fix warning about MST and DDI restrictions
Capturing the restrictions of the BSpec pages bellow:

SKL and CNL do not support MST in DDI E, DDI E only support 2 lanes
and it is mostly used to support a 4 lanes eDP panel together with
DDI A.
ICL's DDI E support MST just like other ports but DDI A is still eDP
and MIPI only.
TGL supports MST in any DDI, including DDI A but TGL has it's own
ddi_pre_enable_dp function already without any warning.

[  215.579791] ------------[ cut here ]------------
[  215.579794] WARN_ON(is_mst && (port == PORT_A || port == PORT_E))
[  215.579875] WARNING: CPU: 0 PID: 268 at drivers/gpu/drm/i915/display/intel_ddi.c:3576 intel_ddi_pre_enable+0x124/0xea0 [i915]
[  215.579878] Modules linked in: snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic i915 btusb btrtl btbcm btintel bluetooth prime_numbers snd_hda_intel snd_intel_dspcfg snd_hda_codec e1000e snd_hwdep snd_hda_core asix mei_hdcp cdc_ether x86_pkg_temp_thermal mei_me snd_pcm r8152 coretemp usbnet mei crct10dif_pclmul mii ptp ecdh_generic crc32_pclmul i2c_i801 ecc pps_core ghash_clmulni_intel thunderbolt
[  215.579905] CPU: 0 PID: 268 Comm: kworker/0:2 Tainted: G        W         5.4.0-rc8-zeh+ #1307
[  215.579907] Hardware name: Intel Corporation Ice Lake Client Platform/IceLake U DDR4 SODIMM PD RVP TLC, BIOS ICLSFWR1.R00.3201.A00.1905140358 05/14/2019
[  215.579912] Workqueue: events_long drm_dp_mst_link_probe_work
[  215.579975] RIP: 0010:intel_ddi_pre_enable+0x124/0xea0 [i915]
[  215.579978] Code: ff 8b 7c 24 10 89 44 24 30 85 ff 74 1f f7 44 24 18 fb ff ff ff 75 15 48 c7 c6 98 fa 48 a0 48 c7 c7 d3 df 4a a0 e8 cf d5 d0 e0 <0f> 0b 0f b6 4c 24 2c 41 8b b5 04 06 00 00 4c 89 e7 41 0f b6 95 0c
[  215.579980] RSP: 0018:ffffc90001a5f990 EFLAGS: 00010286
[  215.579984] RAX: 0000000000000000 RBX: ffff88848356a000 RCX: 0000000000000000
[  215.579986] RDX: 0000000000001df1 RSI: ffff88849340c998 RDI: ffffffff821489c5
[  215.579989] RBP: ffff88848356a000 R08: 00000000c021a419 R09: 0000000000000000
[  215.579991] R10: 0000000000000000 R11: 0000000000000000 R12: ffff88848356a118
[  215.579994] R13: ffff88847f39c000 R14: ffff88847fe70000 R15: ffff88848356a000
[  215.579996] FS:  0000000000000000(0000) GS:ffff88849f800000(0000) knlGS:0000000000000000
[  215.579999] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  215.580001] CR2: 000055d3d5a26bc0 CR3: 0000000480ba6005 CR4: 0000000000760ef0
[  215.580004] PKRU: 55555554
[  215.580006] Call Trace:
[  215.580014]  ? drm_dp_mst_topology_put_port+0x6f/0x130
[  215.580072]  intel_mst_pre_enable_dp+0x14b/0x170 [i915]
[  215.580129]  intel_encoders_pre_enable+0x76/0x90 [i915]
[  215.580191]  haswell_crtc_enable+0x84/0x880 [i915]
[  215.580266]  intel_update_crtc+0x1e4/0x200 [i915]
[  215.580333]  skl_commit_modeset_enables+0x287/0x420 [i915]
[  215.580405]  intel_atomic_commit_tail+0x332/0x14e0 [i915]
[  215.580410]  ? queue_work_on+0x41/0x70
[  215.580489]  intel_atomic_commit+0x31e/0x350 [i915]
[  215.580500]  drm_client_modeset_commit_atomic+0x18b/0x220
[  215.580523]  drm_client_modeset_commit_force+0x4d/0x180
[  215.580531]  drm_fb_helper_restore_fbdev_mode_unlocked+0x46/0xa0
[  215.580538]  drm_fb_helper_set_par+0x27/0x50
[  215.580543]  drm_fb_helper_hotplug_event.part.0+0xa7/0xc0
[  215.580549]  drm_kms_helper_hotplug_event+0x21/0x30
[  215.580553]  process_one_work+0x25b/0x5b0
[  215.580566]  worker_thread+0x4b/0x3b0
[  215.580578]  kthread+0x100/0x140
[  215.580581]  ? process_one_work+0x5b0/0x5b0
[  215.580585]  ? kthread_park+0x80/0x80
[  215.580591]  ret_from_fork+0x24/0x50
[  215.580603] irq event stamp: 1393930
[  215.580606] hardirqs last  enabled at (1393929): [<ffffffff8112a013>] vprintk_emit+0x143/0x330
[  215.580609] hardirqs last disabled at (1393930): [<ffffffff81001cfa>] trace_hardirqs_off_thunk+0x1a/0x20
[  215.580613] softirqs last  enabled at (1393434): [<ffffffff81c00389>] __do_softirq+0x389/0x47f
[  215.580618] softirqs last disabled at (1393423): [<ffffffff810b7199>] irq_exit+0xa9/0xc0
[  215.580621] ---[ end trace afd44ea9caa6373e ]---

BSpec: 4217
BSpec: 14004
BSpec: 20584
BSpec: 50583
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200107170922.153612-2-jose.souza@intel.com
2020-01-08 08:32:49 -08:00
..
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
icl_dsi.c drm/i915: prefer 3-letter acronym for skylake 2019-12-28 13:37:59 -08:00
intel_acpi.c
intel_acpi.h
intel_atomic_plane.c drm/i915: Make sure CCS YUV semiplanar format checks work 2019-12-23 13:51:02 +02:00
intel_atomic_plane.h drm/i915: Remove special case slave handling during hw programming, v3. 2019-11-01 14:51:21 +01:00
intel_atomic.c drm/i915/display: Force the state compute phase once to enable PSR 2020-01-08 08:12:01 -08:00
intel_atomic.h drm/i915/tgl: Select master transcoder for MST stream 2019-12-23 09:26:41 -08:00
intel_audio.c drm/i915: Limit audio CDCLK>=2*BCLK constraint back to GLK only 2020-01-06 08:45:35 -08:00
intel_audio.h
intel_bios.c drm/i915/bios: remove extra debug messages 2019-12-13 14:36:06 -08:00
intel_bios.h drm/i915/bios: add support for querying DSC details for encoder 2019-12-11 07:39:47 +02:00
intel_bw.c drm/i915/display: cleanup intel_bw_state on i915 module removal 2019-12-24 15:01:50 +05:30
intel_bw.h drm/i915/display: cleanup intel_bw_state on i915 module removal 2019-12-24 15:01:50 +05:30
intel_cdclk.c drm/i915/ehl: Update voltage level checks 2019-11-18 21:07:04 -08:00
intel_cdclk.h
intel_color.c drm/i915: Preload LUTs if the hw isn't currently using them 2019-11-11 11:44:43 +02:00
intel_color.h
intel_combo_phy.c
intel_combo_phy.h
intel_connector.c drm/i915/dp: Attach colorspace property 2019-10-15 16:24:59 +03:00
intel_connector.h
intel_crt.c drm/i915: prefer 3-letter acronym for ironlake 2019-12-28 13:38:03 -08:00
intel_crt.h
intel_ddi.c drm/i915/display: Fix warning about MST and DDI restrictions 2020-01-08 08:32:49 -08:00
intel_ddi.h drm/i915: Call hsw_fdi_link_train() directly() 2019-12-18 16:47:34 +02:00
intel_display_power.c drm/i915/icl: Cleanup combo PHY aux power well handlers 2019-12-13 12:06:34 -08:00
intel_display_power.h drm/i915: fix comment for POWER_DOMAIN_TRANSCODER_VDSC_PW2 2019-12-23 11:58:49 +02:00
intel_display_types.h drm/i915/tgl: Gen-12 display can decompress surfaces compressed by the media engine 2020-01-07 13:16:49 +02:00
intel_display.c drm/i915/display: Use external dependency loop for port sync 2020-01-07 06:30:11 -08:00
intel_display.h drm/i915/tgl: Gen-12 display can decompress surfaces compressed by the media engine 2020-01-07 13:16:49 +02:00
intel_dp_aux_backlight.c
intel_dp_aux_backlight.h
intel_dp_link_training.c
intel_dp_link_training.h
intel_dp_mst.c drm/i915: prefer 3-letter acronym for ironlake 2019-12-28 13:38:03 -08:00
intel_dp_mst.h drm/i915/tgl: Select master transcoder for MST stream 2019-12-23 09:26:41 -08:00
intel_dp.c drm/i915: prefer 3-letter acronym for ironlake 2019-12-28 13:38:03 -08:00
intel_dp.h drm/i915/dp: Program an Infoframe SDP Header and DB for HDR Static Metadata 2019-10-15 16:24:59 +03:00
intel_dpio_phy.c drm/i915: Perform automated conversions for crtc uapi/hw split, base -> uapi. 2019-11-01 14:51:21 +01:00
intel_dpio_phy.h
intel_dpll_mgr.c drm/i915: Perform automated conversions for crtc uapi/hw split, base -> uapi. 2019-11-01 14:51:21 +01:00
intel_dpll_mgr.h drm/i915: Describe structure member in documentation 2019-10-25 12:06:26 +01:00
intel_dsb.c drm/i915/dsb: fix cmd_buf being wrongly set 2019-12-02 10:06:25 -08:00
intel_dsb.h drm/i915/dsb: remove atomic operations 2019-11-18 13:27:09 -08:00
intel_dsi_dcs_backlight.c
intel_dsi_dcs_backlight.h
intel_dsi_vbt.c drm/i915/dsi: Control panel and backlight enable GPIOs on BYT 2020-01-03 11:47:01 +01:00
intel_dsi.c
intel_dsi.h drm/i915/dsi: Control panel and backlight enable GPIOs on BYT 2020-01-03 11:47:01 +01:00
intel_dvo_dev.h
intel_dvo.c drm/i915: Perform automated conversions for crtc uapi/hw split, base -> uapi. 2019-11-01 14:51:21 +01:00
intel_dvo.h
intel_fbc.c drm/i915/fbc: Reject PLANE_OFFSET.y%4!=0 on icl+ too 2019-12-19 22:18:26 +02:00
intel_fbc.h drm/i915/fbc: Wait for vblank after FBC disable on glk+ 2019-12-09 16:10:58 +02:00
intel_fbdev.c drm/i915/fbdev: Restore physical addresses for fb_mmap() 2019-11-14 12:16:13 +00:00
intel_fbdev.h
intel_fifo_underrun.c drm/i915: prefer 3-letter acronym for ivybridge 2019-12-28 13:38:08 -08:00
intel_fifo_underrun.h
intel_frontbuffer.c drm/i915: Hold reference to intel_frontbuffer as we track activity 2019-12-18 12:09:57 +00:00
intel_frontbuffer.h drm/i915: Hold reference to intel_frontbuffer as we track activity 2019-12-18 12:09:57 +00:00
intel_gmbus.c
intel_gmbus.h
intel_hdcp.c drm/i915/hdcp: Nuke intel_hdcp_transcoder_config() 2019-12-09 17:49:39 +02:00
intel_hdcp.h drm/i915/hdcp: Nuke intel_hdcp_transcoder_config() 2019-12-09 17:49:39 +02:00
intel_hdmi.c drm/i915: Provide ddc symlink in hdmi connector sysfs directory 2019-12-19 15:07:03 +02:00
intel_hdmi.h
intel_hotplug.c
intel_hotplug.h
intel_lpe_audio.c
intel_lpe_audio.h
intel_lspcon.c drm/i915: Perform automated conversions for crtc uapi/hw split, base -> hw. 2019-11-01 14:51:20 +01:00
intel_lspcon.h
intel_lvds.c drm/i915: Perform automated conversions for crtc uapi/hw split, base -> uapi. 2019-11-01 14:51:21 +01:00
intel_lvds.h
intel_opregion.c drm/i915: opregion: set opregion chpd value to indicate the driver handles hotplug 2019-12-16 21:38:05 +01:00
intel_opregion.h
intel_overlay.c drm/i915/gt: Pull GT initialisation under intel_gt_init() 2019-12-22 12:51:32 +00:00
intel_overlay.h
intel_panel.c drm/i915: DSI: select correct PWM controller to use based on the VBT 2019-12-17 11:24:48 +01:00
intel_panel.h
intel_pipe_crc.c drm/i915: Perform automated conversions for crtc uapi/hw split, base -> uapi. 2019-11-01 14:51:21 +01:00
intel_pipe_crc.h
intel_psr.c drm/i915/display: Force the state compute phase once to enable PSR 2020-01-08 08:12:01 -08:00
intel_psr.h drm/i915/display: Force the state compute phase once to enable PSR 2020-01-08 08:12:01 -08:00
intel_quirks.c
intel_quirks.h
intel_sdvo_regs.h
intel_sdvo.c drm/i915: Drop redundant aspec ratio prop value initialization 2019-11-14 19:49:19 +02:00
intel_sdvo.h
intel_sprite.c drm/i915/tgl: Gen-12 display can decompress surfaces compressed by the media engine 2020-01-07 13:16:49 +02:00
intel_sprite.h drm/i915: Allow planes to declare their minimum acceptable cdclk 2019-10-24 21:22:25 +03:00
intel_tc.c drm/i915/tc: Update DP_MODE programming 2019-09-27 10:40:17 -07:00
intel_tc.h drm/i915/tc: Update DP_MODE programming 2019-09-27 10:40:17 -07:00
intel_tv.c drm/i915: Perform automated conversions for crtc uapi/hw split, base -> uapi. 2019-11-01 14:51:21 +01:00
intel_tv.h
intel_vbt_defs.h drm/i915/bios: parse compression parameters block 2019-12-11 07:39:41 +02:00
intel_vdsc.c drm/i915/dsc: fix DSC power domains for DSI 2019-12-19 15:24:03 +02:00
intel_vdsc.h drm/i915/dsc: add basic hardware state readout support 2019-12-11 08:16:16 +02:00
intel_vga.c drm/i915/vga: rename intel_vga_msr_write() to intel_vga_reset_io_mem() 2019-10-06 11:24:53 +03:00
intel_vga.h drm/i915/vga: rename intel_vga_msr_write() to intel_vga_reset_io_mem() 2019-10-06 11:24:53 +03:00
vlv_dsi_pll.c
vlv_dsi.c drm/i915/dsi: Init panel-enable GPIO to low when the LCD is initially off (v2) 2020-01-03 11:46:59 +01:00