1. 15 11月, 2012 1 次提交
  2. 03 7月, 2012 1 次提交
  3. 29 3月, 2012 1 次提交
  4. 22 12月, 2011 1 次提交
    • K
      driver-core: remove sysdev.h usage. · edbaa603
      Kay Sievers 提交于
      The sysdev.h file should not be needed by any in-kernel code, so remove
      the .h file from these random files that seem to still want to include
      it.
      
      The sysdev code will be going away soon, so this include needs to be
      removed no matter what.
      
      Cc: Jiandong Zheng <jdzheng@broadcom.com>
      Cc: Scott Branden <sbranden@broadcom.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: David Brown <davidb@codeaurora.org>
      Cc: Daniel Walker <dwalker@fifo99.com>
      Cc: Bryan Huntsman <bryanh@codeaurora.org>
      Cc: Ben Dooks <ben-linux@fluff.org>
      Cc: Wan ZongShun <mcuos.com@gmail.com>
      Cc: Haavard Skinnemoen <hskinnemoen@gmail.com>
      Cc: Hans-Christian Egtvedt <egtvedt@samfundet.no>
      Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
      Cc: "Venkatesh Pallipadi
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Richard Purdie <rpurdie@rpsys.net>
      Cc: Matthew Garrett <mjg@redhat.com>
      Signed-off-by: NKay Sievers <kay.sievers@vrfy.org>
      edbaa603
  5. 08 12月, 2011 1 次提交
  6. 01 11月, 2011 1 次提交
  7. 27 7月, 2011 1 次提交
  8. 20 6月, 2011 2 次提交
  9. 19 5月, 2011 1 次提交
    • M
      powerpc: Consolidate ipi message mux and demux · 23d72bfd
      Milton Miller 提交于
      Consolidate the mux and demux of ipi messages into smp.c and call
      a new smp_ops callback to actually trigger the ipi.
      
      The powerpc architecture code is optimised for having 4 distinct
      ipi triggers, which are mapped to 4 distinct messages (ipi many, ipi
      single, scheduler ipi, and enter debugger).  However, several interrupt
      controllers only provide a single software triggered interrupt that
      can be delivered to each cpu.  To resolve this limitation, each smp_ops
      implementation created a per-cpu variable that is manipulated with atomic
      bitops.  Since these lines will be contended they are optimialy marked as
      shared_aligned and take a full cache line for each cpu.  Distro kernels
      may have 2 or 3 of these in their config, each taking per-cpu space
      even though at most one will be in use.
      
      This consolidation removes smp_message_recv and replaces the single call
      actions cases with direct calls from the common message recognition loop.
      The complicated debugger ipi case with its muxed crash handling code is
      moved to debug_ipi_action which is now called from the demux code (instead
      of the multi-message action calling smp_message_recv).
      
      I put a call to reschedule_action to increase the likelyhood of correctly
      merging the anticipated scheduler_ipi() hook coming from the scheduler
      tree; that single required call can be inlined later.
      
      The actual message decode is a copy of the old pseries xics code with its
      memory barriers and cache line spacing, augmented with a per-cpu unsigned
      long based on the book-e doorbell code.  The optional data is set via a
      callback from the implementation and is passed to the new cause-ipi hook
      along with the logical cpu number.  While currently only the doorbell
      implemntation uses this data it should be almost zero cost to retrieve and
      pass it -- it adds a single register load for the argument from the same
      cache line to which we just completed a store and the register is dead
      on return from the call.  I extended the data element from unsigned int
      to unsigned long in case some other code wanted to associate a pointer.
      
      The doorbell check_self is replaced by a call to smp_muxed_ipi_resend,
      conditioned on the CPU_DBELL feature.  The ifdef guard could be relaxed
      to CONFIG_SMP but I left it with BOOKE for now.
      
      Also, the doorbell interrupt vector for book-e was not calling irq_enter
      and irq_exit, which throws off cpu accounting and causes code to not
      realize it is running in interrupt context.  Add the missing calls.
      Signed-off-by: NMilton Miller <miltonm@bga.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      23d72bfd
  10. 20 4月, 2011 2 次提交
  11. 05 4月, 2011 1 次提交
  12. 30 3月, 2011 1 次提交
  13. 24 8月, 2010 1 次提交
  14. 06 5月, 2010 3 次提交
  15. 09 2月, 2010 1 次提交
  16. 18 12月, 2009 1 次提交
  17. 24 11月, 2009 1 次提交
    • G
      powerpc/pseries: Add hooks to put the CPU into an appropriate offline state · 3aa565f5
      Gautham R Shenoy 提交于
      When a CPU is offlined on POWER currently, we call rtas_stop_self() and hand
      the CPU back to the resource pool. This path is used for DLPAR which will
      cause a change in the LPAR configuration which will be visible outside.
      
      This patch changes the default state a CPU is put into when it is offlined.
      On platforms which support ceding the processor to the hypervisor with
      latency hint specifier value, during a cpu offline operation,
      instead of calling rtas_stop_self(), we cede the vCPU to the hypervisor
      while passing a latency hint specifier value. The Hypervisor can use this hint
      to provide better energy savings. Also, during the offline
      operation, the control of the vCPU remains with the LPAR as oppposed to
      returning it to the resource pool.
      
      The patch achieves this by creating an infrastructure to set the
      preferred_offline_state() which can be either
      - CPU_STATE_OFFLINE: which is the current behaviour of calling
        rtas_stop_self()
      
      - CPU_STATE_INACTIVE: which cedes the vCPU to the hypervisor with the latency
        hint specifier.
      
      The codepath which wants to perform a DLPAR operation can set the
      preferred_offline_state() of a CPU to CPU_STATE_OFFLINE before invoking
      cpu_down().
      
      The patch also provides a boot-time command line argument to disable/enable
      CPU_STATE_INACTIVE.
      Signed-off-by: NGautham R Shenoy <ego@in.ibm.com>
      Signed-off-by: NNathan Fontenot <nfont@austin.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      3aa565f5
  18. 20 8月, 2009 1 次提交
  19. 26 6月, 2009 1 次提交
  20. 21 10月, 2008 1 次提交
  21. 13 10月, 2008 1 次提交
    • M
      powerpc/xics: Consolidate ipi message encode and decode · d13f7208
      Milton Miller 提交于
      xics supports only one ipi per cpu, and expects software to use some
      queue to know why the interrupt was sent.  In Linux, we use a an array
      of bitmaps indexed by cpu to identify the message.  Currently the bits
      are set in smp.c and decoded in xics.c, with the data structure in a
      header file.   Consolidate the code in xics.c similar to mpic and other
      interrupt controllers.
      
      Also, while making the the array static, the message word doesn't need
      to be volatile as set_bit and test_clear_bit take care of it for us, and
      put it under ifdef smp.
      Signed-off-by: NMilton Miller <miltonm@bga.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      d13f7208
  22. 24 4月, 2008 2 次提交
  23. 03 12月, 2007 1 次提交
  24. 14 2月, 2007 1 次提交
  25. 08 12月, 2006 1 次提交
  26. 25 8月, 2006 1 次提交
    • O
      [POWERPC] Cleanup CPU inits · f39b7a55
      Olof Johansson 提交于
      Cleanup CPU inits a bit more, Geoff Levand already did some earlier.
      
      * Move CPU state save to cpu_setup, since cpu_setup is only ever done
        on cpu 0 on 64-bit and save is never done more than once.
      * Rename __restore_cpu_setup to __restore_cpu_ppc970 and add
        function pointers to the cputable to use instead. Powermac always
        has 970 so no need to check there.
      * Rename __970_cpu_preinit to __cpu_preinit_ppc970 and check PVR before
        calling it instead of in it, it's too early to use cputable.
      * Rename pSeries_secondary_smp_init to generic_secondary_smp_init since
        everyone but powermac and iSeries use it.
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      f39b7a55
  27. 31 7月, 2006 1 次提交
  28. 03 7月, 2006 1 次提交
    • B
      [POWERPC] Add new interrupt mapping core and change platforms to use it · 0ebfff14
      Benjamin Herrenschmidt 提交于
      This adds the new irq remapper core and removes the old one.  Because
      there are some fundamental conflicts with the old code, like the value
      of NO_IRQ which I'm now setting to 0 (as per discussions with Linus),
      etc..., this commit also changes the relevant platform and driver code
      over to use the new remapper (so as not to cause difficulties later
      in bisecting).
      
      This patch removes the old pre-parsing of the open firmware interrupt
      tree along with all the bogus assumptions it made to try to renumber
      interrupts according to the platform. This is all to be handled by the
      new code now.
      
      For the pSeries XICS interrupt controller, a single remapper host is
      created for the whole machine regardless of how many interrupt
      presentation and source controllers are found, and it's set to match
      any device node that isn't a 8259.  That works fine on pSeries and
      avoids having to deal with some of the complexities of split source
      controllers vs. presentation controllers in the pSeries device trees.
      
      The powerpc i8259 PIC driver now always requests the legacy interrupt
      range. It also has the feature of being able to match any device node
      (including NULL) if passed no device node as an input. That will help
      porting over platforms with broken device-trees like Pegasos who don't
      have a proper interrupt tree.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      0ebfff14
  29. 01 7月, 2006 1 次提交
  30. 22 3月, 2006 1 次提交
  31. 20 2月, 2006 1 次提交
  32. 13 1月, 2006 1 次提交
  33. 12 1月, 2006 1 次提交
  34. 16 11月, 2005 1 次提交
  35. 11 11月, 2005 1 次提交