]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
10 years agoMerge remote-tracking branch 'ubifs/linux-next'
Stephen Rothwell [Fri, 30 May 2014 00:32:37 +0000 (10:32 +1000)]
Merge remote-tracking branch 'ubifs/linux-next'

10 years agoMerge remote-tracking branch 'nfsd/nfsd-next'
Stephen Rothwell [Fri, 30 May 2014 00:30:59 +0000 (10:30 +1000)]
Merge remote-tracking branch 'nfsd/nfsd-next'

10 years agoMerge remote-tracking branch 'nfs/linux-next'
Stephen Rothwell [Fri, 30 May 2014 00:29:29 +0000 (10:29 +1000)]
Merge remote-tracking branch 'nfs/linux-next'

10 years agoMerge remote-tracking branch 'logfs/master'
Stephen Rothwell [Fri, 30 May 2014 00:27:51 +0000 (10:27 +1000)]
Merge remote-tracking branch 'logfs/master'

10 years agoMerge remote-tracking branch 'jfs/jfs-next'
Stephen Rothwell [Fri, 30 May 2014 00:26:58 +0000 (10:26 +1000)]
Merge remote-tracking branch 'jfs/jfs-next'

10 years agoMerge remote-tracking branch 'gfs2/master'
Stephen Rothwell [Fri, 30 May 2014 00:26:01 +0000 (10:26 +1000)]
Merge remote-tracking branch 'gfs2/master'

10 years agoMerge remote-tracking branch 'fscache/fscache'
Stephen Rothwell [Fri, 30 May 2014 00:25:55 +0000 (10:25 +1000)]
Merge remote-tracking branch 'fscache/fscache'

10 years agoMerge remote-tracking branch 'f2fs/dev'
Stephen Rothwell [Fri, 30 May 2014 00:25:02 +0000 (10:25 +1000)]
Merge remote-tracking branch 'f2fs/dev'

10 years agoMerge remote-tracking branch 'ext4/dev'
Stephen Rothwell [Fri, 30 May 2014 00:13:50 +0000 (10:13 +1000)]
Merge remote-tracking branch 'ext4/dev'

10 years agoMerge remote-tracking branch 'ecryptfs/next'
Stephen Rothwell [Fri, 30 May 2014 00:12:52 +0000 (10:12 +1000)]
Merge remote-tracking branch 'ecryptfs/next'

10 years agoMerge remote-tracking branch 'cifs/for-next'
Stephen Rothwell [Fri, 30 May 2014 00:11:54 +0000 (10:11 +1000)]
Merge remote-tracking branch 'cifs/for-next'

10 years agoMerge remote-tracking branch 'unicore32/unicore32'
Stephen Rothwell [Fri, 30 May 2014 00:10:56 +0000 (10:10 +1000)]
Merge remote-tracking branch 'unicore32/unicore32'

10 years agoMerge remote-tracking branch 'uml/next'
Stephen Rothwell [Fri, 30 May 2014 00:10:00 +0000 (10:10 +1000)]
Merge remote-tracking branch 'uml/next'

Conflicts:
arch/um/include/asm/Kbuild

10 years agoMerge remote-tracking branch 'tile/master'
Stephen Rothwell [Fri, 30 May 2014 00:09:05 +0000 (10:09 +1000)]
Merge remote-tracking branch 'tile/master'

10 years agoMerge remote-tracking branch 'sparc-next/master'
Stephen Rothwell [Fri, 30 May 2014 00:01:37 +0000 (10:01 +1000)]
Merge remote-tracking branch 'sparc-next/master'

Conflicts:
arch/sparc/include/asm/pgtable_64.h

10 years agoMerge remote-tracking branch 's390/features'
Stephen Rothwell [Fri, 30 May 2014 00:00:15 +0000 (10:00 +1000)]
Merge remote-tracking branch 's390/features'

10 years agoMerge remote-tracking branch 'powerpc/next'
Stephen Rothwell [Thu, 29 May 2014 23:57:25 +0000 (09:57 +1000)]
Merge remote-tracking branch 'powerpc/next'

Conflicts:
arch/powerpc/include/asm/sections.h

10 years agoMerge remote-tracking branch 'mips/mips-for-linux-next'
Stephen Rothwell [Thu, 29 May 2014 23:55:36 +0000 (09:55 +1000)]
Merge remote-tracking branch 'mips/mips-for-linux-next'

10 years agoMerge remote-tracking branch 'm68knommu/for-next'
Stephen Rothwell [Thu, 29 May 2014 23:54:40 +0000 (09:54 +1000)]
Merge remote-tracking branch 'm68knommu/for-next'

10 years agoMerge remote-tracking branch 'm68k/for-next'
Stephen Rothwell [Thu, 29 May 2014 23:53:48 +0000 (09:53 +1000)]
Merge remote-tracking branch 'm68k/for-next'

10 years agoMerge remote-tracking branch 'arm64/for-next/core'
Stephen Rothwell [Thu, 29 May 2014 23:52:33 +0000 (09:52 +1000)]
Merge remote-tracking branch 'arm64/for-next/core'

10 years agoMerge remote-tracking branch 'tegra/for-next'
Stephen Rothwell [Thu, 29 May 2014 23:52:25 +0000 (09:52 +1000)]
Merge remote-tracking branch 'tegra/for-next'

10 years agoMerge remote-tracking branch 'samsung/for-next'
Stephen Rothwell [Thu, 29 May 2014 23:51:25 +0000 (09:51 +1000)]
Merge remote-tracking branch 'samsung/for-next'

10 years agoMerge remote-tracking branch 'renesas/next'
Stephen Rothwell [Thu, 29 May 2014 23:50:30 +0000 (09:50 +1000)]
Merge remote-tracking branch 'renesas/next'

Conflicts:
arch/arm/boot/dts/Makefile

10 years agoMerge remote-tracking branch 'mvebu/for-next'
Stephen Rothwell [Thu, 29 May 2014 23:49:14 +0000 (09:49 +1000)]
Merge remote-tracking branch 'mvebu/for-next'

10 years agoMerge remote-tracking branch 'imx-mxs/for-next'
Stephen Rothwell [Thu, 29 May 2014 23:48:08 +0000 (09:48 +1000)]
Merge remote-tracking branch 'imx-mxs/for-next'

10 years agoMerge remote-tracking branch 'ep93xx/ep93xx-for-next'
Stephen Rothwell [Thu, 29 May 2014 23:48:00 +0000 (09:48 +1000)]
Merge remote-tracking branch 'ep93xx/ep93xx-for-next'

10 years agoMerge remote-tracking branch 'berlin/berlin/for-next'
Stephen Rothwell [Thu, 29 May 2014 23:47:57 +0000 (09:47 +1000)]
Merge remote-tracking branch 'berlin/berlin/for-next'

10 years agoMerge remote-tracking branch 'arm-soc/for-next'
Stephen Rothwell [Thu, 29 May 2014 23:44:00 +0000 (09:44 +1000)]
Merge remote-tracking branch 'arm-soc/for-next'

Conflicts:
arch/arm/mach-exynos/exynos.c
arch/arm/mach-mvebu/board-v7.c
arch/arm/mach-omap2/omap-mpuss-lowpower.c
arch/arm/mach-rockchip/rockchip.c
arch/arm/mach-vexpress/v2m.c
arch/arm/mach-zynq/common.c

10 years agoMerge remote-tracking branch 'arm-perf/for-next/perf'
Stephen Rothwell [Thu, 29 May 2014 23:43:56 +0000 (09:43 +1000)]
Merge remote-tracking branch 'arm-perf/for-next/perf'

