12 Jan, 2013

1 commit


11 Jan, 2013

2 commits

  • Pull KVM bugfixes from Marcelo Tosatti.

    * git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: x86: use dynamic percpu allocations for shared msrs area
    KVM: PPC: Book3S HV: Fix compilation without CONFIG_PPC_POWERNV
    powerpc: Corrected include header path in kvm_para.h
    Add rcu user eqs exception hooks for async page fault

    Linus Torvalds
     
  • Pull s390 patches from Martin Schwidefsky:
    "Add the finit_module system call, fix the irq statistics in
    /proc/stat, fix a s390dbf lockdep problem, a patch revert for a
    problem that is not 100% understood yet, and a few patches to
    fix warnings."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390/pci: define read*_relaxed functions
    s390/topology: export cpu_topology
    s390/pm: export pm_power_off
    s390/pci: define isa_dma_bridge_buggy
    s390/3215: partially revert tty close handling fix
    s390/irq: count cpu restart events
    s390/irq: remove split irq fields from /proc/stat
    s390/irq: enable irq sum accounting for /proc/stat again
    s390/syscalls: wire up finit_module syscall
    s390/pci: remove dead code
    s390/smp: fix section mismatch for smp_add_present_cpu()
    s390/debug: Fix s390dbf lockdep problem in debug_(un)register_view()

    Linus Torvalds
     

10 Jan, 2013

1 commit

  • Pull ARM fixes from Russell King.

    * 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
    ARM: 7616/1: cache-l2x0: aurora: Use writel_relaxed instead of writel
    ARM: 7615/1: cache-l2x0: aurora: Invalidate during clean operation with WT enable
    ARM: 7614/1: mm: fix wrong branch from Cortex-A9 to PJ4b
    ARM: 7612/1: imx: Do not select some errata that depends on !ARCH_MULTIPLATFORM
    ARM: 7611/1: VIC: fix bug in VIC irqdomain code
    ARM: 7610/1: versatile: bump IRQ numbers
    ARM: 7609/1: disable errata work-arounds which access secure registers
    ARM: 7608/1: l2x0: Only set .set_debug on PL310 r3p0 and earlier

    Linus Torvalds
     

09 Jan, 2013

