1. 29 Mar, 2014 1 commit
  2. 17 Mar, 2014 1 commit
    • Viro's avatar
      percpu: allocation size should be even · 2f69fa82
      Viro authored
      723ad1d9 ("percpu: store offsets instead of lengths in ->map[]")
      updated percpu area allocator to use the lowest bit, instead of sign,
      to signify whether the area is occupied and forced min align to 2;
      unfortunately, it forgot to force the allocation size to be even
      causing malfunctions for the very rare odd-sized allocations.
      
      Always force the allocations to be even sized.
      
      tj: Wrote patch description.
      Original-patch-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      2f69fa82
  3. 07 Mar, 2014 3 commits
    • Al Viro's avatar
      percpu: speed alloc_pcpu_area() up · 3d331ad7
      Al Viro authored
      If we know that first N areas are all in use, we can obviously skip
      them when searching for a free one.  And that kind of hint is very
      easy to maintain.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      3d331ad7
    • Al Viro's avatar
      percpu: store offsets instead of lengths in ->map[] · 723ad1d9
      Al Viro authored
      Current code keeps +-length for each area in chunk->map[].  It has
      several unpleasant consequences:
      	* even if we know that first 50 areas are all in use, allocation
      still needs to go through all those areas just to sum their sizes, just
      to get the offset of free one.
      	* freeing needs to find the array entry refering to the area
      in question; again, the need to sum the sizes until we reach the offset
      we are interested in.  Note that offsets are monotonous, so simple
      binary search would do here.
      
      	New data representation: array of <offset,in-use flag> pairs.
      Each pair is represented by one int - we use offset|1 for <offset, in use>
      and offset for <offset, free> (we make sure that all offsets are even).
      In the end we put a sentry entry - <total size, in use>.  The first
      entry is <0, flag>; it would be possible to store together the flag
      for Nth area and offset for N+1st, but that leads to much hairier code.
      
      In other words, where the old variant would have
      	4, -8, -4, 4, -12, 100
      (4 bytes free, 8 in use, 4 in use, 4 free, 12 in use, 100 free) we store
      	<0,0>, <4,1>, <12,1>, <16,0>, <20,1>, <32,0>, <132,1>
      i.e.
      	0, 5, 13, 16, 21, 32, 133
      
      This commit switches to new data representation and takes care of a couple
      of low-hanging fruits in free_pcpu_area() - one is the switch to binary
      search, another is not doing two memmove() when one would do.  Speeding
      the alloc side up (by keeping track of how many areas in the beginning are
      known to be all in use) also becomes possible - that'll be done in the next
      commit.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      723ad1d9
    • Al Viro's avatar
      perpcu: fold pcpu_split_block() into the only caller · 706c16f2
      Al Viro authored
      ... and simplify the results a bit.  Makes the next step easier
      to deal with - we will be changing the data representation for
      chunk->map[] and it's easier to do if the code in question is
      not split between pcpu_alloc_area() and pcpu_split_block().
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      706c16f2
  4. 22 Feb, 2014 2 commits
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 0f0ca143
      Linus Torvalds authored
      Pull hwmon fix from Guenter Roeck:
       "Fix writing the minimum temperature in max1668 driver"
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (max1668) Fix writing the minimum temperature
      0f0ca143
    • Linus Torvalds's avatar
      Merge branch 'xfs-fixes-for-3.14-rc4' of git://oss.sgi.com/xfs/xfs · 645ceee8
      Linus Torvalds authored
      Pull xfs fixes from Dave Chinner:
       "This is the first pull request I've had to do for you, so I'm still
        sorting things out.  The reason I'm sending this and not Ben should be
        obvious from the first commit below - SGI has stepped down from the
        XFS maintainership role.  As such, I'd like to take another
        opportunity to thank them for their many years of effort maintaining
        XFS and supporting the XFS community that they developed from the
        ground up.
      
        So I haven't had time to work things like signed tags into my
        workflows yet, so this is just a repo branch I'm asking you to pull
        from.  And yes, I named the branch -rc4 because I wanted the fixes in
        rc4, not because the branch was for merging into -rc3.  Probably not
        right, either.
      
        Anyway, I should have everything sorted out by the time the next merge
        window comes around.  If there's anything that you don't like in the
        pull req, feel free to flame me unmercifully.
      
        The changes are fixes for recent regressions and important thinkos in
        verification code:
      
              - a log vector buffer alignment issue on ia32
              - timestamps on truncate got mangled
              - primary superblock CRC validation fixes and error message
                sanitisation"
      
      * 'xfs-fixes-for-3.14-rc4' of git://oss.sgi.com/xfs/xfs:
        xfs: limit superblock corruption errors to actual corruption
        xfs: skip verification on initial "guess" superblock read
        MAINTAINERS: SGI no longer maintaining XFS
        xfs: xfs_sb_read_verify() doesn't flag bad crcs on primary sb
        xfs: ensure correct log item buffer alignment
        xfs: ensure correct timestamp updates from truncate
      645ceee8
  5. 21 Feb, 2014 12 commits
    • Linus Torvalds's avatar
      Merge tag 'dt-for-linus' of git://git.secretlab.ca/git/linux · 10527106
      Linus Torvalds authored
      Pull devicetree fixes from Grant Likely:
       "Device tree compatible match order bug fix
      
        This branch contains a bug fix for the way devicetree code identifies
        the type of device.  Device drivers can contain a list of
        of_device_ids, but it more than one entry will match, then the device
        driver may choose the wrong one.  Commit 10535314, "match each node
        compatible against all given matches first", was queued for v3.14 but
        ended up causing other bugs.  Commit 06b29e76 attempted to fix it
        but it had other bugs.  Merely reverting the fix and waiting until
        v3.15 isn't a good option because there is code in v3.14 that depends
        on the revised behaviour to boot.
      
        This branch should finally fixes the problem correctly.  This time
        instead of just hoping that the patch is correct, this branch also
        adds new testcases that validate the behaviour.
      
        The changes in this branch are larger than I would like for a -rc
        pull, but moving the test case data out of out of arch/arm so that it
        could be validated on other architectures was important"
      
      * tag 'dt-for-linus' of git://git.secretlab.ca/git/linux:
        of: Add self test for of_match_node()
        of: Move testcase FDT data into drivers/of
        of: reimplement the matching method for __of_match_node()
        Revert "of: search the best compatible match first in __of_match_node()"
      10527106
    • Linus Torvalds's avatar
      Merge git://www.linux-watchdog.org/linux-watchdog · 0a4e836a
      Linus Torvalds authored
      Pull watchdog fix from Wim Van Sebroeck:
       "It corrects the error code when no device was found for w83697hf_wdt"
      
      * git://www.linux-watchdog.org/linux-watchdog:
        watchdog: w83697hf_wdt: return ENODEV if no device was found
      0a4e836a
    • Stanislav Kholmanskikh's avatar
      watchdog: w83697hf_wdt: return ENODEV if no device was found · 0cb1c3e8
      Stanislav Kholmanskikh authored
      Most WDT driver modules return ENODEV during modprobe if
      no valid device was found, but w83697hf_wdt returns EIO.
      
      Let w83697hf_wdt return ENODEV.
      Signed-off-by: default avatarStanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com>
      Reviewed-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
      0cb1c3e8
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 34acae3c
      Linus Torvalds authored
      Pull sparc fixes from David Miller:
       "Three minor fixes from David Howells and Paul Gortmaker"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        Sparc: sparc_cpu_model isn't in asm/system.h any more [ver #2]
        sparc32: make copy_to/from_user_page() usable from modular code
        sparc32: fix build failure for arch_jump_label_transform
      34acae3c
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 795233bf
      Linus Torvalds authored
      Pull ACPI and power management fixes from Rafael Wysocki:
       "These include two fixes for recent regressions related to ACPI, a
        cpufreq fix for breakage overlooked by a previous fix commit, two
        intel_pstate fixes for stuff added during the 3.13 cycle that need to
        go into -stable, three fixes for older bugs that also are -stable
        candidates, ACPI video blacklist changes related to BIOSes that behave
        in a special way on Windows 8, several build fixes for CONFIG_PM_SLEEP
        unset in ACPI drivers and an ACPI driver cleanup.
      
        Specifics:
      
         - Fix for a recent probing regression in the nouveau driver
           introduced by an ACPI change related to the handling of _DSM from
           Jiang Liu.
      
         - Fix for a dock station sysfs attribute that stopped working
           correctly after recent changes in the ACPI core.
      
         - cpufreq fix taking care of broken code related to CPU removal and
           overlooked by a previous recent fix in that area.  From Viresh
           Kumar.
      
         - Two intel_pstate fixes related to Baytrail support added during the
           3.13 cycle (candidates for -stable) from Dirk Brandewie.
      
         - ACPI video fix removing duplicate brightness values from the _BCL
           table which makes its user space interface behave sanely.  From
           Hans de Goede.
      
         - Fix for the powernow-k8 cpufreq driver making it initialize its
           per-CPU data structures correctly from Srivatsa S Bhat.
      
         - Fix for an obscure memory leak in the ACPI PCI interrupt allocation
           code (related to ISA) from Tomasz Nowicki.
      
         - ACPI video blacklist changes moving several systems that should use
           the native backlight interface instead of the ACPI one from the
           general ACPI _OSI blacklist the the ACPI video driver's blacklist
           where they belong.  This consists of an ACPI video driver update
           from Aaron Lu and a revert of a previous commit adding systems to
           the ACPI _OSI blacklist requested by Takashi Iwai.
      
         - Several fixes for build issues in ACPI drivers occuring when
           CONFIG_PM_SLEEP is unset from Shuah Khan.
      
         - Fix for an sscanf() format string in the ACPI Smart Battery
           Subsystem (SBS) driver from Luis G.F"
      
      * tag 'pm+acpi-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        intel_pstate: Add support for Baytrail turbo P states
        intel_pstate: Use LFM bus ratio as min ratio/P state
        ACPI / nouveau: fix probing regression related to _DSM
        Revert "ACPI: Blacklist Win8 OSI for some HP laptop 2013 models"
        ACPI / video: Add systems that should favour native backlight interface
        ACPI / video: Filter the _BCL table for duplicate brightness values
        cpufreq: powernow-k8: Initialize per-cpu data-structures properly
        cpufreq: remove sysfs link when a cpu != policy->cpu, is removed
        ACPI / PCI: Fix memory leak in acpi_pci_irq_enable()
        ACPI / dock: Make 'docked' sysfs attribute work as documented
        ACPI / SBS: Fix incorrect sscanf() string
        ACPI / thermal: fix thermal driver compile error when CONFIG_PM_SLEEP is undefined
        ACPI / SBS: fix SBS driver compile error when CONFIG_PM_SLEEP is undefined
        ACPI / fan: fix fan driver compile error when CONFIG_PM_SLEEP is undefined
        ACPI / button: fix button driver compile error when CONFIG_PM_SLEEP is undefined
        ACPI / battery: fix battery driver compile error when CONFIG_PM_SLEEP is undefined
        ACPI / AC: fix AC driver compile error when CONFIG_PM_SLEEP is undefined
      795233bf
    • Linus Torvalds's avatar
      Merge tag 'iommu-fixes-v3.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 7777d934
      Linus Torvalds authored
      Pull IOMMU fixes from Joerg Roedel:
       "The fixes are only for the ARM-SMMU driver.  Here is the summary from
        Will Deacon:
      
         - Andreas Herrmann took the driver for a run with a real SATA
           controller, which caused the new mutex-based locking to explode
           since we require mappings in atomic context
      
         - Yifan fixed an issue with the page table creation, which then
           caused breakages with the way in which we flush descriptors out to
           the table walker
      
         - I ran the driver on a system where the SMMU is hooked into a
           coherent interconnect for table walks, and noticed a shareability
           mismatch between the CPU and the SMMU
      
        These issues are all fixed here and have been tested on both arm and
        arm64 based systems.
      
        Besides that I put a fix on-top to make the spinlock irq-safe, so that
        the code-paths can be used in the DMA-API"
      
      * tag 'iommu-fixes-v3.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        arm/smmu: Use irqsafe spinlock for domain lock
        iommu/arm-smmu: fix compilation issue when !CONFIG_ARM_AMBA
        iommu/arm-smmu: set CBARn.BPSHCFG to NSH for s1-s2-bypass contexts
        iommu/arm-smmu: fix table flushing during initial allocations
        iommu/arm-smmu: really fix page table locking
        iommu/arm-smmu: fix pud/pmd entry fill sequence
      7777d934
    • Linus Torvalds's avatar
      Merge tag 'sound-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 04133209
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "This time we got a slightly higher volume than previous times, but all
        device-specific good fixes.  Noticeable changes are fixes in davinci,
        and the removal of open-codes in HD-audio ca0132 driver.  The rest are
        all small fixes and/or quirks"
      
      * tag 'sound-3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda - Enable front audio jacks on one HP desktop model
        ALSA: hda/ca0132 - Fix recording from mode id 0x8
        ALSA: hda/ca0132 - setup/cleanup streams
        ALSA: hda - add headset mic detect quirks for two Dell laptops
        ALSA: usb-audio: work around KEF X300A firmware bug
        ASoC: max98090: make REVISION_ID readable
        ASoC: txx9aclc_ac97: Fix kernel crash on probe
        ASoC: max98090: sync regcache on entering STANDBY
        ASoC: blackfin: Fix machine driver Kconfig dependencies
        ASoC: da9055: Fix device registration of PMIC and CODEC devices
        ASoC: fsl-esai: fix ESAI TDM slot setting
        ASoC: fsl: fix pm support of machine drivers
        ASoC: rt5640: Add ACPI ID for Intel Baytrail
        ASoC: davinci-evm: Add pm callbacks to platform driver
        ASoC: davinci-mcasp: Consolidate pm_runtime_get/put() use in the driver
        ASoC: davinci-mcasp: Configure xxTDM, xxFMT and xxFMCT registers synchronously
        ASoC: davinci-mcasp: Harmonize the sub hw_params function names
        ASoC: samsung: Fix trivial typo
        ASoC: samsung: Remove invalid dependencies
        ASoC: wm8993: drop regulator_bulk_free of devm_ allocated data
      04133209
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpufreq' · fee5ae96
      Rafael J. Wysocki authored
      * pm-cpufreq:
        intel_pstate: Add support for Baytrail turbo P states
        intel_pstate: Use LFM bus ratio as min ratio/P state
        cpufreq: powernow-k8: Initialize per-cpu data-structures properly
        cpufreq: remove sysfs link when a cpu != policy->cpu, is removed
      fee5ae96
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-pm' and 'acpi-video' · d8ad344c
      Rafael J. Wysocki authored
      * acpi-pm:
        ACPI / thermal: fix thermal driver compile error when CONFIG_PM_SLEEP is undefined
        ACPI / SBS: fix SBS driver compile error when CONFIG_PM_SLEEP is undefined
        ACPI / fan: fix fan driver compile error when CONFIG_PM_SLEEP is undefined
        ACPI / button: fix button driver compile error when CONFIG_PM_SLEEP is undefined
        ACPI / battery: fix battery driver compile error when CONFIG_PM_SLEEP is undefined
        ACPI / AC: fix AC driver compile error when CONFIG_PM_SLEEP is undefined
      
      * acpi-video:
        Revert "ACPI: Blacklist Win8 OSI for some HP laptop 2013 models"
        ACPI / video: Add systems that should favour native backlight interface
        ACPI / video: Filter the _BCL table for duplicate brightness values
      d8ad344c
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-cleanup', 'acpi-dock', 'acpi-pci' and 'acpi-dsm' · 200df1cc
      Rafael J. Wysocki authored
      * acpi-cleanup:
        ACPI / SBS: Fix incorrect sscanf() string
      
      * acpi-dock:
        ACPI / dock: Make 'docked' sysfs attribute work as documented
      
      * acpi-pci:
        ACPI / PCI: Fix memory leak in acpi_pci_irq_enable()
      
      * acpi-dsm:
        ACPI / nouveau: fix probing regression related to _DSM
      200df1cc
    • Dirk Brandewie's avatar
      intel_pstate: Add support for Baytrail turbo P states · 61d8d2ab
      Dirk Brandewie authored
      A documentation update exposed the existance of the turbo ratio
      register. Update baytrail support to use the turbo range.
      Signed-off-by: default avatarDirk Brandewie <dirk.j.brandewie@intel.com>
      Cc: 3.13+ <stable@vger.kernel.org> # 3.13+
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      61d8d2ab
    • Dirk Brandewie's avatar
      intel_pstate: Use LFM bus ratio as min ratio/P state · 4042e757
      Dirk Brandewie authored
      LFM (max efficiency ratio) is the max frequency at minimum voltage
      supported by the processor.  Using LFM as the minimum P state
      increases performmance without affecting power. By not using P states
      below LFM we avoid using P states that are less power efficient.
      Signed-off-by: default avatarDirk Brandewie <dirk.j.brandewie@intel.com>
      Cc: 3.13+ <stable@vger.kernel.org> # 3.13+
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      4042e757
  6. 20 Feb, 2014 19 commits
  7. 19 Feb, 2014 2 commits
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-3.14-4' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · e95003c3
      Linus Torvalds authored
      Pull NFS client bugfixes from Trond Myklebust:
       "Highlights include stable fixes for the following bugs:
      
         - General performance regression due to NFS_INO_INVALID_LABEL being
           set when the server doesn't support labeled NFS
         - Hang in the RPC code due to a socket out-of-buffer race
         - Infinite loop when trying to establish the NFSv4 lease
         - Use-after-free bug in the RPCSEC gss code.
         - nfs4_select_rw_stateid is returning with a non-zero error value on
           success
      
        Other bug fixes:
      
        - Potential memory scribble in the RPC bi-directional RPC code
        - Pipe version reference leak
        - Use the correct net namespace in the new NFSv4 migration code"
      
      * tag 'nfs-for-3.14-4' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        NFS fix error return in nfs4_select_rw_stateid
        NFSv4: Use the correct net namespace in nfs4_update_server
        SUNRPC: Fix a pipe_version reference leak
        SUNRPC: Ensure that gss_auth isn't freed before its upcall messages
        SUNRPC: Fix potential memory scribble in xprt_free_bc_request()
        SUNRPC: Fix races in xs_nospace()
        SUNRPC: Don't create a gss auth cache unless rpc.gssd is running
        NFS: Do not set NFS_INO_INVALID_LABEL unless server supports labeled NFS
      e95003c3
    • Linus Torvalds's avatar
      Merge tag 'mfd-fixes-3.14-1' of git://git.linaro.org/people/lee.jones/mfd · 981adacd
      Linus Torvalds authored
      Pull MFD fixes from Lee Jones:
       "Couple of small issues solved:
         - Suspend/Resume call-backs require CONFIG_PM_SLEEP
         - Some drivers written for 32bit architectures fail when compiled
           with a 64bit compiler.  The fixes will future proof the drivers"
      
      * tag 'mfd-fixes-3.14-1' of git://git.linaro.org/people/lee.jones/mfd:
        mfd: sec-core: sec_pmic_{suspend,resume}() should depend on CONFIG_PM_SLEEP
        mfd: max14577: max14577_{suspend,resume}() should depend on CONFIG_PM_SLEEP
        mfd: tps65217: Naturalise cross-architecture discrepancies
        mfd: wm8994-core: Naturalise cross-architecture discrepancies
        mfd: max8998: Naturalise cross-architecture discrepancies
        mfd: max8997: Naturalise cross-architecture discrepancies
      981adacd