1. 07 Oct, 2014 2 commits
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-fixes-2014-10-03' of... · 436e94a4
      Dave Airlie authored
      Merge tag 'drm-intel-next-fixes-2014-10-03' of git://anongit.freedesktop.org/drm-intel into drm-next
      
      Bunch of fixes for 3.18. Major parts:
      - ppgtt fixes (but full ppgtt is for 3.19) from Chris, Michel, ...
      - hdmi pixel replication fixes (Clint Taylor)
      - leftover i830M patches from Ville
      - small things all over
      
      * tag 'drm-intel-next-fixes-2014-10-03' of git://anongit.freedesktop.org/drm-intel: (21 commits)
        drm/i915: Enable pixel replicated modes on BDW and HSW.
        drm/i915: Don't spam dmesg with rps messages on vlv/chv
        drm/i915: Do not leak pages when freeing userptr objects
        drm/i915: Do not store the error pointer for a failed userptr registration
        Revert "drm/i915/bdw: BDW Software Turbo"
        drm/i915/bdw: Cleanup pre prod workarounds
        drm/i915: Use EIO instead of EAGAIN for sink CRC error.
        drm/i915: Extend BIOS stolen mem handling to all platform
        drm/i915: Match GTT space sanity checker with implementation
        drm/i915: HSW always use GGTT selector for secure batches
        drm/i915: add cherryview specfic forcewake in execlists_elsp_write
        drm/i915: fix another use-after-free in i915_gem_evict_everything
        drm/i915: Don't reinit hpd interrupts after gpu reset
        drm/i915: Wrap -EIO send-vblank event for failed pageflip in spinlock
        drm/i915: Drop any active reference before unbinding
        drm/i915: Objects on the unbound list may still have an active reference
        drm/i915/edp: use lane count and link rate from DPCD for eDP
        drm/i915/dp: add missing \n in the TPS3 debug message
        drm/i915/hdmi, dp: Do not dereference the encoder in the connector destroy
        drm/i915: Limit the watermark to at least 8 entries on gen2/3
        ...
      436e94a4
    • Dave Airlie's avatar
      Merge branch 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux into drm-next · ccb09a8e
      Dave Airlie authored
      It looks like you missed my last 3.18 pull from 9/24.  This one
      includes those patches and a few more on top.  The additional patches are:
      - Maarten's radeon fence updates
      - Some additional debugging output
      From the previous pull request:
      - Re-enable some dpm features that were previously disabled due
        to a bug that was fixed in 3.16
      - Make some arrays static
      - re-arrange some audio code to properly reflect connected status
        in the audio driver
      
      * 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux:
        drm/radeon/kv: add uvd/vce info to dpm debugfs output
        drm/radeon/ci: add uvd/vce info to dpm debugfs output
        drm/radeon: export reservation_object from dmabuf to ttm
        drm/radeon: cope with foreign fences inside the reservation object
        drm/radeon: cope with foreign fences inside display
        drm/radeon/cik: write gfx ucode version to ucode addr reg
        drm/radeon/si: print full CS when we hit a packet 0
        drm/radeon: remove unecessary includes
        drm/radeon/combios: declare legacy_connector_convert as static
        drm/radeon/atombios: declare connector convert tables as static
        drm/radeon: drop btc_get_max_clock_from_voltage_dependency_table
        drm/radeon/dpm: drop clk/voltage dependency filters for BTC
        drm/radeon/dpm: drop clk/voltage dependency filters for CI
        drm/radeon/dpm: drop clk/voltage dependency filters for SI
        drm/radeon/dpm: drop clk/voltage dependency filters for NI
        drm/radeon: disable audio when we disable hdmi (v2)
        drm/radeon: split audio enable between eg and r600 (v2)
        drm/radeon: consolidate r600_audio.c into r600_hdmi.c
        drm/radeon: consolidate duplicate encode is digital function
        drm/radeon: fix register name to match internal name
      ccb09a8e
  2. 03 Oct, 2014 5 commits
  3. 01 Oct, 2014 19 commits
  4. 30 Sep, 2014 6 commits
  5. 29 Sep, 2014 4 commits
    • Ville Syrjälä's avatar
      drm/i915: Don't spam dmesg with rps messages on vlv/chv · 67956867
      Ville Syrjälä authored
      If the GPU frequency isn't going to change don't spam dmesg with
      debug messages about it.
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      67956867
    • Tvrtko Ursulin's avatar
      drm/i915: Do not leak pages when freeing userptr objects · c479f438
      Tvrtko Ursulin authored
      sg_alloc_table_from_pages() can build us a table with coalesced ranges which
      means we need to iterate over pages and not sg table entries when releasing
      page references.
      Signed-off-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: "Barbalho, Rafael" <rafael.barbalho@intel.com>
      Tested-by: default avatarRafael Barbalho <rafael.barbalho@intel.com>
      Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: stable@vger.kernel.org
      [danvet: Remove unused local variable sg.]
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      c479f438
    • Chris Wilson's avatar
      drm/i915: Do not store the error pointer for a failed userptr registration · e9681366
      Chris Wilson authored
      If we fail to create our mmu notification, we report the error back and
      currently store the error inside the i915_mm_struct. This not only causes
      subsequent registerations of the same mm to fail (an issue if the first
      was interrupted by a signal and needed to be restarted) but also causes
      us to eventually try and free the error pointer.
      
      [   73.419599] BUG: unable to handle kernel NULL pointer dereference at 000000000000004c
      [   73.419831] IP: [<ffffffff8114af33>] mmu_notifier_unregister+0x23/0x130
      [   73.420065] PGD 8650c067 PUD 870bb067 PMD 0
      [   73.420319] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
      [   73.420580] CPU: 0 PID: 42 Comm: kworker/0:1 Tainted: G        W      3.17.0-rc6+ #1561
      [   73.420837] Hardware name: Intel Corporation SandyBridge Platform/LosLunas CRB, BIOS ASNBCPT1.86C.0075.P00.1106281639 06/28/2011
      [   73.421405] Workqueue: events __i915_mm_struct_free__worker
      [   73.421724] task: ffff880088a81220 ti: ffff880088168000 task.ti: ffff880088168000
      [   73.422051] RIP: 0010:[<ffffffff8114af33>]  [<ffffffff8114af33>] mmu_notifier_unregister+0x23/0x130
      [   73.422410] RSP: 0018:ffff88008816bd50  EFLAGS: 00010286
      [   73.422765] RAX: 0000000000000003 RBX: ffff880086485400 RCX: 0000000000000000
      [   73.423137] RDX: ffff88016d80ee90 RSI: ffff880086485400 RDI: 0000000000000044
      [   73.423513] RBP: ffff88008816bd70 R08: 0000000000000001 R09: 0000000000000000
      [   73.423895] R10: 0000000000000320 R11: 0000000000000001 R12: 0000000000000044
      [   73.424282] R13: ffff880166e5f008 R14: ffff88016d815200 R15: ffff880166e5f040
      [   73.424682] FS:  0000000000000000(0000) GS:ffff88016d800000(0000) knlGS:0000000000000000
      [   73.425099] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [   73.425537] CR2: 000000000000004c CR3: 0000000087f5f000 CR4: 00000000000407f0
      [   73.426157] Stack:
      [   73.426597]  ffff880088a81248 ffff880166e5f038 fffffffffffffffc ffff880166e5f008
      [   73.427096]  ffff88008816bd98 ffffffff814a75f2 ffff880166e5f038 ffff8800880f8a28
      [   73.427603]  ffff88016d812ac0 ffff88008816be00 ffffffff8106321a ffffffff810631af
      [   73.428119] Call Trace:
      [   73.428606]  [<ffffffff814a75f2>] __i915_mm_struct_free__worker+0x42/0x80
      [   73.429116]  [<ffffffff8106321a>] process_one_work+0x1ba/0x610
      [   73.429632]  [<ffffffff810631af>] ? process_one_work+0x14f/0x610
      [   73.430153]  [<ffffffff810636db>] worker_thread+0x6b/0x4a0
      [   73.430671]  [<ffffffff8108d67d>] ? trace_hardirqs_on+0xd/0x10
      [   73.431501]  [<ffffffff81063670>] ? process_one_work+0x610/0x610
      [   73.432030]  [<ffffffff8106a206>] kthread+0xf6/0x110
      [   73.432561]  [<ffffffff8106a110>] ? __kthread_parkme+0x80/0x80
      [   73.433100]  [<ffffffff8169c22c>] ret_from_fork+0x7c/0xb0
      [   73.433644]  [<ffffffff8106a110>] ? __kthread_parkme+0x80/0x80
      [   73.434194] Code: 0f 1f 84 00 00 00 00 00 66 66 66 66 90 8b 46 4c 85 c0 0f 8e 10 01 00 00 55 48 89 e5 41 55 41 54 53 48 89 f3 49 89 fc 48 83 ec 08 <48> 83 7f 08 00 0f 84 b1 00 00 00 48 c7 c7 40 e6 ac 82 e8 26 65
      [   73.435942] RIP  [<ffffffff8114af33>] mmu_notifier_unregister+0x23/0x130
      [   73.437017]  RSP <ffff88008816bd50>
      [   73.437704] CR2: 000000000000004c
      
      Fixes regression from commit ad46cb53
      Author: Chris Wilson <chris@chris-wilson.co.uk>
      Date:   Thu Aug 7 14:20:40 2014 +0100
      
          drm/i915: Prevent recursive deadlock on releasing a busy userptr
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=84207
      Testcase: igt/gem_render_copy_redux
      Testcase: igt/gem_userptr_blits/create-destroy-sync
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Jacek Danecki <jacek.danecki@intel.com>
      Cc: "Gong, Zhipeng" <zhipeng.gong@intel.com>
      Cc: Jacek Danecki <jacek.danecki@intel.com>
      Cc: "Ursulin, Tvrtko" <tvrtko.ursulin@intel.com>
      Cc: stable@vger.kernel.org
      Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      e9681366
    • Daniel Vetter's avatar
      Revert "drm/i915/bdw: BDW Software Turbo" · 7526ed79
      Daniel Vetter authored
      This reverts commit c76bb61a.
      
      It's apparently too broken so that Rodrigo submitted a patch to add a
      config option for it. Given that the design is also ... suboptimal and
      that I've only merged this to get lead engineers and managers off my
      back for one second let's just revert this.
      
      /me puts on combat gear again
      
      It was worth a shot ...
      
      References: http://mid.mail-archive.com/1411686380-1953-1-git-send-email-rodrigo.vivi@intel.com
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Cc: Daisy Sun <daisy.sun@intel.com>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      7526ed79
  6. 25 Sep, 2014 1 commit
    • Daniel Vetter's avatar
      drm: Drop grab fpriv->fbs_lock in drm_fb_release · 1b116297
      Daniel Vetter authored
      Paulo Zanoni reported a lockdep splat with a locking inversion between
      fpriv->fbs_lock and the modeset locks. This issue was introduced in
      
      commit f2b50c11
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Fri Sep 12 17:07:32 2014 +0200
      
          drm: Fixup locking for universal cursor planes
      
      This here is actually one of the rare cases where lockdep hits a false
      positive: The deadlock only happens in drm_fb_release, which cleans up
      the file private structure when all the references are gone. So the
      locking is the very last one and no one else can deadlock. It also
      doesn't protect anything at all, since all ioctls are guaranteed to
      have returned at this point - otherwise they'd still hold a reference
      on the file.
      
      So let's just drop it and replace it with a big comment.
      
      Cc: David Herrmann <dh.herrmann@gmail.com>
      Cc: Matt Roper <matthew.d.roper@intel.com>
      Cc: Paulo Zanoni <przanoni@gmail.com>
      Reported-and-Tested-by: default avatarPaulo Zanoni <przanoni@gmail.com>
      Reviewed-by: default avatarMatt Roper <matthew.d.roper@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      1b116297
  7. 24 Sep, 2014 3 commits