10 years agoMerge remote-tracking branch 'arm/for-next'
Stephen Rothwell [Thu, 29 May 2014 23:32:59 +0000 (09:32 +1000)]
Merge remote-tracking branch 'arm/for-next'

10 years agoMerge remote-tracking branch 'arc/for-next'
Stephen Rothwell [Thu, 29 May 2014 23:32:09 +0000 (09:32 +1000)]
Merge remote-tracking branch 'arc/for-next'

10 years agoMerge remote-tracking branch 'drm-intel-fixes/for-linux-next-fixes'
Stephen Rothwell [Thu, 29 May 2014 23:30:19 +0000 (09:30 +1000)]
Merge remote-tracking branch 'drm-intel-fixes/for-linux-next-fixes'

10 years agoMerge remote-tracking branch 'ide/master'
Stephen Rothwell [Thu, 29 May 2014 23:30:13 +0000 (09:30 +1000)]
Merge remote-tracking branch 'ide/master'

10 years agoMerge remote-tracking branch 'input-current/for-linus'
Stephen Rothwell [Thu, 29 May 2014 23:30:09 +0000 (09:30 +1000)]
Merge remote-tracking branch 'input-current/for-linus'

10 years agoMerge remote-tracking branch 'staging.current/staging-linus'
Stephen Rothwell [Thu, 29 May 2014 23:30:08 +0000 (09:30 +1000)]
Merge remote-tracking branch 'staging.current/staging-linus'

10 years agoMerge remote-tracking branch 'usb.current/usb-linus'
Stephen Rothwell [Thu, 29 May 2014 23:30:07 +0000 (09:30 +1000)]
Merge remote-tracking branch 'usb.current/usb-linus'

10 years agoMerge remote-tracking branch 'net/master'
Stephen Rothwell [Thu, 29 May 2014 23:30:05 +0000 (09:30 +1000)]
Merge remote-tracking branch 'net/master'

10 years agoMerge remote-tracking branch 'arm-current/fixes'
Stephen Rothwell [Thu, 29 May 2014 23:30:03 +0000 (09:30 +1000)]
Merge remote-tracking branch 'arm-current/fixes'

10 years agoMerge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
Linus Torvalds [Thu, 29 May 2014 21:14:43 +0000 (14:14 -0700)]
Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux

Pull arm64 fix from Will Deacon:
 "Fix CoW regression for transparent hugepages by routing set_pmd_at to
  set_pte_at, which correctly handles PTE_WRITE and will mark the
  resulting table entry as read-only where appropriate"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  arm64: mm: fix pmd_write CoW brokenness

10 years agoMerge tag 'pm+acpi-3.15-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael...
Linus Torvalds [Thu, 29 May 2014 21:05:57 +0000 (14:05 -0700)]
Merge tag 'pm+acpi-3.15-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull ACPI and power management fixes from Rafael Wysocki:
 "These are three stable-candidate fixes, one for the ACPI thermal
  driver and two for cpufreq drivers.

  Specifics:

   - A workqueue is destroyed too early during the ACPI thermal driver
     module unload which leads to a NULL pointer dereference in the
     driver's remove callback.  Fix from Aaron Lu.

   - A wrong argument is passed to devm_regulator_get_optional() in the
     probe routine of the cpu0 cpufreq driver which leads to resource
     leaks if the driver is unbound from the cpufreq platform device.
     Fix from Lucas Stach.

   - A lock is missing in cpufreq_governor_dbs() which leads to memory
     corruption and NULL pointer dereferences during system
     suspend/resume, for example.  Fix from Bibek Basu"

* tag 'pm+acpi-3.15-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  ACPI / thermal: fix workqueue destroy order
  cpufreq: cpu0: drop wrong devm usage
  cpufreq: remove race while accessing cur_policy

10 years agoMerge tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mike.turquette/linux
Linus Torvalds [Thu, 29 May 2014 20:59:18 +0000 (13:59 -0700)]
Merge tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mike.turquette/linux

Pull clock fixes from Mike Turquette:
 "Small number of user-visible regression fixes for clock drivers.

  There is a memory leak fix for an ST platform, an infinite Loop Of
  Doom fix for the recent changes to the basic clock divider (hopefully
  the last fix for those recent changes) and some Tegra PLL changes
  which keep PCI from being hosed on that platform"

* tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mike.turquette/linux:
  clk: st: Fix memory leak
  clk: divider: Fix table round up function
  clk: tegra: Fix enabling of PLLE
  clk: tegra: Introduce divider mask and shift helpers
  clk: tegra: Fix PLLE programming

10 years agoPush the file layout driver into a subdirectory
Tom Haynes [Mon, 12 May 2014 21:35:52 +0000 (14:35 -0700)]
Push the file layout driver into a subdirectory

The object and block layouts already exist in their own
subdirectories. This patch completes the set!

Note that as a layout denotes nfs4 already, I stripped
that prefix out of the file names.

Signed-off-by: Tom Haynes <Thomas.Haynes@primarydata.com>
Acked-by: Jeff Layton <jlayton@poochiereds.net>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agoarm-soc: document new merges
Olof Johansson [Thu, 29 May 2014 20:46:53 +0000 (13:46 -0700)]
arm-soc: document new merges

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agonfs: Apply NFS_MOUNT_CMP_FLAGMASK to nfs_compare_remount_data()
Scott Mayhew [Thu, 29 May 2014 20:41:22 +0000 (16:41 -0400)]
nfs: Apply NFS_MOUNT_CMP_FLAGMASK to nfs_compare_remount_data()

Those flags are obsolete and checking them can incorrectly cause
remount operations to fail.

Signed-off-by: Scott Mayhew <smayhew@redhat.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agoNFSv4: Use error handler on failed GETATTR with successful OPEN
Andy Adamson [Fri, 23 May 2014 13:22:59 +0000 (06:22 -0700)]
NFSv4: Use error handler on failed GETATTR with successful OPEN

Place the call to resend the failed GETATTR under the error handler so that
when appropriate, the GETATTR is retried more than once.

The server can fail the GETATTR op in the OPEN compound with a recoverable
error such as NFS4ERR_DELAY. In the case of an O_EXCL open, the server has
created the file, so a retrans of the OPEN call will fail with NFS4ERR_EXIST.

Signed-off-by: Andy Adamson <andros@netapp.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agoMerge branch 'next/defconfig' into for-next
Olof Johansson [Thu, 29 May 2014 20:40:14 +0000 (13:40 -0700)]
Merge branch 'next/defconfig' into for-next

* next/defconfig:
  ARM: configs: update Allwinner options

10 years agoARM: configs: update Allwinner options
Maxime Ripard [Thu, 29 May 2014 17:21:13 +0000 (19:21 +0200)]
ARM: configs: update Allwinner options

Update sunxi_defconfig and multi_v7 with all the latest Allwinner
additions.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoMerge tag 'v3.15-rc6' into next/defconfig
Olof Johansson [Thu, 29 May 2014 20:39:43 +0000 (13:39 -0700)]
Merge tag 'v3.15-rc6' into next/defconfig

Linux 3.15-rc6

10 years agoarm-soc: document new merges
Olof Johansson [Thu, 29 May 2014 19:50:28 +0000 (12:50 -0700)]
arm-soc: document new merges

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoMerge branch 'next/dt' into for-next
Olof Johansson [Thu, 29 May 2014 19:44:31 +0000 (12:44 -0700)]
Merge branch 'next/dt' into for-next

