1. 16 2月, 2017 11 次提交
  2. 14 2月, 2017 6 次提交
  3. 10 2月, 2017 3 次提交
    • C
      drm/i915/gvt: fix crash at function release_shadow_wa_ctx · 7e5f3d30
      Changbin Du 提交于
      In function dispatch_workload(), if it fail before calling
      intel_gvt_scan_and_shadow_wa_ctx(), the indirect ctx will
      not be shadowed so no cleaup need. wa_ctx->indirect_ctx.obj
      indicate whether indirect_ctx is shadowed. The obj is null
      if it is unshadowed.
      
      BUG: unable to handle kernel NULL pointer dereference at
      00000000000001a0
      IP: complete_execlist_workload+0x2c9/0x3e0 [i915]
      Oops: 0002 [#1] SMP
      task: ffff939546d2d880 task.stack: ffffbd9b82ac4000
      RIP: 0010:complete_execlist_workload+0x2c9/0x3e0 [i915]
      RSP: 0018:ffffbd9b82ac7dd8 EFLAGS: 00010202
      RAX: 0000000000000000 RBX: ffff9393c725b540 RCX: 0000000000000006
      RDX: 0000000000000007 RSI: 0000000000000202 RDI: ffff939559c8dd00
      RBP: ffffbd9b82ac7e18 R08: 0000000000000001 R09: 000000000120dd8f
      R10: 0000000000000000 R11: 000000000120dd8f R12: ffff9393c725b540
      R13: ffff9393c725b618 R14: ffffbd9b81f0d000 R15: ffff939520e0e000
      FS:  0000000000000000(0000) GS:ffff939559c80000(0000)
      knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 00000000000001a0 CR3: 000000043d664000 CR4: 00000000003426e0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      Call Trace:
       workload_thread+0x312/0xd70 [i915]
       ? __wake_up_sync+0x20/0x20
       ? wake_atomic_t_function+0x60/0x60
       kthread+0x101/0x140
      Signed-off-by: NChangbin Du <changbin.du@intel.com>
      Signed-off-by: NZhenyu Wang <zhenyuw@linux.intel.com>
      7e5f3d30
    • S
      drm/amdgpu: report the number of bytes moved at buffer creation · fad06127
      Samuel Pitoiset 提交于
      Like ttm_bo_validate(), ttm_bo_init() might need to move BO and
      the number of bytes moved by TTM should be reported. This can help
      the throttle buffer migration mechanism to make a better decision.
      
      v2: fix computation
      Reviewed-by: NChristian König <christian.koenig@amd.com>
      Signed-off-by: NSamuel Pitoiset <samuel.pitoiset@gmail.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      fad06127
    • S
      drm/amdgpu: fix a potential deadlock in amdgpu_bo_create_restricted() · 38fc4856
      Samuel Pitoiset 提交于
      When ttm_bo_init() fails, the reservation mutex should be unlocked.
      
      In debug build, the kernel reported "possible recursive locking
      detected" in this codepath. For debugging purposes, I also added
      a "WARN_ON(ww_mutex_is_locked())" when ttm_bo_init() fails and the
      mutex was locked as expected.
      
      This should fix (random) GPU hangs. The easy way to reproduce the
      issue is to change the "Super Sampling" option from 1.0 to 2.0 in
      Hitman. It will create a huge buffer, evict a bunch of buffers
      (around ~5k) and deadlock.
      
      This regression has been introduced pretty recently.
      
      v2: only release the mutex if resv is NULL
      
      Fixes: 12a852219583 ("drm/amdgpu: improve AMDGPU_GEM_CREATE_VRAM_CLEARED handling (v2)")
      Reviewed-by: NChristian König <christian.koenig@amd.com>
      Signed-off-by: NSamuel Pitoiset <samuel.pitoiset@gmail.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      38fc4856
  4. 09 2月, 2017 20 次提交