1. 02 9月, 2015 2 次提交
  2. 29 8月, 2015 1 次提交
  3. 26 8月, 2015 3 次提交
  4. 15 8月, 2015 6 次提交
  5. 14 8月, 2015 2 次提交
  6. 05 8月, 2015 2 次提交
    • A
      drm/i915/gen9: Removed byte swapping for csr firmware · a7f749f9
      Animesh Manna 提交于
      This patch contains the changes to remove the byte
      swapping logic introduced with old dmc firmware.
      While debugging PC10 entry issue for skylake found
      with latest dmc firmware version 1.18 without byte
      swapping dmc is working fine and able to enter PC10.
      
      Note that apparently this was changed with dmc version 1.0 and earlier
      ones indeed are byteswapped like this ...
      
      v1: Initial version.
      
      v2: Corrected firmware size during memcpy(). (Suggested by Sunil)
      
      Cc: Daniel Vetter <daniel.vetter@intel.com>
      Cc: Damien Lespiau <damien.lespiau@intel.com>
      Cc: Imre Deak <imre.deak@intel.com>
      Cc: Sunil Kamath <sunil.kamath@intel.com>
      Signed-off-by: NAnimesh Manna <animesh.manna@intel.com>
      Signed-off-by: NVathsala Nagaraju <vathsala.nagaraju@intel.com>
      Reviewed-by: NA.Sunil Kamath <sunil.kamath@intel.com>
      [danvet: Add note that this only holds for released dmc firmware.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      a7f749f9
    • P
      drm/i915: special-case dirtyfb for frontbuffer tracking · 74b4ea1e
      Paulo Zanoni 提交于
      First, an introduction. We currently have two types of GTT mmaps: the
      "normal" old mmap, and the WC mmap. For frontbuffer-related features
      that have automatic hardware tracking, only the non-WC mmap writes are
      detected by the hardware. Since inside the Kernel both are treated as
      ORIGIN_GTT, any features ignoring ORIGIN_GTT because of the hardware
      tracking are destined to fail.
      
      One of the special rules defined for the WC mmaps is that the user
      should call the dirtyfb IOCTL after he is done using the pointers, so
      that results in an intel_fb_obj_flush() call. The problem is that the
      dirtyfb is passing ORIGIN_GTT, so it is being ignored by FBC - even
      though the hardware tracking is not detecing the WC mmap operations.
      So in order to fix that without having to give up the automatic
      hardware tracking for GTT mmaps we transform the flush operation from
      dirtyfb into a special operation: ORIGIN_DIRTYFB.
      
      This commit fixes all the kms_frontbuffer_tracking subtests that
      contain "fbc" and "mmap-wc" in their names and are currently failing
      (for a total of 16 subtests).
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Reviewed-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      74b4ea1e
  7. 31 7月, 2015 1 次提交
  8. 29 7月, 2015 1 次提交
  9. 28 7月, 2015 1 次提交
    • D
      drm/i915: Fake AGP is dead · 3b9a02e8
      Daniel Vetter 提交于
      Remove the leftovers, yay!
      
      AGP for i915 kms died long ago with
      
      commit 3bb6ce66
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Wed Nov 13 22:14:16 2013 +0100
      
          drm/i915: Kill legeacy AGP for gen3 kms
      
      and with ums now gone to there's really no users any more.
      
      Note that device_is_agp is only called when DRIVER_USE_AGP is set and
      since we've unconditionally cleared that since a while there are
      really no users left for i915_driver_device_is_agp.
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
      3b9a02e8
  10. 27 7月, 2015 2 次提交
  11. 22 7月, 2015 1 次提交
  12. 21 7月, 2015 2 次提交
  13. 18 7月, 2015 1 次提交
  14. 15 7月, 2015 3 次提交
  15. 14 7月, 2015 4 次提交
    • M
      drm/i915: Convert resume to atomic. · 043e9bda
      Maarten Lankhorst 提交于
      Instead of all the ad-hoc updating, duplicate the old state first
      before reading out the hw state, then restore it.
      
      intel_display_resume is a new function that duplicates the sw state,
      then reads out the hw state, and commits the old state.
      
      intel_display_setup_hw_state now only reads out the atomic state.
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90396Signed-off-by: NMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Reviewed-by: NDaniel Stone <daniels@collabora.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      043e9bda
    • I
      drm/i915: remove unused has_dma_mapping flag · 5ec5b516
      Imre Deak 提交于
      After the previous patch this flag will check always clear, as it's
      never set for shmem backed and userptr objects, so we can remove it.
      Signed-off-by: NImre Deak <imre.deak@intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      [danvet: Yeah this isn't really fixes but it's a nice cleanup to
      clarify the code but not really worth the hassle of backmerging. So
      just add to -fixes, we're still early in -rc.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      5ec5b516
    • D
      drm/i915: Fix missing return warning for !CONFIG_DEBUGFS · 101057fa
      Daniel Vetter 提交于
      This broken code was introduced in
      
      commit aa7471d2
      Author: Jani Nikula <jani.nikula@intel.com>
      Date:   Wed Apr 1 11:15:21 2015 +0300
      
          drm/i915: add i915 specific connector debugfs file for DPCD
      
      v2: Drop hunk that accidentally crept in.
      
      Cc: Jani Nikula <jani.nikula@intel.com>
      Cc: Bob Paauwe <bob.j.paauwe@intel.com>
      Cc: François Valenduc <francoisvalenduc@gmail.com>
      Reported-by: NFrançois Valenduc <francoisvalenduc@gmail.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
      101057fa
    • C
      drm/i915: Store device pointer in contexts for late tracepoint usafe · 9ea4feec
      Chris Wilson 提交于
      [ 1572.417121] BUG: unable to handle kernel NULL pointer dereference at           (null)
      [ 1572.421010] IP: [<ffffffffa00b2514>] ftrace_raw_event_i915_context+0x5d/0x70 [i915]
      [ 1572.424970] PGD 1766a3067 PUD 1767a2067 PMD 0
      [ 1572.428892] Oops: 0000 [#1] SMP
      [ 1572.432787] Modules linked in: ipv6 dm_mod iTCO_wdt iTCO_vendor_support snd_hda_codec_realtek snd_hda_codec_generic snd_hda_intel snd_hda_controller snd_hda_codec snd_hda_core snd_hwdep snd_pcm snd_timer snd soundcore serio_raw pcspkr lpc_ich i2c_i801 mfd_core battery ac acpi_cpufreq i915 button video drm_kms_helper drm
      [ 1572.441720] CPU: 2 PID: 18853 Comm: kworker/u8:0 Not tainted 4.0.0_kcloud_3f0360_20150429+ #588
      [ 1572.446298] Workqueue: i915 i915_gem_retire_work_handler [i915]
      [ 1572.450876] task: ffff880002f428f0 ti: ffff880035724000 task.ti: ffff880035724000
      [ 1572.455557] RIP: 0010:[<ffffffffa00b2514>]  [<ffffffffa00b2514>] ftrace_raw_event_i915_context+0x5d/0x70 [i915]
      [ 1572.460423] RSP: 0018:ffff880035727ce8  EFLAGS: 00010286
      [ 1572.465262] RAX: ffff880073f1643c RBX: ffff880002da9058 RCX: ffff880073e5db40
      [ 1572.470179] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff880035727ce8
      [ 1572.475107] RBP: ffff88007bb11a00 R08: 0000000000000000 R09: 0000000000000000
      [ 1572.480034] R10: 0000000000362200 R11: 0000000000000008 R12: 0000000000000000
      [ 1572.484952] R13: ffff880035727d78 R14: ffff880002dc1c98 R15: ffff880002dc1dc8
      [ 1572.489886] FS:  0000000000000000(0000) GS:ffff88017fd00000(0000) knlGS:0000000000000000
      [ 1572.494883] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
      [ 1572.499859] CR2: 0000000000000000 CR3: 000000017572a000 CR4: 00000000001006e0
      [ 1572.504842] Stack:
      [ 1572.509834]  ffff88017b0090c0 ffff880073f16438 ffff880002da9058 ffff880073f1643c
      [ 1572.514904]  0000000000000246 ffff880100000000 ffff88007bb11a00 ffff880002ddeb10
      [ 1572.519985]  ffff8801759f79c0 ffffffffa0092ff0 0000000000000000 ffff88007bb11a00
      [ 1572.525049] Call Trace:
      [ 1572.530093]  [<ffffffffa0092ff0>] ? i915_gem_context_free+0xa8/0xc1 [i915]
      [ 1572.535227]  [<ffffffffa009b969>] ? i915_gem_request_free+0x4e/0x50 [i915]
      [ 1572.540347]  [<ffffffffa00b5533>] ? intel_execlists_retire_requests+0x14c/0x159 [i915]
      [ 1572.545500]  [<ffffffffa009d9ea>] ? i915_gem_retire_requests+0x9d/0xeb [i915]
      [ 1572.550664]  [<ffffffffa009dd8c>] ? i915_gem_retire_work_handler+0x4c/0x61 [i915]
      [ 1572.555825]  [<ffffffff8104ca7f>] ? process_one_work+0x1b2/0x31d
      [ 1572.560951]  [<ffffffff8104d278>] ? worker_thread+0x24d/0x339
      [ 1572.566033]  [<ffffffff8104d02b>] ? cancel_delayed_work_sync+0xa/0xa
      [ 1572.571140]  [<ffffffff81050b25>] ? kthread+0xce/0xd6
      [ 1572.576191]  [<ffffffff81050a57>] ? kthread_create_on_node+0x162/0x162
      [ 1572.581228]  [<ffffffff8179b3c8>] ? ret_from_fork+0x58/0x90
      [ 1572.586259]  [<ffffffff81050a57>] ? kthread_create_on_node+0x162/0x162
      [ 1572.591318] Code: de 48 89 e7 e8 09 4d 00 e1 48 85 c0 74 27 48 89 68 10 48 8b 55 38 48 89 e7 48 89 50 18 48 8b 55 10 48 8b 12 48 8b 12 48 8b 52 38 <8b> 12 89 50 08 e8 95 4d 00 e1 48 83 c4 30 5b 5d 41 5c c3 41 55
      [ 1572.596981] RIP  [<ffffffffa00b2514>] ftrace_raw_event_i915_context+0x5d/0x70 [i915]
      [ 1572.602464]  RSP <ffff880035727ce8>
      [ 1572.607911] CR2: 0000000000000000
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90112#c23Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      9ea4feec
  16. 08 7月, 2015 4 次提交
  17. 07 7月, 2015 2 次提交
  18. 06 7月, 2015 2 次提交
    • P
      drm/i915: add the FBC mutex · 25ad93fd
      Paulo Zanoni 提交于
      Make sure we're not going to have weird races in really weird cases
      where a lot of different CRTCs are doing rendering and modesets at the
      same time.
      
      With this change and the stolen_lock from the previous patch, we can
      start removing the struct_mutex locking we have around FBC in the next
      patches.
      
      v2:
       - Rebase (6 months later)
       - Also lock debugfs and stolen.
      v3:
       - Don't lock a single value read (Chris).
       - Replace lockdep assertions with WARNs (Daniel).
       - Improve commit message.
       - Don't forget intel_pre_plane_update() locking.
      v4:
       - Don't remove struct_mutex at intel_pre_plane_update() (Chris).
       - Add comment regarding locking dependencies (Chris).
       - Rebase after the stolen code rework.
       - Rebase again after drm-intel-nightly changes.
      v5:
       - Rebase after the new stolen_lock patch.
      
      Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> (v4)
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      25ad93fd
    • P
      drm/i915: add dev_priv->mm.stolen_lock · 92e97d2f
      Paulo Zanoni 提交于
      Which should protect dev_priv->mm.stolen usage. This will allow us to
      simplify the relationship between stolen memory, FBC and struct_mutex.
      
      v2:
        - Rebase after the stolen_remove_node() dev_priv patch move.
        - I realized that after we fixed a few things related to the FBC CFB
          size checks, we're not reallocating the CFB anymore with FBC
          enabled, so we can just move all the locking to i915_gem_stolen.c
          and stop worrying about freezing all the stolen alocations while
          freeing/rellocating the CFB. This allows us to fix the "Too
          coarse" observation from Chris.
      Suggested-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      92e97d2f