1. 16 2月, 2013 7 次提交
    • V
      ARC: [Review] Multi-platform image #8: platform registers SMP callbacks · b830cde5
      Vineet Gupta 提交于
      Platforms export their SMP callbacks by populating arc_smp_ops.
      The population itself needs to be done pretty early, from init_early
      callback.
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      b830cde5
    • V
      ARC: [Review] Multi-platform image #6: cpu-to-dma-addr optional · fc7943d2
      Vineet Gupta 提交于
      All the current platforms can work with 0x8000_0000 based dma_addr_t
      since the Bus Bridges typically ignore the top bit (the only excpetion
      was Angel4 PCI-AHB bridge which we no longer care for).
      That way we don't need plat-specific cpu-addr to bus-addr conversion.
      
      Hooks still provided - just in case a platform has an obscure device
      which say needs 0 based bus address.
      
      That way <asm/dma_mapping.h> no longer needs to unconditinally include
      <plat/dma_addr.h>
      
      Also verfied that on Angel4 board, other peripherals (IDE-disk / EMAC)
      work fine with 0x8000_0000 based dma addresses.
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      fc7943d2
    • V
      ARC: [Review] Multi-platform image #5: NR_IRQS defined by ARC core · decae9d3
      Vineet Gupta 提交于
      For now this will suffice for all platforms, later exotic ones needs to
      get this from DeviceTree
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      decae9d3
    • V
      ARC: [Review] Multi-platform image #3: switch to board callback · 877768c8
      Vineet Gupta 提交于
      -platform API is retired and instead callbacks are used
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      877768c8
    • V
      ARC: SMP support · 41195d23
      Vineet Gupta 提交于
      ARC common code to enable a SMP system + ISS provided SMP extensions.
      
      ARC700 natively lacks SMP support, hence some of the core features are
      are only enabled if SoCs have the necessary h/w pixie-dust. This
      includes:
      -Inter Processor Interrupts (IPI)
      -Cache coherency
      -load-locked/store-conditional
      ...
      
      The low level exception handling would be completely broken in SMP
      because we don't have hardware assisted stack switching. Thus a fair bit
      of this code is repurposing the MMU_SCRATCH reg for event handler
      prologues to keep them re-entrant.
      
      Many thanks to Rajeshwar Ranga for his initial "major" contributions to
      SMP Port (back in 2008), and to Noam Camus and Gilad Ben-Yossef for help
      with resurrecting that in 3.2 kernel (2012).
      
      Note that this platform code is again singleton design pattern - so
      multiple SMP platforms won't build at the moment - this deficiency is
      addressed in subsequent patches within this series.
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Rajeshwar Ranga <rajeshwar.ranga@gmail.com>
      Cc: Noam Camus <noamc@ezchip.com>
      Cc: Gilad Ben-Yossef <gilad@benyossef.com>
      41195d23
    • V
      ARC: [plat-arcfpga] Static platform device for CONFIG_SERIAL_ARC · ee36d172
      Vineet Gupta 提交于
      N.B. This is old style of hardcoding platform device specific info
      in code and it's instantiation thererof using platform_add_devices().
      Subsequent patches replace this with DeviceTree based runtime probe.
      
      This patch has been retained just as an example of "don't-do-this" for
      newer kernel ports.
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      ee36d172
    • V
      ARC: I/O and DMA Mappings · 1162b070
      Vineet Gupta 提交于
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      1162b070