1. 15 Oct, 2015 4 commits
    • Michael Ellerman's avatar
      powerpc/pseries: Move PCI objects to obj-y · 44f2aecf
      Michael Ellerman authored
      Make it entirely clear in the Makefile that we always build the pci
      related files by moving them to obj-y.
      
      Note that CONFIG_EEH is now always enabled on pseries, because it
      depends on PSERIES && PCI.
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      44f2aecf
    • Michael Ellerman's avatar
      powerpc/pseries: Remove use of CONFIG_PCI · 84eb9e61
      Michael Ellerman authored
      Now that we always have CONFIG_PCI=y for pseries, we can stop guarding
      code with CONFIG_PCI ifdefs.
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      84eb9e61
    • Michael Ellerman's avatar
      powerpc/pseries: Make PCI non-optional · 4c9cd468
      Michael Ellerman authored
      The pseries build with PCI=n looks to have been broken for at least 5
      years, and no one's noticed or cared.
      
      Following the obvious breakages backward, the first commit I can find
      that builds is the parent of 2eb4afb6 ("powerpc/pci: Move pseries
      code into pseries platform specific area") from April 2009.
      
      A distro would never ship a PCI=n kernel, so it is only useful for folks
      building custom kernels. Also on KVM the virtio devices appear on PCI,
      so it would only be useful if you were building kernels specifically to
      run on PowerVM and with no PCI devices.
      
      The added code complexity, and testing load (which we've clearly not
      been doing), is not justified by the small reduction in kernel size for
      such a niche use case.
      
      So just make PCI non-optional on pseries.
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      4c9cd468
    • Michael Ellerman's avatar
      scripts/kconfig/Makefile: Fix KBUILD_DEFCONFIG check when building with O= · bd960f09
      Michael Ellerman authored
      My recent commit d2036f30 ("scripts/kconfig/Makefile: Allow
      KBUILD_DEFCONFIG to be a target"), contained a bug in that when it
      checks if KBUILD_DEFCONFIG is a file it forgets to prepend $(srctree) to
      the path.
      
      This causes the build to fail when building out of tree (with O=), and
      when the value of KBUILD_DEFCONFIG is 'defconfig'. In that case we will
      fail to find the 'defconfig' file, because we look in the build
      directory not $(srctree), and so we will call Make again with
      'defconfig' as the target. From there we loop infinitely calling 'make
      defconfig' again and again.
      
      The fix is simple, we need to look for the file under $(srctree).
      
      Fixes: d2036f30 ("scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be a target")
      Reported-by: default avatarOlof Johansson <olof@lixom.net>
      Acked-by: default avatarMichal Marek <mmarek@suse.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      bd960f09
  2. 12 Oct, 2015 2 commits
  3. 08 Oct, 2015 2 commits
  4. 06 Oct, 2015 2 commits
  5. 05 Oct, 2015 6 commits
  6. 02 Oct, 2015 3 commits
  7. 01 Oct, 2015 8 commits
    • Michael Ellerman's avatar
      powerpc: Add ppc64le_defconfig · 2adc48a6
      Michael Ellerman authored
      Based directly on ppc64_defconfig using merge_config.
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      2adc48a6
    • Michael Ellerman's avatar
      scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be a target · d2036f30
      Michael Ellerman authored
      Arch Makefiles can set KBUILD_DEFCONFIG to tell kbuild the name of the
      defconfig that should be built by default.
      
      However currently there is an assumption that KBUILD_DEFCONFIG points to
      a file at arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG).
      
      We would like to use a target, using merge_config, as our defconfig, so
      adapt the logic in scripts/kconfig/Makefile to allow that.
      
      To minimise the chance of breaking anything, we first check if
      KBUILD_DEFCONFIG is a file, and if so we do the old logic. If it's not a
      file, then we call the top-level Makefile with KBUILD_DEFCONFIG as the
      target.
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Acked-by: default avatarMichal Marek <mmarek@suse.com>
      d2036f30
    • Aneesh Kumar K.V's avatar
      powerpc/mm: Add virt_to_pfn and use this instead of opencoding · 65d3223a
      Aneesh Kumar K.V authored
      This add helper virt_to_pfn and remove the opencoded usage of the
      same.
      Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      65d3223a
    • Michael Neuling's avatar
      powerpc/vdso: Avoid link stack corruption in __get_datapage() · c974809a
      Michael Neuling authored
      powerpc has a link register (lr) used for calling functions. We "bl
      <func>" to call a function, and "blr" to return back to the call site.
      
      The lr is only a single register, so if we call another function from
      inside this function (ie. nested calls), software must save away the
      lr on the software stack before calling the new function. Before
      returning (ie. before the "blr"), the lr is restored by software from
      the software stack.
      
      This makes branch prediction quite difficult for the processor as it
      will only know the branch target just before the "blr".
      
      To help with this, modern powerpc processors keep a (non-architected)
      hardware stack of lr called a "link stack". When a "bl <func>" is
      run, the lr is pushed onto this stack. When a "blr" is called, the
      branch predictor pops the lr value from the top of the link stack, and
      uses it to predict the branch target. Hence the processor pipeline
      knows a lot earlier the branch target.
      
      This works great but there are some cases where you call "bl" but
      without a matching "blr". Once such case is when trying to determine
      the program counter (which can't be read directly). Here you "bl+4;
      mflr" to get the program counter. If you do this, the link stack will
      get out of sync with reality, causing the branch predictor to
      mis-predict subsequent function returns.
      
      To avoid this, modern micro-architectures have a special case of bl.
      Using the form "bcl 20,31,+4", ensures the processor doesn't push to
      the link stack.
      
      The 32 and 64 bit variants of __get_datapage() use a "bl; mflr" to
      determine the loaded address of the VDSO. The current versions of
      these attempt to use this special bl variant.
      
      Unfortunately they use +8 rather than the required +4. Hence the
      current code results in the link stack getting out of sync with
      reality and hence the resulting performance degradation.
      
      This patch moves it to bcl+4 by moving __kernel_datapage_offset out of
      __get_datapage().
      
      With this patch, running a gettimeofday() (which uses
      __get_datapage()) microbenchmark we get a decent bump in performance
      on POWER7/8.
      
      For the benchmark in tools/testing/selftests/powerpc/benchmarks/gettimeofday.c
        POWER8:
          64bit gets ~4% improvement
          32bit gets ~9% improvement
        POWER7:
          64bit gets ~7% improvement
      Signed-off-by: default avatarMichael Neuling <mikey@neuling.org>
      Reported-by: default avatarAaron Sawdey <sawdey@us.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      c974809a
    • Michael Neuling's avatar
      powerpc/selftest: Add gettimeofday() benchmark · d17475d9
      Michael Neuling authored
      This adds a benchmark directory to the powerpc selftests and adds a
      gettimeofday() benchmark to it.
      Suggested-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Signed-off-by: default avatarMichael Neuling <mikey@neuling.org>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      d17475d9
    • Michael Ellerman's avatar
      powerpc/slb: Use a local to avoid multiple calls to get_slb_shadow() · 26cd835e
      Michael Ellerman authored
      For no reason other than it looks ugly.
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      26cd835e
    • Anshuman Khandual's avatar
      powerpc/slb: Define an enum for the bolted indexes · 1d15010c
      Anshuman Khandual authored
      This patch defines macros for the three bolted SLB indexes we use.
      Switch the functions that take the indexes as an argument to use the
      enum.
      Signed-off-by: default avatarAnshuman Khandual <khandual@linux.vnet.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      1d15010c
    • Michael Ellerman's avatar
      powerpc/vdso: Emit GNU & SysV hashes · 787b393c
      Michael Ellerman authored
      Andy Lutomirski says:
      
        Some dynamic loaders may be slightly faster if a GNU hash is
        available.
      
        This is unlikely to have any measurable effect on the time it takes
        to resolve vdso symbols (since there are so few of them).  In some
        contexts, it can be a win for a different reason: if every DSO has a
        GNU hash section, then libc can avoid calculating SysV hashes at
        all. Both musl and glibc appear to have this optimization.
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      787b393c
  8. 29 Sep, 2015 4 commits
  9. 27 Sep, 2015 9 commits
    • Linus Torvalds's avatar
      Linux 4.3-rc3 · 9ffecb10
      Linus Torvalds authored
      9ffecb10
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 162e6df4
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
       "Two bugfixes from Andy addressing at least some of the subtle NMI
        related wreckage which has been reported by Sasha Levin"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/nmi/64: Fix a paravirt stack-clobbering bug in the NMI code
        x86/paravirt: Replace the paravirt nop with a bona fide empty function
      162e6df4
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5a6bdf06
      Linus Torvalds authored
      Pull irq fix from Thomass Gleixner:
       "A bugfix for the atmel aic5 irq chip driver which caches the wrong
        data and thereby breaking resume"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/atmel-aic5: Use per chip mask caches in mask/unmask()
      5a6bdf06
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · c905929a
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
       "Just two fixes: wire up the new system calls added during the last
        merge window, and fix another user access site"
      
      * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        ARM: alignment: fix alignment handling for uaccess changes
        ARM: wire up new syscalls
      c905929a
    • Linus Torvalds's avatar
      Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 685b5f1d
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "Our first real batch of fixes this release cycle.  Nothing really
        concerning, and diffstat is a bit inflated due to some DT contents
        moving around on STi platforms.
      
        There's a collection of them here:
      
         - A fixup for a build breakage that hits on arm64 allmodconfig in
           QCOM SCM firmware drivers
         - MMC fixes for OMAP that had quite a bit of breakage this merge
           window.
         - Misc build/warning fixes on PXA and OMAP
         - A couple of minor fixes for Beagleboard X15 which is now starting
           to see a few more users in the wild"
      
      * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (31 commits)
        ARM: sti: dt: adapt DT to fix probe/bind issues in DRM driver
        ARM: dts: fix omap2+ address translation for pbias
        firmware: qcom: scm: Add function stubs for ARM64
        ARM: dts: am57xx-beagle-x15: use palmas-usb for USB2
        ARM: omap2plus_defconfig: enable GPIO_PCA953X
        ARM: dts: omap5-uevm.dts: fix i2c5 pinctrl offsets
        ARM: OMAP2+: AM43XX: Enable autoidle for clks in am43xx_init_late
        ARM: dts: am57xx-beagle-x15: Update Phy supplies
        ARM: pxa: balloon3: Fix build error
        ARM: dts: Fixup model name for HP t410 dts
        ARM: dts: DRA7: fix a typo in ethernet
        ARM: omap2plus_defconfig: make PCF857x built-in
        ARM: dts: Use ti,pbias compatible string for pbias
        ARM: OMAP5: Cleanup options for SoC only build
        ARM: DRA7: Select missing options for SoC only build
        ARM: OMAP2+: board-generic: Remove stale of_irq macros
        ARM: OMAP4+: PM: erratum is used by OMAP5 and DRA7 as well
        ARM: dts: omap3-igep: Move eth IRQ pinmux to IGEPv2 common dtsi
        ARM: dts: am57xx-beagle-x15: Add wakeup irq for mcp79410
        ARM: dts: am335x-phycore-som: Fix mpu voltage
        ...
      685b5f1d
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 · 69ea8b85
      Linus Torvalds authored
      Pull CIFS fixes from Steve French:
       "Four fixes from testing at the recent SMB3 Plugfest including two
        important authentication ones (one fixes authentication problems to
        some popular servers when clock times differ more than two hours
        between systems, the other fixes Kerberos authentication for SMB3)"
      
      * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
        fix encryption error checks on mount
        [SMB3] Fix sec=krb5 on smb3 mounts
        cifs: use server timestamp for ntlmv2 authentication
        disabling oplocks/leases via module parm enable_oplocks broken for SMB3
      69ea8b85
    • Olof Johansson's avatar
      Merge tag 'pxa-fixes-v4.3' of https://github.com/rjarzmik/linux into fixes · e46fc90e
      Olof Johansson authored
      ARM: pxa: fixes for v4.3
      
      These fixes are mainly regression fixes triggered by irq changes,
      common clock framework introduction and sound side-effect of
      other platforms.
      
      * tag 'pxa-fixes-v4.3' of https://github.com/rjarzmik/linux:
        ARM: pxa: balloon3: Fix build error
        ARM: pxa: ssp: Fix build error by removing originally incorrect DT binding
        ARM: pxa: fix DFI bus lockups on startup
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      e46fc90e
    • Olof Johansson's avatar
      Merge tag 'omap-for-v4.3/fixes-rc2' of... · b8ba826f
      Olof Johansson authored
      Merge tag 'omap-for-v4.3/fixes-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
      
      Fixes for omaps for v4.3-rc cycle:
      
      - Two more patches to fix most of the MMC regressions with the
        PBIAS regulator changes. At least two MMC driver related issues
        still seems to remain for omap3 legacy booting and omap4 duovero.
        Note that the dts changes depend on a recent regulator fix, and
        are based on the regulator commit now in mainline kernel
      
      - Enable autoidle for am43xx clocks to prevent clocks from staying
        always on
      
      - Fix i2c5 pinctrl offsets for omap5-uevm
      
      - Enable PCA953X as that's needed for HDMI to work on omap5
      
      - Update phy supplies for beagle x15 beta board
      
      - Use palmas-usb for on beagle x15 to start using the related
        driver that recently got merged
      
      * tag 'omap-for-v4.3/fixes-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: dts: fix omap2+ address translation for pbias
        ARM: dts: am57xx-beagle-x15: use palmas-usb for USB2
        ARM: omap2plus_defconfig: enable GPIO_PCA953X
        ARM: dts: omap5-uevm.dts: fix i2c5 pinctrl offsets
        ARM: OMAP2+: AM43XX: Enable autoidle for clks in am43xx_init_late
        ARM: dts: am57xx-beagle-x15: Update Phy supplies
        regulator: pbias: program pbias register offset in pbias driver
        ARM: omap2plus_defconfig: Enable MUSB DMA support
        ARM: DRA752: Add ID detect for ES2.0
        ARM: OMAP3: vc: fix 'or' always true warning
        ARM: OMAP2+: Fix booting if no timer parent clock is available
        ARM: OMAP2+: omap-device: fix race deferred probe of omap_hsmmc vs omap_device_late_init
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      b8ba826f
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · d8cc3972
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
       "This fixes the following issues:
      
         - check the return value of platform_get_irq as signed int in xgene.
      
         - skip adf_dev_restore on virtual functions in qat.
      
         - fix double-free with backlogged requests in marvell_cesa"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        hwrng: xgene - fix handling platform_get_irq
        crypto: qat - VF should never trigger SBR on PH
        crypto: marvell - properly handle CRYPTO_TFM_REQ_MAY_BACKLOG-flagged requests
      d8cc3972