1. 23 5月, 2014 1 次提交
  2. 22 5月, 2014 2 次提交
  3. 20 5月, 2014 1 次提交
    • S
      ARM: OMAP4: Fix the boot regression with CPU_IDLE enabled · 4b353a70
      Santosh Shilimkar 提交于
      On OMAP4 panda board, there have been several bug reports about boot
      hang and lock-ups with CPU_IDLE enabled. The root cause of the issue
      is missing interrupts while in idle state. Commit cb7094e8 {cpuidle / omap4 :
      use CPUIDLE_FLAG_TIMER_STOP flag} moved the broadcast notifiers to common
      code for right reasons but on OMAP4 which suffers from a nasty ROM code
      bug with GIC, commit ff999b8a {ARM: OMAP4460: Workaround for ROM bug ..},
      we loose interrupts which leads to issues like lock-up, hangs etc.
      
      Patch reverts commit cb7094 {cpuidle / omap4 : use CPUIDLE_FLAG_TIMER_STOP
      flag} and 54769d65 {cpuidle: OMAP4: remove timer broadcast initialization} to
      avoid the issue. With this change, OMAP4 panda boards, the mentioned
      issues are getting fixed. We no longer loose interrupts which was the cause
      of the regression.
      
      Fixes: cb7094e8 (cpuidle / omap4 : use CPUIDLE_FLAG_TIMER_STOP flag)
      Fixes: ff999b8a (cpuidle: OMAP4: remove timer broadcast initialization)
      Cc: stable@vger.kernel.org # v3.9+
      Cc: Roger Quadros <rogerq@ti.com>
      Cc: Kevin Hilman <khilman@linaro.org>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
      Reported-tested-by: NRoger Quadros <rogerq@ti.com>
      Reported-tested-by: NKevin Hilman <khilman@linaro.org>
      Tested-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      4b353a70
  4. 17 5月, 2014 2 次提交
    • T
      ARM: OMAP2+: Fix DMA hang after off-idle · 9ce2482f
      Tony Lindgren 提交于
      Commit 6ddeb6d8 (dmaengine: omap-dma: move IRQ handling to omap-dma)
      added support for handling interrupts in the omap dmaengine driver
      instead of the legacy driver. Because of different handling for
      interrupts this however caused omap3 to hang eventually after hitting
      off-idle.
      
      Any of the virtual 32 DMA channels can be assigned to any of the
      four DMA interrupts. So commit 6ddeb6d8 made the omap dmaengine
      driver to use the second DMA interrupt while keeping the legacy code
      still using the first DMA interrupt.
      
      This means we need to save and restore both IRQENABLE_L1 in addition
      to IRQENABLE_L0. As there is a chance that the DSP might be using
      IRQENABLE_L2 or IRQENABLE_L3 lines, let's not touch those until
      this has been confirmed. Let's just add a comment to the code for
      now.
      
      Fixes: 6ddeb6d8 (dmaengine: omap-dma: move IRQ handling to omap-dma)
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      9ce2482f
    • R
      ARM: OMAP2+: nand: Fix NAND on OMAP2 and OMAP3 boards · 5005e0b7
      Roger Quadros 提交于
      Commit c66d0391 broke NAND for non-DT boot on all OMAP2 and OMAP3
      boards using board_nand_init(). Following error is seen at boot
      
      [    0.154998]  (null): Unsupported NAND ECC scheme selected
      
      For OMAP2 and OMAP3 platforms, the ecc_opt parameter in platform data
      must be set to OMAP_ECC_HAM1_CODE_HW to work properly.
      
      Tested on omap3-beagle c4.
      
      Fixes: c66d0391 (mtd: nand: omap: combine different flavours of 1-bit hamming ecc schemes)
      Cc: stable@vger.kernel.org # v3.12+
      Signed-off-by: NRoger Quadros <rogerq@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      5005e0b7
  5. 16 5月, 2014 1 次提交
  6. 15 5月, 2014 6 次提交
  7. 13 5月, 2014 3 次提交
  8. 11 5月, 2014 1 次提交
  9. 05 5月, 2014 1 次提交
  10. 02 5月, 2014 1 次提交
  11. 29 4月, 2014 3 次提交
    • T
      ARM: common: edma: Fix xbar mapping · cf7eb979
      Thomas Gleixner 提交于
      This is another great example of trainwreck engineering:
      
      commit 2646a0e529 (ARM: edma: Add EDMA crossbar event mux support)
      added support for using EDMA on peripherals which have no direct EDMA
      event mapping.
      
      The code compiles and does not explode in your face, but that's it.
      
      1) Reading an u16 array from an u32 device tree array simply does not
         work. Even if the function is named "edma_of_read_u32_to_s16_array".
      
         It merily calls of_property_read_u16_array. So the resulting 16bit
         array will have every other entry = 0.
      
      2) The DT entry for the xbar registers related to xbar has length 0x10
         instead of the real length: 0xfd0 - 0xf90 = 0x40.
      
         Not a real problem as it does not cross a page boundary, but
         wrong nevertheless.
      
      3) But none of this matters as the mapping never happens:
      
         After reading nonsense edma_of_read_u32_to_s16_array() invalidates
         the first array entry pair, so nobody can ever notice the
         braindamage by immediate explosion.
      
      Seems the QA criteria for this code was solely not to explode when
      someone adds edma-xbar-event-map entries to the DT. Goal achieved,
      congratulations!
      
      Not really helpful if someone wants to use edma on a device which
      requires a xbar mapping.
      
      Fix the issues by:
      
      - annotating the device tree entry with "/bits/ 16" as documented in
        the of_property_read_u16_array kernel doc
      
      - make the size of the xbar register mapping correct
      
      - invalidating the end of the array and not the start
      
      This convoluted mess wants to be completely rewritten as there is no
      point to keep the xbar_chan array memory and the iomapping of the xbar
      regs around forever. Marking the xbar mapped channels as used should
      be done right there.
      
      But that's a different issue and this patch is small enough to make it
      work and allows a simple backport for stable.
      
      Cc: stable@vger.kernel.org # v3.12+
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NSekhar Nori <nsekhar@ti.com>
      cf7eb979
    • L
      ARM: OMAP3: clock: Back-propagate rate change from cam_mclk to dpll4_m5 on all OMAP3 platforms · 98d7e1ae
      Laurent Pinchart 提交于
      Commit 7b2e1277 ("ARM: OMAP3: clock:
      Back-propagate rate change from cam_mclk to dpll4_m5") enabled clock
      rate back-propagation from cam_mclk do dpll4_m5 on OMAP3630 only.
      Perform back-propagation on other OMAP3 platforms as well.
      Reported-by: NJean-Philippe François <jp.francois@cynove.com>
      Signed-off-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: <stable@kernel.org>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      98d7e1ae
    • M
      ARM: sun7i: Fix i2c4 base address · a3867045
      Maxime Ripard 提交于
      For some reason, the base address of the fifth I2C adapter in the A20 was
      incorrect. Change this to the actual base address.
      Reported-by: NMarcus Cooper <codekipper@gmail.com>
      Signed-off-by: NMaxime Ripard <maxime.ripard@free-electrons.com>
      Acked-by: NHans de Goede <hdegoede@redhat.com>
      a3867045
  12. 28 4月, 2014 2 次提交
    • M
      arm: KVM: fix possible misalignment of PGDs and bounce page · 5d4e08c4
      Mark Salter 提交于
      The kvm/mmu code shared by arm and arm64 uses kalloc() to allocate
      a bounce page (if hypervisor init code crosses page boundary) and
      hypervisor PGDs. The problem is that kalloc() does not guarantee
      the proper alignment. In the case of the bounce page, the page sized
      buffer allocated may also cross a page boundary negating the purpose
      and leading to a hang during kvm initialization. Likewise the PGDs
      allocated may not meet the minimum alignment requirements of the
      underlying MMU. This patch uses __get_free_page() to guarantee the
      worst case alignment needs of the bounce page and PGDs on both arm
      and arm64.
      
      Cc: <stable@vger.kernel.org> # 3.10+
      Signed-off-by: NMark Salter <msalter@redhat.com>
      Acked-by: NMarc Zyngier <marc.zyngier@arm.com>
      Signed-off-by: NChristoffer Dall <christoffer.dall@linaro.org>
      5d4e08c4
    • J
      arm/xen: Remove definiition of virt_to_pfn in asm/xen/page.h · 063aa8e6
      Julien Grall 提交于
      virt_to_pfn has been defined in asm/memory.h by the commit e26a9e00 "ARM: Better
      virt_to_page() handling"
      
      This will result of a compilation warning when CONFIG_XEN is enabled.
      
      arch/arm/include/asm/xen/page.h:80:0: warning: "virt_to_pfn" redefined [enabled by default]
       #define virt_to_pfn(v)          (PFN_DOWN(__pa(v)))
       ^
      In file included from arch/arm/include/asm/page.h:163:0,
                       from arch/arm/include/asm/xen/page.h:4,
                       from include/xen/page.h:4,
                       from arch/arm/xen/grant-table.c:33:
      
      The definition in memory.h is nearly the same (it directly expand PFN_DOWN),
      so we can safely drop virt_to_pfn in xen include.
      Signed-off-by: NJulien Grall <julien.grall@linaro.org>
      Signed-off-by: NDavid Vrabel <david.vrabel@citrix.com>
      063aa8e6
  13. 26 4月, 2014 16 次提交