1. 16 2月, 2013 5 次提交
    • 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]: Enabling DeviceTree for Angel4 board · abe11dde
      Vineet Gupta 提交于
      * arc-uart platform device now populated dynamically, using
        of_platform_populate() - applies to any other device whatsoever.
      
      * uart in turn requires incore arc-intc to be also present in DT
      
      * A irq-domain needs to be instantiated for IRQ requests by DT probed
        device (e.g. arc-uart)
      
      TODO: switch over to linear irq domain once all devs have been
            transitioned to DT
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Arnd Bergmann <arnd@arndb.de>
      abe11dde
    • 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
    • V
      ARC: I/O and DMA Mappings · 1162b070
      Vineet Gupta 提交于
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      1162b070
  2. 11 2月, 2013 2 次提交
    • V
      ARC: Interrupt Handling · bacdf480
      Vineet Gupta 提交于
      This contains:
      -bootup arch IRQ init: init_IRQ(), arc_init_IRQ()
      -generic IRQ subsystem glue: arch_do_IRQ()
      -basic IRQ chip setup for in-core intc
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      bacdf480
    • V
      ARC: Build system: Makefiles, Kconfig, Linker script · cfdbc2e1
      Vineet Gupta 提交于
      Arnd in his review pointed out that arch Kconfig organisation has several
      deficiencies:
      
      * Build time entries for things which can be runtime extracted from DT
        (e.g. SDRAM size, core clk frequency..)
      * Not multi-platform-image-build friendly (choice .. endchoice constructs)
      * cpu variants support (750/770) is exclusive.
      
      The first 2 have been fixed in subsequent patches.
      Due to the nature of the 750 and 770, it is not possible to build for
      both together, w/o special runtime glue code which would hurt
      performance.
      Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Acked-by: NSam Ravnborg <sam@ravnborg.org>
      cfdbc2e1