1. 02 12月, 2015 9 次提交
  2. 01 12月, 2015 3 次提交
  3. 26 11月, 2015 1 次提交
  4. 25 11月, 2015 13 次提交
  5. 24 11月, 2015 2 次提交
  6. 23 11月, 2015 1 次提交
    • C
      drm/i915: Mark uneven memory banks on gen4 desktop as unknown swizzling · 0b466dc2
      Chris Wilson 提交于
      We have varied reports of swizzling corruption on gen4 desktop, and
      confirmation that one at least is triggered by uneven memory banks
      (L-shaped memory). The implication is that the swizzling varies between
      the paired channels and the remainder of memory on the single channel. As
      the object then has unpredictable swizzling (it will vary depending on
      exact page allocation and may even change during the object's lifetime as
      the pages are replaced), we have to report to userspace that the swizzling
      is unknown.
      
      However, some existing userspace is buggy when it meets an unknown
      swizzling configuration and so we need to tell another white lie and
      mark the swizzling as NONE but report it as UNKNOWN through the extended
      get-tiling-ioctl. See
      
      commit 5eb3e5a5
      Author: Chris Wilson <chris@chris-wilson.co.uk>
      Date:   Sun Jun 28 09:19:26 2015 +0100
      
          drm/i915: Declare the swizzling unknown for L-shaped configurations
      
      for the previous example where we found that telling the truth to
      userspace just ends up in a world of hurt.
      
      Also since we don't truly know what the swizzling is on the pages, we
      need to keep them pinned to prevent swapping as the reports also
      suggest that some gen4 devices have previously undetected bit17
      swizzling.
      
      v2: Combine unknown + quirk patches to prevent userspace ever seeing
      unknown swizzling through the normal get-tiling-ioctl. Also use the same
      path for the existing uneven bank detection for mobile gen4.
      Reported-by: NMatti Hämäläinen <ccr@tnsp.org>
      Tested-by: NMatti Hämäläinen <ccr@tnsp.org>
      References: https://bugs.freedesktop.org/show_bug.cgi?id=90725Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Matti Hämäläinen <ccr@tnsp.org>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Jani Nikula <jani.nikula@intel.com>
      Cc: stable@vger.kernel.org
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/1447927085-31726-1-git-send-email-chris@chris-wilson.co.ukSigned-off-by: NJani Nikula <jani.nikula@intel.com>
      0b466dc2
  7. 21 11月, 2015 5 次提交
  8. 19 11月, 2015 6 次提交
    • D
      drm/atomic-helper: Check encoder/crtc constraints · 5481c8fb
      Daniel Vetter 提交于
      This was totally lost when I originally created the atomic helpers.
      
      We probably should also check possible_clones in the helpers, but
      since the legacy ones didn't do that this is for a separate patch.
      Reported-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Daniel Stone <daniels@collabora.com>
      Reviewed-by: NDaniel Stone <daniels@collabora.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Tested-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1447868808-10266-1-git-send-email-daniel.vetter@ffwll.ch
      5481c8fb
    • J
      Revert "drm/i915: skip modeset if compatible for everyone." · 73831236
      Jani Nikula 提交于
      This reverts
      
      commit 6764e9f8
      Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Date:   Thu Aug 27 15:44:06 2015 +0200
      
          drm/i915: skip modeset if compatible for everyone.
      
      Bring back the i915.fastboot module parameter, disabled by default, due
      to backlight regression on Chromebook Pixel 2015.
      
      Apparently the firmware of the Chromebook in question enables the panel
      but disables backlight to avoid a brief garbage scanout upon loading the
      kernel/module. With fastboot, we leave the backlight untouched, in this
      case disabled. The user would have to do a modeset (i.e. not just crank
      up the brightness) to enable the backlight.
      
      There is no clean fix readily available, so get back to the drawing
      board by reverting.
      
      [N.B. The reference below is for when the thread was included on public
      lists, and some of the context had already been dropped by then.]
      Reported-and-tested-by: NOlof Johansson <olof@lixom.net>
      Acked-by: NMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Acked-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      References: http://marc.info/?i=CAKMK7uES7xk05ki92oeX6gmvZWAh9f2vL7yz=6T+fGK9J3X7cQ@mail.gmail.com
      Fixes: 6764e9f8 ("drm/i915: skip modeset if compatible for everyone.")
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1447921590-3785-1-git-send-email-jani.nikula@intel.com
      73831236
    • W
      drm/mgag200: fix kernel hang in cursor code. · f6619ef7
      Wang, Rui Y 提交于
      The machine hang completely with the following message on the console:
      
      [  487.777538] BUG: unable to handle kernel NULL pointer dereference at 0000000000000060
      [  487.777554] IP: [<ffffffff8158aaee>] _raw_spin_lock+0xe/0x30
      [  487.777557] PGD 42e9f7067 PUD 42f2fa067 PMD 0
      [  487.777560] Oops: 0002 [#1] SMP
      ...
      [  487.777618] CPU: 21 PID: 3190 Comm: Xorg Tainted: G            E   4.4.0-rc1-3-default+ #6
      [  487.777620] Hardware name: Intel Corporation BRICKLAND/BRICKLAND, BIOS BRHSXSD1.86B.0059.R00.1501081238 01/08/2015
      [  487.777621] task: ffff880853ae4680 ti: ffff8808696d4000 task.ti: ffff8808696d4000
      [  487.777625] RIP: 0010:[<ffffffff8158aaee>]  [<ffffffff8158aaee>] _raw_spin_lock+0xe/0x30
      [  487.777627] RSP: 0018:ffff8808696d79c0  EFLAGS: 00010246
      [  487.777628] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
      [  487.777629] RDX: 0000000000000001 RSI: 0000000000000000 RDI: 0000000000000060
      [  487.777630] RBP: ffff8808696d79e0 R08: 0000000000000000 R09: ffff88086924a780
      [  487.777631] R10: 000000000001bb40 R11: 0000000000003246 R12: 0000000000000000
      [  487.777632] R13: ffff880463a27360 R14: ffff88046ca50218 R15: 0000000000000080
      [  487.777634] FS:  00007f3f81c5a8c0(0000) GS:ffff88086f060000(0000) knlGS:0000000000000000
      [  487.777635] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [  487.777636] CR2: 0000000000000060 CR3: 000000042e678000 CR4: 00000000001406e0
      [  487.777638] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [  487.777639] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      [  487.777639] Stack:
      [  487.777642]  ffffffffa00eb5fa ffff8808696d7b60 ffff88086b87d800 0000000000000000
      [  487.777644]  ffff8808696d7ac8 ffffffffa01694b6 ffff8808696d7ae8 ffffffff8109c8d5
      [  487.777647]  ffff880469158740 ffff880463a27000 ffff88086b87d800 ffff88086b87d800
      [  487.777647] Call Trace:
      [  487.777674]  [<ffffffffa00eb5fa>] ? drm_gem_object_lookup+0x1a/0xa0 [drm]
      [  487.777681]  [<ffffffffa01694b6>] mga_crtc_cursor_set+0xc6/0xb60 [mgag200]
      [  487.777691]  [<ffffffff8109c8d5>] ? find_busiest_group+0x35/0x4a0
      [  487.777696]  [<ffffffff81086294>] ? __might_sleep+0x44/0x80
      [  487.777699]  [<ffffffff815888c2>] ? __ww_mutex_lock+0x22/0x9c
      [  487.777722]  [<ffffffffa0104f64>] ? drm_modeset_lock+0x34/0xf0 [drm]
      [  487.777733]  [<ffffffffa0148d9e>] restore_fbdev_mode+0xee/0x2a0 [drm_kms_helper]
      [  487.777742]  [<ffffffffa014afce>] drm_fb_helper_restore_fbdev_mode_unlocked+0x2e/0x70 [drm_kms_helper]
      [  487.777748]  [<ffffffffa014b037>] drm_fb_helper_set_par+0x27/0x50 [drm_kms_helper]
      [  487.777752]  [<ffffffff8134560c>] fb_set_var+0x18c/0x3f0
      [  487.777777]  [<ffffffffa02a9b0a>] ? __ext4_handle_dirty_metadata+0x8a/0x210 [ext4]
      [  487.777783]  [<ffffffff8133cb97>] fbcon_blank+0x1b7/0x2b0
      [  487.777790]  [<ffffffff813be2a3>] do_unblank_screen+0xb3/0x1c0
      [  487.777795]  [<ffffffff813b5aba>] vt_ioctl+0x118a/0x1210
      [  487.777801]  [<ffffffff813a8fe0>] tty_ioctl+0x3f0/0xc90
      [  487.777808]  [<ffffffff81172018>] ? kzfree+0x28/0x30
      [  487.777813]  [<ffffffff811e053f>] ? mntput+0x1f/0x30
      [  487.777817]  [<ffffffff811d3f5d>] do_vfs_ioctl+0x30d/0x570
      [  487.777822]  [<ffffffff8107ed3a>] ? task_work_run+0x8a/0xa0
      [  487.777825]  [<ffffffff811d4234>] SyS_ioctl+0x74/0x80
      [  487.777829]  [<ffffffff8158aeae>] entry_SYSCALL_64_fastpath+0x12/0x71
      [  487.777851] Code: 65 ff 0d ce 02 a8 7e 5d c3 ba 01 00 00 00 f0 0f b1 17 85 c0 75 e8 b0 01 5d c3 0f 1f 00 65 ff 05 b1 02 a8 7e 31 c0 ba 01 00 00 00 <f0> 0f b1 17 85 c0 75 01 c3 55 89 c6 48 89 e5 e8 4e f5 b1 ff 5d
      [  487.777854] RIP  [<ffffffff8158aaee>] _raw_spin_lock+0xe/0x30
      [  487.777855]  RSP <ffff8808696d79c0>
      [  487.777856] CR2: 0000000000000060
      [  487.777860] ---[ end trace 672a2cd555e0ebd3 ]---
      
      The cursor code may be entered with file_priv == NULL && handle == NULL.
      The problem was introduced by:
      
      "bf89209a drm/mga200g: Hold a proper reference for cursor_set"
      
      which calls drm_gem_object_lookup(dev, file_priv...). Previously this wasn't
      a problem because we checked the handle. Move the check early in the function
      can fix the problem.
      Signed-off-by: NRui Wang <rui.y.wang@intel.com>
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      f6619ef7
    • C
      drm/amdgpu: reserve/unreserve objects out of map/unmap operations · 49b02b18
      Chunming Zhou 提交于
      Change-Id: Id6514f2fb6e002437fdbe99353d5d35f4ac736c7
      Signed-off-by: NChunming Zhou <David1.Zhou@amd.com>
      Reviewed-by: NChristian König <christian.koenig@amd.com>
      49b02b18
    • C
      drm/amdgpu: move bo_reserve out of amdgpu_vm_clear_bo · ef9f0a83
      Chunming Zhou 提交于
      Change-Id: Ifbb0c06680494bfa04d0be5e5941d31ae2e5ef28
      Signed-off-by: NChunming Zhou <David1.Zhou@amd.com>
      Reviewed-by: NChristian König <christian.koenig@amd.com>
      ef9f0a83
    • C
      drm/amdgpu: add lock for interval tree in vm · c25867df
      Chunming Zhou 提交于
      Change-Id: I62b892a22af37b32e6b4aefca80a25cf45426ed2
      Signed-off-by: NChunming Zhou <David1.Zhou@amd.com>
      Reviewed-by: NChristian König <christian.koenig@amd.com>
      c25867df