* next/dt:
  ARM: dts: omap2 clock data
  ARM: dts: am437x-gp-evm: add support for parallel NAND flash
  ARM: OMAP2+: gpmc: enable BCH_HW ecc-scheme for AM43xx platforms
  ARM: dts: omap3 a83x: fix duplicate usb pin config
  ARM: dts: omap3: set mcbsp2 status
  ARM: dts: omap3-n900: Add modem support
  ARM: dts: omap3-n900: Add SSI support
  ARM: OMAP2+: Fix ssi hwmod entry to allow idling
  ARM: dts: AM4372: clk: efuse based crystal frequency detect
  ARM: dts: am43xx-clocks.dtsi: add ti, set-rate-parent to display clock path
  ARM: dts: omap5-clocks.dtsi: add ti, set-rate-parent to dss_dss_clk
  ARM: dts: omap4: add twd clock to DT
  ARM: dts: omap54xx-clocks: Correct abe_iclk clock node
  ARM: dts: omap54xx-clocks: remove the autoidle properties for clock nodes
  ARM: dts: am43x-clock: add tbclk data for ehrpwm
  ARM: dts: am33xx-clock: Fix ehrpwm tbclk data
  ARM: dts: set 'ti,set-rate-parent' for dpll4_m5 path
  ARM: dts: use ti,fixed-factor-clock for dpll4_m5x2_mul_ck
  ARM: dts: am43xx-clocks: use ti, fixed-factor-clock for dpll_per_clkdcoldo

10 years agoMerge tag 'omap-for-v3.16/dt-part3' of git://git.kernel.org/pub/scm/linux/kernel...
Olof Johansson [Thu, 29 May 2014 19:43:43 +0000 (12:43 -0700)]
Merge tag 'omap-for-v3.16/dt-part3' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt

Merge "omap dt fixes and and clocks for v3.16 merge window" from Tony Lindgren:

Most likely the last pull request from me for omap changes for
v3.16 that's dts fixes for clocks and enabling few features
that were still being discussed earlier:

- A bunch of omap clock related dts fixes queued by Tero Kristo.

- Enable parallel nand on am437x that was not merged earlier as
  I requested more information about the muxing for it. And
  we need to also enable ecc hardware support for am43xx.

- Enable the modem support for n900 that was dropped earlier
  because we had to fix the related hwmod entry first with patch
  ARM: OMAP2+: Fix ssi hwmod entry to allow idling.

- And finally, add the omap2 clock dts files. These will allow
  us to enable the dt clocks and drop the legacy clocks for omap2
  with a follow-up patch once the related clock driver binding
  changes are merged.

* tag 'omap-for-v3.16/dt-part3' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: dts: omap2 clock data
  ARM: dts: am437x-gp-evm: add support for parallel NAND flash
  ARM: OMAP2+: gpmc: enable BCH_HW ecc-scheme for AM43xx platforms
  ARM: dts: omap3 a83x: fix duplicate usb pin config
  ARM: dts: omap3: set mcbsp2 status
  ARM: dts: omap3-n900: Add modem support
  ARM: dts: omap3-n900: Add SSI support
  ARM: OMAP2+: Fix ssi hwmod entry to allow idling
  ARM: dts: AM4372: clk: efuse based crystal frequency detect
  ARM: dts: am43xx-clocks.dtsi: add ti, set-rate-parent to display clock path
  ARM: dts: omap5-clocks.dtsi: add ti, set-rate-parent to dss_dss_clk
  ARM: dts: omap4: add twd clock to DT
  ARM: dts: omap54xx-clocks: Correct abe_iclk clock node
  ARM: dts: omap54xx-clocks: remove the autoidle properties for clock nodes
  ARM: dts: am43x-clock: add tbclk data for ehrpwm
  ARM: dts: am33xx-clock: Fix ehrpwm tbclk data
  ARM: dts: set 'ti,set-rate-parent' for dpll4_m5 path
  ARM: dts: use ti,fixed-factor-clock for dpll4_m5x2_mul_ck
  ARM: dts: am43xx-clocks: use ti, fixed-factor-clock for dpll_per_clkdcoldo

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoMerge branch 'next/soc' into for-next
Olof Johansson [Thu, 29 May 2014 19:43:05 +0000 (12:43 -0700)]
Merge branch 'next/soc' into for-next

* next/soc:
  clk: exynos5250: Add missing sysmmu clocks for DISP and ISP blocks

10 years agoMerge branch 'next/cleanup' into for-next
Olof Johansson [Thu, 29 May 2014 19:42:46 +0000 (12:42 -0700)]
Merge branch 'next/cleanup' into for-next

* next/cleanup:
  ARM: kconfig: allow PCI support to be selected with ARCH_MULTIPLATFORM

10 years agoARM: kconfig: allow PCI support to be selected with ARCH_MULTIPLATFORM
Will Deacon [Tue, 27 May 2014 22:26:35 +0000 (23:26 +0100)]
ARM: kconfig: allow PCI support to be selected with ARCH_MULTIPLATFORM

When targetting ARCH_MULTIPLATFORM, we may include support for SoCs with
PCI-capable devices (e.g. mach-virt with virtio-pci).

This patch allows PCI support to be selected for these SoCs by selecting
CONFIG_MIGHT_HAVE_PCI when CONFIG_ARCH_MULTIPLATFORM=y and removes the
individual selections from multi-platform enabled SoCs.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoMerge tag 'samsung-clk-2' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene...
Olof Johansson [Thu, 29 May 2014 19:37:21 +0000 (12:37 -0700)]
Merge tag 'samsung-clk-2' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/soc

Merge "Samsung 2nd clock updates for 3.16" from Kukjin Kim:

- Add missing sysmmu clocks for DISP and ISP blocks for exynos5250

* tag 'samsung-clk-2' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  clk: exynos5250: Add missing sysmmu clocks for DISP and ISP blocks

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoarm-soc: document new merges
Olof Johansson [Thu, 29 May 2014 19:11:20 +0000 (12:11 -0700)]
arm-soc: document new merges

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoMerge branch 'next/drivers' into for-next
Olof Johansson [Thu, 29 May 2014 18:28:10 +0000 (11:28 -0700)]
Merge branch 'next/drivers' into for-next

* next/drivers: (21 commits)
  ARM: EXYNOS: Fix kernel panic when unplugging CPU1 on exynos
  ARM: EXYNOS: Move the driver to drivers/cpuidle directory
  ARM: EXYNOS: Cleanup all unneeded headers from cpuidle.c
  ARM: EXYNOS: Pass the AFTR callback to the platform_data
  ARM: EXYNOS: Move S5P_CHECK_SLEEP into pm.c
  ARM: EXYNOS: Move the power sequence call in the cpu_pm notifier
  ARM: EXYNOS: Move the AFTR state function into pm.c
  ARM: EXYNOS: Encapsulate the AFTR code into a function
  ARM: EXYNOS: Disable cpuidle for exynos5440
  ARM: EXYNOS: Encapsulate boot vector code into a function for cpuidle
  ARM: EXYNOS: Pass wakeup mask parameter to function for cpuidle
  ARM: EXYNOS: Remove ifdef for scu_enable in pm
  ARM: EXYNOS: Move scu_enable in the cpu_pm notifier
  ARM: EXYNOS: Use the cpu_pm notifier for pm
  ARM: EXYNOS: Fix S5P_WAKEUP_STAT call for cpuidle
  ARM: EXYNOS: Move some code inside the idle_finisher for cpuidle
  ARM: EXYNOS: Encapsulate register access inside a function for pm
  ARM: EXYNOS: Change function name prefix for cpuidle
  ARM: EXYNOS: Use cpuidle_register
  ARM: EXYNOS: Prevent forward declaration for cpuidle
  ...

