summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-08-20ARM: tegra: configure power off for DalmoreBill Huang
Add DT property to tell the regulator to register pm_power_off to make "shutdown" work. Signed-off-by: Bill Huang <bilhuang@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Kevin Hilman <khilman@linaro.org>
2013-08-20Merge tag 'tegra-for-3.12-dt' of ↵Kevin Hilman
git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/dt From: Stephen Warren: ARM: tegra: device tree changes for 3.12 This branch contains all *.dts (device tree) changes for Tegra. New features enabled are: * PMICs on Dalmore * CPU power-gating on Dalmore * HDMI output on Beaver * LP1 system suspend mode on almost all boards * PCIe support on numerous Tegra20/30 boards * USB support on Tegra30/114 boards * Audio capture on Beaver and Dalmore * Temperature sensor on Cardhu. ... along with a few DT cleanups. * tag 'tegra-for-3.12-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra: (25 commits) ARM: tegra: add Mic Jack to Dalmore device tree ARM: tegra: add Mic Jack to Beaver device tree ARM: tegra: add USB DT entries for Tegra114, Dalmore ARM: tegra: add USB DT entries for Tegra30 ARM: dts: tegra: Increase prefetchable PCI memory space ARM: tegra: Fix Beaver's PCIe lane configuration ARM: tegra: Enable PCIe controller on Beaver ARM: tegra: Enable PCIe controller on Cardhu ARM: tegra: Add Tegra30 PCIe support ARM: tegra: trimslice: Initialize PCIe from DT ARM: tegra: harmony: Initialize PCIe from DT ARM: tegra: tec: Add PCIe support ARM: tegra: tamonten: Add PCIe support ARM: tegra: Add Tegra20 PCIe support to DT ARM: tegra: enable LP1 suspend mode ARM: tegra: beaver: Enable HDMI output ARM: tegra: use TEGRA_GPIO() in a couple more places ARM: tegra: dalmore: fix the irq trigger type of Palmas MFD device ARM: tegra: define valid function names in DT document ARM: tegra: dalmore: add PM configurations for PMC ...
2013-08-20Merge tag 'ux500-devicetree-for-v3.12-1' of ↵Kevin Hilman
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/dt From: Linus Walleij: Ux500 device tree enablement base for the v3.12 development cycle: - Various cleanups like remove non-existant hardware from the Snowball device tree, prefix all files with "ste-*" - External regulators - Documentation updates - Delete some minor dangling platform data - Pin control settings for U8540 through DT * tag 'ux500-devicetree-for-v3.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson: (22 commits) ARM: ux500: fix devicetree builds ARM: ux500: Remove u9540.dts as it's been replaced ARM: ux500: Apply a ste-* prefix onto dbx5x0.dtsi ARM: ux500: Apply a ste-* prefix onto stuib.dtsi ARM: ux500: Apply a ste-* prefix onto hrefv60plus.dts ARM: ux500: Apply a ste-* prefix onto hrefprev60.dts Signed-off-by: Lee Jones <lee.jones@linaro.org> ARM: ux500: Apply a ste-* prefix onto href.dtsi ARM: ux500: Apply a ste-* prefix onto ccu9540.dts ARM: ux500: Apply a ste-* prefix onto ccu8540.dts ARM: ux500: Apply a ste-* prefix onto snowball.dts ARM: ux500: Remove Snowball DTS entry for ROHM BH1780GLI ambient light sensor ARM: ux500: Remove Snowball DTS entry for TPS61052 chip ARM: ux500: Remove Snowball DTS entry for National Semiconductor LP5521 LED chip ARM: ux500: Remove Toshiba TC35892 I/O Expander's DT entry from Snowball's DTS ARM: u8540: DT: Set pinctrl mapping to i2c0,1,2,4 & 5 ARM: u8540: Add Pinctrl Device Tree settings for uart0, uart2 ARM: ux500: Stop passing MMC's platform data for Device Tree boots Documentation: Update binding for Nomadik and DBx5x based platforms ARM: ux500: Supply external regulator names for Snowball's DT ARM: ux500: Provide a supply name for the AB8500 AUX regulators to use ...
2013-08-15ARM: tegra: add Mic Jack to Dalmore device treeStephen Warren
This enables the microphone input jack, and hence allows audio to be captured as well as played back. Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-15ARM: tegra: add Mic Jack to Beaver device treeStephen Warren
This enables the microphone input jack, and hence allows audio to be captured as well as played back. Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-14ARM: ux500: fix devicetree buildsLinus Walleij
The patch set beginning with commit: "ARM: ux500: Apply a ste-* prefix onto snowball.dts" thru commit: "ARM: ux500: Remove u9540.dts as it's been replaced" altered the names of the ux500 device tree files but forgot to: - Rename the ccu8540-pinctrl.dtsi file - Update #include statements from files using these files, so the build broke. - Update the Makefile for the device trees so the build broke. Fix it up so we can build them all again. Acked-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
2013-08-14Merge branch 'zynq/dt' into next/dtKevin Hilman
* zynq/dt: (1054 commits) arm: zynq: dt: Set correct L2 ram latencies + v3.11-rc5 Conflicts: arch/arm/Makefile
2013-08-14Merge tag 'renesas-multiplatform-for-v3.12' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt From Simon Horman: Renesas ARM based SoC multiplatform updates for v3.12 Move Renesas ARM based SoCs a little closer to using multiplatform by adding ARCH_SHMOBILE_MULTI and only building clocks when COMMON_CLK=n. * tag 'renesas-multiplatform-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Allow ARCH_SHMOBILE_MULTI timer configuration ARM: shmobile: Add EMEV2 and KZM9D to ARCH_SHMOBILE_MULTI ARM: shmobile: Introduce ARCH_SHMOBILE_MULTI ARM: shmobile: Only build clocks when COMMON_CLK=n Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-14Merge tag 'renesas-pinmux-for-v3.12' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt From Simon Horman: Renesas ARM based SoC pinmux updates for v3.12 SH Mobile pinctrl DT support * tag 'renesas-pinmux-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: kzm9g-reference: Add LED1-LED4 to the device tree ARM: shmobile: kzm9g-reference: Move SDHI regulators to DT ARM: shmobile: kzm9g-reference: Move pinctrl mappings to device tree ARM: shmobile: marzen-reference: Add LED2-LED4 to the device tree ARM: shmobile: marzen-reference: Move pinctrl mappings to device tree ARM: shmobile: armadillo-reference: Add LED1-LED4 to the device tree ARM: shmobile: armadillo-reference: Move st1232 reset GPIO to DT ARM: shmobile: armadillo-reference: Add st1232 pin mappings ARM: shmobile: armadillo-reference: Move pinctrl mappings to device tree ARM: shmobile: sh73a0: Add pin control device to device tree ARM: shmobile: sh7372: Add pin control device to device tree ARM: shmobile: r8a7790: Add GPIO controller devices to device tree ARM: shmobile: r8a7790: Add pin control device to device tree ARM: shmobile: r8a7779: Add GPIO controller devices to device tree ARM: shmobile: r8a7779: Add pin control device to device tree ARM: shmobile: r8a7778: Add GPIO controller devices to device tree ARM: shmobile: r8a7778: Add pin control device to device tree ARM: shmobile: r8a7740: Add pin control device to device tree ARM: shmobile: r8a73a4: Add pin control device to device tree Signed-off-by: Olof Johansson <olof@lixom.net> Conflicts: arch/arm/boot/dts/r8a73a4.dtsi arch/arm/boot/dts/r8a7790.dtsi
2013-08-13Merge branch 'pxa/dt' into next/dtKevin Hilman
From: Haojian Zhuang <haojian.zhuang@gmail.com>: * pxa/dt: ARM: pxa: DTS: override gpio node in pxa3xx.dtsi ARM: pxa: fix DT auxdata for pxa3xx-gpio Signed-off-by: Kevin Hilman <khilman@linaro.org>
2013-08-13ARM: pxa: DTS: override gpio node in pxa3xx.dtsiDaniel Mack
The gpio controller node inherited from pxa2xx.dtsi won't work for pxa3xx SoCs, so let's override it in pxa3xx.dtsi. Signed-off-by: Daniel Mack <zonque@gmail.com> Cc: Haojian Zhuang <haojian.zhuang@linaro.org> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Arnd Bergmann <arnd@arndb.de>
2013-08-13ARM: pxa: fix DT auxdata for pxa3xx-gpioDaniel Mack
Commit f87311743 ("ARM: mmp: add more compatible names in gpio driver") changed the DT match string for pxa3xx-gpio, but left the auxdata table unchanged. Signed-off-by: Daniel Mack <zonque@gmail.com> Cc: Haojian Zhuang <haojian.zhuang@linaro.org> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Arnd Bergmann <arnd@arndb.de>
2013-08-13ARM: tegra: add USB DT entries for Tegra114, DalmoreMikko Perttunen
Device tree entries for the three EHCI controllers on Tegra114. Enables the the third controller (USB host) on Dalmore. Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-13ARM: tegra: add USB DT entries for Tegra30Tuomas Tynkkynen
Add device tree entries for the 3 USB controllers and PHYs and enable the third controller on Cardhu and Beaver boards. Fix VBUS regulator entries on Beaver. The GPIO pins were wrong. Also, internal pullups need to be enabled on those pins. Signed-off-by: Tuomas Tynkkynen <ttynkkynen@nvidia.com> Tested-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-13arm: zynq: dt: Set correct L2 ram latenciesSoren Brinkmann
Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2013-08-12ARM: dts: tegra: Increase prefetchable PCI memory spaceJay Agarwal
Instead of evenly splitting the 512 MiB area between prefetchable and non-prefetchable memory spaces, increase the prefetchable memory space to 384 MiB while at the same time decreasing the non-prefetchable memory space to 128 MiB. This is a more useful default as most PCIe devices require more prefetchable than non-prefetchable memory. Signed-off-by: Jay Agarwal <jagarwal@nvidia.com> Tested-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12ARM: tegra: Fix Beaver's PCIe lane configurationStephen Warren
Beaver's PCIe lane configuration most closely matches x2 x2 x2 rather than x4 x1 x1, since clocks 0 and 2 are used, and lanes 0 and 5 are used, and the only way those align is with a x2 x2 x2 configuration. Also, disable root port 1; there's nothing connected to it. Root port 0 is the on-board PCIe Ethernet, and port 2 is the mini-PCIe slot. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12ARM: tegra: Enable PCIe controller on BeaverThierry Reding
PCIe lane 0 is connected to an onboard Gigabit Ethernet (RTL8168evl) and lane 4 is routed to the board's miniPCIe slot. Signed-off-by: Thierry Reding <thierry.reding@gmail.com> Signed-off-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12ARM: tegra: Enable PCIe controller on CardhuJay Agarwal
Root port 2 is routed to the bottom connector on Cardhu and is used by the development dock to provide gigabit ethernet and USB functionality. Signed-off-by: Jay Agarwal <jagarwal@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12ARM: tegra: Add Tegra30 PCIe supportThierry Reding
Add the top-level pcie-controller node for the Tegra30 SoC. Tegra30 has three root ports that can use different lane layouts. Signed-off-by: Jay Agarwal <jagarwal@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12ARM: tegra: trimslice: Initialize PCIe from DTThierry Reding
With the device tree support in place, probe the PCIe controller from the device tree and remove the corresponding workaround in the board file. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12ARM: tegra: harmony: Initialize PCIe from DTThierry Reding
With the device tree support in place, probe the PCIe controller from the device tree and remove the corresponding workaround in the board file. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12ARM: tegra: tec: Add PCIe supportThierry Reding
Enable the first PCIe root port which is connected to an FPGA on the Tamonten Evaluation Carrier and add device nodes for each of the PCI endpoints available in the standard configuration. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12ARM: tegra: tamonten: Add PCIe supportThierry Reding
Add properties common to all Tamonten-derived boards to the Tamonten DTSI and add the fixed 1.05 V regulator. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12ARM: tegra: Add Tegra20 PCIe support to DTThierry Reding
Add the top-level pcie-controller node for the Tegra20 SoC. Tegra20 has two root ports that can use different lane layouts. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Thierry Reding <treding@nvidia.com> [swarren: split DT changes into a separate patch from the main driver] Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12ARM: tegra: enable LP1 suspend modeJoseph Lo
Enabling the LP1 suspend mode for Tegra devices. Tested-by: Marc Dietrich <marvin24@gmx.de> # paz00 board Signed-off-by: Joseph Lo <josephl@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12ARM: tegra: beaver: Enable HDMI outputThierry Reding
Enable the HDMI output as well as DDC and hotplug detection on Beaver. Signed-off-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-11Linux 3.11-rc5v3.11-rc5Linus Torvalds
2013-08-11Merge tag 'scsi-fixes' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI fixes from James Bottomley: "This is three bug fixes: An fnic warning caused by sleeping under a lock, a major regression with our updated WRITE SAME/UNMAP logic which caused tons of USB devices (and one RAID card) to cease to function and a megaraid_sas firmware initialisation problem which causes kdump failures" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: [SCSI] Don't attempt to send extended INQUIRY command if skip_vpd_pages is set [SCSI] fnic: BUG: sleeping function called from invalid context during probe [SCSI] megaraid_sas: megaraid_sas driver init fails in kdump kernel
2013-08-11Merge branch 'merge' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc Pull powerpc fixes from Ben Herrenschmidt: "This includes small series from Michael Neuling to fix a couple of nasty remaining problems with the new Power8 support, also targeted at stable 3.10, without which some new userspace accessible registers aren't properly context switched, and in some case, can be clobbered by the user of transactional memory. Along with that, a few slightly more minor things, such as a missing Kconfig option to enable handling of denorm exceptions when not running under a hypervisor (or userspace will randomly crash when hitting denorms with the vector unit), some nasty bugs in the new pstore oops code, and other simple bug fixes worth having in now. Note: I picked up the two powerpc KVM fixes as Alex Graf asked me to handle KVM bits while he is on vacation. However I'll let him decide whether they should go to -stable or not when he is back" * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/tm: Fix context switching TAR, PPR and DSCR SPRs powerpc: Save the TAR register earlier powerpc: Fix context switch DSCR on POWER8 powerpc: Rework setting up H/FSCR bit definitions powerpc: Fix hypervisor facility unavaliable vector number powerpc/kvm/book3s_pr: Return appropriate error when allocation fails powerpc/kvm: Add signed type cast for comparation powerpc/eeh: Add missing procfs entry for PowerNV powerpc/pseries: Add backward compatibilty to read old kernel oops-log powerpc/pseries: Fix buffer overflow when reading from pstore powerpc: On POWERNV enable PPC_DENORMALISATION by default
2013-08-11Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds
Pull s390 kvm fixes from Paolo Bonzini: "Two fixes for s390" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: KVM: s390: fix pfmf non-quiescing control handling KVM: s390: move kvm_guest_enter,exit closer to sie
2013-08-11Merge branch 'i2c/for-current' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux Pull i2c fixes from Wolfram Sang: "Some driver bugfixes for the I2C subsystem" * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: mv64xxx: Document the newly introduced allwinner compatible i2c: Fix Kontron PLD prescaler calculation i2c: i2c-mxs: Use DMA mode even for small transfers
2013-08-10Merge branch 'for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull btrfs fixes from Chris Mason: "These are assorted fixes, mostly from Josef nailing down xfstests runs. Zach also has a long standing fix for problems with readdir wrapping f_pos (or ctx->pos) These patches were spread out over different bases, so I rebased things on top of rc4 and retested overnight" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: btrfs: don't loop on large offsets in readdir Btrfs: check to see if root_list is empty before adding it to dead roots Btrfs: release both paths before logging dir/changed extents Btrfs: allow splitting of hole em's when dropping extent cache Btrfs: make sure the backref walker catches all refs to our extent Btrfs: fix backref walking when we hit a compressed extent Btrfs: do not offset physical if we're compressed Btrfs: fix extent buffer leak after backref walking Btrfs: fix a bug of snapshot-aware defrag to make it work on partial extents btrfs: fix file truncation if FALLOC_FL_KEEP_SIZE is specified
2013-08-10Merge tag 'nfs-for-3.11-4' of git://git.linux-nfs.org/projects/trondmy/linux-nfsLinus Torvalds
Pull NFS client bugfixes from Trond Myklebust: - Stable patch for lockd to fix Oopses due to inappropriate calls to utsname()->nodename - Stable patches for sunrpc to fix Oopses on shutdown when using AF_LOCAL sockets with rpcbind - Fix memory leak and error checking issues in nfs4_proc_lookup_mountpoint - Fix a regression with the sync mount option failing to work for nfs4 mounts - Fix a writeback performance issue when doing cache invalidation - Remove an incorrect call to nfs_setsecurity in nfs_fhget * tag 'nfs-for-3.11-4' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: NFSv4: Fix up nfs4_proc_lookup_mountpoint NFS: Remove unnecessary call to nfs_setsecurity in nfs_fhget() NFSv4: Fix the sync mount option for nfs4 mounts NFS: Fix writeback performance issue on cache invalidation SUNRPC: If the rpcbind channel is disconnected, fail the call to unregister SUNRPC: Don't auto-disconnect from the local rpcbind socket LOCKD: Don't call utsname()->nodename from nlmclnt_setlockargs
2013-08-10Merge branch 'for-3.11' of git://linux-nfs.org/~bfields/linuxLinus Torvalds
Pull nfsd fixes from Bruce Fields: "Some fixes for a 4.1 feature that in retrospect probably should have waited for 3.12.... But it appears to be working now" * 'for-3.11' of git://linux-nfs.org/~bfields/linux: nfsd: Fix SP4_MACH_CRED negotiation in EXCHANGE_ID nfsd4: Fix MACH_CRED NULL dereference
2013-08-10Merge tag 'sound-3.11' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "A couple of USB-audio fixes that should also go to stable kernels" * tag 'sound-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: usb-audio: do not trust too-big wMaxPacketSize values ALSA: 6fire: fix DMA issues with URB transfer_buffer usage
2013-08-10Merge tag 'staging-3.11-rc5' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging driver fixes from Greg KH: "Here are 3 small fixes for staging/IIO drivers for 3.11-rc5. Nothing huge, two IIO driver fixes, and a zcache fix. All of these have been in linux-next for a while" * tag 'staging-3.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: staging: zcache: fix "zcache=" kernel parameter iio: ti_am335x_adc: Fix wrong samples received on 1st read iio:trigger: Fix use_count race condition
2013-08-10Merge tag 'usb-3.11-rc5' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB fixes from Greg KH: "Here are 3 small USB fixes for 3.11-rc5. One is a fix that the ChromeOS developers ran into on some Intel hardware, one is a build fix, and the last is a MAINTAINERS update to help people figure out where to send USB network driver patches. All of these have been in linux-next for a while" * tag 'usb-3.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: MAINTAINERS: Add separate section for USB NETWORKING DRIVERS usb: xhci: add missing dma-mapping.h includes usb: core: don't try to reset_device() a port that got just disconnected
2013-08-09btrfs: don't loop on large offsets in readdirZach Brown
When btrfs readdir() hits the last entry it sets the readdir offset to a huge value to stop buggy apps from breaking when the same name is returned by readdir() with concurrent rename()s. But unconditionally setting the offset to INT_MAX causes readdir() to loop returning any entries with offsets past INT_MAX. It only takes a few hours of constant file creation and removal to create entries past INT_MAX. So let's set the huge offset to LLONG_MAX if the last entry has already overflowed 32bit loff_t. Without large offsets behaviour is identical. With large offsets 64bit apps will work and 32bit apps will be no more broken than they currently are if they see large offsets. Signed-off-by: Zach Brown <zab@redhat.com> Signed-off-by: Josef Bacik <jbacik@fusionio.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
2013-08-09Btrfs: check to see if root_list is empty before adding it to dead rootsJosef Bacik
A user reported a panic when running with autodefrag and deleting snapshots. This is because we could end up trying to add the root to the dead roots list twice. To fix this check to see if we are empty before adding ourselves to the dead roots list. Thanks, Signed-off-by: Josef Bacik <jbacik@fusionio.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
2013-08-09Btrfs: release both paths before logging dir/changed extentsJosef Bacik
The ceph guys tripped over this bug where we were still holding onto the original path that we used to copy the inode with when logging. This is based on Chris's fix which was reported to fix the problem. We need to drop the paths in two cases anyway so just move the drop up so that we don't have duplicate code. Thanks, Cc: stable@vger.kernel.org Signed-off-by: Josef Bacik <jbacik@fusionio.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
2013-08-09Btrfs: allow splitting of hole em's when dropping extent cacheJosef Bacik
I noticed while running multi-threaded fsync tests that sometimes fsck would complain about an improper gap. This happens because we fail to add a hole extent to the file, which was happening when we'd split a hole EM because btrfs_drop_extent_cache was just discarding the whole em instead of splitting it. So this patch fixes this by allowing us to split a hole em properly, which means that added holes actually get logged properly and we no longer see this fsck error. Thankfully we're tolerant of these sort of problems so a user would not see any adverse effects of this bug, other than fsck complaining. Thanks, Signed-off-by: Josef Bacik <jbacik@fusionio.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
2013-08-09Btrfs: make sure the backref walker catches all refs to our extentJosef Bacik
Because we don't mess with the offset into the extent for compressed we will properly find both extents for this case [extent a][extent b][rest of extent a] but because we already added a ref for the front half we won't add the inode information for the second half. This causes us to leak that memory and not print out the other offset when we do logical-resolve. So fix this by calling ulist_add_merge and then add our eie to the existing entry if there is one. With this patch we get both offsets out of logical-resolve. With this and the other 2 patches I've sent we now pass btrfs/276 on my vm with compress-force=lzo set. Thanks, Signed-off-by: Josef Bacik <jbacik@fusionio.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
2013-08-09Btrfs: fix backref walking when we hit a compressed extentJosef Bacik
If you do btrfs inspect-internal logical-resolve on a compressed extent that has been partly overwritten it won't find anything. This is because we try and match the extent offset we've searched for based on the extent offset in the data extent entry. However this doesn't work for compressed extents because the offsets are for the uncompressed size, not the compressed size. So instead only do this check if we are not compressed, that way we can get an actual entry for the physical offset rather than nothing for compressed. Thanks, Signed-off-by: Josef Bacik <jbacik@fusionio.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
2013-08-09Btrfs: do not offset physical if we're compressedJosef Bacik
xfstest btrfs/276 was freaking out on slower boxes partly because fiemap was offsetting the physical based on the extent offset. This is perfectly fine with uncompressed extents, however the extent offset is into the uncompressed area, not the compressed. So we can return a physical value that isn't at all within the area we have allocated on disk. Fix this by returning the start of the extent if it is compressed no matter what the offset. Thanks, Signed-off-by: Josef Bacik <jbacik@fusionio.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
2013-08-09Btrfs: fix extent buffer leak after backref walkingLiu Bo
commit 47fb091fb787420cd195e66f162737401cce023f(Btrfs: fix unlock after free on rewinded tree blocks) takes an extra increment on the reference of allocated dummy extent buffer, so now we cannot free this dummy one, and end up with extent buffer leak. Signed-off-by: Liu Bo <bo.li.liu@oracle.com> Reviewed-by: Jan Schmidt <list.btrfs@jan-o-sch.net> Signed-off-by: Josef Bacik <jbacik@fusionio.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
2013-08-09Btrfs: fix a bug of snapshot-aware defrag to make it work on partial extentsLiu Bo
For partial extents, snapshot-aware defrag does not work as expected, since a) we use the wrong logical offset to search for parents, which should be disk_bytenr + extent_offset, not just disk_bytenr, b) 'offset' returned by the backref walking just refers to key.offset, not the 'offset' stored in btrfs_extent_data_ref which is (key.offset - extent_offset). The reproducer: $ mkfs.btrfs sda $ mount sda /mnt $ btrfs sub create /mnt/sub $ for i in `seq 5 -1 1`; do dd if=/dev/zero of=/mnt/sub/foo bs=5k count=1 seek=$i conv=notrunc oflag=sync; done $ btrfs sub snap /mnt/sub /mnt/snap1 $ btrfs sub snap /mnt/sub /mnt/snap2 $ sync; btrfs filesystem defrag /mnt/sub/foo; $ umount /mnt $ btrfs-debug-tree sda (Here we can check whether the defrag operation is snapshot-awared. This addresses the above two problems. Signed-off-by: Liu Bo <bo.li.liu@oracle.com> Signed-off-by: Josef Bacik <jbacik@fusionio.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
2013-08-09btrfs: fix file truncation if FALLOC_FL_KEEP_SIZE is specifiedJie Liu
Create a small file and fallocate it to a big size with FALLOC_FL_KEEP_SIZE option, then truncate it back to the small size again, the disk free space is not changed back in this case. i.e, total 4 -rw-r--r-- 1 root root 512 Jun 28 11:35 test Filesystem Size Used Avail Use% Mounted on .... /dev/sdb1 8.0G 56K 7.2G 1% /mnt -rw-r--r-- 1 root root 512 Jun 28 11:35 /mnt/test Filesystem Size Used Avail Use% Mounted on .... /dev/sdb1 8.0G 5.1G 2.2G 70% /mnt Filesystem Size Used Avail Use% Mounted on .... /dev/sdb1 8.0G 5.1G 2.2G 70% /mnt With this fix, the truncated up space is back as: Filesystem Size Used Avail Use% Mounted on .... /dev/sdb1 8.0G 56K 7.2G 1% /mnt Signed-off-by: Jie Liu <jeff.liu@oracle.com> Signed-off-by: Josef Bacik <jbacik@fusionio.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
2013-08-09Merge tag 'pm+acpi-3.11-rc5' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull ACPI and power management fixes from Rafael Wysocki: - ACPI-based memory hotplug stopped working after a recent change, because it's not possible to associate sufficiently many "physical" devices with one ACPI device object due to an artificial limit. Fix from Rafael J Wysocki removes that limit and makes memory hotplug work again. - A change made in 3.9 uncovered a bug in the ACPI processor driver preventing NUMA nodes from being put offline due to an ordering issue. Fix from Yasuaki Ishimatsu changes the ordering to make things work again. - One of the recent ACPI video commits (that hasn't been reverted so far) uncovered a bug in the code handling quirky BIOSes that caused some Asus machines to boot with backlight completely off which made it quite difficult to use them afterward. Fix from Felipe Contreras improves the quirk to cover this particular case correctly. - A cpufreq user space interface change made in 3.10 inadvertently renamed the ignore_nice_load sysfs attribute to ignore_nice which resulted in some confusion. Fix from Viresh Kumar changes the name back to ignore_nice_load. - An initialization ordering change made in 3.9 broke cpufreq on loongson2 boards. Fix from Aaro Koskinen restores the correct initialization ordering there. - Fix breakage resulting from a mistake made in 3.9 and causing the detection of some graphics adapters (that were detected correctly before) to fail. There are two objects representing the same PCIe port in the affected systems' ACPI tables and both appear as "enabled" and we are expected to guess which one to use. We used to choose the right one before by pure luck, but when we tried to address another similar corner case, the luck went away. This time we try to make our guessing a bit more educated which is reported to work on those systems. - The /proc/acpi/wakeup interface code is missing some locking which may lead to breakage if that file is written or read during hotplug of wakeup devices. That should be rare but still possible, so it's better to start using the appropriate locking there. * tag 'pm+acpi-3.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: ACPI: Try harder to resolve _ADR collisions for bridges cpufreq: rename ignore_nice as ignore_nice_load cpufreq: loongson2: fix regression related to clock management ACPI / processor: move try_offline_node() after acpi_unmap_lsapic() ACPI: Drop physical_node_id_bitmap from struct acpi_device ACPI / PM: Walk physical_node_list under physical_node_lock ACPI / video: improve quirk check in acpi_video_bqc_quirk()
2013-08-09Merge tag 'hwmon-for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging Pull hwmon fix from Guenter Roeck: "Fix bug in adt7470 driver which causes it to fail writing fan speed limits" * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: hwmon: (adt7470) Fix incorrect return code check