1. 27 7月, 2018 5 次提交
  2. 26 7月, 2018 15 次提交
  3. 25 7月, 2018 3 次提交
  4. 24 7月, 2018 5 次提交
  5. 21 7月, 2018 3 次提交
  6. 20 7月, 2018 6 次提交
    • C
      drm/i915: Only force GGTT coherency w/a on required chipsets · 900ccf30
      Chris Wilson 提交于
      Not all chipsets have an internal buffer delaying the visibility of
      writes via the GGTT being visible by other physical paths, but we use a
      very heavy workaround for all. We only need to apply that workarounds to
      the chipsets we know suffer from the delay and the resulting coherency
      issue.
      
      Similarly, the same inconsistent coherency fouls up our ABI promise that
      a write into a mmap_gtt is immediately visible to others. Since the HW
      has made that a lie, let userspace know when that contract is broken.
      (Not that userspace would want to use mmap_gtt on those chipsets for
      other performance reasons...)
      
      Testcase: igt/drv_selftest/live_coherency
      Testcase: igt/gem_mmap_gtt/coherency
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100587Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Reviewed-by: NTomasz Lis <tomasz.lis@intel.com>
      Reviewed-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180720101910.11153-1-chris@chris-wilson.co.uk
      900ccf30
    • C
      drm/i915: Suppress assertion for i915_ggtt_disable_guc · 35e90081
      Chris Wilson 提交于
      Another step in the drv_module_reload fault-injection saga, is that we
      try to disable the guc twice. Probably. It's a little unclear exactly
      what is going on in the unload sequence that catches us out, so for the
      time being suppress the assertion to get the test re-enabled.
      
      Testcase: igt/drv_module_reload/basic-reload-inject
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Michał Winiarski <michal.winiarski@intel.com>
      Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
      Acked-by: NMichał Winiarski <michal.winiarski@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180720095144.5885-1-chris@chris-wilson.co.uk
      35e90081
    • P
      drm/i915/icl: compute the TBT PLL registers · f7a738fc
      Paulo Zanoni 提交于
      Use the hardcoded tables provided by our spec.
      
      v2:
        - SSC stays disabled.
        - Use intel_port_is_tc().
      
      Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
      Reviewed-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180711215909.23945-2-paulo.r.zanoni@intel.com
      f7a738fc
    • A
      drm/i915: Fix assert_plane() warning on bootup with external display · 516a49cc
      Azhar Shaikh 提交于
      On KBL, WHL RVPs, booting up with an external display connected, triggers
      below warning, when the BiOS brings up the external display too.
      This warning is not seen during hotplug.
      
      [    3.615226] ------------[ cut here ]------------
      [    3.619829] plane 1A assertion failure (expected on, current off)
      [    3.632039] WARNING: CPU: 2 PID: 354 at drivers/gpu/drm/i915/intel_display.c:1294 assert_plane+0x71/0xbb
      [    3.633920] iwlwifi 0000:00:14.3: loaded firmware version 38.c0e03d94.0 op_mode iwlmvm
      [    3.647157] Modules linked in: iwlwifi cfg80211 btusb btrtl btbcm btintel bluetooth ecdh_generic
      [    3.647163] CPU: 2 PID: 354 Comm: frecon Not tainted 4.17.0-rc7-50176-g655af12d39c2 #3
      [    3.647165] Hardware name: Intel Corporation CoffeeLake Client Platform/WhiskeyLake U DDR4 ERB, BIOS CNLSFWR1.R00.X140.B00.1804040304 04/04/2018
      [    3.684509] RIP: 0010:assert_plane+0x71/0xbb
      [    3.764451] Call Trace:
      [    3.766888]  intel_atomic_commit_tail+0xa97/0xb77
      [    3.771569]  intel_atomic_commit+0x26a/0x279
      [    3.771572]  drm_atomic_helper_set_config+0x5c/0x76
      [    3.780670]  __drm_mode_set_config_internal+0x66/0x109
      [    3.780672]  drm_mode_setcrtc+0x4c9/0x5cc
      [    3.780674]  ? drm_mode_getcrtc+0x162/0x162
      [    3.789774]  ? drm_mode_getcrtc+0x162/0x162
      [    3.798108]  drm_ioctl_kernel+0x8d/0xe4
      [    3.801926]  drm_ioctl+0x27d/0x368
      [    3.805311]  ? drm_mode_getcrtc+0x162/0x162
      [    3.805314]  ? selinux_file_ioctl+0x14e/0x199
      [    3.805317]  vfs_ioctl+0x21/0x2f
      [    3.813812]  do_vfs_ioctl+0x491/0x4b4
      [    3.813813]  ? security_file_ioctl+0x37/0x4b
      [    3.813816]  ksys_ioctl+0x55/0x75
      [    3.820672]  __x64_sys_ioctl+0x1a/0x1e
      [    3.820674]  do_syscall_64+0x51/0x5f
      [    3.820678]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
      [    3.828221] RIP: 0033:0x7b5e04953967
      [    3.835504] RSP: 002b:00007fff2eafb6f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
      [    3.835505] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007b5e04953967
      [    3.835505] RDX: 00007fff2eafb730 RSI: 00000000c06864a2 RDI: 000000000000000f
      [    3.835506] RBP: 00007fff2eafb720 R08: 0000000000000000 R09: 0000000000000000
      [    3.835507] R10: 0000000000000070 R11: 0000000000000246 R12: 000000000000000f
      [    3.879988] R13: 000056bc9dd7d210 R14: 00007fff2eafb730 R15: 00000000c06864a2
      [    3.887081] Code: 48 c7 c7 06 71 a5 be 84 c0 48 c7 c2 06 fd a3 be 48 89 f9 48 0f 44 ca 84 db 48 0f 45 d7 48 c7 c7 df d3 a4 be 31 c0 e8 af a0 c0 ff <0f> 0b eb 2b 48 c7 c7 06 fd a3 be 84 c0 48 c7 c2 06 71 a5 be 48
      [    3.905845] WARNING: CPU: 2 PID: 354 at drivers/gpu/drm/i915/intel_display.c:1294 assert_plane+0x71/0xbb
      [    3.920964] ---[ end trace dac692f4ac46391a ]---
      
      The warning is seen when mode_setcrtc() is called for pipeB
      during bootup and before we get a mode_setcrtc() for pipeA,
      while doing update_crtcs() in intel_atomic_commit_tail().
      Now since, plane1A is still active after commit, update_crtcs()
      is done for pipeA and eventually update_plane() for plane1A.
      
      intel_plane_state->ctl for plane1A is not updated since set_modecrtc() is
      called for pipeB. So intel_plane_state->ctl for plane 1A will be 0x0.
      So doing an update_plane() for plane1A, will result in clearing
      PLANE_CTL_ENABLE bit, and hence the warning.
      
      To fix this warning, force all active planes to recompute their states
      in probe.
      
      Changes in v8:
      - Actually add Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
      
      Changes in v7:
      - Move call to intel_initial_commit() after sanitize_watermarks()
        Otherwise the plane update will still consult potentially bogus
        watermarks we read out from the hardware. (Ville)
      - Carry Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
        from v6
      
      Changes in v6:
      - Handle EDEADLK for drm_atomic_get_crtc_state() and
        drm_atomic_add_affected_planes()
      - Remove optimization of calling intel_initial_commit()
        only when there is more than one active pipe in probe.
      - Avoid using intel_ types.
      
      Changes in v5:
      - Drop drm_modeset_lock_all_ctx() since locks will be taken later.
      
      Changes in v4:
      - Handle locking in intel_initial_commit()
      - Move the for loop inside intel_initial_commit() so that
        drm_atomic_commit() is called only once
      - Call intel_initial_commit() only for more than one active crtc on boot.
      - Save the return value of intel_initial_commit() and print a message in
        case of an error
      
      Changes in v3:
      - Add comments
      
      Changes in v2:
      - Force all planes to recompute their states.(Ville Syrjälä)
      - Update the commit message
      Signed-off-by: NAzhar Shaikh <azhar.shaikh@intel.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/1530902250-44583-1-git-send-email-azhar.shaikh@intel.com
      516a49cc
    • C
      drm/i915/gtt: Full ppgtt everywhere, no excuses · 5f9c4f95
      Chris Wilson 提交于
      We believe we have all the kinks worked out, even for the early
      Valleyview devices, for whom we currently disable all ppgtt.
      
      References: 62942ed7 ("drm/i915/vlv: disable PPGTT on early revs v3")
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Reviewed-by: NJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Acked-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180717095751.1034-2-chris@chris-wilson.co.uk
      5f9c4f95
    • C
      drm/i915/gtt: Enable full-ppgtt by default everywhere · 79556df2
      Chris Wilson 提交于
      We should we have all the kinks worked out and full-ppgtt now works
      reliably on gen7 (Ivybridge, Valleyview/Baytrail and Haswell). If we can
      let userspace have full control over their own ppgtt, it makes softpinning
      far more effective, in turn making GPU dispatch far more efficient by
      virtue of better mm segregation.  On the other hand, switching over to a
      different GTT for every client does incur noticeable overhead, but only
      for very lightweight tasks.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
      Cc: Matthew Auld <matthew.william.auld@gmail.com>
      Reviewed-by: NJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Cc: Jason Ekstrand <jason.ekstrand@intel.com>
      Cc: Kenneth Graunke <kenneth@whitecape.org>
      Acked-by: NKenneth Graunke <kenneth@whitecape.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180717095751.1034-1-chris@chris-wilson.co.uk
      79556df2
  7. 19 7月, 2018 3 次提交