Conflicts:
arch/arm/mach-exynos/cpuidle.c

10 years agoMerge branch 'next/soc' into for-next
Olof Johansson [Thu, 29 May 2014 18:27:48 +0000 (11:27 -0700)]
Merge branch 'next/soc' into for-next

* next/soc: (41 commits)
  clk: exynos5420: Add 5800 specific clocks
  dt-bindings: add documentation for Exynos3250 clock controller
  ARM: EXYNOS: Add MCPM call-back functions
  ARM: dts: add CCI node for exynos5420
  ARM: EXYNOS: Add generic cluster power control functions
  ARM: EXYNOS: use generic exynos cpu power control functions
  ARM: EXYNOS: Add generic cpu power control functions for exynos SoCs
  clk: samsung: exynos3250: Add clocks using common clock framework
  drivers: clk: use COMMON_CLK_SAMSUNG for Samsung clock support
  ARM: S3C24XX: move S3C24XX clock Kconfig options to Samsung clock Kconfig file
  ARM: select COMMON_CLK_SAMSUNG for ARCH_EXYNOS and ARCH_S3C64XX
  clk: samsung: add new Kconfig for Samsung common clock option
  ARM: S3C24XX: Remove omitted Kconfig selects and conditionals
  clk: samsung: exynos5420: add more registers to restore list
  clk: samsung: exynos5420: add misc clocks
  clk: samsung: exynos5420: update clocks for MAU Block
  clk: samsung: exynos5420: fix register offset for sclk_bpll
  clk: samsung: exynos5420: correct sysmmu-mfc parent clocks
  clk: samsung: exynos5420: update clocks for FSYS and FSYS2 blocks
  clk: samsung: exynos5420: update clocks for WCORE block
  ...

10 years agoMerge tag 'exynos-cpuidle' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene...
Olof Johansson [Thu, 29 May 2014 18:21:13 +0000 (11:21 -0700)]
Merge tag 'exynos-cpuidle' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/drivers

Merge "Samsung exynos-cpuidle updates for v3.16" from Kukjin Kim:

- From Daniel Lezcano:
 This patchset relies on the cpm_pm notifier to initiate the
 powerdown sequence operations from pm.c instead cpuidle.c.
 Thus the cpuidle driver is no longer dependent from arch
 specific code as everything is called from the pm.c file.

* tag 'exynos-cpuidle' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: (94 commits)
  ARM: EXYNOS: Fix kernel panic when unplugging CPU1 on exynos
  ARM: EXYNOS: Move the driver to drivers/cpuidle directory
  ARM: EXYNOS: Cleanup all unneeded headers from cpuidle.c
  ARM: EXYNOS: Pass the AFTR callback to the platform_data
  ARM: EXYNOS: Move S5P_CHECK_SLEEP into pm.c
  ARM: EXYNOS: Move the power sequence call in the cpu_pm notifier
  ARM: EXYNOS: Move the AFTR state function into pm.c
  ARM: EXYNOS: Encapsulate the AFTR code into a function
  ARM: EXYNOS: Disable cpuidle for exynos5440
  ARM: EXYNOS: Encapsulate boot vector code into a function for cpuidle
  ARM: EXYNOS: Pass wakeup mask parameter to function for cpuidle
  ARM: EXYNOS: Remove ifdef for scu_enable in pm
  ARM: EXYNOS: Move scu_enable in the cpu_pm notifier
  ARM: EXYNOS: Use the cpu_pm notifier for pm
  ARM: EXYNOS: Fix S5P_WAKEUP_STAT call for cpuidle
  ARM: EXYNOS: Move some code inside the idle_finisher for cpuidle
  ARM: EXYNOS: Encapsulate register access inside a function for pm
  ARM: EXYNOS: Change function name prefix for cpuidle
  ARM: EXYNOS: Use cpuidle_register
  ARM: EXYNOS: Prevent forward declaration for cpuidle
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoMerge tag 'samsung-clk' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux...
Olof Johansson [Thu, 29 May 2014 18:16:11 +0000 (11:16 -0700)]
Merge tag 'samsung-clk' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/soc

Merge "Samsung clock updates for 3.16" from Kukjin Kim:

In this time, it is having dependency with arch/arm/ for 3.16,
I pulled them into samsung tree from Tomasz under agreement from Mike.

- Pull for_3.16/exynos5260 from Tomasz Figa:

  "This pull request contains patches preparing Samsung Common Clock Framework
  helpers to support Exynos5260 by adding support for multiple clock providers
  and then adding clock driver for Exynos5260."

- Pull for_3.16/clk_fixes_non_critical from Tomasz Figa:

  "This pull requests contains a number of non-critical fixes for Samsung clock
  framework and drivers, including:
  1) a series of fixes for Exynos5420 to correct clock definitions and make the
  driver closer to the documentation,
  2) several missing clocks and clock IDs added to Exynos4, Exynos5250 and
  Exynos5420 drivers,
  3) fix for incorrect initialization of clock table with NULL,
  4) compiler warning fix."

- Pull for_3.16/clk_cleanup from Tomasz Figa:

  "This pull requests contains minor clean-up related to Samsung clock
  support, including:
  1) move Kconfig entries of Samsung clock drivers to drivers/clk,
  2) compile drivers/clk/samsung conditionally when COMMON_CLK_SAMSUNG is
  selected,
  3) remove obsolete Kconfig lines after moving s3c24xx to CCF."

- Pull for_3.16/exynos3250 from Tomasz Figa:

  "This small pull request contains a patch adding clock driver for Exynos3250,
  which depends on previous pull requests in this series."

- add dt bindings for exynos3250 clock
- add exynos5800 specific clocks in current exynos5420 clock

Note that this branch is based on s3c24xx ccf branch

* tag 'samsung-clk' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: (59 commits)
  clk: exynos5420: Add 5800 specific clocks
  dt-bindings: add documentation for Exynos3250 clock controller
  ARM: S3C24XX: fix merge conflict
  clk: samsung: exynos3250: Add clocks using common clock framework
  drivers: clk: use COMMON_CLK_SAMSUNG for Samsung clock support
  ARM: S3C24XX: move S3C24XX clock Kconfig options to Samsung clock Kconfig file
  ARM: select COMMON_CLK_SAMSUNG for ARCH_EXYNOS and ARCH_S3C64XX
  clk: samsung: add new Kconfig for Samsung common clock option
  ARM: S3C24XX: Remove omitted Kconfig selects and conditionals
  clk: samsung: exynos5420: add more registers to restore list
  clk: samsung: exynos5420: add misc clocks
  clk: samsung: exynos5420: update clocks for MAU Block
  clk: samsung: exynos5420: fix register offset for sclk_bpll
  clk: samsung: exynos5420: correct sysmmu-mfc parent clocks
  clk: samsung: exynos5420: update clocks for FSYS and FSYS2 blocks
  clk: samsung: exynos5420: update clocks for WCORE block
  clk: samsung: exynos5420: update clocks for PERIS and GEN blocks
  clk: samsung: exynos5420: update clocks for PERIC block
  clk: samsung: exynos5420: update clocks for DISP1 block
  clk: samsung: exynos5420: update clocks for G2D and G3D blocks
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoMerge tag 'exynos-mcpm' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux...
Olof Johansson [Thu, 29 May 2014 16:48:55 +0000 (09:48 -0700)]
Merge tag 'exynos-mcpm' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/soc

Merge "Exynos MCPM support for v3.16" from Kukjin Kim:

