1. 19 Mar, 2015 7 commits
  2. 17 Mar, 2015 5 commits
    • Steve Capper's avatar
      arm64: Adjust EFI libstub object include logic · ad08fd49
      Steve Capper authored
      Commit f4f75ad5 ("efi: efistub: Convert into static library")
      introduced a static library for EFI stub, libstub.
      
      The EFI libstub directory is referenced by the kernel build system via
      a obj subdirectory rule in:
      drivers/firmware/efi/Makefile
      
      Unfortunately, arm64 also references the EFI libstub via:
      libs-$(CONFIG_EFI_STUB) += drivers/firmware/efi/libstub/
      
      If we're unlucky, the kernel build system can enter libstub via two
      simultaneous threads resulting in build failures such as:
      
      fixdep: error opening depfile: drivers/firmware/efi/libstub/.efi-stub-helper.o.d: No such file or directory
      scripts/Makefile.build:257: recipe for target 'drivers/firmware/efi/libstub/efi-stub-helper.o' failed
      make[1]: *** [drivers/firmware/efi/libstub/efi-stub-helper.o] Error 2
      Makefile:939: recipe for target 'drivers/firmware/efi/libstub' failed
      make: *** [drivers/firmware/efi/libstub] Error 2
      make: *** Waiting for unfinished jobs....
      
      This patch adjusts the arm64 Makefile to reference the compiled library
      explicitly (as is currently done in x86), rather than the directory.
      
      Fixes: f4f75ad5 efi: efistub: Convert into static library
      Signed-off-by: default avatarSteve Capper <steve.capper@linaro.org>
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      ad08fd49
    • Mark Rutland's avatar
      arm64: log CPU boot modes · 667f3fd3
      Mark Rutland authored
      We currently don't log the boot mode for arm64 as we do for arm, and
      without KVM the user is provided with no indication as to which mode(s)
      CPUs were booted in, which can seriously hinder debugging in some cases.
      
      Add logging to the boot path once all CPUs are up. Where CPUs are
      mismatched in violation of the boot protocol, WARN and set a taint (as
      we do for CPU other CPU feature mismatches) given that the
      firmware/bootloader is buggy and should be fixed.
      
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Tested-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
      Reviewed-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
      Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      667f3fd3
    • Mark Rutland's avatar
      arm64: fix hyp mode mismatch detection · 424a3838
      Mark Rutland authored
      Commit 828e9834 ("arm64: head: create a new function for setting
      the boot_cpu_mode flag") added BOOT_CPU_MODE_EL1, a nonzero value
      replacing uses of zero. However it failed to update __boot_cpu_mode
      appropriately.
      
      A CPU booted at EL2 writes BOOT_CPU_MODE_EL2 to __boot_cpu_mode[0], and
      a CPU booted at EL1 writes BOOT_CPU_MODE_EL1 to __boot_cpu_mode[1].
      Later is_hyp_mode_mismatched() determines there to be a mismatch if
      __boot_cpu_mode[0] != __boot_cpu_mode[1].
      
      If all CPUs are booted at EL1, __boot_cpu_mode[0] will be set to
      BOOT_CPU_MODE_EL1, but __boot_cpu_mode[1] will retain its initial value
      of zero, and is_hyp_mode_mismatched will erroneously determine that the
      boot modes are mismatched. This hasn't been a problem so far, but later
      patches which will make use of is_hyp_mode_mismatched() expect it to
      work correctly.
      
      This patch initialises __boot_cpu_mode[1] to BOOT_CPU_MODE_EL1, fixing
      the erroneous mismatch detection when all CPUs are booted at EL1.
      
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Tested-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
      Reviewed-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
      Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      424a3838
    • Mark Rutland's avatar
      arm64: apply alternatives for !SMP kernels · 137650aa
      Mark Rutland authored
      Currently we only perform alternative patching for kernels built with
      CONFIG_SMP, as we call apply_alternatives_all() in smp.c, which is only
      built for CONFIG_SMP. Thus !SMP kernels may not have necessary
      alternatives patched in.
      
      This patch ensures that we call apply_alternatives_all() once all CPUs
      are booted, even for !SMP kernels, by having the smp_init_cpus() stub
      call this for !SMP kernels via up_late_init. A new wrapper,
      do_post_cpus_up_work, is added so we can hook other calls here later
      (e.g. boot mode logging).
      
      Cc: Andre Przywara <andre.przywara@arm.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Fixes: e039ee4e ("arm64: add alternative runtime patching")
      Tested-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
      Reviewed-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
      Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      137650aa
    • Peter Crosthwaite's avatar
      arm64: Implement cpu_relax as yield · 1baa82f4
      Peter Crosthwaite authored
      ARM64 has the yield nop hint which has the intended semantics of
      cpu_relax. Implement.
      
      The immediate application is ARM CPU emulators. An emulator can take
      advantage of the yield hint to de-prioritise an emulated CPU in favor
      of other emulation tasks. QEMU A64 SMP emulation has yield awareness,
      and sees a significant boot time performance increase with this change.
      Signed-off-by: default avatarPeter Crosthwaite <peter.crosthwaite@xilinx.com>
      Acked-by: default avatarWill Deacon <will.deacon@arm.com>
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      1baa82f4
  3. 16 Mar, 2015 1 commit
  4. 15 Mar, 2015 6 commits
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 08352086
      Linus Torvalds authored
      Pull drm fix from Dave Airlie:
       "An oops snuck in in an -rc3 patch, this fixes it"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        [PATCH] drm/mm: Fix support 4 GiB and larger ranges
      08352086
    • Linus Torvalds's avatar
      Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 1ee89c51
      Linus Torvalds authored
      Pull clock framework fixes from Michael Turquette:
       "The clk fixes for 4.0-rc4 comprise three themes.
      
        First are the usual driver fixes for new regressions since v3.19.
      
        Second are fixes to the common clock divider type caused by recent
        changes to how we round clock rates.  This affects many clock drivers
        that use this common code.
      
        Finally there are fixes for drivers that improperly compared struct
        clk pointers (drivers must not deref these pointers).  While some of
        these drivers have done this for a long time, this did not cause a
        problem until we started generating unique struct clk pointers for
        every consumer.  A new function, clk_is_match was introduced to get
        these drivers working again and they are fixed up to no longer deref
        the pointers themselves"
      
      * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
        ASoC: kirkwood: fix struct clk pointer comparing
        ASoC: fsl_spdif: fix struct clk pointer comparing
        ARM: imx: fix struct clk pointer comparing
        clk: introduce clk_is_match
        clk: don't export static symbol
        clk: divider: fix calculation of initial best divider when rounding to closest
        clk: divider: fix selection of divider when rounding to closest
        clk: divider: fix calculation of maximal parent rate for a given divider
        clk: divider: return real rate instead of divider value
        clk: qcom: fix platform_no_drv_owner.cocci warnings
        clk: qcom: fix platform_no_drv_owner.cocci warnings
        clk: qcom: Add PLL4 vote clock
        clk: qcom: lcc-msm8960: Fix PLL rate detection
        clk: qcom: Fix slimbus n and m val offsets
        clk: ti: Fix FAPLL parent enable bit handling
      1ee89c51
    • Krzysztof Kolasa's avatar
      [PATCH] drm/mm: Fix support 4 GiB and larger ranges · 046d669c
      Krzysztof Kolasa authored
      bad argument if(tmp)... in check_free_hole
      
      fix oops: kernel BUG at drivers/gpu/drm/drm_mm.c:305!
      
      [airlied: excellent, this was my task for today].
      Signed-off-by: default avatarKrzysztof Kolasa <kkolasa@winsoft.pl>
      Reviewed-by: default avatarChris wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      046d669c
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 6981e2af
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "This is a rather unpleasantly large set of bug fixes for arm-soc, Most
        of them because of cross-tree dependencies for Exynos where we should
        have figured out the right path to merge things before the merge
        window, and then the maintainer being unable to sort things out in
        time during a business trip.
      
        The other changes contained here are the usual collection:
      
        MAINTAINERS file updates
         - Gregory Clement is now a co-maintainer for the legacy Marvell EBU
           platforms
         - A MAINTAINERS entry for the Freescale Vybrid platform that was
           added last year
         - Matt Porter no longer works as a maintainer on Broadcom SoCs
      
        Build-time issues
         - A compile-time error for at91
         - Several minor DT fixes on at91, imx, exynos, socfpga, and omap
         - The new digicolor platform was not correctly enabled at all
      
        Configuration issues
         - Two defconfig fix for regressions using USB on versatile express
           and on OMAP3
         - Enabling all 8 CPUs on Allwinner/SUNxi
         - Enabling the new STiH410 platform to be usable
      
        Bug fixes in platform code
         - A missing barrier for socfpga
         - Fixing LPDDR1 self-refresh mode on at91
         - Fixing RTC interrupt numbers on Exynos3250
         - Fixing a cache-coherency issues in CPU power-down on Exynos5
         - Multiple small OMAP power management fixes"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (69 commits)
        MAINTAINERS: Add myself as co-maintainer to the legacy support of the mvebu SoCs
        ARM: at91: pm_slowclock: fix the compilation error
        ARM: at91/dt: fix USB high-speed clock to select UTMI
        ARM: at91/dt: fix at91 udc compatible strings
        ARM: at91/dt: declare matrix node as a syscon device
        ARM: vexpress: update CONFIG_USB_ISP1760 option
        ARM: digicolor: add the machine directory to Makefile
        ARM: STi: Add STiH410 SoC support
        MAINTAINERS: add Freescale Vybrid SoC
        MAINTAINERS: Remove self as ARM mach-bcm co-maintainer
        ARM: imx6sl-evk: set swbst_reg as vbus's parent reg
        ARM: imx6qdl-sabresd: set swbst_reg as vbus's parent reg
        ARM: at91/dt: at91sam9261: fix clocks and clock-names in udc definition
        ARM: OMAP2+: Fix wl12xx on dm3730-evm with mainline u-boot
        ARM: OMAP: enable TWL4030_USB in omap2plus_defconfig
        ARM: dts: dra7x-evm: avoid possible contention while muxing on CAN lines
        ARM: dts: dra7x-evm: Don't use dcan1_rx.gpio1_15 in DCAN pinctrl
        ARM: dts: am43xx: fix SLEWCTRL_FAST pinctrl binding
        ARM: dts: am33xx: fix SLEWCTRL_FAST pinctrl binding
        ARM: dts: OMAP5: fix polling intervals for thermal zones
        ...
      6981e2af
    • Linus Torvalds's avatar
      Merge tag 'irqchip-fixes-4.0' of git://git.infradead.org/users/jcooper/linux · 71c87bd0
      Linus Torvalds authored
      Pull irqchip fixes from Jason Cooper:
       "armada-370-xp:
         - Chained per-cpu interrupts
      
        gic{,-v3,v3-its}"
         - Various fixes for safer operation"
      
      * tag 'irqchip-fixes-4.0' of git://git.infradead.org/users/jcooper/linux:
        irqchip: gicv3-its: Support safe initialization
        irqchip: gicv3-its: Define macros for GITS_CTLR fields
        irqchip: gicv3-its: Add limitation to page order
        irqchip: gicv3-its: Use 64KB page as default granule
        irqchip: gicv3-its: Zero itt before handling to hardware
        irqchip: gic-v3: Fix out of bounds access to cpu_logical_map
        irqchip: gic: Fix unsafe locking reported by lockdep
        irqchip: gicv3-its: Fix unsafe locking reported by lockdep
        irqchip: gicv3-its: Iterate over PCI aliases to generate ITS configuration
        irqchip: gicv3-its: Allocate enough memory for the full range of DeviceID
        irqchip: gicv3-its: Fix ITS CPU init
        irqchip: armada-370-xp: Fix chained per-cpu interrupts
      71c87bd0
    • Jason Cooper's avatar
      aaa95f74
  5. 14 Mar, 2015 10 commits
  6. 13 Mar, 2015 11 commits
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-4.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 5fb0f7fa
      Linus Torvalds authored
      Pull power management and ACPI fixes from Rafael Wysocki:
       "Just two fixes, one for an ACPI LPSS driver issue introduced during
        the 3.17 cycle and one revert of a recent commit that sort of broke
        the cpupower tool.
      
        Specifics:
      
         - Fix an ACPI LPSS (Low-Power Subsystem) driver issue causing the
           8250_dw driver to confuse an LPSS clock with another one it is
           supposed to handle due to the lack of identification allowing it to
           tell those clocks apart (Heikki Krogerus).
      
         - Revert a recent commit that was supposed to improve the usability
           of the cpupower tool, but clearly did the opposite (Josh Boyer)"
      
      * tag 'pm+acpi-4.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        Revert "cpupower Makefile change to help run the tool without 'make install'"
        ACPI / LPSS: provide con_id for the clkdev
      5fb0f7fa
    • Gregory CLEMENT's avatar
      MAINTAINERS: Add myself as co-maintainer to the legacy support of the mvebu SoCs · bfda4031
      Gregory CLEMENT authored
      I will also take care of the legacy support(not fully converted to DT)
      of the mvebu SoCs.
      Signed-off-by: default avatarGregory CLEMENT <gregory.clement@free-electrons.com>
      Acked-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Acked-by: default avatarJason Cooper <jason@lakedaemon.net>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      bfda4031
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-tools' · b1760233
      Rafael J. Wysocki authored
      * pm-tools:
        Revert "cpupower Makefile change to help run the tool without 'make install'"
      b1760233
    • Linus Torvalds's avatar
      Merge tag 'stable/for-linus-4.0-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · f47e3310
      Linus Torvalds authored
      Pull xen bug fixes from David Vrabel:
      
       - fix a PV regression in 3.19.
      
       - fix a dom0 crash on hosts with large numbers of PIRQs.
      
       - prevent pcifront from disabling memory or I/O port access, which may
         trigger host crashes.
      
      * tag 'stable/for-linus-4.0-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen-pciback: limit guest control of command register
        xen/events: avoid NULL pointer dereference in dom0 on large machines
        xen: Remove trailing semicolon from xenbus_register_frontend() definition
        x86/xen: correct bug in p2m list initialization
      f47e3310
    • Linus Torvalds's avatar
      Merge tag 'sound-4.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · bbc54a00
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "This is a round of HD-audio fixes: there are a long-standing
        regression fix and a few more device/codec-specific quirks.
      
        In addition, a couple of FireWire regression fixes, a USB-audio quirk
        for Roland UA-22 and a sanity check in API for user-defined control
        elements"
      
      * tag 'sound-4.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda - Don't access stereo amps for mono channel widgets
        ALSA: hda - Add workaround for MacBook Air 5,2 built-in mic
        ALSA: hda - Set single_adc_amp flag for CS420x codecs
        ALSA: snd-usb: add quirks for Roland UA-22
        ALSA: control: Add sanity checks for user ctl id name string
        ALSA: hda - Fix built-in mic on Compaq Presario CQ60
        ALSA: firewire-lib: leave unit reference counting completely
        Revert "ALSA: dice: fix wrong offsets for Dice interface"
        ALSA: hda - Fix regression of HD-audio controller fallback modes
      bbc54a00
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-4.0' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 3d52c5bd
      Linus Torvalds authored
      Pull DeviceTree fixes from Rob Herring:
      
       - fix for stdout-path option parsing with added unittest
      
       - fix for stdout-path interaction with earlycon
      
       - several DT unittest fixes
      
       - fix Sparc allmodconfig build error on of_platform_register_reconfig_notifier
      
       - several DT overlay kconfig and build warning fixes
      
       - several DT binding documentation updates
      
      * tag 'devicetree-fixes-for-4.0' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        of/platform: Fix sparc:allmodconfig build
        of: unittest: Add options string testcase variants
        of: fix handling of '/' in options for of_find_node_by_path()
        of/unittest: Fix the wrong expected value in of_selftest_property_string
        of/unittest: remove the duplicate of_changeset_init
        dt: submitting-patches: clarify that DT maintainers are to be cced on bindings
        of: unittest: fix I2C dependency
        of/overlay: Remove unused variable
        Documentation: DT: Renamed of-serial.txt to 8250.txt
        of: Fix premature bootconsole disable with 'stdout-path'
        serial: add device tree binding documentation for ETRAX FS UART
        of/overlay: Directly include idr.h
        of: Drop superfluous dependance for OF_OVERLAY
        of: Add vendor prefix for Arasan
        of: Add prompt for OF_OVERLAY config
      3d52c5bd
    • Linus Torvalds's avatar
      Merge branch 'gadget' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · f788baad
      Linus Torvalds authored
      Pull gadgetfs fixes from Al Viro:
       "Assorted fixes around AIO on gadgetfs: leaks, use-after-free, troubles
        caused by ->f_op flipping"
      
      * 'gadget' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        gadgetfs: really get rid of switching ->f_op
        gadgetfs: get rid of flipping ->f_op in ep_config()
        gadget: switch ep_io_operations to ->read_iter/->write_iter
        gadgetfs: use-after-free in ->aio_read()
        gadget/function/f_fs.c: switch to ->{read,write}_iter()
        gadget/function/f_fs.c: use put iov_iter into io_data
        gadget/function/f_fs.c: close leaks
        move iov_iter.c from mm/ to lib/
        new helper: dup_iter()
      f788baad
    • Guenter Roeck's avatar
      of/platform: Fix sparc:allmodconfig build · a697c2ef
      Guenter Roeck authored
      sparc:allmodconfig fails to build with:
      
      drivers/built-in.o: In function `platform_bus_init':
      (.init.text+0x3684): undefined reference to `of_platform_register_reconfig_notifier'
      
      of_platform_register_reconfig_notifier is only declared if both OF_ADDRESS
      and OF_DYNAMIC are configured. Yet, the include file only declares a dummy
      function if OF_DYNAMIC is not configured. The sparc architecture does not
      configure OF_ADDRESS, but does configure OF_DYNAMIC, causing above error.
      
      Fixes: 801d728c ("of/reconfig: Add OF_DYNAMIC notifier for platform_bus_type")
      Cc: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      a697c2ef
    • Takashi Iwai's avatar
      ALSA: hda - Don't access stereo amps for mono channel widgets · ef403edb
      Takashi Iwai authored
      The current HDA generic parser initializes / modifies the amp values
      always in stereo, but this seems causing the problem on ALC3229 codec
      that has a few mono channel widgets: namely, these mono widgets react
      to actions for both channels equally.
      
      In the driver code, we do care the mono channel and create a control
      only for the left channel (as defined in HD-audio spec) for such a
      node.  When the control is updated, only the left channel value is
      changed.  However, in the resume, the right channel value is also
      restored from the initial value we took as stereo, and this overwrites
      the left channel value.  This ends up being the silent output as the
      right channel has been never touched and remains muted.
      
      This patch covers the places where unconditional stereo amp accesses
      are done and converts to the conditional accesses.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=94581
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      ef403edb
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · c202baf0
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "13 fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        memcg: disable hierarchy support if bound to the legacy cgroup hierarchy
        mm: reorder can_do_mlock to fix audit denial
        kasan, module: move MODULE_ALIGN macro into <linux/moduleloader.h>
        kasan, module, vmalloc: rework shadow allocation for modules
        fanotify: fix event filtering with FAN_ONDIR set
        mm/nommu.c: export symbol max_mapnr
        arch/c6x/include/asm/pgtable.h: define dummy pgprot_writecombine for !MMU
        nilfs2: fix deadlock of segment constructor during recovery
        mm: cma: fix CMA aligned offset calculation
        mm, hugetlb: close race when setting PageTail for gigantic pages
        mm, oom: do not fail __GFP_NOFAIL allocation if oom killer is disabled
        drivers/rtc/rtc-s3c.c: add .needs_src_clk to s3c6410 RTC data
        ocfs2: make append_dio an incompat feature
      c202baf0
    • Vladimir Davydov's avatar
      memcg: disable hierarchy support if bound to the legacy cgroup hierarchy · 7feee590
      Vladimir Davydov authored
      If the memory cgroup controller is initially mounted in the scope of the
      default cgroup hierarchy and then remounted to a legacy hierarchy, it will
      still have hierarchy support enabled, which is incorrect.  We should
      disable hierarchy support if bound to the legacy cgroup hierarchy.
      Signed-off-by: default avatarVladimir Davydov <vdavydov@parallels.com>
      Signed-off-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
      Acked-by: default avatarMichal Hocko <mhocko@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7feee590