5 commits

  • Pull ARM SoC fixes from Olof Johansson:
    "People are back from the holiday breaks, and it shows. Here are a
    bunch of fixes for a number of platforms:
    - A couple of small fixes for Nomadik
    - A larger set of changes for kirkwood/mvebu
    - uart driver selection, dt clocks, gpio-poweroff fixups, a few
    __init annotation fixes and some error handling improvement in
    their xor dma driver.
    - i.MX had a couple of minor fixes (and a critical one for flexcan2
    clock setup)
    - MXS has a small board fix and a framebuffer bugfix
    - A set of fixes for Samsung Exynos, fixing default bootargs and some
    Exynos5440 clock issues
    - A set of OMAP changes including PM fixes and a few sparse warning
    fixups

    All in all a bit more positive code delta than we'd ideally want to
    see here, mostly from the OMAP PM changes, but nothing overly crazy."

    * tag 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (44 commits)
    ARM: clps711x: Fix bad merge of clockevents setup
    ARM: highbank: save and restore L2 cache and GIC on suspend
    ARM: highbank: add a power request clear
    ARM: highbank: fix secondary boot and hotplug
    ARM: highbank: fix typos with hignbank in power request functions
    ARM: dts: fix highbank cpu mpidr values
    ARM: dts: add device_type prop to cpu nodes on Calxeda platforms
    ARM: mx5: Fix MX53 flexcan2 clock
    ARM: OMAP2+: am33xx-hwmod: Fix wrongly terminated am33xx_usbss_mpu_irqs array
    pinctrl: mvebu: make pdma clock on dove mandatory
    ARM: Dove: Add pinctrl clock to DT
    dma: mv_xor: fix error handling for clocks
    dma: mv_xor: fix error handling of mv_xor_channel_add()
    arm: mvebu: Add missing ; for cpu node.
    arm: mvebu: Armada XP MV78230 has only three Ethernet interfaces
    arm: mvebu: Armada XP MV78230 has two cores, not one
    clk: mvebu: Remove inappropriate __init tagging
    ARM: Kirkwood: Use fixed-regulator instead of board gpio call
    ARM: Kirkwood: Fix missing sdio clock
    ARM: Kirkwood: Switch TWSI1 of 88f6282 to DT clock providers
    ...

    Linus Torvalds
     
  • …nux/kernel/git/tmlind/linux-omap into fixes

    From Tony Lindgren:
    The biggest change is a fix to deal with different power state
    on omap2 registers that causes issues trying to use common PM code.
    Also fix few incorrect registers, and an issue for omap1 USB, and
    few sparse fixes for issues that sneaked in with all the clean-up.

    * tag 'omap-for-v3.8-rc2/fixes-signed-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: OMAP2+: am33xx-hwmod: Fix wrongly terminated am33xx_usbss_mpu_irqs array
    ARM: OMAP1: fix USB configuration use-after-release
    ARM: OMAP2/3: PRM: fix bogus OMAP2xxx powerstate return values
    ARM: OMAP3: clock data: Add missing enable/disable for EMU clock
    ARM: OMAP4: PRM: Correct wrong instance usage for reading reset sources
    ARM: OMAP4: PRM: fix RSTTIME and RSTST offsets
    ARM: OMAP4: PRM: Correct reset source map
    ARM: OMAP: SRAM: resolve sparse warnings
    ARM: OMAP AM33xx: hwmod data: resolve sparse warnings
    ARM: OMAP: 32k counter: resolve sparse warnings

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • …/git/kgene/linux-samsung into fixes

    From Kukjin Kim:
    Most of them are EXYNOS5440 fixes which are for changing uart console,
    cpu id (typo) and silent complaining gpio error in kernel boot.

    * 'v3.8-samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
    ARM: EXYNOS: skip the clock initialization for exynos5440
    ARM: EXYNOS: enable PINCTRL for EXYNOS5440
    ARM: dts: use uart port1 for console on exynos4210-smdkv310
    ARM: dts: use uart port0 for console on exynos5440-ssdk5440
    ARM: SAMSUNG: fix the cpu id for EXYNOS5440
    ARM: EXYNOS: Revise HDMI resource size

    Olof Johansson
     
  • From Shawn Guo:
    I have to send one critical mxsfb fix through arm-soc, as FB maintainer
    is unresponsive for quite a while. People start complaining the missing
    of such an important fix.

    * tag 'mxs-fixes-3.8' of git://git.linaro.org/people/shawnguo/linux-2.6:
    video: mxsfb: fix crash when unblanking the display
    ARM: dts: imx23-olinuxino: Fix IOMUX settings

    Olof Johansson
     
  • From Shawn Guo:

    It includes one critical fix - wrong flexcan2 clock will hang system
    when the port gets brought up. The other two are non-critical fixes,
    which are sent together here, since it's still early -rc stage.

    * tag 'imx-fixes-3.8' of git://git.linaro.org/people/shawnguo/linux-2.6:
    ARM: mx5: Fix MX53 flexcan2 clock
    ARM: dts: imx31-bug: Fix manufacturer compatible string
    clk: imx: Remove 'clock-output-names' from the examples

    Olof Johansson
     

08 Jan, 2013