- adding MCPM backend support for SMP secondary boot and core switching
on Samsung's Exynos5420.

Tested on exynos5420-smdk5420 and exynos5420 based chromebook (peach-pit)
using the "/dev/b.L_switcher" user interface. Secondary core boot-up has
also been tested on both the boards.

* tag 'exynos-mcpm' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: EXYNOS: Add MCPM call-back functions
  ARM: dts: add CCI node for exynos5420
  ARM: EXYNOS: Add generic cluster power control functions
  ARM: EXYNOS: use generic exynos cpu power control functions
  ARM: EXYNOS: Add generic cpu power control functions for exynos SoCs

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoMerge branch 'next/dt' into for-next
Olof Johansson [Thu, 29 May 2014 16:45:23 +0000 (09:45 -0700)]
Merge branch 'next/dt' into for-next

* next/dt: (21 commits)
  ARM: dts: enable usb nodes for exynos4412-trats2
  ARM: dts: add hsotg device node for exynos4
  ARM: dts: add exynos_usbphy node for exynos4
  ARM: dts: add PMU syscon node for exynos4
  ARM: dts: add pmu syscon handle to exynos5420 hdmi
  ARM: dts: add pmu syscon handle to exynos5250 hdmi
  ARM: dts: replace number by macro in clock binding for exynos5420
  ARM: dts: replace number by macro in clock binding for exynos5250
  ARM: dts: replace number by macro in clock binding for exynos4
  ARM: dts: add external sd card node for exynos4210-universal_c210
  ARM: dts: add multimedia nodes for exynos4210-universal_c210
  ARM: dts: enable USB functionality for exynos4210-universal_c210
  ARM: dts: Enable USB gadget functionality for exynos4210-trats
  ARM: dts: Add audio subsystem nodes to exynos4.dtsi
  ARM: dts: fixed gpio key node for exynos4412-trats2
  ARM: dts: add cm36651 light/proximity sensor node for exynos4412-trats2
  ARM: dts: Add USB 2.0 support on exynos5420
  ARM: dts: Add usb2phy support on exynos5420
  ARM: dts: Add usb2phy to exynos5250
  ARM: dts: Add sysreg sytem controller node to exynos5250 and exynos5420
  ...

10 years agoMerge tag 'samsung-dt-2' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene...
Olof Johansson [Thu, 29 May 2014 16:44:32 +0000 (09:44 -0700)]
Merge tag 'samsung-dt-2' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt

Merge "Samsung 2nd DT updates for v3.16" from Kukjin Kim:

exynos4
 - add hsotg device, exynos_usbphy nodes
 - add PMU syscon and audio subsystem nodes
 - replace number by macro in clock binding

exynos4210-universal_c210
 - add external sd card node and multimedia nodes
 - enable USB functionality

exynos4412-trats2
 - enable usb nodes and usb gagdet functionality
 - add cm36651 light/proximity sensor node
 - fixed gpio key node

exynos5250 and exynos5420
 - add pmu syscon handle and sysreg system controller nodes
 - add support for usb2phy
 - replace number by macro in clock binding
 - add USB 2.0 support on exynos5420

exynos5420-peach-pit
 - move dp hpd gpio pin to pinctrl_0

* tag 'samsung-dt-2' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: (21 commits)
  ARM: dts: enable usb nodes for exynos4412-trats2
  ARM: dts: add hsotg device node for exynos4
  ARM: dts: add exynos_usbphy node for exynos4
  ARM: dts: add PMU syscon node for exynos4
  ARM: dts: add pmu syscon handle to exynos5420 hdmi
  ARM: dts: add pmu syscon handle to exynos5250 hdmi
  ARM: dts: replace number by macro in clock binding for exynos5420
  ARM: dts: replace number by macro in clock binding for exynos5250
  ARM: dts: replace number by macro in clock binding for exynos4
  ARM: dts: add external sd card node for exynos4210-universal_c210
  ARM: dts: add multimedia nodes for exynos4210-universal_c210
  ARM: dts: enable USB functionality for exynos4210-universal_c210
  ARM: dts: Enable USB gadget functionality for exynos4210-trats
  ARM: dts: Add audio subsystem nodes to exynos4.dtsi
  ARM: dts: fixed gpio key node for exynos4412-trats2
  ARM: dts: add cm36651 light/proximity sensor node for exynos4412-trats2
  ARM: dts: Add USB 2.0 support on exynos5420
  ARM: dts: Add usb2phy support on exynos5420
  ARM: dts: Add usb2phy to exynos5250
  ARM: dts: Add sysreg sytem controller node to exynos5250 and exynos5420
  ...

10 years agoMerge branch 'next/cleanup' into for-next
Olof Johansson [Thu, 29 May 2014 16:43:54 +0000 (09:43 -0700)]
Merge branch 'next/cleanup' into for-next

* next/cleanup:
  cpufreq: exynos: Fix the compile error
  ARM: S3C24XX: move debug-macro.S into the common space
  ARM: S3C24XX: use generic DEBUG_UART_PHY/_VIRT in debug macro
  ARM: S3C24XX: trim down debug uart handling
  ARM: compressed/head.S: remove s3c24xx special case
  ARM: EXYNOS: Remove unnecessary inclusion of cpu.h
  ARM: EXYNOS: Migrate Exynos specific macros from plat to mach
  ARM: EXYNOS: Remove exynos_subsys registration
  ARM: EXYNOS: Remove duplicate lines in Makefile
  ARM: EXYNOS: use v7_exit_coherency_flush macro for cache disabling

Conflicts:
arch/arm/Kconfig.debug
arch/arm/mach-exynos/firmware.c

10 years agoMerge tag 'samsung-cleanup' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene...
Olof Johansson [Thu, 29 May 2014 16:40:51 +0000 (09:40 -0700)]
Merge tag 'samsung-cleanup' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/cleanup

Merge "Samsung cleanup for v3.16" from Kukjin Kim:

- use a common macro v7_exit_coherency_flush macro instead of local function
- cleanup mach-exynos/Makefile and remove inclusion plat/cpu.h in mach-exynos
- migrate exynos macros from plat-samsung to mach-exynos
- cleanup s3c24xx debug macro/earlyprintk to remove arch dependency
- fixed compilation error for cpufreq due to moving header in this branch
  : use of_machine_is_compatible() instead of soc_is_exynos...()

Note that based on tags/samsung-clk and tags/samsung-fixes.

* tag 'samsung-cleanup' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  cpufreq: exynos: Fix the compile error
  ARM: S3C24XX: move debug-macro.S into the common space
  ARM: S3C24XX: use generic DEBUG_UART_PHY/_VIRT in debug macro
  ARM: S3C24XX: trim down debug uart handling
  ARM: compressed/head.S: remove s3c24xx special case
  ARM: EXYNOS: Remove unnecessary inclusion of cpu.h
  ARM: EXYNOS: Migrate Exynos specific macros from plat to mach
  ARM: EXYNOS: Remove exynos_subsys registration
  ARM: EXYNOS: Remove duplicate lines in Makefile
  ARM: EXYNOS: use v7_exit_coherency_flush macro for cache disabling
  ARM: dts: Remove g2d_pd node for exynos5420
  ARM: dts: Remove mau_pd node for exynos5420
  ARM: exynos_defconfig: enable HS-I2C to fix for mmc partition mount
  ARM: dts: disable MDMA1 node for exynos5420
  ARM: EXYNOS: fix the secondary CPU boot of exynos4212

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoNFS: Fix a potential busy wait in nfs_page_group_lock
Trond Myklebust [Thu, 29 May 2014 15:45:57 +0000 (11:45 -0400)]
NFS: Fix a potential busy wait in nfs_page_group_lock

