1. 11 Jul, 2014 15 commits
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · ef24209f
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
       "ARM64 implementation of TASK_SIZE_OF and exporting two functions to
        modules"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: implement TASK_SIZE_OF
        arm64: export __cpu_{clear,copy}_user_page functions
      ef24209f
    • Linus Torvalds's avatar
      Merge tag 'dm-3.16-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm · 67b9d76f
      Linus Torvalds authored
      Pull device mapper fixes from Mike Snitzer:
      
       - Fix DM multipath IO hang regression from 3.15 due to logic bug in
         multipath_busy.  This impacted cable-pull testing and also the
         ability to boot with IPR SCSI on a POWER8 box.
      
       - Fix possible deadlock with deferred device removal by using a new
         dedicated workqueue rather than using the system workqueue.
      
       - Fix NULL pointer crash due to race condition in dm-io's wake up code
         for sync_io by using a completion.
      
       - Update dm-crypt and dm-zero author name following legal name change;
         this is important to Jana so I didn't see any reason to hold it back.
      
      * tag 'dm-3.16-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm mpath: fix IO hang due to logic bug in multipath_busy
        dm io: fix a race condition in the wake up code for sync_io
        dm crypt, dm zero: update author name following legal name change
        dm: allocate a special workqueue for deferred device removal
      67b9d76f
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · c7c3ae25
      Linus Torvalds authored
      Pull powerpc fixes from Ben Herrenschmidt:
       "Here are a few more powerpc fixes for 3.16
      
        There's a small series of 3 patches that fix saving/restoring MMUCR2
        when using KVM without which perf goes completely bonkers in the host
        system.  Another perf fix from Anton that's been rotting away in
        patchwork due to my poor eyesight, a couple of compile fixes, a little
        addition to the WSP removal by Michael (removing a bit more dead
        stuff) and a fix for an embarassing regression with our soft irq
        masking"
      
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc/perf: Never program book3s PMCs with values >= 0x80000000
        powerpc: Disable RELOCATABLE for COMPILE_TEST with PPC64
        powerpc/perf: Clear MMCR2 when enabling PMU
        powerpc/perf: Add PPMU_ARCH_207S define
        powerpc/kvm: Remove redundant save of SIER AND MMCR2
        powerpc/powernv: Check for IRQHAPPENED before sleeping
        powerpc: Clean up MMU_FTRS_A2 and MMU_FTR_TYPE_3E
        powerpc/cell: Fix compilation with CONFIG_COREDUMP=n
      c7c3ae25
    • Anton Blanchard's avatar
      powerpc/perf: Never program book3s PMCs with values >= 0x80000000 · f5602941
      Anton Blanchard authored
      We are seeing a lot of PMU warnings on POWER8:
      
          Can't find PMC that caused IRQ
      
      Looking closer, the active PMC is 0 at this point and we took a PMU
      exception on the transition from negative to 0. Some versions of POWER8
      have an issue where they edge detect and not level detect PMC overflows.
      
      A number of places program the PMC with (0x80000000 - period_left),
      where period_left can be negative. We can either fix all of these or
      just ensure that period_left is always >= 1.
      
      This patch takes the second option.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      f5602941
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 85d90fae
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Nothing too scary, we have one outstanding i915 regression but Daniel
        has promised the fix as soon as he's finished testing it a bit.
      
        Fixes for the main x86 drivers:
         - radeon: dpm fixes, displayport regression fix
         - i915: quirks for backlight regression, edp reboot fix, valleyview
           black screen fixes
         - nouveau: display port regression fixes, fix for memory reclocking"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/radeon/dpm: Reenabling SS on Cayman
        drm/radeon: fix typo in ci_stop_dpm()
        drm/radeon: fix typo in golden register setup on evergreen
        drm/radeon: only print meaningful VM faults
        drm/radeon/dp: return -EIO for flags not zero case
        drm/i915/vlv: T12 eDP panel timing enforcement during reboot
        drm/i915: Only unbind vgacon, not other console drivers
        drm/i915: Don't clobber the GTT when it's within stolen memory
        drm/i915/vlv: Update the DSI ULPS entry/exit sequence
        drm/i915/vlv: DPI FIFO empty check is not needed
        drm/i915: Toshiba CB35 has a controllable backlight
        drm/i915: Acer C720 and C720P have controllable backlights
        drm/i915: quirk asserts controllable backlight presence, overriding VBT
        drm/nouveau/ram: fix test for gpio presence
        drm/nouveau/dp: workaround broken display
        drm/nouveau/dp: fix required link bandwidth calculations
        drm/nouveau/kms: restore fbcon after display has been resumed
        drm/nv50-/kms: pass a non-zero value for head to sor dpms methods
        drm/nouveau/fb: Prevent inlining of ramfuc_reg
        drm/gk104/ram: bash mpll bit 31 on
      85d90fae
    • Guenter Roeck's avatar
      powerpc: Disable RELOCATABLE for COMPILE_TEST with PPC64 · fb43e847
      Guenter Roeck authored
      powerpc:allmodconfig has been failing for some time with the following
      error.
      
      arch/powerpc/kernel/exceptions-64s.S: Assembler messages:
      arch/powerpc/kernel/exceptions-64s.S:1312: Error: attempt to move .org backwards
      make[1]: *** [arch/powerpc/kernel/head_64.o] Error 1
      
      A number of attempts to fix the problem by moving around code have been
      unsuccessful and resulted in failed builds for some configurations and
      the discovery of toolchain bugs.
      
      Fix the problem by disabling RELOCATABLE for COMPILE_TEST builds instead.
      While this is less than perfect, it avoids substantial code changes
      which would otherwise be necessary just to make COMPILE_TEST builds
      happy and might have undesired side effects.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      fb43e847
    • Joel Stanley's avatar
      powerpc/perf: Clear MMCR2 when enabling PMU · b50a6c58
      Joel Stanley authored
      On POWER8 when switching to a KVM guest we set bits in MMCR2 to freeze
      the PMU counters. Aside from on boot they are then never reset,
      resulting in stuck perf counters for any user in the guest or host.
      
      We now set MMCR2 to 0 whenever enabling the PMU, which provides a sane
      state for perf to use the PMU counters under either the guest or the
      host.
      
      This was manifesting as a bug with ppc64_cpu --frequency:
      
          $ sudo ppc64_cpu --frequency
          WARNING: couldn't run on cpu 0
          WARNING: couldn't run on cpu 8
            ...
          WARNING: couldn't run on cpu 144
          WARNING: couldn't run on cpu 152
          min:    18446744073.710 GHz (cpu -1)
          max:    0.000 GHz (cpu -1)
          avg:    0.000 GHz
      
      The command uses a perf counter to measure CPU cycles over a fixed
      amount of time, in order to approximate the frequency of the machine.
      The counters were returning zero once a guest was started, regardless of
      weather it was still running or had been shut down.
      
      By dumping the value of MMCR2, it was observed that once a guest is
      running MMCR2 is set to 1s - which stops counters from running:
      
          $ sudo sh -c 'echo p > /proc/sysrq-trigger'
          CPU: 0 PMU registers, ppmu = POWER8 n_counters = 6
          PMC1:  5b635e38 PMC2: 00000000 PMC3: 00000000 PMC4: 00000000
          PMC5:  1bf5a646 PMC6: 5793d378 PMC7: deadbeef PMC8: deadbeef
          MMCR0: 0000000080000000 MMCR1: 000000001e000000 MMCRA: 0000040000000000
          MMCR2: fffffffffffffc00 EBBHR: 0000000000000000
          EBBRR: 0000000000000000 BESCR: 0000000000000000
          SIAR:  00000000000a51cc SDAR:  c00000000fc40000 SIER:  0000000001000000
      
      This is done unconditionally in book3s_hv_interrupts.S upon entering the
      guest, and the original value is only save/restored if the host has
      indicated it was using the PMU. This is okay, however the user of the
      PMU needs to ensure that it is in a defined state when it starts using
      it.
      
      Fixes: e05b9b9e ("powerpc/perf: Power8 PMU support")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJoel Stanley <joel@jms.id.au>
      Acked-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      b50a6c58
    • Joel Stanley's avatar
      powerpc/perf: Add PPMU_ARCH_207S define · 4d9690dd
      Joel Stanley authored
      Instead of separate bits for every POWER8 PMU feature, have a single one
      for v2.07 of the architecture.
      
      This saves us adding a MMCR2 define for a future patch.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJoel Stanley <joel@jms.id.au>
      Acked-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      4d9690dd
    • Joel Stanley's avatar
      powerpc/kvm: Remove redundant save of SIER AND MMCR2 · f73128f4
      Joel Stanley authored
      These two registers are already saved in the block above. Aside from
      being unnecessary, by the time we get down to the second save location
      r8 no longer contains MMCR2, so we are clobbering the saved value with
      PMC5.
      
      MMCR2 primarily consists of counter freeze bits. So restoring the value
      of PMC5 into MMCR2 will most likely have the effect of freezing
      counters.
      
      Fixes: 72cde5a8 ("KVM: PPC: Book3S HV: Save/restore host PMU registers that are new in POWER8")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJoel Stanley <joel@jms.id.au>
      Acked-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Acked-by: default avatarPaul Mackerras <paulus@samba.org>
      Reviewed-by: default avatarAlexander Graf <agraf@suse.de>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      f73128f4
    • Preeti U Murthy's avatar
      powerpc/powernv: Check for IRQHAPPENED before sleeping · c733cf83
      Preeti U Murthy authored
      Commit 8d6f7c5a: "powerpc/powernv: Make it possible to skip the IRQHAPPENED
      check in power7_nap()" added code that prevents cpus from checking for
      pending interrupts just before entering sleep state, which is wrong. These
      interrupts are delivered during the soft irq disabled state of the cpu.
      
      A cpu cannot enter any idle state with pending interrupts because they will
      never be serviced until the next time the cpu is woken up by some other
      interrupt. Its only then that the pending interrupts are replayed. This can result
      in device timeouts or warnings about this cpu being stuck.
      
      This patch fixes ths issue by ensuring that cpus check for pending interrupts
      just before entering any idle state as long as they are not in the path of split
      core operations.
      Signed-off-by: default avatarPreeti U Murthy <preeti@linux.vnet.ibm.com>
      Acked-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      c733cf83
    • Michael Ellerman's avatar
      powerpc: Clean up MMU_FTRS_A2 and MMU_FTR_TYPE_3E · cd68098b
      Michael Ellerman authored
      In fb5a5157 "powerpc: Remove platforms/wsp and associated pieces",
      we removed the last user of MMU_FTRS_A2. So remove it.
      
      MMU_FTRS_A2 was the last user of MMU_FTR_TYPE_3E, so remove it also.
      This leaves some unreachable code in mmu_context_nohash.c, so remove
      that also.
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      cd68098b
    • Michael Ellerman's avatar
      powerpc/cell: Fix compilation with CONFIG_COREDUMP=n · e623fbf1
      Michael Ellerman authored
      Commit 046d662f "coredump: make core dump functionality optional"
      made the coredump optional, but didn't update the spufs code that
      depends on it. That leads to build errors such as:
      
        arch/powerpc/platforms/built-in.o: In function `.spufs_arch_write_note':
        coredump.c:(.text+0x22cd4): undefined reference to `.dump_emit'
        coredump.c:(.text+0x22cf4): undefined reference to `.dump_emit'
        coredump.c:(.text+0x22d0c): undefined reference to `.dump_align'
        coredump.c:(.text+0x22d48): undefined reference to `.dump_emit'
        coredump.c:(.text+0x22e7c): undefined reference to `.dump_skip'
      
      Fix it by adding some ifdefs in the cell code.
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      e623fbf1
    • Linus Torvalds's avatar
      Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · fe5aa8a6
      Linus Torvalds authored
      Pull kbuild fixes from Michal Marek:
       "Three more fixes for the relative build dir feature:
      
         - Shut up make -s again
         - Fix for rpm/deb/tar-pkg with O=<subdir>
         - Fix for CONFIG_EXTRA_FIRMWARE"
      
      * 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        firmware: Create directories for external firmware
        kbuild: Fix packaging targets with relative $(srctree)
        kbuild: Do not print the build directory with make -s
      fe5aa8a6
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · b67db9d5
      Linus Torvalds authored
      Pull ACPI and power management fixes from Rafael Wysocki:
       "These are a few regression fixes for ACPI device enumeration and
        resources management, intel_pstate and cpufreq, a revert of an ACPI
        commit removing user space interfaces in /proc that we incorrectly
        thought were not used any more, fixes for some long-standing
        concurrency issues in the ACPI EC driver, two ACPI battery driver
        fixes, stable-candidate fixes for intel_pstate, an ACPI-related fix
        for i915 and two new ACPI video blacklist entries for Win8-oriented
        BIOSes.
      
        Specifics:
      
         - Missing device ID for ACPI enumeration of PNP devices that we
           overlooked during the recent rework of that code from Zhang Rui.
      
         - Fix for a problem introduced during the 3.14 cycle in the ACPI
           device resources management code and causing it to reject all
           resources of length 0 although some of them are actually valid
           which affects serial ports detection on a number of systems.  From
           Andy Whitcroft.
      
         - intel_pstate fix for a boot problem on some BayTrail-based systems
           introduced by a previous fix related to that platform during the
           3.13 cycle from Dirk Brandewie.
      
         - Revert of a 3.13 commit that removed the ACPI AC /proc interface
           which turns out to be still needed by some old utilities
           (kpowersave from kde 3.5.10 in particular) from Lan Tianyu.
      
         - cpufreq build fix for the davinci ARM platform from Prabhakar Lad
           (the breakage was introduced during the 3.10 cycle).
      
         - ACPI-related i915 fix preventing firmware on some Thinkpad laptops
           from setting backlight levels incorrectly during AC plug/unplug.
           From Aaron Lu.
      
         - Fixes for two nasty race conditions in the ACPI embedded controller
           driver that may be responsible for a number of past bug reports
           related to the EC from Lv Zhang and a fix for two memory leaks in
           error code paths in that driver from Colin Ian King.
      
         - Fixes for a couple of corner-case issues in the intel_pstate driver
           (all candidates for -stable) from Dirk Brandewie and Vincent Minet.
      
         - Fixes for two corner-case issues in the ACPI battery driver from
           Josef Gajdusek and Lan Tianyu.
      
         - Two new ACPI video blacklist entries for Acer TravelMate B113 and
           Dell Inspiron 5737 from Edward Lin and Martin Kepplinger"
      
      * tag 'pm+acpi-3.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / PNP: add soc_button_array device ID to PNP IDs list
        cpufreq: Makefile: fix compilation for davinci platform
        ACPI / video: Add Acer TravelMate B113 to native backlight blacklist
        ACPI / video: Add Dell Inspiron 5737 to the blacklist
        ACPI / i915: ignore firmware requests for backlight change
        ACPI / battery: fix wrong value of capacity_now reported when fully charged
        ACPI / resources: only reject zero length resources based at address zero
        ACPI / battery: Retry to get battery information if failed during probing
        ACPI / EC: Free saved_ec on error exit path
        ACPI / EC: Add detailed fields debugging support of EC_SC(R).
        ACPI / EC: Update revision due to recent changes
        ACPI / EC: Fix race condition in ec_transaction_completed()
        ACPI / EC: Remove duplicated ec_wait_ibf0() waiter
        ACPI / EC: Add asynchronous command byte write support
        ACPI / EC: Avoid race condition related to advance_transaction()
        intel_pstate: Set CPU number before accessing MSRs
        intel_pstate: Update documentation of {max,min}_perf_pct sysfs files
        intel_pstate: don't touch turbo bit if turbo disabled or unavailable.
        intel_pstate: Fix setting VID
        Revert "ACPI / AC: Remove AC's proc directory."
      b67db9d5
    • Dave Airlie's avatar
      Merge branch 'drm-fixes-3.16' of git://people.freedesktop.org/~agd5f/linux into drm-fixes · bf38b025
      Dave Airlie authored
      This new request drops the pageflipping fixes for now.  Just a few small
      fixes for dpm, DP, and a fix for a hang on boot evergreen.
      
      * 'drm-fixes-3.16' of git://people.freedesktop.org/~agd5f/linux:
        drm/radeon/dpm: Reenabling SS on Cayman
        drm/radeon: fix typo in ci_stop_dpm()
        drm/radeon: fix typo in golden register setup on evergreen
        drm/radeon: only print meaningful VM faults
        drm/radeon/dp: return -EIO for flags not zero case
      bf38b025
  2. 10 Jul, 2014 22 commits
  3. 09 Jul, 2014 3 commits
    • Linus Torvalds's avatar
      Merge tag 'pci-v3.16-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 4f440cd5
      Linus Torvalds authored
      Pull PCI fixes from Bjorn Helgaas:
       "Just a fix for the device reset path and an email address update.
      
        Virtualization
          - Fix "wait for pending transactions" for PCI AF reset (Alex
            Williamson)
      
        Miscellaneous
          - Update mx6 PCI driver maintainer email (Fabio Estevam)"
      
      * tag 'pci-v3.16-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        MAINTAINERS: Update mx6 PCI driver maintainer's email
        PCI: Fix unaligned access in AF transaction pending test
      4f440cd5
    • Linus Torvalds's avatar
      Merge tag 'f2fs-fixes-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · 191d385f
      Linus Torvalds authored
      Pull f2fs bugfixes from Jaegeuk Kim:
       "This includes a couple of bug fixes found by xfstests.  In addition,
        one critical bug was reported by Brian Chadwick, which is falling into
        the infinite loop in balance_dirty_pages.  And it turned out due to
        the IO merging policy in f2fs, which was newly merged in 3.16.
      
         - fix normal and recovery path for fallocated regions
         - fix error case mishandling
         - recover renamed fsync inodes correctly
         - fix to get out of infinite loops in balance_dirty_pages
         - fix kernel NULL pointer error"
      
      * tag 'f2fs-fixes-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs:
        f2fs: avoid to access NULL pointer in issue_flush_thread
        f2fs: check bdi->dirty_exceeded when trying to skip data writes
        f2fs: do checkpoint for the renamed inode
        f2fs: release new entry page correctly in error path of f2fs_rename
        f2fs: fix error path in init_inode_metadata
        f2fs: check lower bound nid value in check_nid_range
        f2fs: remove unused variables in f2fs_sm_info
        f2fs: fix not to allocate unnecessary blocks during fallocate
        f2fs: recover fallocated data and its i_size together
        f2fs: fix to report newly allocate region as extent
      191d385f
    • Michal Marek's avatar
      firmware: Create directories for external firmware · dd5a6752
      Michal Marek authored
      Commit 5180d5f4 ("firmware: Simplify directory creation") broke
      including firmware specified in CONFIG_EXTRA_FIRMWARE:
      
        MK_FW   firmware/amd-ucode/microcode_amd.bin.gen.S
      /bin/sh: firmware/amd-ucode/microcode_amd.bin.gen.S: No such file or directory
      ...
      firmware/Makefile:185: recipe for target
      'firmware/amd-ucode/microcode_amd.bin.gen.S' failed
      
      It works with O= builds, because the directory is created by
      Makefile.build. Create the directory in firmware/Makefile in non-O
      builds.
      Reported-and-tested-by: default avatarRonald Uitermark <ronald645@gmail.com>
      Reported-and-tested-by: default avatarTorsten Kaiser <just.for.lkml@googlemail.com>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      dd5a6752