24 commits

  • Use dynamic percpu allocations for the shared msrs structure,
    to avoid using the limited reserved percpu space.

    Reviewed-by: Gleb Natapov
    Signed-off-by: Marcelo Tosatti

    Marcelo Tosatti
     
  • Just map the read*_relaxed() functions to their corresponding read*() functions.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Export cpu_topology symbol, so it's available for modules.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Export pm_power_off symbol. Needed by at least one of the new device
    drivers that come with CONFIG_PCI.
    And all other architectures export that symbol as well.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Define isa_dma_bridge_buggy. Needed to make pci quirks compile:

    drivers/pci/quirks.c: In function ‘quirk_isa_dma_hangs’:
    drivers/pci/quirks.c:88:7: error: ‘isa_dma_bridge_buggy’ undeclared (first use in this function)

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Count CPU Restart events and make them visible via /proc/interrupts.
    Every CPU hotplug (online) event will increase the per cpu counter.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Now that irq sum accounting for /proc/stat's "intr" line works again we
    have the oddity that the sum field (first field) contains only the sum
    of the second (external irqs) and third field (I/O interrupts).
    The reason for that is that these two fields are already sums of all other
    fields. So if we would sum up everything we would count every interrupt
    twice.
    This is broken since the split interrupt accounting was merged two years
    ago: 052ff461c8427629aee887ccc27478fc7373237c "[S390] irq: have detailed
    statistics for interrupt types".
    To fix this remove the split interrupt fields from /proc/stat's "intr"
    line again and only have them in /proc/interrupts.

    This restores the old behaviour, seems to be the only sane fix and mimics
    a behaviour from other architectures where /proc/interrupts also contains
    more than /proc/stat's "intr" line does.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • For more than two years, since f2c66cd8eeddedb440f33bc0f5cec1ed7ae376cb
    "/proc/stat: scalability of irq num per cpu" the output of /proc/stat is
    broken.
    The first field in the "intr" line should contain the sum of all interrupts,
    however since the above mentioned change it is always zero.

    The reason for that is that a per cpu irq sum variable had been introduced
    which got incremented when calling kstat_incr_irqs_this_cpu(). However
    on s390 we directly incremented only the per cpu per irq counter by accessing
    the array element via kstat_cpu(smp_processor_id()).irqs[...].
    So fix this and use the kstat_incr_irqs_this_cpu() wrapper which increments
    both: the per cpu per irq counter and the per cpu irq sum counter.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Signed-off-by: Heiko Carstens

    Heiko Carstens
     
  • Get rid of these:

    arch/s390/pci/pci_dma.c:16:29: warning: ‘zpci_ioat_dt’ defined but not used [-Wunused-variable]
    arch/s390/pci/pci.c:164:12: warning: ‘zpci_store_fib’ defined but not used [-Wunused-function]

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Fixes this section mismatch:

    WARNING: vmlinux.o(.text+0x145e4): Section mismatch in reference from the function
    smp_add_present_cpu() to the function .cpuinit.text:register_cpu()
    The function smp_add_present_cpu() references
    the function __cpuinit register_cpu().
    This is often because smp_add_present_cpu lacks a __cpuinit
    annotation or the annotation of register_cpu is wrong.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • The debug_register/unregister_view() functions call debugfs_remove()
    while holding the debug_info spinlock. Because debugfs_remove() takes
    a mutex and therefore can sleep this is not allowed. To fix the problem
    we give up the debug_info lock before calling debugfs_remove().

    The following shows the lockdep message:

    [ INFO: possible circular locking dependency detected ]
    -------------------------------------------------------
    rmmod/4379 is trying to acquire lock:
    (&sb->s_type->i_mutex_key#2){+.+.+.}, at: [] debugfs_remove+0x5e/0xa

    but task is already holding lock:
    (&(&rc->lock)->rlock){-.-...}, at: [] debug_unregister_view+0x3a/0xd

    which lock already depends on the new lock.

    -> #0 (&sb->s_type->i_mutex_key#2){+.+.+.}:
    [] validate_chain+0x880/0x1154
    [] __lock_acquire+0x414/0xc44
    [] lock_acquire+0xbe/0x178
    [] mutex_lock_nested+0x66/0x36c
    [] debugfs_remove+0x5e/0xac
    [] debug_unregister_view+0xac/0xd0
    [] qeth_core_exit+0x48/0xf08 [qeth]
    [] SyS_delete_module+0x1a4/0x260
    [] sysc_noemu+0x22/0x28
    [] 0x3fffd4704da

    Signed-off-by: Michael Holzheu
    Signed-off-by: Martin Schwidefsky

    Michael Holzheu
     
  • From Jason Cooper:

    fixes for mvebu/kirkwood v3.8
    - use correct uart driver for mvebu boards
    - add a missing DT clocks
    - gpio-poweroff level vs. edge triggering, use gpio_is_valid()
    - remove an inappropriate __init, modules need to access function.
    - various DT fixes
    - error handling in mv_xor

    * tag 'mvebu_fixes_for_v3.8' of git://git.infradead.org/users/jcooper/linux:
    pinctrl: mvebu: make pdma clock on dove mandatory
    ARM: Dove: Add pinctrl clock to DT
    dma: mv_xor: fix error handling for clocks
    dma: mv_xor: fix error handling of mv_xor_channel_add()
    arm: mvebu: Add missing ; for cpu node.
    arm: mvebu: Armada XP MV78230 has only three Ethernet interfaces
    arm: mvebu: Armada XP MV78230 has two cores, not one
    clk: mvebu: Remove inappropriate __init tagging
    ARM: Kirkwood: Use fixed-regulator instead of board gpio call
    ARM: Kirkwood: Fix missing sdio clock
    ARM: Kirkwood: Switch TWSI1 of 88f6282 to DT clock providers
    Power: gpio-poweroff: Fix documentation and gpio_is_valid
    ARM: Kirkwood: Fix missing clk for USB device.
    arm: mvebu: Use dw-apb-uart instead of ns16650 as UART driver

    Signed-off-by: Olof Johansson

    Olof Johansson
     
  • I mismerged a previous branch from Alexander, and accidentally left
    in ARCH_USES_GETTIMEOFFSET. Remove it.

    Signed-off-by: Olof Johansson
    Cc: Alexander Shiyan

    Olof Johansson
     
  • …el/git/linusw/linux-nomadik into fixes

    From Linus Walleij:
    Two fixes to the Nomadik:
    - Delete a dangling include
    - Bump IRQ numbers to offset at 32

    * tag 'nomadik-fixes-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
    ARM: nomadik: bump the IRQ numbers again
    ARM: nomadik: delete dangling include

    Olof Johansson
     
  • This fixes suspend to RAM adding necessary save and restore of L2 and GIC.

    Signed-off-by: Rob Herring
    Signed-off-by: Olof Johansson

    Rob Herring
     
  • When we fail to power down, we need to clear out the power request.

    Signed-off-by: Rob Herring
    Signed-off-by: Olof Johansson

    Rob Herring
     
  • With commit 384a290 (ARM: gic: use a private mapping for CPU target
    interfaces), wake-up IPIs now go to all cores as the gic cpu interface
    numbering may not follow core numbering. This broke secondary boot on
    highbank since the boot address was already set for all secondary cores,
    this caused all cores to boot before the kernel was ready.

    Fix this by moving the setting of the jump address to
    highbank_boot_secondary instead of highbank_smp_prepare_cpus and
    highbank_cpu_die. Also, clear the address when we boot. This prevents
    cores from booting before they are actually triggered and is also necessary
    to get suspend/resume to work.

    Signed-off-by: Rob Herring
    Cc: Nicolas Pitre
    Signed-off-by: Olof Johansson

    Rob Herring
     
  • s/hignbank/highbank/

    Signed-off-by: Rob Herring
    Signed-off-by: Olof Johansson

    Rob Herring
     
  • With the addition of commit a0ae0240 (ARM: kernel: add device tree init
    map function), the cpu reg values must match the cpu mpidr register or we'll
    get warnings. For some reason, the CLUSTERID on highbank is 9, so the reg
    value needs to be 0x90n to quiet the warnings.

    Signed-off-by: Rob Herring
    Signed-off-by: Olof Johansson

    Rob Herring
     
  • While device_type is considered deprecated, it is still needed for tools
    like lshw to identify cpu nodes.

    Signed-off-by: Rob Herring
    Signed-off-by: Olof Johansson

    Rob Herring
     
  • The second FlexCAN port uses different clock than the first one, configure
    correct clock to prevent hanging of the system during bringing up of the port.

    Signed-off-by: Marek Vasut
    Cc: Fabio Estevam
    Acked-by: Sascha Hauer
    Signed-off-by: Shawn Guo

    Marek Vasut
     
  • The IRQ array must be terminated by -1 and not by -1+OMAP_INTC_START
    This led to having a resource list of 100s of IRQs.

    Looks like this was caused by commit a2cfc509 (ARM: OMAP3+: hwmod: Add
    AM33XX HWMOD data) that probably had some search and replace updates
    done for the patch for sparse irq support.

    Signed-off-by: Pantelis Antoniou
    Acked-by: Paul Walmsley
    [tony@atomide.com: updated wit information about the breaking commit]
    Signed-off-by: Tony Lindgren

    Pantelis Antoniou
     
  • During merge of the mvebu patches a clock gate for pinctrl was
    lost. This patch just readds the clock gate.

    Signed-off-by: Sebastian Hesselbarth
    Signed-off-by: Jason Cooper

    Sebastian Hesselbarth
     

07 Jan, 2013

7 commits

  • Pull MIPS fixes from Ralf Baechle:
    "Various fixes across the tree. The modpost error due to
    virt_addr_valid() not being usable from modules required a number of
    preparatory cleanups so a clean fix was possible."

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    MIPS: 64-bit: Fix build if !CONFIG_MODULES
    MIPS: Wire up finit_module syscall.
    MIPS: Fix modpost error in modules attepting to use virt_addr_valid().
    MIPS: page.h: Remove now unnecessary #ifndef __ASSEMBLY__ wrapper.
    MIPS: Switch remaining assembler PAGE_SIZE users to .
    MIPS: Include PAGE_S{IZE,HIFT} in .
    MIPS: Don't include unnecessarily.
    MIPS: Fix comment.
    Revert "MIPS: Optimise TLB handlers for MIPS32/64 R2 cores."
    MIPS: perf: Fix build failure in XLP perf support.
    MIPS: Alchemy: Make 32kHz and r4k timer coexist peacefully

    Linus Torvalds
     
  • Pull microblaze update from Michal Simek:
    "This fixes noMMU kernel and I have also added defconfig updates which
    fix issue with one external dependency and enable all xilinx device
    drivers for 0-day testing system.

    Additionally wire up finit_module system call, and do highmem fixup
    and pci warnings reported by the 0-day testing system"

    * 'next' of git://git.monstr.eu/linux-2.6-microblaze:
    microblaze: Update microblaze defconfigs
    microblaze: Fix pci compilation and sparse warnings
    microblaze: Add finit_module syscall
    microblaze: Kill __kmap_atomic()
    microblaze: Change section flags for noMMU
    microblaze: Microblaze wants sys_fork for noMMU too

    Linus Torvalds
     
  • The use of writel instead of writel_relaxed lead to deadlock in some
    situation (SMP on Armada 370 for instance). The use of writel_relaxed
    as it was done in the rest of this driver fixes this bug.

    Signed-off-by: Gregory CLEMENT
    Tested-by: Thomas Petazzoni
    Acked-by: Jason Cooper
    Signed-off-by: Russell King

    Gregory CLEMENT
     
  • This patch fixes a bug for Aurora L2 cache controller when the
    write-through mode is enable. For the clean operation even if we don't
    have to flush the lines we still need to invalidate them.

    Signed-off-by: Gregory CLEMENT
    Tested-by: Thomas Petazzoni
    Acked-by: Jason Cooper
    Signed-off-by: Russell King

    Gregory CLEMENT
     
  • If CONFIG_ARCH_MULTIPLATFORM & CONFIG_ARCH_MVEBU are both enabled,
    __v7_pj4b_setup is added between __v7_ca9mp_setup and __v7_setup.

    But there's no jump instruction added. If the chip is Cortex A5/A9,
    it goes through __v7_pj4b_setup also. It results in system hang.

    Signed-off-by: Haojian Zhuang
    Signed-off-by: Russell King

    Haojian Zhuang
     
  • Since commit 62e4d357a (ARM: 7609/1: disable errata work-arounds which access
    secure registers) ARM_ERRATA_743622/751472 depends on !ARCH_MULTIPLATFORM.

    Since imx has been converted to multiplatform, the following warning happens:

    $ make imx_v6_v7_defconfig
    warning: (SOC_IMX6Q && ARCH_TEGRA_2x_SOC && ARCH_TEGRA_3x_SOC) selects
    ARM_ERRATA_751472 which has unmet direct dependencies (CPU_V7 &&
    !ARCH_MULTIPLATFORM)
    warning: (SOC_IMX6Q && ARCH_TEGRA_3x_SOC) selects ARM_ERRATA_743622
    which has unmet direct dependencies (CPU_V7 && !ARCH_MULTIPLATFORM)
    warning: (SOC_IMX6Q && ARCH_TEGRA_3x_SOC) selects ARM_ERRATA_743622
    which has unmet direct dependencies (CPU_V7 && !ARCH_MULTIPLATFORM)
    warning: (SOC_IMX6Q && ARCH_TEGRA_2x_SOC && ARCH_TEGRA_3x_SOC) selects
    ARM_ERRATA_751472 which has unmet direct dependencies (CPU_V7 &&
    !ARCH_MULTIPLATFORM)

    Recommended approach is to remove ARM_ERRATA_743622/751472 from being selected
    by SOC_IMX6Q and apply such workarounds into the bootloader.

    Signed-off-by: Fabio Estevam
    Acked-by: Rob Herring
    Signed-off-by: Russell King

    Fabio Estevam
     
  • The Armada XP MV78230 DT include file is missing a ; at the
    end of the cpu node.

    Reported-by: Thomas Petazzoni
    Signed-off-by: Andrew Lunn
    Signed-off-by: Jason Cooper

    Andrew Lunn