We cannot allow nfs_page_group_lock to use TASK_KILLABLE here, since
the loop would cause a busy wait if somebody kills the task.

Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agoNFS: Fix error handling in __nfs_pageio_add_request
Trond Myklebust [Thu, 29 May 2014 15:38:15 +0000 (11:38 -0400)]
NFS: Fix error handling in __nfs_pageio_add_request

Handle the case where nfs_create_request() returns an error.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agonet, sunrpc: suppress allocation warning in rpc_malloc()
David Rientjes [Wed, 7 May 2014 20:03:41 +0000 (13:03 -0700)]
net, sunrpc: suppress allocation warning in rpc_malloc()

rpc_malloc() allocates with GFP_NOWAIT without making any attempt at
reclaim so it easily fails when low on memory.  This ends up spamming the
kernel log:

SLAB: Unable to allocate memory on node 0 (gfp=0x4000)
  cache: kmalloc-8192, object size: 8192, order: 1
  node 0: slabs: 207/207, objs: 207/207, free: 0
rekonq: page allocation failure: order:1, mode:0x204000
CPU: 2 PID: 14321 Comm: rekonq Tainted: G           O  3.15.0-rc3-12.gfc9498b-desktop+ #6
Hardware name: System manufacturer System Product Name/M4A785TD-V EVO, BIOS 2105    07/23/2010
 0000000000000000 ffff880010ff17d0 ffffffff815e693c 0000000000204000
 ffff880010ff1858 ffffffff81137bd2 0000000000000000 0000001000000000
 ffff88011ffebc38 0000000000000001 0000000000204000 ffff88011ffea000
Call Trace:
 [<ffffffff815e693c>] dump_stack+0x4d/0x6f
 [<ffffffff81137bd2>] warn_alloc_failed+0xd2/0x140
 [<ffffffff8113be19>] __alloc_pages_nodemask+0x7e9/0xa30
 [<ffffffff811824a8>] kmem_getpages+0x58/0x140
 [<ffffffff81183de6>] fallback_alloc+0x1d6/0x210
 [<ffffffff81183be3>] ____cache_alloc_node+0x123/0x150
 [<ffffffff81185953>] __kmalloc+0x203/0x490
 [<ffffffffa06b0ee2>] rpc_malloc+0x32/0xa0 [sunrpc]
 [<ffffffffa06a6999>] call_allocate+0xb9/0x170 [sunrpc]
 [<ffffffffa06b19d8>] __rpc_execute+0x88/0x460 [sunrpc]
 [<ffffffffa06b2da9>] rpc_execute+0x59/0xc0 [sunrpc]
 [<ffffffffa06a932b>] rpc_run_task+0x6b/0x90 [sunrpc]
 [<ffffffffa077b5c1>] nfs4_call_sync_sequence+0x51/0x80 [nfsv4]
 [<ffffffffa077d45d>] _nfs4_do_setattr+0x1ed/0x280 [nfsv4]
 [<ffffffffa0782a72>] nfs4_do_setattr+0x72/0x180 [nfsv4]
 [<ffffffffa078334c>] nfs4_proc_setattr+0xbc/0x140 [nfsv4]
 [<ffffffffa074a7e8>] nfs_setattr+0xd8/0x240 [nfs]
 [<ffffffff811baa71>] notify_change+0x231/0x380
 [<ffffffff8119cf5c>] chmod_common+0xfc/0x120
 [<ffffffff8119df80>] SyS_chmod+0x40/0x90
 [<ffffffff815f4cfd>] system_call_fastpath+0x1a/0x1f
...

If the allocation fails, simply return NULL and avoid spamming the kernel
log.

Reported-by: Marc Dietrich <marvin24@gmx.de>
Signed-off-by: David Rientjes <rientjes@google.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agonfs: support page groups in nfs_read_completion
Weston Andros Adamson [Thu, 15 May 2014 15:56:57 +0000 (11:56 -0400)]
nfs: support page groups in nfs_read_completion

nfs_read_completion relied on the fact that there was a 1:1 mapping
of page to nfs_request, but this has now changed.

Regions not covered by a request have already been zeroed elsewhere.

Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agopnfs: filelayout: support non page aligned layouts
Weston Andros Adamson [Thu, 15 May 2014 15:56:56 +0000 (11:56 -0400)]
pnfs: filelayout: support non page aligned layouts

Use the new pg_test interface to adjust requests to fit in the current
stripe / segment.

Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agopnfs: allow non page aligned pnfs layout segments
Weston Andros Adamson [Thu, 15 May 2014 15:56:55 +0000 (11:56 -0400)]
pnfs: allow non page aligned pnfs layout segments

Remove alignment checks that would revert to MDS and change pg_test
to return the max ammount left in the segment (or other pg_test call)
up to size of passed request, or 0 if no space is left.

Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agopnfs: support multiple verfs per direct req
Weston Andros Adamson [Thu, 15 May 2014 15:56:54 +0000 (11:56 -0400)]
pnfs: support multiple verfs per direct req

Support direct requests that span multiple pnfs data servers by
comparing nfs_pgio_header->verf to a cached verf in pnfs_commit_bucket.
Continue to use dreq->verf if the MDS is used / non-pNFS.

Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agonfs: remove data list from pgio header
Weston Andros Adamson [Thu, 15 May 2014 15:56:53 +0000 (11:56 -0400)]
nfs: remove data list from pgio header

Since the ability to split pages into subpage requests has been added,
nfs_pgio_header->rpc_list only ever has one pgio data.

Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agonfs: use > 1 request to handle bsize < PAGE_SIZE
Weston Andros Adamson [Thu, 15 May 2014 15:56:52 +0000 (11:56 -0400)]
nfs: use > 1 request to handle bsize < PAGE_SIZE

Use the newly added support for multiple requests per page for
rsize/wsize < PAGE_SIZE, instead of having multiple read / write
data structures per pageio header.

This allows us to get rid of nfs_pgio_multi.

Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agonfs: chain calls to pg_test
Weston Andros Adamson [Thu, 15 May 2014 15:56:51 +0000 (11:56 -0400)]
nfs: chain calls to pg_test

Now that pg_test can change the size of the request (by returning a non-zero
size smaller than the request), pg_test functions that call other
pg_test functions must return the minimum of the result - or 0 if any fail.

Also clean up the logic of some pg_test functions so that all checks are
for contitions where coalescing is not possible.

Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agonfs: allow coalescing of subpage requests
Weston Andros Adamson [Thu, 15 May 2014 15:56:50 +0000 (11:56 -0400)]
nfs: allow coalescing of subpage requests

Remove check that the request covers a whole page.

Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agopnfs: clean up filelayout_alloc_commit_info
Weston Andros Adamson [Thu, 15 May 2014 15:56:49 +0000 (11:56 -0400)]
pnfs: clean up filelayout_alloc_commit_info

Remove unneeded else statement and clean up how commit info
dataserver buckets are replaced.

Suggested-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agonfs: page group support in nfs_mark_uptodate
Weston Andros Adamson [Thu, 15 May 2014 15:56:48 +0000 (11:56 -0400)]
nfs: page group support in nfs_mark_uptodate

Change how nfs_mark_uptodate checks to see if writes cover a whole page.

This patch should have no effect yet since all page groups currently
have one request, but will come into play when pg_test functions are
modified to split pages into sub-page regions.

Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agonfs: page group syncing in write path
Weston Andros Adamson [Thu, 15 May 2014 15:56:47 +0000 (11:56 -0400)]
nfs: page group syncing in write path

