Skip to content
  1. Oct 06, 2011
  2. Aug 23, 2011
  3. Jul 28, 2011
    • Grant Likely's avatar
      irq: add irq_domain translation infrastructure · 08a543ad
      Grant Likely authored
      
      
      This patch adds irq_domain infrastructure for translating from
      hardware irq numbers to linux irqs.  This is particularly important
      for architectures adding device tree support because the current
      implementation (excluding PowerPC and SPARC) cannot handle
      translation for more than a single interrupt controller.  irq_domain
      supports device tree translation for any number of interrupt
      controllers.
      
      This patch converts x86, Microblaze, ARM and MIPS to use irq_domain
      for device tree irq translation.  x86 is untested beyond compiling it,
      irq_domain is enabled for MIPS and Microblaze, but the old behaviour is
      preserved until the core code is modified to actually register an
      irq_domain yet.  On ARM it works and is required for much of the new
      ARM device tree board support.
      
      PowerPC has /not/ been converted to use this new infrastructure.  It
      is still missing some features before it can replace the virq
      infrastructure already in powerpc (see documentation on
      irq_domain_map/unmap for details).  Followup patches will add the
      missing pieces and migrate PowerPC to use irq_domain.
      
      SPARC has its own method of managing interrupts from the device tree
      and is unaffected by this change.
      
      Acked-by: default avatarRalf Baechle <ralf@linux-mips.org>
      Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
      08a543ad
  4. Jul 26, 2011
  5. Jul 25, 2011
  6. Jul 22, 2011
  7. Jul 20, 2011
  8. Jul 19, 2011
    • Kyungmin Park's avatar
      ARM: Consolidate the clkdev header files · aa3831cf
      Kyungmin Park authored
      
      
      Now most of ARM machines has the alsmot same __clk_get/put() macro
      
      So place it at the arch/arm/include/asm/clkdev.h and remove the reduntant header files
      
      But some machines don't have the same form as above. It can use the machince specific clkdev file by HAVE_MACH_CLKDEV config
      
      Now there are only 3 caese.
      
      1) define the clk structure with clkdev macro => Need to move clk structure to proper header file
      
      arch/arm/mach-versatile/include/mach/clkdev.h
      arch/arm/mach-realview/include/mach/clkdev.h
      arch/arm/mach-vexpress/include/mach/clkdev.h
      arch/arm/mach-integrator/include/mach/clkdev.h
      
      2) export the __clk_get/put function at clock.c
      
      arch/arm/mach-shmobile/include/mach/clkdev.h
      
      3) demuxing the clk source
      arch/arm/mach-u300/include/mach/clkdev.h
      
      Acked-by: default avatarViresh Kumar <viresh.kumar@st.com>
      Acked-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
      Acked-by: default avatarJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
      aa3831cf
    • Russell King's avatar
      ARM: btc: avoid invalidating the branch target cache on kernel TLB maintanence · 4348810a
      Russell King authored
      
      
      Kernel space needs very little in the way of BTC maintanence as most
      mappings which are created and destroyed are non-executable, and so
      could never enter the instruction stream.
      
      The case which does warrant BTC maintanence is when a module is loaded.
      This creates a new executable mapping, but at that point the pages have
      not been initialized with code and data, so at that point they contain
      unpredictable information.  Invalidating the BTC at this stage serves
      little useful purpose.
      
      Before we execute module code, we call flush_icache_range(), which deals
      with the BTC maintanence requirements.  This ensures that we have a BTC
      maintanence operation before we execute code via the newly created
      mapping.
      
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      4348810a
  9. Jul 18, 2011
  10. Jul 13, 2011
  11. Jul 12, 2011
    • Rob Herring's avatar
      ARM: set vga memory base at run-time · cc22b4c1
      Rob Herring authored
      
      
      Convert the incorrectly named PCIMEM_BASE to a variable called vga_base.
      This removes the dependency on mach/hardware.h.
      
      Signed-off-by: default avatarRob Herring <rob.herring@calxeda.com>
      Acked-by: default avatarNicolas Pitre <nicolas.pitre@linaro.org>
      Reviewed-by: default avatarArnd Bergmann <arnd@arndb.de>
      cc22b4c1
    • Rob Herring's avatar
      ARM: convert PCI defines to variables · c9d95fbe
      Rob Herring authored
      
      
      Convert PCIBIOS_MIN_IO and PCIBIOS_MIN_MEM to variables to allow
      multi-platform builds. This also removes the requirement for a platform to
      have a mach/hardware.h.
      
      The default values for i/o and mem are 0x1000 and 0x01000000, respectively.
      Per Arnd Bergmann, other values are likely to be incorrect, but this commit
      does not try to address that issue.
      
      Signed-off-by: default avatarRob Herring <rob.herring@calxeda.com>
      Acked-by: default avatarNicolas Pitre <nicolas.pitre@linaro.org>
      Reviewed-by: default avatarArnd Bergmann <arnd@arndb.de>
      c9d95fbe
    • Rob Herring's avatar
      ARM: pci: make pcibios_assign_all_busses use pci_has_flag · dc8d966b
      Rob Herring authored
      
      
      Convert pcibios_assign_all_busses from a define to inline so platforms can
      control this setting.
      
      Signed-off-by: default avatarRob Herring <rob.herring@calxeda.com>
      Acked-by: default avatarNicolas Pitre <nicolas.pitre@linaro.org>
      Reviewed-by: default avatarArnd Bergmann <arnd@arndb.de>
      dc8d966b
    • Russell King - ARM Linux's avatar
      ARM: introduce handle_IRQ() not to dump exception stack · a4841e39
      Russell King - ARM Linux authored
      
      
      On Mon, Jul 11, 2011 at 3:52 PM, Russell King - ARM Linux
      <linux@arm.linux.org.uk> wrote:
      
      ...
      
      > The __exception annotation on a function causes this to happen:
      >
      > [<c002406c>] (asm_do_IRQ+0x6c/0x8c) from [<c0024b84>]
      > (__irq_svc+0x44/0xcc)
      > Exception stack(0xc3897c78 to 0xc3897cc0)
      > 7c60:                                                       4022d320 4022e000
      > 7c80: 08000075 00001000 c32273c0 c03ce1c0 c2b49b78 4022d000 c2b420b4 00000001
      > 7ca0: 00000000 c3897cfc 00000000 c3897cc0 c00afc54 c002edd8 00000013 ffffffff
      >
      > Where that stack dump represents the pt_regs for the exception which
      > happened.  Any function found in while unwinding will cause this to
      > be printed.
      >
      > If you insert a C function between the IRQ assembly and asm_do_IRQ,
      > the
      > dump you get from asm_do_IRQ will be the stack for your function,
      > not
      > the pt_regs.  That makes the feature useless.
      >
      
      When __irq_svc - or any of the other exception handling assembly code -
      calls the C code, the stack pointer will be pointing at the pt_regs
      structure.
      
      All the entry points into C code from the exception handling code are
      marked with __exception or __exception_irq_enter to indicate that they
      are one of the functions which has pt_regs above them.
      
      Normally, when you've entered asm_do_IRQ() you will have this stack
      layout (higher address towards top):
      
             pt_regs
             asm_do_IRQ frame
      
      If you insert a C function between the exception assembly code and
      asm_do_IRQ, you end up with this stack layout instead:
      
             pt_regs
             your function frame
             asm_do_IRQ frame
      
      This means when we unwind, we'll get to asm_do_IRQ, and rather than
      dumping out the pt_regs, we'll dump out your functions stack frame
      instead, because that's what is above the asm_do_IRQ stack frame
      rather than the expected pt_regs structure.
      
      The fix is to introduce handle_IRQ() for no exception stack dump, so
      it can be called with MULTI_IRQ_HANDLER is selected and a C function
      is between the assembly code and the actual IRQ handling code.
      
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarEric Miao <eric.y.miao@gmail.com>
      a4841e39
    • Russell King's avatar
      ARM: dma: replace ISA_DMA_THRESHOLD with a variable · 022ae537
      Russell King authored
      
      
      ISA_DMA_THRESHOLD has been unused by non-arch code, so lets now get
      rid of it from ARM by replacing it with arm_dma_zone_mask.  Move
      dma_supported() and dma_set_mask() out of line, and have
      dma_supported() check this new variable instead.
      
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      022ae537
  12. Jul 11, 2011
  13. Jul 08, 2011
  14. Jul 07, 2011
  15. Jul 06, 2011
  16. Jul 04, 2011
Loading