1. 25 6月, 2016 23 次提交
  2. 24 6月, 2016 13 次提交
    • L
      Merge tag 'upstream-4.7-rc5' of git://git.infradead.org/linux-ubifs · 63c04ee7
      Linus Torvalds 提交于
      Pull UBI/UBIFS fixes from Richard Weinberger:
       "This contains fixes for two critical bugs in UBI and UBIFS:
      
         - fix the possibility of losing data upon a power cut when UBI tries
           to recover from a write error
      
         - fix page migration on UBIFS.  It turned out that the default page
           migration function is not suitable for UBIFS"
      
      * tag 'upstream-4.7-rc5' of git://git.infradead.org/linux-ubifs:
        UBIFS: Implement ->migratepage()
        mm: Export migrate_page_move_mapping and migrate_page_copy
        ubi: Make recover_peb power cut aware
        gpio: make library immune to error pointers
        gpio: make sure gpiod_to_irq() returns negative on NULL desc
        gpio: 104-idi-48: Fix missing spin_lock_init for ack_lock
      63c04ee7
    • L
      Merge tag 'drm-fixes-for-v4.7-rc5' of git://people.freedesktop.org/~airlied/linux · 0bf0ea43
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "This is the drm fixes tree for 4.7-rc5.
      
        It's a bit larger than normal, due to fixes for production AMD Polaris
        GPUs.  We only merged support for these in 4.7-rc1 so it would be good
        if we got all the fixes into final.  The changes don't hit any other
        hardware.
      
        Other than the amdgpu Polaris changes:
      
         - A single fix for atomic modesetting WARN
         - Nouveau fix for when fbdev is disabled
         - i915 fixes for FBC on Haswell and displayport regression
         - Exynos fix for a display panel regression and some other minor changes
         - Atmel fixes for scaling and OF graph interaction
         - Allwiinner build, warning and probing fixes
         - AMD GPU non-polaris fix for num_rbs and some minor fixes
      
        Also I've just moved house, and my new place is Internet challenged
        due to incompetent incumbent ISPs, hopefully sorted out in a couple of
        weeks, so I might not be too responsive over the next while.  It also
        helps Daniel is on holidays for those couple of weeks as well"
      
      * tag 'drm-fixes-for-v4.7-rc5' of git://people.freedesktop.org/~airlied/linux: (38 commits)
        drm/atomic: Make drm_atomic_legacy_backoff reset crtc->acquire_ctx
        drm/nouveau: fix for disabled fbdev emulation
        drm/i915/fbc: Disable on HSW by default for now
        drm/i915: Revert DisplayPort fast link training feature
        drm/amd/powerplay: enable clock stretch feature for polaris
        drm/amdgpu/gfx8: update golden setting for polaris10
        drm/amd/powerplay: enable avfs feature for polaris
        drm/amdgpu/atombios: add avfs struct for Polaris10/11
        drm/amd/powerplay: add avfs related define for polaris
        drm/amd/powrplay: enable stutter_mode for polaris.
        drm/amd/powerplay: disable UVD SMU handshake for MCLK.
        drm/amd/powerplay: initialize variables which were missed.
        drm/amd/powerplay: enable PowerContainment feature for polaris10/11.
        drm/amd/powerplay: need to notify system bios pcie device ready
        drm/amd/powerplay: fix bug that function parameter was incorect.
        drm/amd/powerplay: fix logic error.
        drm: atmel-hlcdc: Fix OF graph parsing
        drm: atmel-hlcdc: actually disable scaling when no scaling is required
        drm/amdgpu: initialize amdgpu_cgs_acpi_eval_object result value
        drm/amdgpu: precedence bug in amdgpu_device_init()
        ...
      0bf0ea43
    • L
      Merge tag 'pci-v4.7-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 75befb31
      Linus Torvalds 提交于
      Pull PCI fix from Bjorn Helgaas:
       "Here's a small fix for v4.7.  This problem was actually introduced in
        v4.6 when we unified Kconfig, making PCIe support available everywhere
        including sparc, where config reads into unaligned buffers cause
        warnings.  This fix is from Dave Miller.
      
        As a reminder, any future PCI fixes for v4.7 will probably come from
        Alex Williamson, since I'll be on vacation for most of the rest of
        this cycle.  I should be back about the time the merge window opens"
      
      * tag 'pci-v4.7-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        PCI: Fix unaligned accesses in VC code
      75befb31
    • M
      drm/atomic: Make drm_atomic_legacy_backoff reset crtc->acquire_ctx · 81e257e9
      Maarten Lankhorst 提交于
      Atomic updates may acquire more state than initially locked through
      drm_modeset_lock_crtc, running with heavy stress can cause a
      WARN_ON(crtc->acquire_ctx) in drm_modeset_lock_crtc:
      
      [  601.491296] ------------[ cut here ]------------
      [  601.491366] WARNING: CPU: 0 PID: 2411 at
      drivers/gpu/drm/drm_modeset_lock.c:191 drm_modeset_lock_crtc+0xeb/0xf0 [drm]
      [  601.491369] Modules linked in: drm i915 drm_kms_helper
      [  601.491414] CPU: 0 PID: 2411 Comm: kms_cursor_lega Tainted: G     U 4.7.0-rc4-patser+ #4798
      [  601.491417] Hardware name: Intel Corporation Skylake Client
      [  601.491420]  0000000000000000 ffff88044d153c98 ffffffff812ead28 0000000000000000
      [  601.491425]  0000000000000000 ffff88044d153cd8 ffffffff810868e6 000000bf58058030
      [  601.491431]  ffff880088b415e8 ffff880458058030 ffff88008a271548 ffff88008a271568
      [  601.491436] Call Trace:
      [  601.491443]  [<ffffffff812ead28>] dump_stack+0x4d/0x65
      [  601.491447]  [<ffffffff810868e6>] __warn+0xc6/0xe0
      [  601.491452]  [<ffffffff81086968>] warn_slowpath_null+0x18/0x20
      [  601.491472]  [<ffffffffc00d4ffb>] drm_modeset_lock_crtc+0xeb/0xf0 [drm]
      [  601.491491]  [<ffffffffc00c5526>] drm_mode_cursor_common+0x66/0x180 [drm]
      [  601.491509]  [<ffffffffc00c91cc>] drm_mode_cursor_ioctl+0x3c/0x40 [drm]
      [  601.491524]  [<ffffffffc00bc94d>] drm_ioctl+0x14d/0x530 [drm]
      [  601.491540]  [<ffffffffc00c9190>] ? drm_mode_setcrtc+0x520/0x520 [drm]
      [  601.491545]  [<ffffffff81176aeb>] ? handle_mm_fault+0x106b/0x1430
      [  601.491550]  [<ffffffff81108441>] ? stop_one_cpu+0x61/0x70
      [  601.491556]  [<ffffffff811bb71d>] do_vfs_ioctl+0x8d/0x570
      [  601.491560]  [<ffffffff81290d7e>] ? security_file_ioctl+0x3e/0x60
      [  601.491565]  [<ffffffff811bbc74>] SyS_ioctl+0x74/0x80
      [  601.491571]  [<ffffffff810e321c>] ? posix_get_monotonic_raw+0xc/0x10
      [  601.491576]  [<ffffffff8175b11b>] entry_SYSCALL_64_fastpath+0x13/0x8f
      [  601.491581] ---[ end trace 56f3d3d85f000d00 ]---
      
      For good measure, test mode_config.acquire_ctx too, although this should
      never happen.
      
      Testcase: kms_cursor_legacy
      Signed-off-by: NMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Cc: stable@vger.kernel.org
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      81e257e9
    • D
      Merge branch 'drm-fixes-4.7' of git://people.freedesktop.org/~agd5f/linux into drm-fixes · f939a5f4
      Dave Airlie 提交于
      A bit bigger than I would normally like, but most of the large changes are
      for polaris support and since polaris went upstream in 4.7, I'd like
      to get the fixes in so it's in good shape when the hw becomes available.
      The major changes only touch the polaris code so there is little chance
      for regressions on other asics.  The rest are just the usual collection
      of bug fixes.
      
      * 'drm-fixes-4.7' of git://people.freedesktop.org/~agd5f/linux:
        drm/amd/powerplay: enable clock stretch feature for polaris
        drm/amdgpu/gfx8: update golden setting for polaris10
        drm/amd/powerplay: enable avfs feature for polaris
        drm/amdgpu/atombios: add avfs struct for Polaris10/11
        drm/amd/powerplay: add avfs related define for polaris
        drm/amd/powrplay: enable stutter_mode for polaris.
        drm/amd/powerplay: disable UVD SMU handshake for MCLK.
        drm/amd/powerplay: initialize variables which were missed.
        drm/amd/powerplay: enable PowerContainment feature for polaris10/11.
        drm/amd/powerplay: need to notify system bios pcie device ready
        drm/amd/powerplay: fix bug that function parameter was incorect.
        drm/amd/powerplay: fix logic error.
        drm/amdgpu: initialize amdgpu_cgs_acpi_eval_object result value
        drm/amdgpu: precedence bug in amdgpu_device_init()
        drm/amdgpu: fix num_rbs exposed to userspace (v2)
        drm/amdgpu: missing bounds check in amdgpu_set_pp_force_state()
      f939a5f4
    • D
      Merge branch 'exynos-drm-fixes' of... · c65c3de6
      Dave Airlie 提交于
      Merge branch 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-fixes
      
      Since HW trigger mode was suppoted we have faced with a issue
      that Display panel didn't work correctly when trigger mode was changed
      in booting time.
      For this, we keep trigger mode with SW trigger mode in default mode
      like we did before.
      
      However, we will need to consider PSR(Panel Self Reflash) mode to resolve
      this issue fundamentally later.
      
      * 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos:
        drm/exynos: use logical AND in exynos_drm_plane_check_size()
        drm/exynos: remove superfluous inclusions of fbdev header
        drm/exynos: g2d: drop the _REG postfix from the stride defines
        drm/exynos: don't use HW trigger for Exynos5420/5422/5800
        drm/exynos: fimd: don't set .has_hw_trigger in s3c6400 driver data
        drm/exynos: dp: Fix NULL pointer dereference due uninitialized connector
      c65c3de6
    • D
      Merge tag 'drm-atmel-hlcdc-fixes/for-4.7-rc5' of github.com:bbrezillon/linux-at91 into drm-fixes · 59b0b70f
      Dave Airlie 提交于
      Two bug fixes for the atmel-hlcdc driver.
      
      * tag 'drm-atmel-hlcdc-fixes/for-4.7-rc5' of github.com:bbrezillon/linux-at91:
        drm: atmel-hlcdc: Fix OF graph parsing
        drm: atmel-hlcdc: actually disable scaling when no scaling is required
      59b0b70f
    • D
      Merge tag 'sunxi-drm-fixes-for-4.7' of... · f762bfda
      Dave Airlie 提交于
      Merge tag 'sunxi-drm-fixes-for-4.7' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into drm-fixes
      
      Allwinner sun4i DRM driver fixes
      
      A bunch of fixes that address:
        - Compilation errors in various corner cases
        - Move to helpers
        - Fix the pixel clock computation
        - Fix our panel probe
      
      * tag 'sunxi-drm-fixes-for-4.7' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux:
        drm: sun4i: do cleanup if RGB output init fails
        drm/sun4i: Convert to connector register helpers
        drm/sun4i: remove simplefb at probe
        drm/sun4i: rgb: panel is an error pointer
        drm/sun4i: defer only if we didn't find our panel
        drm/sun4i: rgb: Validate the clock rate
        drm/sun4i: request exact rates to our parents
        drm: sun4i: fix probe error handling
        drm: sun4i: print DMA address correctly
        drm/sun4i: add COMMON_CLK dependency
      f762bfda
    • D
      Merge tag 'drm-intel-fixes-2016-06-22' of git://anongit.freedesktop.org/drm-intel into drm-fixes · c38e8016
      Dave Airlie 提交于
       Hi Dave, just a couple of display fixes, both stable stuff. Maybe we'll
      be able to enable fbc by default one day.
      
      * tag 'drm-intel-fixes-2016-06-22' of git://anongit.freedesktop.org/drm-intel:
        drm/i915/fbc: Disable on HSW by default for now
        drm/i915: Revert DisplayPort fast link training feature
      c38e8016
    • D
      Merge branch 'linux-4.7' of git://github.com/skeggsb/linux into drm-fixes · 718cc664
      Dave Airlie 提交于
      * 'linux-4.7' of git://github.com/skeggsb/linux:
        drm/nouveau: fix for disabled fbdev emulation
      718cc664
    • D
      drm/nouveau: fix for disabled fbdev emulation · 52dfcc5c
      Dmitrii Tcvetkov 提交于
      Hello,
      
      after this commit:
      
      commit f045f459
      Author: Ben Skeggs <bskeggs@redhat.com>
      Date:   Thu Jun 2 12:23:31 2016 +1000
          drm/nouveau/fbcon: fix out-of-bounds memory accesses
      
      kernel started to oops when loading nouveau module when using GTX 780 Ti
      video adapter. This patch fixes the problem.
      
      Bug report: https://bugzilla.kernel.org/show_bug.cgi?id=120591Signed-off-by: NDmitrii Tcvetkov <demfloro@demfloro.ru>
      Suggested-by: NIlia Mirkin <imirkin@alum.mit.edu>
      Fixes: f045f459 ("nouveau_fbcon_init()")
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      Cc: stable@vger.kernel.org
      52dfcc5c
    • L
      x86: avoid avoid passing around 'thread_info' in stack dumping code · da01e18a
      Linus Torvalds 提交于
      None of the code actually wants a thread_info, it all wants a
      task_struct, and it's just converting to a thread_info pointer much too
      early.
      
      No semantic change.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      da01e18a
    • L
      locking: avoid passing around 'thread_info' in mutex debugging code · 6720a305
      Linus Torvalds 提交于
      None of the code actually wants a thread_info, it all wants a
      task_struct, and it's just converting back and forth between the two
      ("ti->task" to get the task_struct from the thread_info, and
      "task_thread_info(task)" to go the other way).
      
      No semantic change.
      Acked-by: NPeter Zijlstra <peterz@infradead.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6720a305
  3. 23 6月, 2016 4 次提交
    • K
      UBIFS: Implement ->migratepage() · 4ac1c17b
      Kirill A. Shutemov 提交于
      During page migrations UBIFS might get confused
      and the following assert triggers:
      [  213.480000] UBIFS assert failed in ubifs_set_page_dirty at 1451 (pid 436)
      [  213.490000] CPU: 0 PID: 436 Comm: drm-stress-test Not tainted 4.4.4-00176-geaa802524636-dirty #1008
      [  213.490000] Hardware name: Allwinner sun4i/sun5i Families
      [  213.490000] [<c0015e70>] (unwind_backtrace) from [<c0012cdc>] (show_stack+0x10/0x14)
      [  213.490000] [<c0012cdc>] (show_stack) from [<c02ad834>] (dump_stack+0x8c/0xa0)
      [  213.490000] [<c02ad834>] (dump_stack) from [<c0236ee8>] (ubifs_set_page_dirty+0x44/0x50)
      [  213.490000] [<c0236ee8>] (ubifs_set_page_dirty) from [<c00fa0bc>] (try_to_unmap_one+0x10c/0x3a8)
      [  213.490000] [<c00fa0bc>] (try_to_unmap_one) from [<c00fadb4>] (rmap_walk+0xb4/0x290)
      [  213.490000] [<c00fadb4>] (rmap_walk) from [<c00fb1bc>] (try_to_unmap+0x64/0x80)
      [  213.490000] [<c00fb1bc>] (try_to_unmap) from [<c010dc28>] (migrate_pages+0x328/0x7a0)
      [  213.490000] [<c010dc28>] (migrate_pages) from [<c00d0cb0>] (alloc_contig_range+0x168/0x2f4)
      [  213.490000] [<c00d0cb0>] (alloc_contig_range) from [<c010ec00>] (cma_alloc+0x170/0x2c0)
      [  213.490000] [<c010ec00>] (cma_alloc) from [<c001a958>] (__alloc_from_contiguous+0x38/0xd8)
      [  213.490000] [<c001a958>] (__alloc_from_contiguous) from [<c001ad44>] (__dma_alloc+0x23c/0x274)
      [  213.490000] [<c001ad44>] (__dma_alloc) from [<c001ae08>] (arm_dma_alloc+0x54/0x5c)
      [  213.490000] [<c001ae08>] (arm_dma_alloc) from [<c035cecc>] (drm_gem_cma_create+0xb8/0xf0)
      [  213.490000] [<c035cecc>] (drm_gem_cma_create) from [<c035cf20>] (drm_gem_cma_create_with_handle+0x1c/0xe8)
      [  213.490000] [<c035cf20>] (drm_gem_cma_create_with_handle) from [<c035d088>] (drm_gem_cma_dumb_create+0x3c/0x48)
      [  213.490000] [<c035d088>] (drm_gem_cma_dumb_create) from [<c0341ed8>] (drm_ioctl+0x12c/0x444)
      [  213.490000] [<c0341ed8>] (drm_ioctl) from [<c0121adc>] (do_vfs_ioctl+0x3f4/0x614)
      [  213.490000] [<c0121adc>] (do_vfs_ioctl) from [<c0121d30>] (SyS_ioctl+0x34/0x5c)
      [  213.490000] [<c0121d30>] (SyS_ioctl) from [<c000f2c0>] (ret_fast_syscall+0x0/0x34)
      
      UBIFS is using PagePrivate() which can have different meanings across
      filesystems. Therefore the generic page migration code cannot handle this
      case correctly.
      We have to implement our own migration function which basically does a
      plain copy but also duplicates the page private flag.
      UBIFS is not a block device filesystem and cannot use buffer_migrate_page().
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      [rw: Massaged changelog, build fixes, etc...]
      Signed-off-by: NRichard Weinberger <richard@nod.at>
      Acked-by: NChristoph Hellwig <hch@lst.de>
      4ac1c17b
    • R
      mm: Export migrate_page_move_mapping and migrate_page_copy · 1118dce7
      Richard Weinberger 提交于
      Export these symbols such that UBIFS can implement
      ->migratepage.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NRichard Weinberger <richard@nod.at>
      Acked-by: NChristoph Hellwig <hch@lst.de>
      1118dce7
    • R
      ubi: Make recover_peb power cut aware · 972228d8
      Richard Weinberger 提交于
      recover_peb() was never power cut aware,
      if a power cut happened right after writing the VID header
      upon next attach UBI would blindly use the new partial written
      PEB and all data from the old PEB is lost.
      
      In order to make recover_peb() power cut aware, write the new
      VID with a proper crc and copy_flag set such that the UBI attach
      process will detect whether the new PEB is completely written
      or not.
      We cannot directly use ubi_eba_atomic_leb_change() since we'd
      have to unlock the LEB which is facing a write error.
      
      Cc: stable@vger.kernel.org
      Reported-by: NJörg Pfähler <pfaehler@isse.de>
      Reviewed-by: NJörg Pfähler <pfaehler@isse.de>
      Signed-off-by: NRichard Weinberger <richard@nod.at>
      972228d8
    • L
      gpio: make library immune to error pointers · c0a1ecb9
      Linus Walleij 提交于
      Most functions that take a GPIO descriptor in need to check the
      descriptor for IS_ERR(). We do this mostly in the VALIDATE_DESC()
      macro except for the gpiod_to_irq() function which needs special
      handling.
      
      Cc: stable@vger.kernel.org
      Reported-by: NGrygorii Strashko <grygorii.strashko@ti.com>
      Reviewed-by: NGrygorii Strashko <grygorii.strashko@ti.com>
      Acked-by: NAlexandre Courbot <acourbot@nvidia.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      c0a1ecb9