summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2013-01-30ARM: imx: move imx6q_cpuidle_driver into a separate fileShawn Guo4-12/+37
Move imx6q_cpuidle_driver into a separate file as more codes will be added when WAIT mode gets implemented as cpuidle. Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-01-30ARM: imx: mask gpc interrupts initiallyShawn Guo1-0/+5
Mask gpc interrupts initially to avoid suspicious interrupts. Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-01-30ARM: imx: return zero in case next event gets a large incrementShawn Guo1-1/+2
The return of v2_set_next_event() will lead to an infinite loop in tick_handle_oneshot_broadcast() - "goto again;" with imx6q WAIT mode (to be enabled). This happens because when global event did not expire any CPU local events, the broadcast device will be rearmed to a CPU local next_event, which could be far away from now and result in a max_delta_tick programming in set_next_event(). Fix the problem by detecting those next events with increments larger than 0x7fffffff, and simply return zero in that case. It leaves mx1_2_set_next_event() unchanged since only v2_set_next_event() will be running with imx6q WAIT mode support. Thanks Russell King for helping understand the problem. Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-01-30Merge tag 'imx-cleanup-3.9' into imx6q-cpuidleShawn Guo24-1955/+11
2013-01-30Merge tag 'edac_for_3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bpLinus Torvalds2-4/+4
Pull EDAC fixlets from Borislav Petkov: "Two minor correctness fixlets from Dan Carpenter and Joe Perches each." * tag 'edac_for_3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: EDAC: Fix kcalloc argument order EDAC: Test correct variable in ->store function
2013-01-30Merge tag 'sound-3.8' of ↵Linus Torvalds12-48/+69
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: - A collection of small ASoC driver fixes (error path fixes, register correction, regulator bypass mode fix, etc) - A few regression fixes and quirks of HD-audio (wrong page attributes for SG-buffer, Poulsbo/Oaktrail controller fix, digital mic fix for Acer, etc) - A fix for USB-audio UAC2 devices wrt FU length check * tag 'sound-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: hda - Fix non-snoop page handling ALSA: hda - Enable LPIB delay count for Poulsbo / Oaktrail ALSA: hda - fix inverted internal mic on Acer AOA150/ZG5 ALSA: usb-audio: fix invalid length check for RME and other UAC 2 devices ALSA: hda - Add a fixup for Packard-Bell desktop with ALC880 ASoC: wm_adsp: Release firmware on error ASoC: wm_adsp: Use GFP_DMA for things that may be DMAed ASoC: arizona: Use actual rather than desired BCLK when calculating LRCLK ASoC: wm2200: correct mixer values and text ASoC: MAINTAINERS: Update email address. ASoC: wm5110: Correct AEC loopback mask ASoC: wm5102: Correct AEC loopback mask ASoC: dapm: Fix sense of regulator bypass mode ASoC: fsl: fix multiple definition of init_module ASoC: arizona: Disable free-running mode on FLL1
2013-01-30EDAC: Fix kcalloc argument orderJoe Perches1-3/+3
First number, then size. Signed-off-by: Joe Perches <joe@perches.com> Cc: <stable@vger.kernel.org> Signed-off-by: Borislav Petkov <bp@suse.de>
2013-01-30EDAC: Test correct variable in ->store functionDan Carpenter1-1/+1
We're testing for ->show but calling ->store(). Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Cc: stable@vger.kernel.org Signed-off-by: Borislav Petkov <bp@suse.de>
2013-01-30ARM: mach-shmobile: sh73a0: allow unplugging of CPU0Ulrich Hecht1-1/+1
sh73a0 deals fine with disabling any core, so we should permit it. Signed-off-by: Ulrich Hecht <ulrich.hecht@gmail.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-01-30ARM: mach-shmobile: add shmobile_cpu_disable_any()Ulrich Hecht2-0/+7
Method to disable any core to be used on platforms where CPU0 does not need special treatment. Signed-off-by: Ulrich Hecht <ulrich.hecht@gmail.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-01-30Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linuxLinus Torvalds21-158/+155
Pull drm fixes from Dave Airlie: "Intel, radeon and exynos fixes. Nothing too major or wierd: one dmar fix and a radeon cursor corruption, along with misc exynos fixes." * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (21 commits) drm/exynos: add check for the device power status drm/exynos: Make 'drm_hdmi_get_edid' static drm/exynos: fimd and ipp are broken on multiplatform drm/exynos: don't include plat/gpio-cfg.h drm/exynos: Remove "internal" interrupt handling drm/exynos: Add missing static specifiers in exynos_drm_rotator.c drm/exynos: Replace mdelay with usleep_range drm/exynos: Make ipp_handle_cmd_work static drm/exynos: Make g2d_userptr_get_dma_addr static drm/exynos: consider DMA_NONE flag to dmabuf import drm/exynos: free sg object if dma_map_sg is failed drm/exynos: added validation of edid for vidi connection drm/exynos: let drm handle edid allocations drm/radeon: Enable DMA_IB_SWAP_ENABLE on big endian hosts. drm/radeon: fix a rare case of double kfree radeon_display: Use pointer return error codes drm/radeon: fix cursor corruption on DCE6 and newer drm/i915: dump UTS_RELEASE into the error_state iommu/intel: disable DMAR for g4x integrated gfx drm/i915: GFX_MODE Flush TLB Invalidate Mode must be '1' for scanline waits ...
2013-01-30Merge tag 'for-linus-v3.8-rc6' of git://oss.sgi.com/xfs/xfsLinus Torvalds8-9/+47
Pull xfs bugfixes from Ben Myers: "Here are fixes for returning EFSCORRUPTED on probe of a non-xfs filesystem, the stack switch in xfs_bmapi_allocate, a crash in _xfs_buf_find, speculative preallocation as the filesystem nears ENOSPC, an unmount hang, a race with AIO, and a regression with xfs_fsr: - fix return value when filesystem probe finds no XFS magic, a regression introduced in 9802182. - fix stack switch in __xfs_bmapi_allocate by moving the check for stack switch up into xfs_bmapi_write. - fix oops in _xfs_buf_find by validating that the requested block is within the filesystem bounds. - limit speculative preallocation near ENOSPC. - fix an unmount hang in xfs_wait_buftarg by freeing the xfs_buf_log_item in xfs_buf_item_unlock. - fix a possible use after free with AIO. - fix xfs_swap_extents after removal of xfs_flushinval_pages, a regression introduced in commit fb59581404a." * tag 'for-linus-v3.8-rc6' of git://oss.sgi.com/xfs/xfs: xfs: Fix xfs_swap_extents() after removal of xfs_flushinval_pages() xfs: Fix possible use-after-free with AIO xfs: fix shutdown hang on invalid inode during create xfs: limit speculative prealloc near ENOSPC thresholds xfs: fix _xfs_buf_find oops on blocks beyond the filesystem end xfs: pull up stack_switch check into xfs_bmapi_write xfs: Do not return EFSCORRUPTED when filesystem probe finds no XFS magic
2013-01-30Merge branch 'for-linus' of ↵Linus Torvalds1-0/+12
git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux Pull one s390 fix from Martin Schwidefsky: "Another transparent huge page fix, we need to define a s390 variant for pmdp_set_wrprotect to flush the TLB for the huge page correctly." * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: s390/thp: implement pmdp_set_wrprotect()
2013-01-30Merge tag 'pinctrl-fixes-rc6' of ↵Linus Torvalds7-94/+17
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pinctrl fixes from Linus Walleij: "This is a late pinctrl fix pull request, we had to revert out the pinctrl-single GPIO backend, because of, well, design issues. We're cooking a better thing for the next cycle. - Revert gpio request/free backend, new patch set in the works, will be for v3.9. Get this old cruft out before anyone hurts himself on it. - Kconfig buzz - Various compile warnings - MPP6 value for the Kirkwood" * tag 'pinctrl-fixes-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: pinctrl: nomadik: nmk_prcm_gpiocr_get_mode may be unused pinctrl: exynos: don't mark probing functions as __init Revert "pinctrl: single: support gpio request and free" pinctrl: mvebu: fix MPP6 value for kirkwood driver pinctrl: mvebu: Fix compiler warnings pinctrl: pinctrl-mxs: Fix variables' definition type pinctrl: samsung: removing duplicated condition for PINCTRL_SAMSUNG
2013-01-29pinctrl: nomadik: nmk_prcm_gpiocr_get_mode may be unusedArnd Bergmann1-1/+1
nmk_prcm_gpiocr_get_mode is only needed for debugfs output at the moment, which can be compile-time disabled. Marking the function __maybe_unused still gives us compile-time coverage, but avoids a gcc warning. Without this patch, building nhk8815_defconfig results in: drivers/pinctrl/pinctrl-nomadik.c:676:12: warning: 'nmk_prcm_gpiocr_get_mode' defined but not used [-Wunused-function] Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Jean-Nicolas Graux <jean-nicolas.graux@stericsson.com> Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-01-29pinctrl: exynos: don't mark probing functions as __initArnd Bergmann1-5/+5
Functions called from a driver probe() method must not be marked __init, because they may get called after the init phase is done, when the device shows up late, or because of deferred probing. Without this patch, building exynos_defconfig results in multiple warnings like: WARNING: drivers/pinctrl/built-in.o(.text+0x51bc): Section mismatch in reference from the function exynos5440_pinctrl_probe() to the function .init.text:exynos5440_gpiolib_register() The function exynos5440_pinctrl_probe() references the function __init exynos5440_gpiolib_register(). This is often because exynos5440_pinctrl_probe lacks a __init annotation or the annotation of exynos5440_gpiolib_register is wrong. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Tomasz Figa <t.figa@samsung.com> Acked-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-01-29ARM: DT: tegra114: add pinmux DT entryLaxman Dewangan1-0/+6
Add DT entry for pinmux and drive configuration addresses. Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-01-29ARM: DT: tegra114: add GPIO DT entryLaxman Dewangan1-0/+17
Tegra114 has the GPIO controllers with 8 GPIO bank and each bank supports 32 pins. Add DT entry for GPIO controller. Tegra114 GPIO controller is compatible with Tegra30 GPIO controller driver. Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-01-29ARM: tegra114: select PINCTRL for Tegra114 SoCLaxman Dewangan1-0/+2
Select PINCTRL and PINCTRL_TEGRA114 for enabling Tegra114 pincontrol driver for Tegra114 SoC. Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-01-29ARM: tegra: add Tegra114 ARM_CPUIDLE_WFI_STATE supportJoseph Lo4-0/+73
Adding the generic ARM_CPUIDLE_WFI_STATE support for Tegra114. Signed-off-by: Joseph Lo <josephl@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-01-29ARM: tegra: Add SMMU entry to Tegra114 DTHiroshi Doyu1-0/+11
Add SMMU entry. Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-01-29ARM: dt: tegra30: Rename "smmu" to "iommu"Hiroshi Doyu1-1/+1
Use functional name for DT entry instead of h/w name. Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-01-29ARM: dt: tegra20: Rename "gart" to "iommu"Hiroshi Doyu1-1/+1
Use functional name for DT entry instead of h/w name. Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-01-29Merge tag 'bcm2835-for-3.9-dt' of ↵Olof Johansson2-1/+59
git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-rpi into next/dt From Stephen Warren: ARM: bcm2835: device tree updates The SoC's SDHCI and MMC controllers are added to device tree, and enabled in the Raspberry Pi board device tree. Some fixed clocks are added to the device tree to support these drivers. These could be replaced by real clocks in the future. A hard-coded memreserve is removed from device tree; the bootloader should specify the correct memory node content instead, since the memory layout is dynamic. This branch is based on v3.8-rc3. * tag 'bcm2835-for-3.9-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-rpi: ARM: bcm2835: fix clock node aliasing in device tree ARM: bcm2835: add I2C controllers to DT ARM: bcm2835: add SDHCI node to DT ARM: bcm2835 rpi: remove hard-coded memreserve from DT Signed-off-by: Olof Johansson <olof@lixom.net>
2013-01-29Merge tag 'bcm2835-for-3.9-soc' of ↵Olof Johansson2-0/+37
git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-rpi into next/soc From Stephen Warren: ARM: bcm2835: SoC driver updates The bcm2835 clock driver is enhanced to allow fixed clocks to be probed from device tree. A system power-off implementation is added. This branch is based on v3.8-rc3. * tag 'bcm2835-for-3.9-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-rpi: ARM: bcm2835: add a pm_power_off implementation clk: bcm2835: probe for fixed-clock in device tree Signed-off-by: Olof Johansson <olof@lixom.net>
2013-01-29x86, efi: remove attribute check from setup_efi_pciMaarten Lankhorst1-3/+0
It looks like the original commit that copied the rom contents from efi always copied the rom, and the fixup in setup_efi_pci from commit 886d751a2ea99a160 ("x86, efi: correct precedence of operators in setup_efi_pci") broke that. This resulted in macbook pro's no longer finding the rom images, and thus not being able to use the radeon card any more. The solution is to just remove the check for now, and always copy the rom if available. Reported-by: Vitaly Budovski <vbudovski+news@gmail.com> Cc: Dan Carpenter <dan.carpenter@oracle.com> Cc: Seth Forshee <seth.forshee@canonical.com> Acked-by: Matthew Garrett <mjg59@srcf.ucam.org> Cc: Bjorn Helgaas <bhelgaas@google.com> Cc: Sasha Levin <sasha.levin@oracle.com> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> Signed-off-by: Matt Fleming <matt.fleming@intel.com>
2013-01-29Merge tag 'nmk-dt-on-cleanups' of ↵Olof Johansson17-647/+588
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into next/dt From Linus Walleij: Nomadik Device Tree conversion rebased on ARM SoC cleanup branch This patch set converts the Nomadik (mach-nomadik) to Device Tree and delete the old board files, paving the road for single zImage. * tag 'nmk-dt-on-cleanups' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik: ARM: nomadik: get rid of <mach/hardware.h> ARM: nomadik: delete old board files ARM: nomadik: add I2C devices to the device tree ARM: nomadik: migrate MMC/SD card support to device tree ARM: nomadik: convert SMSC91x ethernet to device tree ARM: nomadik: move GPIO and pinctrl to device tree ARM: nomadik: add FSMC NAND ARM: nomadik: move remaining PrimeCells to device tree ARM: nomadik: move pin maps to cpu file ARM: nomadik: initial devicetree support ARM: nomadik: move last custom calls to pinctrl Signed-off-by: Olof Johansson <olof@lixom.net>
2013-01-29Merge branch 'depends/cleanup' into next/dtOlof Johansson607-2341/+1356
2013-01-29Merge tag 'davinci-for-v3.9/dt' of ↵Olof Johansson4-3/+61
git://gitorious.org/linux-davinci/linux-davinci into next/dt From Sekhar Nori: DaVinci DT changes for v3.9 This pull requests adds support for pinctrl, NAND and RTC support when DA850 is booting using DT. * tag 'davinci-for-v3.9/dt' of git://gitorious.org/linux-davinci/linux-davinci: ARM: davinci: da850: add RTC DT entries ARM: davinci: da850: move interrupt-parent property to soc node ARM: davinci: da8xx defconfig: enable pinctrl config option ARM: davinci: da850: add NAND driver DT entries ARM: davinci: da850: add pinctrl driver DT entries
2013-01-29Merge tag 'davinci-for-v3.9/soc' of ↵Olof Johansson11-24/+117
git://gitorious.org/linux-davinci/linux-davinci into next/soc From Sekhar Nori: DaVinci SoC changes for v3.9 This pull request: 1) Fixes a bug with the way SPI devices were registered on DA850 2) Adds support for DSP clock and resetting the DSP on DA850 3) Fixes checkpatch issue with some existing files. * tag 'davinci-for-v3.9/soc' of git://gitorious.org/linux-davinci/linux-davinci: ARM: davinci: da850: add dsp clock definition ARM: davinci: psc: introduce reset API ARM: davinci: psc.c: change pr_warning() to pr_warn() ARM: davinci: devices-da8xx.c: change pr_warning() to pr_warn() ARM: davinci: da8xx_register_spi() should not register SPI board info Signed-off-by: Olof Johansson <olof@lixom.net>
2013-01-29ALSA: hda - Fix non-snoop page handlingTakashi Iwai1-14/+26
For non-snoop mode, we fiddle with the page attributes of CORB/RIRB and the position buffer, but also the ring buffers. The problem is that the current code blindly assumes that the buffer is contiguous. However, the ring buffers may be SG-buffers, thus a wrong vmapped address is passed there, leading to Oops. This patch fixes the handling for SG-buffers. Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=800701 Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-29Merge branch 'soc' of ↵Olof Johansson18-70/+485
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc From Simon Horman, a series of SoC updates for shmobile. * 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7779: scif .irqs used SCIx_IRQ_MUXED() ARM: mach-shmobile: sh73a0: Initialise MMCIF using DT ARM: mach-shmobile: sh73a0: Minimal setup using DT ARM: mach-shmobile: sh73a0: Allow initialisation of GIC by DT ARM: SH-Mobile: sh73a0: Add CPU Hotplug ARM: SH-Mobile: sh73a0: Secondary CPUs handle own SCU flags ARM: shmobile: r8a7740: Add CPU sleep suspend ARM: shmobile: sh73a0: Add CPU sleep suspend ARM: shmobile: add function declarations for sh7372 DT helper functions ARM: sh7372: fix cache clean / invalidate order ARM: sh7372: add clock lookup entries for DT-based devices ARM: mach-shmobile: sh73a0 external IRQ wake update ARM: shmobile: sh73a0: fixup div4_clks bitmap ARM: shmobile: r8a7740: add TMU timer support ARM: shmobile: Remove duplicate inclusion of dma-mapping.h in setup-r8a7740.c Signed-off-by: Olof Johansson <olof@lixom.net> Fix trivial conflict in board_bcm due to Simon resolving the same conflict with one less line of whitespace. Keeping end result common with what we already have in arm-soc. Conflicts: arch/arm/mach-bcm/board_bcm.c
2013-01-29ALSA: hda - Enable LPIB delay count for Poulsbo / OaktrailTakashi Iwai1-5/+4
Currently we use LPIB forcibly for both playback and capture for Poulsbo and Oaktrail devices, and this seems rather problematic. The recent fix for LPIB delay count seems working well with these devices, so let's enable it instead. Reported-by: Martin Weishart <martin.weishart@telosalliance.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-28Merge tag 'regulator-3.8-rc5' of ↵Linus Torvalds3-2/+3
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator Pull regulator fixes from Mark Brown: "Fairly small stuff - a build failure fix for ST platforms, an error checking fix and an update to the MAINTAINERS file for Liam." * tag 'regulator-3.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: regulator: tps80031: Use IS_ERR to check return value of regulator_register() regulators: db8500: Fix compile failure for drivers/regulator/dbx500-prcmu.c regulator: MAINTAINERS: update email address
2013-01-29ARM: imx: Remove mx508 supportFabio Estevam19-1703/+9
Only mx508 based board is mach-mx50_rdp and it has been marked as BROKEN for several releases. mx508 currently lacks clock support. In case someone needs to add mx508 support back, then the recommended approach is to use device tree. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-01-29ARM: imx: Remove mach-mx51_3ds boardFabio Estevam4-193/+0
mach-mx51_3ds only supports old silicon version of MX51 and was replaced with mx51 babbage, which is the official MX51 development board. No need to maintain it anymore. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-01-29ARM: imx: use debug_ll_io_init() for imx6qShawn Guo4-54/+2
Use debug_ll_io_init() to map low level debug port for imx6q, so that arch/arm/mach-imx/lluart.c can be removed. Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-01-29ARM: imx: remove unused imx6q_clock_map_io()Shawn Guo3-4/+0
imx6q_clock_map_io() becomes an empty function since imx6q clock driver is moved to common clock framework. It's used nowhere now. Remove it. Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-01-29Merge remote-tracking branch 'regulator/fix/lrg' into tmpMark Brown1-1/+1
2013-01-29Merge remote-tracking branch 'regulator/fix/tps80031' into tmpMark Brown1-1/+1
2013-01-29Merge remote-tracking branch 'regulator/fix/db8500' into tmpMark Brown1-0/+1
2013-01-29ARM: mach-shmobile: emev2: Add reg and device_type properties to cpusSimon Horman1-0/+7
Cc: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-01-29ARM: mach-shmobile: sh73a0: Add reg and device_type properties to cpusSimon Horman1-0/+7
Cc: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-01-28Merge branch 'merge' of ↵Linus Torvalds6-5/+33
git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc Pull powerpc fixes from Benjamin Herrenschmidt: "Whenever you have a chance between two dives, you might want to consider pulling my merge branch to pickup a few fixes for 3.8 that have been accumulating for the last couple of weeks (I was myself travelling then on vacation). Nothing major, just a handful of powerpc bug fixes that I consider worth getting in before 3.8 goes final." And I'll have everybody know that I'm not diving for several days yet. Snif. * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc: Max next_tb to prevent from replaying timer interrupt powerpc: kernel/kgdb.c: Fix memory leakage powerpc/book3e: Disable interrupt after preempt_schedule_irq powerpc/oprofile: Fix error in oprofile power7_marked_instr_event() function powerpc/pasemi: Fix crash on reboot powerpc: Fix MAX_STACK_TRACE_ENTRIES too low warning for ppc32
2013-01-29powerpc: Max next_tb to prevent from replaying timer interruptTiejun Chen1-2/+7
With lazy interrupt, we always call __check_irq_replaysome with decrementers_next_tb to check if we need to replay timer interrupt. So in hotplug case we also need to set decrementers_next_tb as MAX to make sure __check_irq_replay don't replay timer interrupt when return as we expect, otherwise we'll trap here infinitely. Signed-off-by: Tiejun Chen <tiejun.chen@windriver.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-01-29powerpc: kernel/kgdb.c: Fix memory leakageCong Ding1-2/+3
the variable backup_current_thread_info isn't freed before existing the function. Signed-off-by: Cong Ding <dinggnu@gmail.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-01-29powerpc/book3e: Disable interrupt after preempt_schedule_irqTiejun Chen1-0/+13
In preempt case current arch_local_irq_restore() from preempt_schedule_irq() may enable hard interrupt but we really should disable interrupts when we return from the interrupt, and so that we don't get interrupted after loading SRR0/1. Signed-off-by: Tiejun Chen <tiejun.chen@windriver.com> CC: <stable@vger.kernel.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-01-29powerpc/oprofile: Fix error in oprofile power7_marked_instr_event() functionCarl E. Love1-1/+1
The calculation for the left shift of the mask OPROFILE_PM_PMCSEL_MSK has an error. The calculation is should be to shift left by (max_cntrs - cntr) times the width of the pmsel field width. However, the #define OPROFILE_MAX_PMC_NUM was used instead of OPROFILE_PMSEL_FIELD_WIDTH. This patch fixes the calculation. Signed-off-by: Carl Love <cel@us.ibm.com> Acked-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-01-29powerpc/pasemi: Fix crash on rebootSteven Rostedt1-0/+7
commit f96972f2dc "kernel/sys.c: call disable_nonboot_cpus() in kernel_restart()" added a call to disable_nonboot_cpus() on kernel_restart(), which tries to shutdown all the CPUs except the first one. The issue with the PA Semi, is that it does not support CPU hotplug. When the call is made to __cpu_down(), it calls the notifiers CPU_DOWN_PREPARE, and then tries to take the CPU down. One of the notifiers to the CPU hotplug code, is the cpufreq. The DOWN_PREPARE will call __cpufreq_remove_dev() which calls cpufreq_driver->exit. The PA Semi exit handler unmaps regions of I/O that is used by an interrupt that goes off constantly (system_reset_common, but it goes off during normal system operations too). I'm not sure exactly what this interrupt does. Running a simple function trace, you can see it goes off quite a bit: # tracer: function # # TASK-PID CPU# TIMESTAMP FUNCTION # | | | | | <idle>-0 [001] 1558.859363: .pasemi_system_reset_exception <-.system_reset_exception <idle>-0 [000] 1558.860112: .pasemi_system_reset_exception <-.system_reset_exception <idle>-0 [000] 1558.861109: .pasemi_system_reset_exception <-.system_reset_exception <idle>-0 [001] 1558.861361: .pasemi_system_reset_exception <-.system_reset_exception <idle>-0 [000] 1558.861437: .pasemi_system_reset_exception <-.system_reset_exception When the region is unmapped, the system crashes with: Disabling non-boot CPUs ... Error taking CPU1 down: -38 Unable to handle kernel paging request for data at address 0xd0000800903a0100 Faulting instruction address: 0xc000000000055fcc Oops: Kernel access of bad area, sig: 11 [#1] PREEMPT SMP NR_CPUS=64 NUMA PA Semi PWRficient Modules linked in: shpchp NIP: c000000000055fcc LR: c000000000055fb4 CTR: c0000000000df1fc REGS: c0000000012175d0 TRAP: 0300 Not tainted (3.8.0-rc4-test-dirty) MSR: 9000000000009032 <SF,HV,EE,ME,IR,DR,RI> CR: 24000088 XER: 00000000 SOFTE: 0 DAR: d0000800903a0100, DSISR: 42000000 TASK = c0000000010e9008[0] 'swapper/0' THREAD: c000000001214000 CPU: 0 GPR00: d0000800903a0000 c000000001217850 c0000000012167e0 0000000000000000 GPR04: 0000000000000000 0000000000000724 0000000000000724 0000000000000000 GPR08: 0000000000000000 0000000000000000 0000000000000001 0000000000a70000 GPR12: 0000000024000080 c00000000fff0000 ffffffffffffffff 000000003ffffae0 GPR16: ffffffffffffffff 0000000000a21198 0000000000000060 0000000000000000 GPR20: 00000000008fdd35 0000000000a21258 000000003ffffaf0 0000000000000417 GPR24: 0000000000a226d0 c000000000000000 0000000000000000 0000000000000000 GPR28: c00000000138b358 0000000000000000 c000000001144818 d0000800903a0100 NIP [c000000000055fcc] .set_astate+0x5c/0xa4 LR [c000000000055fb4] .set_astate+0x44/0xa4 Call Trace: [c000000001217850] [c000000000055fb4] .set_astate+0x44/0xa4 (unreliable) [c0000000012178f0] [c00000000005647c] .restore_astate+0x2c/0x34 [c000000001217980] [c000000000054668] .pasemi_system_reset_exception+0x6c/0x88 [c000000001217a00] [c000000000019ef0] .system_reset_exception+0x48/0x84 [c000000001217a80] [c000000000001e40] system_reset_common+0x140/0x180 Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-01-28Merge tag 'md-3.8-fixes' of git://neil.brown.name/mdLinus Torvalds2-64/+38
Pull dmraid fix from NeilBrown: "Just one fix for md in 3.8 dmraid assess redundancy and replacements slightly inaccurately which could lead to some degraded arrays failing to assemble." * tag 'md-3.8-fixes' of git://neil.brown.name/md: DM-RAID: Fix RAID10's check for sufficient redundancy