1. 16 2月, 2013 1 次提交
    • V
      powerpc/fsl_pci: Store the pci ctlr device ptr in the pci ctlr struct · 52c5affc
      Varun Sethi 提交于
      The pci controller structure has a provision to store the device structure
      pointer of the corresponding platform device. Currently this information is
      not stored during fsl pci controller initialization. This information is
      required while dealing with iommu groups for pci devices connected to the
      fsl pci controller. For the case where the pci devices can't be paritioned,
      they would fall under the same device group as the pci controller.
      
      This patch stores the platform device information in the pci controller
      structure during initialization.
      Signed-off-by: NVarun Sethi <Varun.Sethi@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      52c5affc
  2. 13 2月, 2013 5 次提交
    • T
      powerpc/85xx: fix various PCI node compatible strings · 14bdc913
      Timur Tabi 提交于
      Fix and/or improve the compatible strings of the PCI device tree nodes for
      some Freescale SOCs.  This fixes some issues and improves consistency among
      the SOCs.
      
      Specifically:
      
      1) The P1022 has a v1 PCIe controller, so the compatible property should just
      say "fsl,mpc8548-pcie".  U-Boot does not look for "fsl,p1022-pcie", so it
      wasn't fixing up the node.
      
      2) The P4080 has a v2.1 PCIe controller, so add that version-specific string
      to the device tree.  Update the kernel to also look for that string.
      Currently, the kernel looks for "fsl,p4080-pcie" specifically, but
      eventually that check should be deleted.
      
      3) The P1010 device tree claims compatibility with v2.2 and v2.3, but that's
      redundant.  No other device tree does this.  Remove the v2.2 string.
      
      4) The kernel looks for both "fsl,p1023-pcie" and "fsl,qoriq-pcie-v2.2",
      even though the P1023 device trees has always included both strings.  Remove
      the search for "fsl,p1023-pcie".
      Signed-off-by: NTimur Tabi <timur@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      14bdc913
    • K
      powerpc/fsl: msi: sparse fixes · 6cce76dc
      Kim Phillips 提交于
      arch/powerpc/sysdev/fsl_msi.c:31:1: warning: symbol 'msi_head' was not declared. Should it be static?
      arch/powerpc/sysdev/fsl_msi.c:138:40: warning: incorrect type in argument 1 (different base types)
      arch/powerpc/sysdev/fsl_msi.c:138:40:    expected restricted __be64 const [usertype] *p
      arch/powerpc/sysdev/fsl_msi.c:138:40:    got unsigned long long const [usertype] *[assigned] reg
      Signed-off-by: NKim Phillips <kim.phillips@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      6cce76dc
    • K
      powerpc/fsl: ifc: sparse fixes · 8998a030
      Kim Phillips 提交于
      arch/powerpc/sysdev/fsl_ifc.c:66:38: warning: incorrect type in initializer (different base types)
      arch/powerpc/sysdev/fsl_ifc.c:66:38:    expected restricted __be32 [usertype] cspr
      arch/powerpc/sysdev/fsl_ifc.c:66:38:    got unsigned int
      arch/powerpc/sysdev/fsl_ifc.c:67:21: warning: restricted __be32 degrades to integer
      arch/powerpc/sysdev/fsl_ifc.c:67:39: warning: restricted __be32 degrades to integer
      Signed-off-by: NKim Phillips <kim.phillips@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      8998a030
    • K
      powerpc/fsl: fsl_soc: sparse fixes · 8443cc14
      Kim Phillips 提交于
      arch/powerpc/sysdev/fsl_soc.c:70:67: warning: incorrect type in argument 2 (different base types)
      arch/powerpc/sysdev/fsl_soc.c:70:67:    expected restricted __be32 const [usertype] *addr
      arch/powerpc/sysdev/fsl_soc.c:70:67:    got unsigned int const [usertype] *
      Signed-off-by: NKim Phillips <kim.phillips@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      8443cc14
    • K
      powerpc/fsl: lbc: sparse fixes · 01673a13
      Kim Phillips 提交于
      arch/powerpc/sysdev/fsl_lbc.c:77:36: warning: incorrect type in initializer (different base types)
      arch/powerpc/sysdev/fsl_lbc.c:77:36:    expected restricted __be32 [usertype] br
      arch/powerpc/sysdev/fsl_lbc.c:77:36:    got unsigned int
      arch/powerpc/sysdev/fsl_lbc.c:78:36: warning: incorrect type in initializer (different base types)
      arch/powerpc/sysdev/fsl_lbc.c:78:36:    expected restricted __be32 [usertype] or
      arch/powerpc/sysdev/fsl_lbc.c:78:36:    got unsigned int
      arch/powerpc/sysdev/fsl_lbc.c:80:21: warning: restricted __be32 degrades to integer
      arch/powerpc/sysdev/fsl_lbc.c:80:38: warning: restricted __be32 degrades to integer
      arch/powerpc/sysdev/fsl_lbc.c:111:12: warning: incorrect type in assignment (different base types)
      arch/powerpc/sysdev/fsl_lbc.c:111:12:    expected restricted __be32 [usertype] br
      arch/powerpc/sysdev/fsl_lbc.c:111:12:    got unsigned int
      arch/powerpc/sysdev/fsl_lbc.c:113:17: warning: restricted __be32 degrades to integer
      arch/powerpc/sysdev/fsl_lbc.c:127:17: warning: restricted __be32 degrades to integer
      Signed-off-by: NKim Phillips <kim.phillips@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      01673a13
  3. 08 2月, 2013 1 次提交
    • D
      powerpc: fix ics_rtas_init and start_secondary section mismatch · 174ea471
      Daniel Borkmann 提交于
      It seems, we're fine with just annotating the two functions.
      Thus, this fixes the following build warnings on ppc64:
      
      WARNING: arch/powerpc/sysdev/xics/built-in.o(.text+0x1664):
      The function .ics_rtas_init() references
      the function __init .xics_register_ics().
      This is often because .ics_rtas_init lacks a __init
      annotation or the annotation of .xics_register_ics is wrong.
      
      WARNING: arch/powerpc/sysdev/built-in.o(.text+0x6044):
      The function .ics_rtas_init() references
      the function __init .xics_register_ics().
      This is often because .ics_rtas_init lacks a __init
      annotation or the annotation of .xics_register_ics is wrong.
      
      WARNING: arch/powerpc/kernel/built-in.o(.text+0x2db30):
      The function .start_secondary() references
      the function __cpuinit .vdso_getcpu_init().
      This is often because .start_secondary lacks a __cpuinit
      annotation or the annotation of .vdso_getcpu_init is wrong.
      
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NDaniel Borkmann <dborkman@redhat.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      174ea471
  4. 29 1月, 2013 1 次提交
  5. 10 1月, 2013 2 次提交
  6. 04 1月, 2013 1 次提交
    • G
      POWERPC: drivers: remove __dev* attributes. · cad5cef6
      Greg Kroah-Hartman 提交于
      CONFIG_HOTPLUG is going away as an option.  As a result, the __dev*
      markings need to be removed.
      
      This change removes the use of __devinit, __devexit_p, __devinitdata,
      __devinitconst, and __devexit from these drivers.
      
      Based on patches originally written by Bill Pemberton, but redone by me
      in order to handle some of the coding style issues better, by hand.
      
      Cc: Bill Pemberton <wfp5p@virginia.edu>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      cad5cef6
  7. 30 11月, 2012 1 次提交
    • G
      powerpc: Fix fallout from device_node->name constification · 499b42c3
      Grant Likely 提交于
      Commit c22618a1, "drivers/of: Constify device_node->name and
      ->path_component_name" changes device_node name to a const value, but
      the PowerPC scom code still assigns it to a non-void field in
      debugfs_blob_wrapper. The /right/ solution might be to change the
      debugfs_blob_wrapper->data to also be const, but that is a bit
      risky. Instead, cast the value to (void*). It is a bit ugly, but it
      is the safest change until it can be investigated where
      debugfs_blob_wrapper can be modified.
      Reported-by: NMichael Neuling <mikey@neuling.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      499b42c3
  8. 25 11月, 2012 1 次提交
  9. 17 11月, 2012 1 次提交
  10. 15 11月, 2012 2 次提交
  11. 06 10月, 2012 1 次提交
  12. 04 10月, 2012 1 次提交
  13. 27 9月, 2012 1 次提交
  14. 19 9月, 2012 2 次提交
  15. 13 9月, 2012 8 次提交
  16. 11 9月, 2012 2 次提交
  17. 05 9月, 2012 2 次提交
    • P
      powerpc: Make sure IPI handlers see data written by IPI senders · 9fb1b36c
      Paul Mackerras 提交于
      We have been observing hangs, both of KVM guest vcpu tasks and more
      generally, where a process that is woken doesn't properly wake up and
      continue to run, but instead sticks in TASK_WAKING state.  This
      happens because the update of rq->wake_list in ttwu_queue_remote()
      is not ordered with the update of ipi_message in
      smp_muxed_ipi_message_pass(), and the reading of rq->wake_list in
      scheduler_ipi() is not ordered with the reading of ipi_message in
      smp_ipi_demux().  Thus it is possible for the IPI receiver not to see
      the updated rq->wake_list and therefore conclude that there is nothing
      for it to do.
      
      In order to make sure that anything done before smp_send_reschedule()
      is ordered before anything done in the resulting call to scheduler_ipi(),
      this adds barriers in smp_muxed_message_pass() and smp_ipi_demux().
      The barrier in smp_muxed_message_pass() is a full barrier to ensure that
      there is a full ordering between the smp_send_reschedule() caller and
      scheduler_ipi().  In smp_ipi_demux(), we use xchg() rather than
      xchg_local() because xchg() includes release and acquire barriers.
      Using xchg() rather than xchg_local() makes sense given that
      ipi_message is not just accessed locally.
      
      This moves the barrier between setting the message and calling the
      cause_ipi() function into the individual cause_ipi implementations.
      Most of them -- those that used outb, out_8 or similar -- already had
      a full barrier because out_8 etc. include a sync before the MMIO
      store.  This adds an explicit barrier in the two remaining cases.
      
      These changes made no measurable difference to the speed of IPIs as
      measured using a simple ping-pong latency test across two CPUs on
      different cores of a POWER7 machine.
      
      The analysis of the reason why processes were not waking up properly
      is due to Milton Miller.
      
      Cc: stable@vger.kernel.org # v3.0+
      Reported-by: NMilton Miller <miltonm@bga.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      9fb1b36c
    • M
      powerpc/dart: Remove uses of virt_to_abs() and abs_to_virt() · 579468a9
      Michael Ellerman 提交于
      These days they are just wrappers around __pa() and __va() respectively.
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      579468a9
  18. 24 8月, 2012 1 次提交
  19. 03 8月, 2012 1 次提交
  20. 27 7月, 2012 1 次提交
  21. 23 7月, 2012 1 次提交
  22. 11 7月, 2012 3 次提交
    • G
      irqdomain: Eliminate dedicated radix lookup functions · d6b0d1f7
      Grant Likely 提交于
      In preparation to remove the slow revmap path, eliminate the public
      radix revmap lookup functions.  This simplifies the code and makes the
      slowpath removal patch a lot simpler.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Rob Herring <rob.herring@calxeda.com>
      d6b0d1f7
    • G
      irqdomain: Always update revmap when setting up a virq · 2a71a1a9
      Grant Likely 提交于
      At irq_setup_virq() time all of the data needed to update the reverse
      map is available, but the current code ignores it and relies upon the
      slow path to insert revmap records.  This patch adds revmap updating
      to the setup path so the slow path will no longer be necessary.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Rob Herring <rob.herring@calxeda.com>
      2a71a1a9
    • S
      powerpc/fsl-pci: get PCI init out of board files · 07e4f801
      Scott Wood 提交于
      As an alternative incremental starting point to Jia Hongtao's patchset,
      get the FSL PCI init out of the board files, but do not yet convert to a
      platform driver.
      
      Rather than having each board supply a magic register offset for
      determining the "primary" bus, we look for which PCI host bridge
      contains an ISA node within its subtree.  If there is no ISA node,
      normally that would mean there is no primary bus, but until certain
      bugs are fixed we arbitrarily designate a primary in this case.
      
      Conversion to a platform driver and related improvements can happen
      after this, as the ordering issues are sorted out.
      Signed-off-by: NScott Wood <scottwood@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      07e4f801