1. 02 Nov, 2018 10 commits
  2. 01 Nov, 2018 27 commits
  3. 31 Oct, 2018 3 commits
    • Manasi Navare's avatar
      drm/i915/ICL: Add pre_pll_enable hook for ICL and set DFLEXDPMLE in this hook · 03ad7d88
      Manasi Navare authored
      In case of Legacy DP connector on TypeC port, the
      flex IO DPMLE register is set to number of lanes configured
      by the display driver which will be programmed into DDI_BUF_CTL
      PORT_WIDTH_SELECTION.
      This needs to be programmed before enabling the shared PLLs hence
      add a pre_pll_enable hook for ICL and add this programming in that hook.
      
      v2:
      * Remove the check for combophy port (Jose)
      * Simplify the port reversal check logic (Jose)
      
      Cc: Lucas De Marchi <lucas.demarchi@intel.com>
      Cc: Jose Roberto de Souza <jose.souza@intel.com>
      Cc: Animesh Manna <animesh.manna@intel.com>
      Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: default avatarManasi Navare <manasi.d.navare@intel.com>
      Reviewed-by: default avatarJosé Roberto de Souza <jose.souza@intel.com>
      Acked-by: default avatarImre Deak <imre.deak@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20181023191248.26418-2-manasi.d.navare@intel.com
      03ad7d88
    • Manasi Navare's avatar
      drm/i915/icl: Fix the macros for DFLEXDPMLE register bits · b4335ec0
      Manasi Navare authored
      This patch fixes the macros used for defining the DFLEXDPMLE
      register bit fields. This accounts for changes in the spec.
      
      Fixes: a2bc69a1 ("drm/i915/icl: Add register definition for DFLEXDPMLE")
      Cc: Animesh Manna <animesh.manna@intel.com>
      Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Cc: Jose Roberto de Souza <jose.souza@intel.com>
      Cc: <stable@vger.kernel.org> # v4.19+
      Signed-off-by: default avatarManasi Navare <manasi.d.navare@intel.com>
      Reviewed-by: default avatarJosé Roberto de Souza <jose.souza@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20181023191248.26418-1-manasi.d.navare@intel.com
      b4335ec0
    • José Roberto de Souza's avatar
      drm/i915/icl: Fix crash when getting DPLL of a MST encoder in TC ports · 17a3b15a
      José Roberto de Souza authored
      enc_to_dig_port() returns NULL for encoders of type
      INTEL_OUTPUT_DP_MST causing the crash bellow:
      
      [ 2832.836101] BUG: unable to handle kernel paging request at 00000000000012b8
      [ 2832.843062] PGD 0 P4D 0
      [ 2832.845610] Oops: 0000 [#1] SMP
      [ 2832.848764] CPU: 2 PID: 3577 Comm: kworker/2:0 Tainted: G        W         4.19.0-rc7+ #491
      [ 2832.857106] Hardware name: Intel Corporation Ice Lake Client Platform/IceLake U DDR4 SODIMM PD RVP TLC, BIOS ICLSFWR1.R00.2352.A01.1808281852 08/28/2018
      [ 2832.870734] Workqueue: events output_poll_execute
      [ 2832.875480] RIP: 0010:icl_get_dpll+0xa4/0x5d0 [i915]
      [ 2832.880449] Code: e9 03 f3 48 ab 8b 6e 74 41 8b 8c 24 5c 03 00 00 85 ed 0f 88 3f 02 00 00 83 fd 01 0f 8e ad 01 00 00 83 fd 05 0f 8f 2d 02 00 00 <83> ba b8 12 00 00 02 48 8b 36 0f 84 39 02 00 00 44 8b be ec 89 00
      [ 2832.899176] RSP: 0018:ffffc90001b57a78 EFLAGS: 00010293
      [ 2832.904404] RAX: 0000000000000000 RBX: ffffc90001b57a94 RCX: 0000000000083d60
      [ 2832.911536] RDX: 0000000000000000 RSI: ffff8804a8c0dc00 RDI: ffffc90001b57b18
      [ 2832.918668] RBP: 0000000000000003 R08: ffff8804a8c1f990 R09: ffff8804a8c1f990
      [ 2832.925797] R10: 0000000000000000 R11: ffff8804a8e99600 R12: ffff8804a7760000
      [ 2832.932930] R13: ffff88049e94d000 R14: ffff88049e94d000 R15: 000000000000000e
      [ 2832.940063] FS:  0000000000000000(0000) GS:ffff8804b0300000(0000) knlGS:0000000000000000
      [ 2832.948147] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [ 2832.953893] CR2: 00000000000012b8 CR3: 0000000004a1d004 CR4: 0000000000760ee0
      [ 2832.961027] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [ 2832.968155] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      [ 2832.975286] PKRU: 55555554
      [ 2832.978003] Call Trace:
      [ 2832.980496]  haswell_crtc_compute_clock+0x3d/0x68 [i915]
      [ 2832.985841]  intel_crtc_atomic_check+0x61/0x340 [i915]
      [ 2832.990987]  drm_atomic_helper_check_planes+0x130/0x1c0
      [ 2832.996245]  intel_atomic_check+0x4d5/0x10f0 [i915]
      [ 2833.001147]  drm_atomic_check_only+0x484/0x690
      [ 2833.005629]  drm_atomic_commit+0x13/0x50
      [ 2833.009564]  restore_fbdev_mode_atomic+0x1c9/0x1e0
      [ 2833.014363]  drm_fb_helper_restore_fbdev_mode_unlocked+0x47/0x90
      [ 2833.020368]  drm_fb_helper_set_par+0x29/0x50
      [ 2833.024641]  drm_fb_helper_hotplug_event.part.33+0x92/0xb0
      [ 2833.030130]  drm_kms_helper_hotplug_event+0x26/0x30
      [ 2833.035013]  output_poll_execute+0x192/0x1b0
      [ 2833.039293]  process_one_work+0x2a5/0x5f0
      [ 2833.043315]  worker_thread+0x2d/0x3d0
      [ 2833.046988]  ? rescuer_thread+0x340/0x340
      [ 2833.051009]  kthread+0x112/0x130
      [ 2833.054247]  ? kthread_create_worker_on_cpu+0x70/0x70
      [ 2833.059307]  ret_from_fork+0x3a/0x50
      [ 2833.062893] Modules linked in: i915 prime_numbers snd_hda_codec_realtek snd_hda_codec_generic asix snd_usb_audio snd_usbmidi_lib snd_seq_midi snd_seq_midi_event snd_rawmidi cdc_ether usbnet x86_pkg_temp_thermal xhci_pci xhci_hcd ucsi_acpi typec_ucsi typec efivarfs [last unloaded: prime_numbers]
      [ 2833.088917] CR2: 00000000000012b8
      [ 2833.092241] ---[ end trace 25f9fe3d47af2e75 ]---
      [ 2833.096895] RIP: 0010:icl_get_dpll+0xa4/0x5d0 [i915]
      [ 2833.101866] Code: e9 03 f3 48 ab 8b 6e 74 41 8b 8c 24 5c 03 00 00 85 ed 0f 88 3f 02 00 00 83 fd 01 0f 8e ad 01 00 00 83 fd 05 0f 8f 2d 02 00 00 <83> ba b8 12 00 00 02 48 8b 36 0f 84 39 02 00 00 44 8b be ec 89 00
      [ 2833.120589] RSP: 0018:ffffc90001b57a78 EFLAGS: 00010293
      [ 2833.125815] RAX: 0000000000000000 RBX: ffffc90001b57a94 RCX: 0000000000083d60
      [ 2833.132946] RDX: 0000000000000000 RSI: ffff8804a8c0dc00 RDI: ffffc90001b57b18
      [ 2833.140080] RBP: 0000000000000003 R08: ffff8804a8c1f990 R09: ffff8804a8c1f990
      [ 2833.147213] R10: 0000000000000000 R11: ffff8804a8e99600 R12: ffff8804a7760000
      [ 2833.154350] R13: ffff88049e94d000 R14: ffff88049e94d000 R15: 000000000000000e
      [ 2833.161483] FS:  0000000000000000(0000) GS:ffff8804b0300000(0000) knlGS:0000000000000000
      [ 2833.169565] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [ 2833.175313] CR2: 00000000000012b8 CR3: 0000000004a1d004 CR4: 0000000000760ee0
      [ 2833.182449] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [ 2833.189578] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      [ 2833.196712] PKRU: 55555554
      
      MST ports are allocated from struct intel_dp_mst_encoder not from
      struct intel_digital_port as regular ports, so to get the TC type it
      is necessary check the primary digital port of the mst encoder.
      
      Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: default avatarJosé Roberto de Souza <jose.souza@intel.com>
      Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20181030215750.28213-5-jose.souza@intel.com
      17a3b15a