1. 29 Dec, 2014 7 commits
    • Linus Torvalds's avatar
      Merge tag 'spi-v3.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 346eef2f
      Linus Torvalds authored
      Pull spi fixes from Mark Brown:
       "A few driver specific fixes here, the DMA burst size increase in the
        spfi driver is a fix to make the hardware happier in some situations"
      
      * tag 'spi-v3.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: img-spfi: Increase DMA burst size
        spi: img-spfi: Enable controller before starting TX DMA
        spi: sh-msiof: Add runtime PM lock in initializing
      346eef2f
    • Linus Torvalds's avatar
      Merge tag 'regulator-v3.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 034496f4
      Linus Torvalds authored
      Pull one regulator fix from Mark Brown:
       "One fix here, a fix for the voltage mapping on one of the s2mps11
        regulators which broke systems using it including apparently the
        Gear 2 smartwatches"
      
      * tag 'regulator-v3.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: s2mps11: Fix dw_mmc failure on Gear 2
      034496f4
    • Linus Torvalds's avatar
      Merge tag 'mmc-v3.19-2' of git://git.linaro.org/people/ulf.hansson/mmc · 5e6c2c97
      Linus Torvalds authored
      Pull one MMC fix from Ulf Hansson:
       "MMC core:
      
         - Fix selection of buswidth for mmc hosts supporting 1-bit only"
      
      * tag 'mmc-v3.19-2' of git://git.linaro.org/people/ulf.hansson/mmc:
        mmc: core: stop trying to switch width when only one bit is supported
      5e6c2c97
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · 4c5d4995
      Linus Torvalds authored
      Pull thermal management updates from Zhang Rui:
       "First of all, the most important change is the thermal cpu cooling
        fixes.  The major fix here is to have proper sequencing between
        cpufreq layer and thermal cpu cooling registration.  A take away of
        this fix is an improvement in the thermal drivers code.  Thermal
        drivers that require cpu cooling do not need to check for cpufreq
        layer.  The requirement now is to propagate the error code, if any,
        while registering cpu cooling device.  Thanks to Viresh for
        implementing the required CPUfreq changes.
      
        Second, a new driver is introduced for int340x processor thermal
        device.  Given that int340x thermal is disabled by default, and this
        processor thermal device is only available on limited platforms, plus
        the driver does nothing but exposes some thermal limitation
        information for user space to use, thus I think it is safe to include
        it in this pull request after missing 3.19-rc2.
      
        Specifics:
      
         - Thermal cpu cooling fixes and cleanups.
      
         - introduce INT340X processor thermal reporting device driver.
      
         - several small fixes and cleanups for int340x thermal drivers"
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (43 commits)
        Thermal/int340x/int3403: Free acpi notification handler
        Thermal/int340x/processor_thermal: Fix memory leak
        Thermal/int340x/int3403: Fix memory leak
        thermal: int340x: Introduce processor reporting device
        thermal: int340x_thermal: drop owner assignment from platform_drivers
        thermal: drop owner assignment from platform_drivers
        thermal: cpu_cooling: document node in struct cpufreq_cooling_device
        thermal/powerclamp: add ids for future xeon cpus
        Thermal/int340x: Handle properly the case when _trt or _art acpi entry is missing
        thermal: cpu_cooling: return ERR_PTR() for !CPU_THERMAL or !THERMAL_OF
        thermal: cpu_cooling: small memory leak on error
        thermal: ti-soc-thermal: Do not print error message in the EPROBE_DEFER case
        thermal: db8500: Do not print error message in the EPROBE_DEFER case
        thermal: imx: Do not print error message in the EPROBE_DEFER case
        thermal: Fix cdev registration with THERMAL_NO_LIMIT on 64bit
        drivers: thermal: Remove ARCH_HAS_BANDGAP dependency for samsung
        thermal:core:fix: Check return code of the ->get_max_state() callback
        thermal: cpu_cooling: update copyright tags
        thermal: cpu_cooling: Use cpufreq_dev->freq_table for finding level/freq
        thermal: cpu_cooling: Store frequencies in descending order
        ...
      4c5d4995
    • Michal Hocko's avatar
      mm: get rid of radix tree gfp mask for pagecache_get_page · 45f87de5
      Michal Hocko authored
      Commit 2457aec6 ("mm: non-atomically mark page accessed during page
      cache allocation where possible") has added a separate parameter for
      specifying gfp mask for radix tree allocations.
      
      Not only this is less than optimal from the API point of view because it
      is error prone, it is also buggy currently because
      grab_cache_page_write_begin is using GFP_KERNEL for radix tree and if
      fgp_flags doesn't contain FGP_NOFS (mostly controlled by fs by
      AOP_FLAG_NOFS flag) but the mapping_gfp_mask has __GFP_FS cleared then
      the radix tree allocation wouldn't obey the restriction and might
      recurse into filesystem and cause deadlocks.  This is the case for most
      filesystems unfortunately because only ext4 and gfs2 are using
      AOP_FLAG_NOFS.
      
      Let's simply remove radix_gfp_mask parameter because the allocation
      context is same for both page cache and for the radix tree.  Just make
      sure that the radix tree gets only the sane subset of the mask (e.g.  do
      not pass __GFP_WRITE).
      
      Long term it is more preferable to convert remaining users of
      AOP_FLAG_NOFS to use mapping_gfp_mask instead and simplify this
      interface even further.
      Reported-by: default avatarDave Chinner <david@fromorbit.com>
      Signed-off-by: default avatarMichal Hocko <mhocko@suse.cz>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      45f87de5
    • Alexandre Belloni's avatar
      mmc: core: stop trying to switch width when only one bit is supported · 1c2d26e3
      Alexandre Belloni authored
      mmc_select_bus_width() will try to switch to MMC_BUS_WIDTH_4 even if
      MMC_CAP_4_BIT_DATA and MMC_CAP_8_BIT_DATA are not set in host->caps.
      Return as soon as possible when those flags are not set
      
      Fixes: 577fb131 (mmc: rework selection of bus speed mode)
      Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
      Cc: <stable@vger.kernel.org> # 3.17
      Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
      1c2d26e3
    • Linus Torvalds's avatar
      Linux 3.19-rc2 · b7392d22
      Linus Torvalds authored
      b7392d22
  2. 28 Dec, 2014 4 commits
  3. 27 Dec, 2014 4 commits
  4. 26 Dec, 2014 5 commits
    • Linus Torvalds's avatar
      Merge branch 'parisc-3.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 58628a78
      Linus Torvalds authored
      Pull parisc build fix from Helge Deller:
       "This unbreaks the kernel compilation on parisc with gcc-4.9"
      
      * 'parisc-3.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: fix out-of-register compiler error in ldcw inline assembler function
      58628a78
    • John David Anglin's avatar
      parisc: fix out-of-register compiler error in ldcw inline assembler function · 45db0738
      John David Anglin authored
      The __ldcw macro has a problem when its argument needs to be reloaded from
      memory. The output memory operand and the input register operand both need to
      be reloaded using a register in class R1_REGS when generating 64-bit code.
      This fails because there's only a single register in the class. Instead, use a
      memory clobber. This also makes the __ldcw macro a compiler memory barrier.
      Signed-off-by: default avatarJohn David Anglin <dave.anglin@bell.net>
      Cc: <stable@vger.kernel.org>        [3.13+]
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      45db0738
    • Libin Yang's avatar
      ALSA: hda_intel: apply the Seperate stream_tag for Skylake · d6795827
      Libin Yang authored
      The total stream number of Skylake's input and output stream
      exceeds 15, which will cause some streams do not work because
      of the overflow on SDxCTL.STRM field if using the legacy
      stream tag allocation method.
      
      This patch uses the new stream tag allocation method by add
      the flag AZX_DCAPS_SEPARATE_STREAM_TAG for Skylake platform.
      Signed-off-by: default avatarLibin Yang <libin.yang@intel.com>
      Reviewed-by: default avatarVinod Koul <vinod.koul@intel.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      d6795827
    • Rafal Redzimski's avatar
      ALSA: hda_controller: Separate stream_tag for input and output streams. · 93e3423e
      Rafal Redzimski authored
      Implemented separate stream_tag assignment for input and output streams.
      According to hda specification stream tag must be unique throughout the
      input streams group, however an output stream might use a stream tag
      which is already in use by an input stream. This change is necessary
      to support HW which provides a total of more than 15 stream DMA engines
      which with legacy implementation causes an overflow on SDxCTL.STRM
      field (and the whole SDxCTL register) and as a result usage of
      Reserved value 0 in the SDxCTL.STRM field which confuses HDA controller.
      Signed-off-by: default avatarRafal Redzimski <rafal.f.redzimski@intel.com>
      Signed-off-by: default avatarJayachandran B <jayachandran.b@intel.com>
      Signed-off-by: default avatarLibin Yang <libin.yang@intel.com>
      Reviewed-by: default avatarVinod Koul <vinod.koul@intel.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      93e3423e
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 08b022a9
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Xmas fixes pull:
      
        core:
            one atomic fix, revert the WARN_ON dumb buffers patch.
      
        agp:
            fixup Dave J.
      
        nouveau:
            fix 3.18 regression for old userspace
      
        tegra fixes:
            vblank and iommu fixes
      
        amdkfd:
            fix bugs shown by testing with userspace, init apertures once
      
        msm:
            hdmi fixes and cleanup
      
        i915:
            misc fixes
      
        There is also a link ordering fix that I've asked to be cc'ed to you,
        putting iommu before gpu, it fixes an issue with amdkfd when things
        are all in the kernel, but I didn't like sending it via my tree
        without discussion.
      
        I'll probably be a bit on/off for a few weeks with pulls now, due to
        holidays and LCA, so don't be surprised if stuff gets a bit backed up,
        and things end up a bit large due to lag"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (28 commits)
        Revert "drm/gem: Warn on illegal use of the dumb buffer interface v2"
        agp: Fix up email address & attributions in AGP MODULE_AUTHOR tags
        nouveau: bring back legacy mmap handler
        drm/msm/hdmi: rework HDMI IRQ handler
        drm/msm/hdmi: enable regulators before clocks to avoid warnings
        drm/msm/mdp5: update irqs on crtc<->encoder link change
        drm/msm: block incoming update on pending updates
        drm/atomic: fix potential null ptr on plane enable
        drm/msm: Deletion of unnecessary checks before the function call "release_firmware"
        drm/msm: Deletion of unnecessary checks before two function calls
        drm/tegra: dc: Select root window for event dispatch
        drm/tegra: gem: Use the proper size for GEM objects
        drm/tegra: gem: Flush buffer objects upon allocation
        drm/tegra: dc: Fix a potential race on page-flip completion
        drm/tegra: dc: Consistently use the same pipe
        drm/irq: Add drm_crtc_vblank_count()
        drm/irq: Add drm_crtc_handle_vblank()
        drm/irq: Add drm_crtc_send_vblank_event()
        drm/i915: Disable PSMI sleep messages on all rings around context switches
        drm/i915: Force the CS stall for invalidate flushes
        ...
      08b022a9
  5. 25 Dec, 2014 1 commit
  6. 24 Dec, 2014 10 commits
  7. 23 Dec, 2014 6 commits
    • Richard Guy Briggs's avatar
      audit: restore AUDIT_LOGINUID unset ABI · 041d7b98
      Richard Guy Briggs authored
      A regression was caused by commit 780a7654:
      	 audit: Make testing for a valid loginuid explicit.
      (which in turn attempted to fix a regression caused by e1760bd5)
      
      When audit_krule_to_data() fills in the rules to get a listing, there was a
      missing clause to convert back from AUDIT_LOGINUID_SET to AUDIT_LOGINUID.
      
      This broke userspace by not returning the same information that was sent and
      expected.
      
      The rule:
      	auditctl -a exit,never -F auid=-1
      gives:
      	auditctl -l
      		LIST_RULES: exit,never f24=0 syscall=all
      when it should give:
      		LIST_RULES: exit,never auid=-1 (0xffffffff) syscall=all
      
      Tag it so that it is reported the same way it was set.  Create a new
      private flags audit_krule field (pflags) to store it that won't interact with
      the public one from the API.
      
      Cc: stable@vger.kernel.org # v3.10-rc1+
      Signed-off-by: default avatarRichard Guy Briggs <rgb@redhat.com>
      Signed-off-by: default avatarPaul Moore <pmoore@redhat.com>
      041d7b98
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 53262d12
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
       - __cpu_suspend mm switching fix after warm boot
       - arch_setup_dma_ops implementation
       - pgd_page compilation error fix
       - defconfig updates
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: mm: Add pgd_page to support RCU fast_gup
        arm64: defconfig: defconfig update for 3.19
        arm64: kernel: fix __cpu_suspend mm switch on warm-boot
        arm64: Replace set_arch_dma_coherent_ops with arch_setup_dma_ops
      53262d12
    • Jungseok Lee's avatar
      arm64: mm: Add pgd_page to support RCU fast_gup · 5d96e0cb
      Jungseok Lee authored
      This patch adds pgd_page definition in order to keep supporting
      HAVE_GENERIC_RCU_GUP configuration. In addition, it changes pud_page
      expression to align with pmd_page for readability.
      
      An introduction of pgd_page resolves the following build breakage
      under 4KB + 4Level memory management combo.
      
      mm/gup.c: In function 'gup_huge_pgd':
      mm/gup.c:889:2: error: implicit declaration of function 'pgd_page' [-Werror=implicit-function-declaration]
        head = pgd_page(orig);
        ^
      mm/gup.c:889:7: warning: assignment makes pointer from integer without a cast
        head = pgd_page(orig);
      
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Steve Capper <steve.capper@linaro.org>
      Signed-off-by: default avatarJungseok Lee <jungseoklee85@gmail.com>
      [catalin.marinas@arm.com: remove duplicate pmd_page definition]
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      5d96e0cb
    • Will Deacon's avatar
      arm64: defconfig: defconfig update for 3.19 · f7bf130e
      Will Deacon authored
      The usual defconfig tweaks, this time:
      
        - FHANDLE and AUTOFS4_FS to keep systemd happy
        - PID_NS, QUOTA and KEYS to keep LTP happy
        - Disable DEBUG_PREEMPT, as this *really* hurts performance
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      f7bf130e
    • Lorenzo Pieralisi's avatar
      arm64: kernel: fix __cpu_suspend mm switch on warm-boot · f43c2718
      Lorenzo Pieralisi authored
      On arm64 the TTBR0_EL1 register is set to either the reserved TTBR0
      page tables on boot or to the active_mm mappings belonging to user space
      processes, it must never be set to swapper_pg_dir page tables mappings.
      
      When a CPU is booted its active_mm is set to init_mm even though its
      TTBR0_EL1 points at the reserved TTBR0 page mappings. This implies
      that when __cpu_suspend is triggered the active_mm can point at
      init_mm even if the current TTBR0_EL1 register contains the reserved
      TTBR0_EL1 mappings.
      
      Therefore, the mm save and restore executed in __cpu_suspend might
      turn out to be erroneous in that, if the current->active_mm corresponds
      to init_mm, on resume from low power it ends up restoring in the
      TTBR0_EL1 the init_mm mappings that are global and can cause speculation
      of TLB entries which end up being propagated to user space.
      
      This patch fixes the issue by checking the active_mm pointer before
      restoring the TTBR0 mappings. If the current active_mm == &init_mm,
      the code sets the TTBR0_EL1 to the reserved TTBR0 mapping instead of
      switching back to the active_mm, which is the expected behaviour
      corresponding to the TTBR0_EL1 settings when __cpu_suspend was entered.
      
      Fixes: 95322526 ("arm64: kernel: cpu_{suspend/resume} implementation")
      Cc: <stable@vger.kernel.org> # 3.14+: 18ab7db6
      Cc: <stable@vger.kernel.org> # 3.14+: 714f5992
      Cc: <stable@vger.kernel.org> # 3.14+: c3684fbb
      Cc: <stable@vger.kernel.org> # 3.14+
      Cc: Will Deacon <will.deacon@arm.com>
      Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      f43c2718
    • Dave Jones's avatar
      agp: Fix up email address & attributions in AGP MODULE_AUTHOR tags · bd8136d3
      Dave Jones authored
      - Remove soon-to-be-dead @redhat address.
      - Jeff Hartmann wrote the bulk of the original backend code, and should
        at least get a mention in the MODULE_AUTHOR for backend.o
      - Various people at Intel have done a lot more work than myself on the
        intel-* drivers, so again, mention that.
      Signed-off-by: default avatarDave Jones <davej@redhat.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      bd8136d3
  8. 22 Dec, 2014 3 commits
    • Linus Torvalds's avatar
      Merge tag 'dm-3.19-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm · aa39477b
      Linus Torvalds authored
      Pull device mapper fixes from Mike Snitzer:
       "Thre stable fixes and one fix for a regression introduced during 3.19
        merge:
      
         - Fix inability to discard used space when the thin-pool target is in
           out-of-data-space mode and also transition the thin-pool back to
           write mode once free space is made available.
      
         - Fix DM core bio-based end_io bug that prevented proper
           post-processing of the error code returned from the block layer.
      
         - Fix crash in DM thin-pool due to thin device being added to the
           pool's active_thins list before properly initializing the thin
           device's refcount"
      
      * tag 'dm-3.19-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm: fix missed error code if .end_io isn't implemented by target_type
        dm thin: fix crash by initializing thin device's refcount and completion earlier
        dm thin: fix missing out-of-data-space to write mode transition if blocks are released
        dm thin: fix inability to discard blocks when in out-of-data-space mode
      aa39477b
    • Kirill A. Shutemov's avatar
      Revert "mm/memory.c: share the i_mmap_rwsem" · 48ec833b
      Kirill A. Shutemov authored
      This reverts commit c8475d14.
      
      There are several[1][2] of bug reports which points to this commit as potential
      cause[3].
      
      Let's revert it until we figure out what's going on.
      
      [1] https://lkml.org/lkml/2014/11/14/342
      [2] https://lkml.org/lkml/2014/12/22/213
      [3] https://lkml.org/lkml/2014/12/9/741Signed-off-by: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Reported-by: default avatarSasha Levin <sasha.levin@oracle.com>
      Acked-by: default avatarDavidlohr Bueso <dave@stgolabs.net>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      48ec833b
    • Dave Airlie's avatar
      Merge tag 'drm/tegra/for-3.19-rc1-fixes' of git://people.freedesktop.org/~tagr/linux into drm-fixes · fc556fb6
      Dave Airlie authored
      drm/tegra: Fixes for v3.19-rc1
      
      This is a set of fixes for two regressions and one bug in the IOMMU
      mapping code. It turns out that all of these issues turn up primarily
      on Tegra30 hardware. The IOMMU mapping bug only manifests on buffers
      that aren't multiples of the page size. I happened to be testing HDMI
      with 1080p while writing the code and framebuffers for that happen to
      fit exactly within 2025 pages of 4 KiB each.
      
      One of the regressions is caused by the IOMMU code allocating pages from
      shmem which can have associated cache lines. If the pages aren't flushed
      then these cache lines may be flushed later on and cause framebuffer
      corruption. I'm not sure why I didn't see this before. Perhaps the board
      that I was using had enough RAM so that the pages shmem would hand out
      had a better chance of being unused. Or maybe I didn't look too closely.
      The fix for this is to fake up an SG table so that it can be passed to
      the DMA API. Ideally this would use drm_clflush_*(), but implementing
      that for ARM causes DRM to fail to build as a module since some of the
      low-level cache maintenance functions aren't exported. Hopefully we can
      get a suitable API exported on ARM for the next release.
      
      The second regression is caused by a mismatch between the hardware pipe
      number and the CRTC's DRM index. These were used inconsistently, which
      could cause one code location to call drm_vblank_get() with a different
      pipe than the corresponding drm_vblank_put(), thereby causing the
      reference count to become unbalanced. Alexandre also reported a possible
      race condition related to this, which this series also fixes.
      
      * tag 'drm/tegra/for-3.19-rc1-fixes' of git://people.freedesktop.org/~tagr/linux:
        drm/tegra: dc: Select root window for event dispatch
        drm/tegra: gem: Use the proper size for GEM objects
        drm/tegra: gem: Flush buffer objects upon allocation
        drm/tegra: dc: Fix a potential race on page-flip completion
        drm/tegra: dc: Consistently use the same pipe
        drm/irq: Add drm_crtc_vblank_count()
        drm/irq: Add drm_crtc_handle_vblank()
        drm/irq: Add drm_crtc_send_vblank_event()
      fc556fb6