Operations that modify state for a whole page must be syncronized across
all requests within a page group. In the write path, this is calling
end_page_writeback and removing the head request from an inode.
Both of these operations should not be called until all requests
in a page group have reached the point where they would call them.

This patch should have no effect yet since all page groups currently
have one request, but will come into play when pg_test functions are
modified to split pages into sub-page regions.

Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agonfs: page group syncing in read path
Weston Andros Adamson [Thu, 15 May 2014 15:56:46 +0000 (11:56 -0400)]
nfs: page group syncing in read path

Operations that modify state for a whole page must be syncronized across
all requests within a page group. In the read path, this is calling
unlock_page and SetPageUptodate. Both of these functions should not be
called until all requests in a page group have reached the point where
they would call them.

This patch should have no effect yet since all page groups currently
have one request, but will come into play when pg_test functions are
modified to split pages into sub-page regions.

Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agonfs: add support for multiple nfs reqs per page
Weston Andros Adamson [Thu, 15 May 2014 15:56:45 +0000 (11:56 -0400)]
nfs: add support for multiple nfs reqs per page

Add "page groups" - a circular list of nfs requests (struct nfs_page)
that all reference the same page. This gives nfs read and write paths
the ability to account for sub-page regions independently.  This
somewhat follows the design of struct buffer_head's sub-page
accounting.

Only "head" requests are ever added/removed from the inode list in
the buffered write path. "head" and "sub" requests are treated the
same through the read path and the rest of the write/commit path.
Requests are given an extra reference across the life of the list.

Page groups are never rejoined after being split. If the read/write
request fails and the client falls back to another path (ie revert
to MDS in PNFS case), the already split requests are pushed through
the recoalescing code again, which may split them further and then
coalesce them into properly sized requests on the wire. Fragmentation
shouldn't be a problem with the current design, because we flush all
requests in page group when a non-contiguous request is added, so
the only time resplitting should occur is on a resend of a read or
write.

This patch lays the groundwork for sub-page splitting, but does not
actually do any splitting. For now all page groups have one request
as pg_test functions don't yet split pages. There are several related
patches that are needed support multiple requests per page group.

Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agonfs: call nfs_can_coalesce_requests for every req
Weston Andros Adamson [Thu, 15 May 2014 15:56:44 +0000 (11:56 -0400)]
nfs: call nfs_can_coalesce_requests for every req

Call nfs_can_coalesce_requests for every request, even the first one.
This is needed for future patches to give pg_test a way to inform
add_request to reduce the size of the request.

Now @prev can be null in nfs_can_coalesce_requests and pg_test functions.

Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agonfs: modify pg_test interface to return size_t
Weston Andros Adamson [Thu, 15 May 2014 15:56:43 +0000 (11:56 -0400)]
nfs: modify pg_test interface to return size_t

This is a step toward allowing pg_test to inform the the
coalescing code to reduce the size of requests so they may fit in
whatever scheme the pg_test callback wants to define.

For now, just return the size of the request if there is space, or 0
if there is not.  This shouldn't change any behavior as it acts
the same as when the pg_test functions returned bool.

Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agonfs: remove unused arg from nfs_create_request
Weston Andros Adamson [Thu, 15 May 2014 15:56:42 +0000 (11:56 -0400)]
nfs: remove unused arg from nfs_create_request

@inode is passed but not used.

Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agonfs: clean up PG_* flags
Weston Andros Adamson [Thu, 15 May 2014 15:56:41 +0000 (11:56 -0400)]
nfs: clean up PG_* flags

Remove unused flags PG_NEED_COMMIT and PG_NEED_RESCHED.
Add comments describing how each flag is used.

Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agopnfs: fix race in filelayout commit path
Weston Andros Adamson [Thu, 15 May 2014 15:56:40 +0000 (11:56 -0400)]
pnfs: fix race in filelayout commit path

Hold the lock while modifying commit info dataserver buckets.

The following oops can be reproduced by running iozone for a while against
a 2 DS pynfs filelayout server.

