1. 29 Sep, 2014 3 commits
    • 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
  2. 24 Sep, 2014 1 commit
  3. 19 Sep, 2014 15 commits
  4. 18 Sep, 2014 1 commit
    • Dave Airlie's avatar
      Merge branch 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev into drm-next · 8337486a
      Dave Airlie authored
      Commit "drm/rcar-du: Use struct videomode in platform data" touches board code
      in arch/arm/mach-shmobile. There is, to the best of my knowledge, no risk of
      conflict for v3.18. Simon, are you fine with getting those changes merged
      through Dave's tree (and could you confirm that no conflict should occur) ?
      
      Simon acked the merge:
      Acked-by: default avatarSimon Horman <horms+renesas@verge.net.au>
      
      * 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev:
        drm/rcar-du: Add OF support
        drm/rcar-du: Use struct videomode in platform data
        video: Add DT bindings for the R-Car Display Unit
        video: Add THC63LVDM83D DT bindings documentation
        video: Add ADV7123 DT bindings documentation
        video: Add DT binding documentation for VGA connector
        devicetree: Add vendor prefix "thine" to vendor-prefixes.txt
        devicetree: Add vendor prefix "mitsubishi" to vendor-prefixes.txt
        drm/shmob: Update copyright notice
        drm/rcar-du: Update copyright notice
      8337486a
  5. 17 Sep, 2014 9 commits
  6. 16 Sep, 2014 4 commits
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-2014-09-05' of git://anongit.freedesktop.org/drm-intel into drm-next · 40d201af
      Dave Airlie authored
      - final bits (again) for the rotation support (Sonika Jindal)
      - support bl_power in the intel backlight (Jani)
      - vdd handling improvements from Ville
      - i830M fixes from Ville
      - piles of prep work all over to make skl enabling just plug in (Damien, Sonika)
      - rename DP training defines to reflect latest edp standards, this touches all
        drm drivers supporting DP (Sonika Jindal)
      - cache edids during single detect cycle to avoid re-reading it for e.g. audio,
        from Chris
      - move w/a for registers which are stored in the hw context to the context init
        code (Arun&Damien)
      - edp panel power sequencer fixes, helps chv a lot (Ville)
      - piles of other chv fixes all over
      - much more paranoid pageflip handling with stall detection and better recovery
        from Chris
      - small things all over, as usual
      
      * tag 'drm-intel-next-2014-09-05' of git://anongit.freedesktop.org/drm-intel: (114 commits)
        drm/i915: Update DRIVER_DATE to 20140905
        drm/i915: Decouple the stuck pageflip on modeset
        drm/i915: Check for a stalled page flip after each vblank
        drm/i915: Introduce a for_each_plane() macro
        drm/i915: Rewrite ABS_DIFF() in a safer manner
        drm/i915: Add comments explaining the vdd on/off functions
        drm/i915: Move DP port disable to post_disable for pch platforms
        drm/i915: Enable DP port earlier
        drm/i915: Turn on panel power before doing aux transfers
        drm/i915: Be more careful when picking the initial power sequencer pipe
        drm/i915: Reset power sequencer pipe tracking when disp2d is off
        drm/i915: Track which port is using which pipe's power sequencer
        drm/i915: Fix edp vdd locking
        drm/i915: Reset the HEAD pointer for the ring after writing START
        drm/i915: Fix unsafe vma iteration in i915_drop_caches
        drm/i915: init sprites with univeral plane init function
        drm/i915: Check of !HAS_PCH_SPLIT() in PCH transcoder funcs
        drm/i915: Use HAS_GMCH_DISPLAY un underrun reporting code
        drm/i915: Use IS_BROADWELL() instead of IS_GEN8() in forcewake code
        drm/i915: Don't call gen8_fbc_sw_flush() on chv
        ...
      40d201af
    • Dave Airlie's avatar
      Merge branch 'drm-next-ast-fixes' of ssh://people.freedesktop.org/~/linux into drm-next · 29a7d179
      Dave Airlie authored
      Pull in first set of changes from Ben for ast on ppc.
      
      I've done a quick boot test on x86 and it still seems to boot.
      
      * 'drm-next-ast-fixes' of ssh://people.freedesktop.org/~/linux:
        drm/ast: Cleanup analog init code path
        drm/ast: Don't assume DVO enabled means SIL164 on uninitialized chips
        drm/ast: Properly initialize P2A base before using it in ast_init_3rdtx()
        drm/ast: POST chip at probe time if VGA not enabled
        drm/ast: Try to use MMIO registers when PIO isn't supported
      29a7d179
    • Y.C. Chen's avatar
      drm/ast: Add reduced blanking modes for wide screen mode · 94d12b13
      Y.C. Chen authored
      Signed-off-by: default avatarEgbert Eich <eich@suse.com>
      Tested-by: default avatarSteven You2 Liang <liangyou2@lenovo.com>
      Signed-off-by: default avatarY.C. Chen <yc_chen@aspeedtech.com>
      
      v3: based on [PATCH 1/2] drm/ast: Add missing entry to dclk_table[].
          Add reduced blanking modes, improve mode matching to
          identify these modes by thier sync polarities.
      
      [airlied: argh whitespace damage]
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      94d12b13
    • Dave Airlie's avatar
      drm: backmerge tag 'v3.17-rc5' into drm-next · b2efb3f0
      Dave Airlie authored
      This is requested to get the fixes for intel and radeon into the
      same tree for future development work.
      
      i915_display.c: fix missing dev_priv conflict.
      b2efb3f0
  7. 15 Sep, 2014 7 commits