1. 19 11月, 2015 13 次提交
    • 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
    • D
      Merge branch 'drm-vc4-fixes' of git://github.com/anholt/linux into drm-fixes · e6c84acb
      Dave Airlie 提交于
      Here are a few little VC4 fixes for 4.4 that I didn't get in to you
      before the -next pull request.  I dropped the feature-ish one I'd
      mentioned, and also droppped the one I saw you included in the last
      -fixes pull request.
      
      * 'drm-vc4-fixes' of git://github.com/anholt/linux:
        drm/vc4: Make sure that planes aren't scaled.
        drm/vc4: Fix some failure to track __iomem decorations on pointers.
        drm/vc4: checking for NULL instead of IS_ERR
        drm/vc4: fix itnull.cocci warnings
        drm/vc4: fix platform_no_drv_owner.cocci warnings
        drm/vc4: vc4_plane_duplicate_state() can be static
      e6c84acb
    • D
      Merge branch 'drm-fixes-4.4' of git://people.freedesktop.org/~agd5f/linux into drm-fixes · 8ed59fd6
      Dave Airlie 提交于
      Radeon and amdgpu fixes for 4.4.  A bit more the usual since I missed
      last week.  Misc fixes all over the place.  The big changes are the
      tiling configuration fixes for Fiji.
      
      * 'drm-fixes-4.4' of git://people.freedesktop.org/~agd5f/linux: (35 commits)
        drm/amdgpu: reserve/unreserve objects out of map/unmap operations
        drm/amdgpu: move bo_reserve out of amdgpu_vm_clear_bo
        drm/amdgpu: add lock for interval tree in vm
        drm/amdgpu: keep the owner for VMIDs
        drm/amdgpu: move VM manager clean into the VM code again
        drm/amdgpu: cleanup VM coding style
        drm/amdgpu: remove unused VM manager field
        drm/amdgpu: cleanup scheduler command submission
        drm/amdgpu: fix typo in firmware name
        drm/amdgpu: remove the unnecessary parameter adev for amdgpu_sa_bo_new()
        drm/amdgpu: wait interruptible when semaphores are disabled v2
        drm/amdgpu: update pd while updating vm as well
        drm/amdgpu: fix handling order in scheduler CS
        drm/amdgpu: fix incorrect mutex usage v3
        drm/amdgpu: cleanup scheduler fence get/put dance
        drm/amdgpu: add command submission workflow tracepoint
        drm/amdgpu: update Fiji's tiling mode table
        drm/amdgpu: fix bug that can't enter thermal interrupt for bonaire.
        drm/amdgpu: fix seq_printf format string
        drm/radeon: fix quirk for MSI R7 370 Armor 2X
        ...
      8ed59fd6
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 34258a32
      Linus Torvalds 提交于
      Pull s390 fixes from Martin Schwidefsky:
       "Assorted bug fixes, the mlock2 system call gets added, and one
        improvement.  The boot from dasd devices is now possible from a wider
        range of devices"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390: remove SALIPL loader
        s390: wire up mlock2 system call
        s390: remove g5 elf platform support
        s390: avoid cache aliasing under z/VM and KVM
        s390/sclp: _sclp_wait_int(): retain full PSW mask
        s390/zcrypt: Fix initialisation when zcrypt is built-in
        s390/zcrypt: Fix kernel crash on systems without AP bus support
        s390: add support for ipl devices in subchannel sets > 0
        s390/ipl: fix out of bounds access in scpdata_write
        s390/pci_dma: improve debugging of errors during dma map
        s390/pci_dma: handle dma table failures
        s390/pci_dma: unify label of invalid translation table entries
        s390/syscalls: remove system call number calculation
        s390/cio: simplify css_generate_pgid
        s390/diag: add a s390 prefix to the diagnose trace point
        s390/head: fix error message on unsupported hardware
      34258a32
    • L
      Merge tag 'hwmon-for-linus-v4.4-rc2' of... · 0d77a123
      Linus Torvalds 提交于
      Merge tag 'hwmon-for-linus-v4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon fixes from Guenter Roeck:
       "Fix build issues in scpi and ina2xx drivers, update scpi driver to
        support recent firmware, and fix an uninitialized variable warning in
        applesmc driver"
      
      * tag 'hwmon-for-linus-v4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (scpi) skip unsupported sensors properly
        hwmon: (scpi) add thermal-of dependency
        hwmon : (applesmc) Fix uninitialized variables warnings
        hwmon: (ina2xx) Fix build issue by selecting REGMAP_I2C
      0d77a123
    • 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
    • C
      drm/amdgpu: keep the owner for VMIDs · 1c16c0a7
      Christian König 提交于
      We don't need the last VM use any more, keep the owner directly.
      Signed-off-by: NChristian König <christian.koenig@amd.com>
      Reviewed-by: NChunming Zhou <davdi1.zhou@amd.com>
      1c16c0a7
    • C
      drm/amdgpu: move VM manager clean into the VM code again · ea89f8c9
      Christian König 提交于
      It's not a good idea to duplicate that code.
      Signed-off-by: NChristian König <christian.koenig@amd.com>
      Reviewed-by: NChunming Zhou <davdi1.zhou@amd.com>
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      ea89f8c9
    • C
      drm/amdgpu: cleanup VM coding style · 8b4fb00b
      Christian König 提交于
      Fix the indentation and move the VM functions to the structures.
      Signed-off-by: NChristian König <christian.koenig@amd.com>
      Reviewed-by: NChunming Zhou <davdi1.zhou@amd.com>
      Reviewed-by: NJunwei Zhang <Jerry.Zhang@amd.com>
      Reviewed-by: NAlex Deucher <alexander.deucher@amd.com>
      8b4fb00b
    • C
    • C
      drm/amdgpu: cleanup scheduler command submission · 984810fc
      Christian König 提交于
      Unify the two code path again, cause they do pretty much the same thing.
      Signed-off-by: NChristian König <christian.koenig@amd.com>
      Reviewed-by: NChunming Zhou <davdi1.zhou@amd.com>
      Reviewed-by: NJunwei Zhang <Jerry.Zhang@amd.com>
      984810fc
  2. 18 11月, 2015 27 次提交