1. 29 6月, 2018 17 次提交
  2. 28 6月, 2018 2 次提交
  3. 27 6月, 2018 9 次提交
  4. 26 6月, 2018 1 次提交
    • I
      drm/i915/ddi: Get AUX power domain for DP main link too · 52528055
      Imre Deak 提交于
      So far we got an AUX power domain reference only for the duration of DP
      AUX transfers. However, the following suggests that we also need these
      for main link functionality:
      - The specification doesn't state whether it's needed or not for main
        link functionality, but suggests that these power wells need to be
        enabled already during display core initialization (Sequences to
        Initialize Display).
      - For PSR we need to keep the AUX power well enabled.
      - On ICL combo PHY ports (non-TC) the AUX power well is needed for
        link training too: while the port is enabled with a DP link training
        test pattern trying to toggle the AUX power well will time out.
      - On ICL MG PHY ports (TC) the AUX power well is needed also for main
        link functionality (both in DP and HDMI modes).
      - Windows enables these power wells both for main and AUX lane
        functionality.
      
      Based on the above take an AUX power reference for main link
      functionality too. This makes a difference only on GEN10+ (GLK+)
      platforms, where we have separate port specific AUX power wells.
      
      For PSR we still need to distinguish between port A and the other
      ports, since on port A DC states must stay enabled for main link
      functionality, but DC states must be disabled for driver initiated
      AUX transfers. So re-use the corresponding helper from intel_psr.c.
      
      Since we take now a reference for main link functionality on all DP
      ports we can forgo taking the separate power ref for PSR functionality.
      
      v2:
      - Make sure DC states stay enabled when taking the ref on port A.
        (Ville)
      
      v3: (Ville)
      - Fix comment about logic for encoders without a crtc state and
        add FIXME note for a simplification to avoid calling get_power_domains
        in such cases.
      - Use intel_crtc_has_dp_encoder() instead !intel_crtc_has_type(HDMI).
      
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
      Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: NImre Deak <imre.deak@intel.com>
      [Clarified code comments in intel_ddi_main_link_aux_domain() and
       intel_ddi_get_power_domains() (Imre)]
      Reviewed-by: NJosé Roberto de Souza <jose.souza@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180621184449.26634-1-imre.deak@intel.com
      52528055
  5. 25 6月, 2018 3 次提交
  6. 23 6月, 2018 1 次提交
  7. 22 6月, 2018 3 次提交
  8. 21 6月, 2018 4 次提交
    • L
      drm/i915: remove check for aux irq · 8a29c778
      Lucas De Marchi 提交于
      This became dead code with commit 309bd8ed ("drm/i915: Reinstate
      GMBUS and AUX interrupts on gen4/g4x").
      
      v2: Move comment about HW behavior to where decision is made to enable
      MSI (Ville).
      
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NLucas De Marchi <lucas.demarchi@intel.com>
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180523180435.18042-1-lucas.demarchi@intel.com
      8a29c778
    • C
      drm/i915: Redefine EINVAL for debugging · d20ac620
      Chris Wilson 提交于
      To aide debugging spurious EINVALs, include a debug message every time
      we emit one from execbuf.
      
      References: https://bugs.freedesktop.org/show_bug.cgi?id=106744Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Reviewed-by: NJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180621080150.8110-1-chris@chris-wilson.co.uk
      d20ac620
    • C
      drm/i915: Ignore applying the self-relocation BIAS if no relocations · 827db9d8
      Chris Wilson 提交于
      We only need to apply the BIAS for self-relocations into the batchbuffer
      iff the execobject has any relocations.
      
      This suppresses some warnings we may get with a full gtt (so the batch
      object has wound up at 0 from a previous invocation), but doesn't fix
      the underlying problem of how we tried to move a pinned batch vma (how
      we have a pinned user vma outside of execbuf, I do not know, though this
      being on an aliasing ppgtt means it could be a spurious pinning via the
      global gtt). One step at a time...
      
      References: https://bugs.freedesktop.org/show_bug.cgi?id=106744#c1
      Testcase: igt/gem_exec_gttfill # byt (sporadic)
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Reviewed-by: NJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180621073205.26701-1-chris@chris-wilson.co.uk
      827db9d8
    • C
      drm/i915: Disable bh around call to tasklet · 26eb4cd6
      Chris Wilson 提交于
      The guc submission backends expects to only be run from (at least)
      softirq context, but during our intel_engine_is_idle() check we would
      call into the tasklet to make sure it was flushed. As this could occur
      from process context, occasionally we would be caught out using a
      wait_for_atomic() not from an atomic context:
      
      [   59.939091] WARN_ON_ONCE((1) && !(preempt_count() != 0))
      [   59.939142] WARNING: CPU: 1 PID: 2901 at drivers/gpu/drm/i915/intel_guc_submission.c:615 guc_submission_tasklet+0x784/0xa90 [i915]
      [   59.939143] Modules linked in: vgem snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic i915 x86_pkg_temp_thermal intel_powerclamp coretemp crct10dif_pclmul snd_hda_intel crc32_pclmul snd_hda_codec ghash_clmulni_intel snd_hwdep snd_hda_core e1000e snd_pcm mei_me mei prime_numbers
      [   59.939164] CPU: 1 PID: 2901 Comm: gem_exec_schedu Tainted: G     U  W         4.18.0-rc1-g93475d62c730-drmtip_67+ #1
      [   59.939165] Hardware name: System manufacturer System Product Name/Z170M-PLUS, BIOS 3610 03/29/2018
      [   59.939188] RIP: 0010:guc_submission_tasklet+0x784/0xa90 [i915]
      [   59.939189] Code: fc ff ff 80 3d 2f 87 11 00 00 0f 85 80 fb ff ff 48 c7 c6 f8 49 40 c0 48 c7 c7 80 41 3e c0 c6 05 14 87 11 00 01 e8 2c ea d6 d3 <0f> 0b e9 5f fb ff ff 8b 46 38 89 cf 31 c7 83 e7 c0 75 08 39 c1 0f
      [   59.939253] RSP: 0018:ffffaafe08a03c10 EFLAGS: 00010286
      [   59.939255] RAX: 0000000000000000 RBX: ffff8f9112c246f0 RCX: 0000000000000001
      [   59.939256] RDX: 0000000080000001 RSI: ffffffff95086d8e RDI: 00000000ffffffff
      [   59.939257] RBP: ffff8f9112c24680 R08: 000000009517be77 R09: 0000000000000000
      [   59.939258] R10: 0000000000000000 R11: 0000000000000000 R12: ffff8f9112c24700
      [   59.939259] R13: ffff8f9112c24700 R14: 0000000000000000 R15: ffff8f9112c242a8
      [   59.939260] FS:  00007fc2cc7e5980(0000) GS:ffff8f9136c40000(0000) knlGS:0000000000000000
      [   59.939261] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [   59.939262] CR2: 00007fc2cc815040 CR3: 000000021f10e003 CR4: 00000000003606e0
      [   59.939263] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [   59.939264] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      [   59.939265] Call Trace:
      [   59.939288]  ? intel_engine_is_idle+0x64/0x160 [i915]
      [   59.939323]  ? intel_engine_dump+0x638/0x890 [i915]
      [   59.939327]  ? seq_printf+0x49/0x70
      [   59.939353]  ? i915_engine_info+0xc8/0x100 [i915]
      [   59.939356]  ? drm_get_color_range_name+0x20/0x20
      [   59.939361]  ? seq_read+0xf1/0x470
      [   59.939365]  ? trace_hardirqs_on_caller+0xe0/0x1b0
      [   59.939370]  ? full_proxy_read+0x51/0x80
      [   59.939389]  ? __vfs_read+0x31/0x170
      [   59.939395]  ? do_sys_open+0x13b/0x240
      [   59.939398]  ? rcu_read_lock_sched_held+0x6f/0x80
      [   59.939401]  ? vfs_read+0x9e/0x140
      [   59.939404]  ? ksys_read+0x50/0xc0
      [   59.939409]  ? do_syscall_64+0x55/0x190
      [   59.939412]  ? entry_SYSCALL_64_after_hwframe+0x49/0xbe
      [   59.939420] irq event stamp: 552834
      [   59.939422] hardirqs last  enabled at (552833): [<ffffffff940fc74c>] console_unlock+0x3fc/0x600
      [   59.939425] hardirqs last disabled at (552834): [<ffffffff94a0111c>] error_entry+0x7c/0x100
      [   59.939451] softirqs last  enabled at (552614): [<ffffffffc02e0f53>] i915_request_add+0x2e3/0x7b0 [i915]
      [   59.939470] softirqs last disabled at (552604): [<ffffffffc02e0ecb>] i915_request_add+0x25b/0x7b0 [i915]
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106977
      Fixes: dd0cf235 ("drm/i915: Speed up idle detection by kicking the tasklets")
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
      Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
      Cc: Michał Winiarski <michal.winiarski@intel.com>
      Cc: Michel Thierry <michel.thierry@intel.com>
      Reviewed-by: NMichel Thierry <michel.thierry@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180620135929.23956-1-chris@chris-wilson.co.uk
      26eb4cd6