1. 01 9月, 2014 20 次提交
    • R
      PCI / PM: Make PCIe PME interrupts wake up from suspend-to-idle · 76cde7e4
      Rafael J. Wysocki 提交于
      To make PCIe PME interrupts wake up the system from suspend to idle,
      make the PME driver use enable_irq_wake() on the IRQ during system
      suspend (if there are any wakeup devices below the given PCIe port)
      without disabling PME interrupts.  This way, an interrupt will still
      trigger if a wakeup event happens and the system will be woken up (or
      system suspend in progress will be aborted) by means of the new
      mechanics introduced previously.
      
      This change allows Wake-on-LAN to be used for wakeup from
      suspend-to-idle on my MSI Wind tesbed netbook.
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      76cde7e4
    • R
      x86 / PM: Set IRQCHIP_SKIP_SET_WAKE for IOAPIC IRQ chip objects · 5613570b
      Rafael J. Wysocki 提交于
      Set the IRQCHIP_SKIP_SET_WAKE for IOAPIC IRQ chip objects so that
      interrupts from them can work as wakeup interrupts for suspend-to-idle.
      
      After this change, running enable_irq_wake() on one of the IRQs in
      question will succeed and IRQD_WAKEUP_STATE will be set for it, so
      all of the suspend-to-idle wakeup mechanics introduced previously
      will work for it automatically.
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      5613570b
    • T
      genirq: Simplify wakeup mechanism · 9ce7a258
      Thomas Gleixner 提交于
      Currently we suspend wakeup interrupts by lazy disabling them and
      check later whether the interrupt has fired, but that's not sufficient
      for suspend to idle as there is no way to check that once we
      transitioned into the CPU idle state.
      
      So we change the mechanism in the following way:
      
      1) Leave the wakeup interrupts enabled across suspend
      
      2) Add a check to irq_may_run() which is called at the beginning of
         each flow handler whether the interrupt is an armed wakeup source.
      
         This check is basically free as it just extends the existing check
         for IRQD_IRQ_INPROGRESS. So no new conditional in the hot path.
      
         If the IRQD_WAKEUP_ARMED flag is set, then the interrupt is
         disabled, marked as pending/suspended and the pm core is notified
         about the wakeup event.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      [ rjw: syscore.c and put irq_pm_check_wakeup() into pm.c ]
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      9ce7a258
    • T
      genirq: Mark wakeup sources as armed on suspend · b76f1674
      Thomas Gleixner 提交于
      This allows us to utilize this information in the irq_may_run() check
      without adding another conditional to the fast path.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      b76f1674
    • T
      genirq: Create helper for flow handler entry check · c7bd3ec0
      Thomas Gleixner 提交于
      All flow handlers - except the per cpu ones - check for an interrupt
      in progress and an eventual concurrent polling on another cpu.
      
      Create a helper function for the repeated code pattern.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      c7bd3ec0
    • T
      genirq: Distangle edge handler entry · c3d7acd0
      Thomas Gleixner 提交于
      If the interrupt is disabled or has no action, then we should not call
      the poll check. Separate the checks.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      c3d7acd0
    • T
      genirq: Avoid double loop on suspend · c4df606c
      Thomas Gleixner 提交于
      We can synchronize the suspended interrupts right away. No need for an
      extra loop.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      c4df606c
    • T
      genirq: Move MASK_ON_SUSPEND handling into suspend_device_irqs() · 092fadd5
      Thomas Gleixner 提交于
      There is no reason why we should delay the masking of interrupts whose
      interrupt chip requests MASK_ON_SUSPEND to the point where we check
      the wakeup interrupts. We can do it right at the point where we mark
      the interrupt as suspended.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      092fadd5
    • T
      genirq: Make use of pm misfeature accounting · 5417de22
      Thomas Gleixner 提交于
      Use the accounting fields which got introduced for snity checking for
      the various PM options.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      5417de22
    • T
      genirq: Add sanity checks for PM options on shared interrupt lines · cab303be
      Thomas Gleixner 提交于
      Account the IRQF_NO_SUSPEND and IRQF_RESUME_EARLY actions on shared
      interrupt lines and yell loudly if there is a mismatch.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      cab303be
    • T
      genirq: Move suspend/resume logic into irq/pm code · 8df2e02c
      Thomas Gleixner 提交于
      No functional change. Preparatory patch for cleaning up the suspend
      abort functionality. Update the comments while at it.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      8df2e02c
    • R
      PM / sleep: Mechanism for aborting system suspends unconditionally · 068765ba
      Rafael J. Wysocki 提交于
      It sometimes may be necessary to abort a system suspend in
      progress or wake up the system from suspend-to-idle even if the
      pm_wakeup_event()/pm_stay_awake() mechanism is not enabled.
      
      For this purpose, introduce a new global variable pm_abort_suspend
      and make pm_wakeup_pending() check its value.  Also add routines
      for manipulating that variable.
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      068765ba
    • L
      Linux 3.17-rc3 · 69e273c0
      Linus Torvalds 提交于
      69e273c0
    • L
      Merge tag 'xtensa-20140830' of git://github.com/czankel/xtensa-linux · 05bdb8c9
      Linus Torvalds 提交于
      Pull Xtensa updates from Chris Zankel:
       "Xtensa improvements for 3.17:
         - support highmem on cores with aliasing data cache.  Enable highmem
           on kc705 by default
         - simplify addition of new core variants (no need to modify Kconfig /
           Makefiles)
         - improve robustness of unaligned access handler and its interaction
           with window overflow/underflow exception handlers
         - deprecate atomic and spill registers syscalls
         - clean up Kconfig: remove orphan MATH_EMULATION, sort 'select'
           statements
         - wire up renameat2 syscall.
      
        Various fixes:
         - fix address checks in dma_{alloc,free}_coherent (runtime BUG)
         - fix access to THREAD_RA/THREAD_SP/THREAD_DS (debug build breakage)
         - fix TLBTEMP_BASE_2 region handling in fast_second_level_miss
           (runtime unrecoverable exception)
         - fix a6 and a7 handling in fast_syscall_xtensa (runtime userspace
           register clobbering)
         - fix kernel/user jump out of fast_unaligned (potential runtime
           unrecoverabl exception)
         - replace termios IOCTL code definitions with constants (userspace
           build breakage)"
      
      * tag 'xtensa-20140830' of git://github.com/czankel/xtensa-linux: (25 commits)
        xtensa: deprecate fast_xtensa and fast_spill_registers syscalls
        xtensa: don't allow overflow/underflow on unaligned stack
        xtensa: fix a6 and a7 handling in fast_syscall_xtensa
        xtensa: allow single-stepping through unaligned load/store
        xtensa: move invalid unaligned instruction handler closer to its users
        xtensa: make fast_unaligned store restartable
        xtensa: add double exception fixup handler for fast_unaligned
        xtensa: fix kernel/user jump out of fast_unaligned
        xtensa: configure kc705 for highmem
        xtensa: support highmem in aliasing cache flushing code
        xtensa: support aliasing cache in kmap
        xtensa: support aliasing cache in k[un]map_atomic
        xtensa: implement clear_user_highpage and copy_user_highpage
        xtensa: fix TLBTEMP_BASE_2 region handling in fast_second_level_miss
        xtensa: allow fixmap and kmap span more than one page table
        xtensa: make fixmap region addressing grow with index
        xtensa: fix access to THREAD_RA/THREAD_SP/THREAD_DS
        xtensa: add renameat2 syscall
        xtensa: fix address checks in dma_{alloc,free}_coherent
        xtensa: replace IOCTL code definitions with constants
        ...
      05bdb8c9
    • G
      unicore32: Fix build error · ca98565a
      Guenter Roeck 提交于
      unicore32 builds fail with
      
        arch/unicore32/kernel/signal.c: In function ‘setup_frame’:
        arch/unicore32/kernel/signal.c:257: error: ‘usig’ undeclared (first use in this function)
        arch/unicore32/kernel/signal.c:279: error: ‘usig’ undeclared (first use in this function)
        arch/unicore32/kernel/signal.c: In function ‘handle_signal’:
        arch/unicore32/kernel/signal.c:306: warning: unused variable ‘tsk’
        arch/unicore32/kernel/signal.c: In function ‘do_signal’:
        arch/unicore32/kernel/signal.c:376: error: implicit declaration of function ‘get_signsl’
        make[1]: *** [arch/unicore32/kernel/signal.o] Error 1
        make: *** [arch/unicore32/kernel/signal.o] Error 2
      
      Bisect points to commit 649671c9 ("unicore32: Use get_signal()
      signal_setup_done()").
      
      This code never even compiled.  Reverting the patch does not work, since
      previously used functions no longer exist, so try to fix it up.  Compile
      tested only.
      
      Fixes: 649671c9 ("unicore32: Use get_signal() signal_setup_done()")
      Cc: Richard Weinberger <richard@nod.at>
      Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ca98565a
    • L
      Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · 94559a4a
      Linus Torvalds 提交于
      Pull ARM fixes from Russell King:
       "Various assorted fixes:
      
         - a couple of patches from Mark Rutland to resolve an errata with
           Cortex-A15 CPUs.
         - fix cpuidle for the CPU part ID changes in the last merge window
         - add support for a relocation which ARM binutils is generating in
           some circumstances"
      
      * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        ARM: 8130/1: cpuidle/cpuidle-big_little: fix reading cpu id part number
        ARM: 8129/1: errata: work around Cortex-A15 erratum 830321 using dummy strex
        ARM: 8128/1: abort: don't clear the exclusive monitors
        ARM: 8127/1: module: add support for R_ARM_TARGET1 relocations
      94559a4a
    • L
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 19ed3eb9
      Linus Torvalds 提交于
      Pull ARM SoC fixes from Olof Johansson:
       "Here's the weekly batch of fixes from arm-soc.
      
        The delta is a largeish negative delta, due to revert of SMP support
        for Broadcom's STB SoC -- it was accidentally merged before some
        issues had been addressed, so they will make a new attempt for 3.18.
        I didn't see a need for a full revert of the whole platform due to
        this, we're keeping the rest enabled.
      
        The rest is mostly:
      
         - a handful of DT fixes for i.MX (Hummingboard/Cubox-i in particular)
         - some MTD/NAND fixes for OMAP
         - minor DT fixes for shmobile
         - warning fix for UP builds on vexpress/spc
      
        There's also a couple of patches that wires up hwmod on TI's DRA7 SoC
        so it can boot.  Drivers and the rest had landed for 3.17, and it's
        small and isolated so it made sense to pick up now even if it's not a
        bugfix"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (23 commits)
        vexpress/spc: fix a build warning on array bounds
        ARM: DRA7: hwmod: Add dra74x and dra72x specific ocp interface lists
        ARM: DRA7: Add support for soc_is_dra74x() and soc_is_dra72x() variants
        MAINTAINERS: catch special Rockchip code locations
        ARM: dts: microsom-ar8035: MDIO pad must be set open drain
        ARM: dts: omap54xx-clocks: Fix the l3 and l4 clock rates
        ARM: brcmstb: revert SMP support
        ARM: OMAP2+: hwmod: Rearm wake-up interrupts for DT when MUSB is idled
        ARM: dts: Enable UART wake-up events for beagleboard
        ARM: dts: Remove twl6030 clk32g "regulator"
        ARM: OMAP2+: omap_device: remove warning that clk alias already exists
        ARM: OMAP: fix %d confusingly prefixed with 0x in format string
        ARM: dts: DRA7: fix interrupt-cells for GPIO
        mtd: nand: omap: Fix 1-bit Hamming code scheme, omap_calculate_ecc()
        ARM: dts: omap3430-sdp: Revert to using software ECC for NAND
        ARM: OMAP2+: GPMC: Support Software ECC scheme via DT
        mtd: nand: omap: Revert to using software ECC by default
        ARM: dts: hummingboard/cubox-i: change SPDIF output to be more descriptive
        ARM: dts: hummingboard/cubox-i: add USB OC pinctrl configuration
        ARM: shmobile: r8a7791: add missing 0x0100 for SDCKCR
        ...
      19ed3eb9
    • A
      vexpress/spc: fix a build warning on array bounds · e160cc17
      Alex Shi 提交于
      With ARCH_VEXPRESS_SPC option, kernel build has the following
      warning:
      
      arch/arm/mach-vexpress/spc.c: In function ‘ve_spc_clk_init’:
      arch/arm/mach-vexpress/spc.c:431:38: warning: array subscript is below array bounds [-Warray-bounds]
        struct ve_spc_opp *opps = info->opps[cluster];
                                            ^
      since 'cluster' maybe '-1' in UP system. This patch does a active
      checking to fix this issue.
      Signed-off-by: NAlex Shi <alex.shi@linaro.org>
      Acked-by: NPawel Moll <pawel.moll@arm.com>
      Acked-by: NSudeep Holla <sudeep.holla@arm.com>
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      e160cc17
    • O
      Merge tag 'for-v3.17-rc/omap-dra72x-d74x-support-a' of... · 98fd1508
      Olof Johansson 提交于
      Merge tag 'for-v3.17-rc/omap-dra72x-d74x-support-a' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into fixes
      
      Pull "ARM: OMAP2+: DRA72x/DRA74x basic support" from Tony Lindgren:
      
      Add basic subarchitecture support for the DRA72x and DRA74x.  These
      are OMAP2+ derivative SoCs.  This should be low-risk to existing OMAP
      platforms.
      
      Basic build, boot, and PM test logs are available here:
      
      http://www.pwsan.com/omap/testlogs/hwmod-a-early-v3.17-rc/20140827194314/
      
      * tag 'for-v3.17-rc/omap-dra72x-d74x-support-a' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending:
        ARM: DRA7: hwmod: Add dra74x and dra72x specific ocp interface lists
        ARM: DRA7: Add support for soc_is_dra74x() and soc_is_dra72x() variants
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      98fd1508
    • L
      Merge tag 'spi-v3.17-rc3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 81bbadc6
      Linus Torvalds 提交于
      Pull spi bugfixes from Mark Brown:
       "A smattering of bug fixes for the SPI subsystem, all in driver code
        which has seen active work recently and none of them with any great
        global impact.
      
        There's also a new ACPI ID for the pxa2xx driver which required no
        code changes and the addition of kerneldoc for some structure fields
        that were missing it and generating warnings during documentation
        builds as a result"
      
      * tag 'spi-v3.17-rc3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: sh-msiof: Fix transmit-only DMA transfers
        spi/rockchip: Avoid accidentally turning off the clock
        spi: dw: fix kernel crash due to NULL pointer dereference
        spi: dw-pci: fix bug when regs left uninitialized
        spi: davinci: fix SPI_NO_CS functionality
        spi/rockchip: fixup incorrect dma direction setting
        spi/pxa2xx: Add ACPI ID for Intel Braswell
        spi: spi-au1550: fix build failure
        spi: rspi: Fix leaking of unused DMA descriptors
        spi: sh-msiof: Fix leaking of unused DMA descriptors
        spi: Add missing kerneldoc bits
        spi/omap-mcspi: Fix the spi task hangs waiting dma_rx
      81bbadc6
  2. 31 8月, 2014 6 次提交
  3. 30 8月, 2014 14 次提交