general protection fault: 0000 [#1] SMP DEBUG_PAGEALLOC
Modules linked in: nfs_layout_nfsv41_files rpcsec_gss_krb5 nfsv4 nfs fscache
CPU: 0 PID: 903 Comm: iozone Not tainted 3.15.0-rc1-branch-dros_testing+ #44
Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference
task: ffff880078164480 ti: ffff88006e972000 task.ti: ffff88006e972000
RIP: 0010:[<ffffffffa01936e1>]  [<ffffffffa01936e1>] nfs_init_commit+0x22/0x
RSP: 0018:ffff88006e973d30  EFLAGS: 00010246
RAX: ffff88006e973e00 RBX: ffff88006e828800 RCX: ffff88006e973e10
RDX: 0000000000000000 RSI: ffff88006e973e00 RDI: dead4ead00000000
RBP: ffff88006e973d38 R08: ffff88006e8289d8 R09: 0000000000000000
R10: ffff88006e8289d8 R11: 0000000000016988 R12: ffff88006e973b98
R13: ffff88007a0a6648 R14: ffff88006e973e10 R15: ffff88006e828800
FS:  00007f2ce396b740(0000) GS:ffff88007f200000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f03278a1000 CR3: 0000000079043000 CR4: 00000000001407f0
Stack:
ffff88006e8289d8 ffff88006e973da8 ffffffffa00f144f ffff88006e9478c0
ffff88006e973e00 ffff88006de21080 0000000100000002 ffff880079be6c48
ffff88006e973d70 ffff88006e973d70 ffff88006e973e10 ffff88006de21080
Call Trace:
[<ffffffffa00f144f>] filelayout_commit_pagelist+0x1ae/0x34a [nfs_layout_nfsv
[<ffffffffa0194f72>] nfs_generic_commit_list+0x92/0xc4 [nfs]
[<ffffffffa0195053>] nfs_commit_inode+0xaf/0x114 [nfs]
[<ffffffffa01892bd>] nfs_file_fsync_commit+0x82/0xbe [nfs]
[<ffffffffa01ceb0d>] nfs4_file_fsync+0x59/0x9b [nfsv4]
[<ffffffff8114ee3c>] vfs_fsync_range+0x18/0x20
[<ffffffff8114ee60>] vfs_fsync+0x1c/0x1e
[<ffffffffa01891c2>] nfs_file_flush+0x7f/0x84 [nfs]
[<ffffffff81127a43>] filp_close+0x3c/0x72
[<ffffffff81140e12>] __close_fd+0x82/0x9a
[<ffffffff81127a9c>] SyS_close+0x23/0x4c
[<ffffffff814acd12>] system_call_fastpath+0x16/0x1b
Code: 5b 41 5c 41 5d 41 5e 5d c3 0f 1f 44 00 00 55 48 89 e5 53 48 89 fb 48 8
RIP  [<ffffffffa01936e1>] nfs_init_commit+0x22/0xe1 [nfs]
RSP <ffff88006e973d30>
---[ end trace 732fe6419b235e2f ]---

Suggested-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agoNFS: Create a common nfs_pageio_ops struct
Anna Schumaker [Tue, 6 May 2014 13:12:40 +0000 (09:12 -0400)]
NFS: Create a common nfs_pageio_ops struct

At this point the read and write structures look identical, so combine
them into something shared by both.

Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agoNFS: Create a common generic_pg_pgios()
Anna Schumaker [Tue, 6 May 2014 13:12:39 +0000 (09:12 -0400)]
NFS: Create a common generic_pg_pgios()

What we have here is two functions that look identical.  Let's share
some more code!

Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agoNFS: Create a common multiple_pgios() function
Anna Schumaker [Tue, 6 May 2014 13:12:38 +0000 (09:12 -0400)]
NFS: Create a common multiple_pgios() function

Once again, these two functions look identical in the read and write
case.  Time to combine them together!

Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agoNFS: Create a common initiate_pgio() function
Anna Schumaker [Tue, 6 May 2014 13:12:37 +0000 (09:12 -0400)]
NFS: Create a common initiate_pgio() function

Most of this code is the same for both the read and write paths, so
combine everything and use the rw_ops when necessary.

Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
10 years agoMerge branch '3.15-fixes' into mips-for-linux-next
Ralf Baechle [Thu, 29 May 2014 13:09:32 +0000 (15:09 +0200)]
Merge branch '3.15-fixes' into mips-for-linux-next

10 years agoMerge branch 'wip-mips-pm' of https://github.com/paulburton/linux into mips-for-linux...
Ralf Baechle [Wed, 28 May 2014 17:00:14 +0000 (19:00 +0200)]
Merge branch 'wip-mips-pm' of https://github.com/paulburton/linux into mips-for-linux-next

10 years agoarm64: mm: fix pmd_write CoW brokenness
Will Deacon [Tue, 27 May 2014 18:11:58 +0000 (19:11 +0100)]
arm64: mm: fix pmd_write CoW brokenness

Commit 9c7e535fcc17 ("arm64: mm: Route pmd thp functions through pte
equivalents") changed the pmd manipulator and accessor functions to
convert the target pmd to a pte, process it with the pte functions, then
convert it back. Along the way, we gained support for PTE_WRITE, however
this is completely ignored by set_pmd_at, and so we fail to set the
PMD_SECT_RDONLY for PMDs, resulting in all sorts of lovely failures (like
CoW not working).

Partially reverting the offending commit (by making use of
PMD_SECT_RDONLY explicitly for pmd_{write,wrprotect,mkwrite} functions)
leads to further issues because pmd_write can then return potentially
incorrect values for page table entries marked as RDONLY, leading to
BUG_ON(pmd_write(entry)) tripping under some THP workloads.

This patch fixes the issue by routing set_pmd_at through set_pte_at,
which correctly takes the PTE_WRITE flag into account. Given that
THP mappings are always anonymous, the additional cache-flushing code
in __sync_icache_dcache won't impose any significant overhead as the
flush will be skipped.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Steve Capper <steve.capper@arm.com>
Tested-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
10 years agoUniCore32: Change git tree location information in MAINTAINERS
Guan Xuetao [Mon, 26 May 2014 23:53:10 +0000 (07:53 +0800)]
UniCore32: Change git tree location information in MAINTAINERS

UniCore32 git repo has moved to github.
Branch 'unicore32' is used for prepared patches, and automatically merged to linux-next.
Branch 'unicore32-working' is used for development.

Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
10 years agoarch: unicore32: ksyms: export '__cpuc_coherent_kern_range' to avoid compiling failure
Chen Gang [Tue, 27 May 2014 00:08:06 +0000 (08:08 +0800)]
arch: unicore32: ksyms: export '__cpuc_coherent_kern_range' to avoid compiling failure

flush_icache_range() is '__cpuc_coherent_kern_range' under unicore32,
and lkdtm.ko needs it. At present, '__cpuc_coherent_kern_range' is
still used by unicore32, so export it to avoid compiling failure.

The related error (with allmodconfig under unicore32):

  ERROR: "__cpuc_coherent_kern_range" [drivers/misc/lkdtm.ko] undefined!

Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
Acked-by: Xuetao Guan <gxt@mprc.pku.edu.cn>
Signed-off-by: Xuetao Guan <gxt@mprc.pku.edu.cn>
10 years agoarch: unicore32: ksyms: export 'pm_power_off' to avoid compiling failure.
Chen Gang [Tue, 27 May 2014 00:04:24 +0000 (08:04 +0800)]
arch: unicore32: ksyms: export 'pm_power_off' to avoid compiling failure.

Two driver modules need 'pm_power_off', so export it.

The related error (with allmodconfig under unicore32):

    MODPOST 4039 modules
  ERROR: "pm_power_off" [drivers/mfd/retu-mfd.ko] undefined!
  ERROR: "pm_power_off" [drivers/char/ipmi/ipmi_poweroff.ko] undefined!

Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
Acked-by: Xuetao Guan <gxt@mprc.pku.edu.cn>
Signed-off-by: Xuetao Guan <gxt@mprc.pku.edu.cn>
10 years agoarch: unicore32: ksyms: export additional find_first_*() to avoid compiling failure
Chen Gang [Tue, 27 May 2014 00:03:19 +0000 (08:03 +0800)]
arch: unicore32: ksyms: export additional find_first_*() to avoid compiling failure

Some modules need find_first_bit() and find_first_zero_bit(), so export
them.

The related error (with allmodconfig under unicore32):

    MODPOST 4039 modules
  ERROR: "find_first_bit" [sound/soc/codecs/snd-soc-uda1380.ko] undefined!
  ERROR: "find_first_zero_bit" [net/sctp/sctp.ko] undefined!
  ...

Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
Acked-by: Xuetao Guan <gxt@mprc.pku.edu.cn>
Signed-off-by: Xuetao Guan <gxt@mprc.pku.edu.cn>
10 years agoarch:unicore32:mm: add devmem_is_allowed() to support STRICT_DEVMEM
Chen Gang [Tue, 15 Apr 2014 01:21:30 +0000 (09:21 +0800)]
arch:unicore32:mm: add devmem_is_allowed() to support STRICT_DEVMEM

unicore32 supports STRICT_DEVMEM, so it needs devmem_is_allowed(), like
some of other architectures have done (e.g. arm, powerpc, x86 ...).

The related error with allmodconfig:

    CC      drivers/char/mem.o
  drivers/char/mem.c: In function â\80\98range_is_allowedâ\80\99:
  drivers/char/mem.c:69: error: implicit declaration of function â\80\98devmem_is_allowedâ\80\99
  make[2]: *** [drivers/char/mem.o] Error 1
  make[1]: *** [drivers/char] Error 2
  make: *** [drivers] Error 2

Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
Acked-by: Xuetao Guan <gxt@mprc.pku.edu.cn>
Signed-off-by: Xuetao Guan <gxt@mprc.pku.edu.cn>
10 years agounicore32: include: asm: add missing ')' for PAGE_* macros in pgtable.h
Chen Gang [Tue, 15 Apr 2014 01:49:48 +0000 (09:49 +0800)]
unicore32: include: asm: add missing ')' for PAGE_* macros in pgtable.h

Missing related ')', the related compiling error:

    CC [M]  drivers/gpu/drm/udl/udl_fb.o
  drivers/gpu/drm/udl/udl_fb.c: In function Â‘udl_fb_mmapÂ’:
  drivers/gpu/drm/udl/udl_fb.c:273: error: expected Â‘)Â’ before Â‘returnÂ’
  drivers/gpu/drm/udl/udl_fb.c:281: error: expected expression before Â‘}Â’ token
  make[4]: *** [drivers/gpu/drm/udl/udl_fb.o] Error 1
  make[3]: *** [drivers/gpu/drm/udl] Error 2
  make[2]: *** [drivers/gpu/drm] Error 2
  make[1]: *** [drivers/gpu] Error 2
  make: *** [drivers] Error 2

Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
Acked-by: Xuetao Guan <gxt@mprc.pku.edu.cn>
Signed-off-by: Xuetao Guan <gxt@mprc.pku.edu.cn>