1. 06 7月, 2010 5 次提交
    • G
      of/address: Merge all of the bus translation code · dbbdee94
      Grant Likely 提交于
      Microblaze and PowerPC share a large chunk of code for translating
      OF device tree data into usable addresses.  Differences between the two
      consist of cosmetic differences, and the addition of dma-ranges support
      code to powerpc but not microblaze.  This patch moves the powerpc
      version into common code and applies many of the cosmetic (non-functional)
      changes from the microblaze version.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: Michal Simek <monstr@monstr.eu>
      CC: Wolfram Sang <w.sang@pengutronix.de>
      CC: Stephen Rothwell <sfr@canb.auug.org.au>
      dbbdee94
    • G
      of/address: merge of_address_to_resource() · 1f5bef30
      Grant Likely 提交于
      Merge common code between PowerPC and Microblaze.  This patch also
      moves the prototype of pci_address_to_pio() out of pci-bridge.h and
      into prom.h because the only user of pci_address_to_pio() is
      of_address_to_resource().
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: Michal Simek <monstr@monstr.eu>
      CC: Stephen Rothwell <sfr@canb.auug.org.au>
      1f5bef30
    • G
      of/address: merge of_iomap() · 6b884a8d
      Grant Likely 提交于
      Merge common code between Microblaze and PowerPC.  This patch creates
      new of_address.h and address.c files to containing address translation
      and mapping routines.  First routine to be moved it of_iomap()
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: Michal Simek <monstr@monstr.eu>
      CC: Stephen Rothwell <sfr@canb.auug.org.au>
      6b884a8d
    • G
      of/irq: merge irq mapping code · 7dc2e113
      Grant Likely 提交于
      Merge common irq mapping code between PowerPC and Microblaze.
      
      This patch merges of_irq_find_parent(), of_irq_map_raw() and
      of_irq_map_one().  The functions are dependent on one another, so all
      three are merged in a single patch.  Other than cosmetic difference
      (ie. DBG() vs. pr_debug()), the implementations are identical.
      
      of_irq_to_resource() is also merged, but in this case the
      implementations are different.  This patch drops the microblaze version
      and uses the powerpc implementation unchanged.  The microblaze version
      essentially open-coded irq_of_parse_and_map() which it does not need
      to do.  Therefore the powerpc version is safe to adopt.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      CC: Michal Simek <monstr@monstr.eu>
      CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: Stephen Rothwell <sfr@canb.auug.org.au>
      7dc2e113
    • G
      of/powerpc: Move Powermac irq quirk code into powermac pic driver code · b83da291
      Grant Likely 提交于
      The code that figures out what is wrong with the powermac irq device
      tree data belongs with the rest of the powermac irq code.  This patch
      moves it out of prom_parse.c and into powermac/pic.c so that it is only
      compiled in when actually needed.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      b83da291
  2. 21 4月, 2009 1 次提交
  3. 08 1月, 2009 1 次提交
  4. 01 12月, 2008 1 次提交
  5. 19 11月, 2008 1 次提交
  6. 22 7月, 2008 1 次提交
  7. 11 12月, 2007 2 次提交
  8. 26 7月, 2007 1 次提交
    • P
      Revert "[POWERPC] Don't complain if size-cells == 0 in prom_parse()" · 77926826
      Paul Mackerras 提交于
      This reverts commit fd6e9d39.
      
      Having #size-cells == 0 in a node indicates that things under the
      node aren't directly accessible, and therefore we shouldn't try to
      translate addresses for devices under the node into CPU physical
      addresses.
      
      Some drivers, such as the nvram driver for powermacs, rely on
      of_address_to_resource failing if they are called for a node
      representing a device whose resources aren't directly accessible
      by the CPU.  These drivers were broken by commit fd6e9d39,
      resulting in the "Lombard" powerbook hanging early in the boot
      process.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      77926826
  9. 12 5月, 2007 1 次提交
  10. 02 5月, 2007 2 次提交
  11. 13 4月, 2007 3 次提交
  12. 08 3月, 2007 1 次提交
  13. 17 2月, 2007 1 次提交
  14. 20 12月, 2006 1 次提交
  15. 04 12月, 2006 1 次提交
  16. 24 10月, 2006 1 次提交
  17. 09 10月, 2006 1 次提交
  18. 06 10月, 2006 1 次提交
    • B
      [POWERPC] Don't get PCI IRQ from OF for devices with no IRQ · 41550c51
      Benjamin Herrenschmidt 提交于
      This patch adds checking of the PCI_INTERRUPT_PIN register before
      using standard OF parsing to retreive PCI interrupts. The reason is
      that some PCI devices may have no PCI interrupt, though they may have
      interrupts attached via other means. In this case, we shall not use
      irq->pdev, but device-specific code can later retreive those interrupts
      instead.
      
      Without that patch, Maple and derivatives don't get the right interrupt
      for the second IDE channel as the linux IDE code fallsback to the PCI
      irq instead of trying to use the legacy ones for the on-board controller
      (which has no PCI_INTERRUPT_PIN). Having no PCI IRQ assign to it (as it
      doesn't request any) fixes it.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      41550c51
  19. 30 8月, 2006 1 次提交
  20. 23 8月, 2006 1 次提交
  21. 31 7月, 2006 1 次提交
  22. 11 7月, 2006 1 次提交
  23. 07 7月, 2006 1 次提交
  24. 03 7月, 2006 1 次提交
  25. 09 6月, 2006 1 次提交
  26. 19 5月, 2006 1 次提交
  27. 07 2月, 2006 1 次提交
    • O
      [PATCH] powerpc: add refcounting to setup_peg2 and of_get_pci_address · d60dcd94
      Olaf Hering 提交于
      setup_peg2 must do some refcounting.
      of_get_pci_address may need to drop the node
      
      	Pegasos l2cr : L2 cache was not active, activating
      	PCI bus 0 controlled by pci at 80000000
      	Badness in kref_get at /home/olaf/kernel/olh/ppc64/linux-2.6.16-rc2-olh/lib/kref.c:32
      	Call Trace:
      	[C037BD00] [C0007934] show_stack+0x5c/0x184 (unreliable)
      	[C037BD30] [C000E068] program_check_exception+0x184/0x584
      	[C037BD90] [C000F5F0] ret_from_except_full+0x0/0x4c
      	--- Exception: 700 at kref_get+0xc/0x24
      	    LR = of_node_get+0x24/0x3c
      	[C037BE50] [C004FD94] __pte_alloc_kernel+0x64/0x80 (unreliable)
      	[C037BE70] [C000CA18] of_get_parent+0x34/0x58
      	[C037BE90] [C0009B18] of_get_address+0x24/0x174
      	[C037BED0] [C000A108] of_address_to_resource+0x24/0x68
      	[C037BF00] [C038B128] chrp_find_bridges+0x114/0x470
      	[C037BF90] [C038AE48] chrp_setup_arch+0x1fc/0x32c
      	[C037BFB0] [C03849B0] setup_arch+0x144/0x188
      	[C037BFD0] [C037C45C] start_kernel+0x34/0x1a8
      	[C037BFF0] [000037A0] 0x37a0
      	Badness in kref_get at /home/olaf/kernel/olh/ppc64/linux-2.6.16-rc2-olh/lib/kref.c:32
      	Call Trace:
      	[C037BC90] [C0007934] show_stack+0x5c/0x184 (unreliable)
      	[C037BCC0] [C000E068] program_check_exception+0x184/0x584
      	[C037BD20] [C000F5F0] ret_from_except_full+0x0/0x4c
      	--- Exception: 700 at kref_get+0xc/0x24
      	    LR = of_node_get+0x24/0x3c
      	[C037BDE0] [00000000] 0x0 (unreliable)
      	[C037BE00] [C000CA18] of_get_parent+0x34/0x58
      	[C037BE20] [C0009CE8] of_translate_address+0x2c/0x2fc
      	[C037BEA0] [C0009FE8] __of_address_to_resource+0x30/0xc4
      	[C037BED0] [C000A130] of_address_to_resource+0x4c/0x68
      	[C037BF00] [C038B128] chrp_find_bridges+0x114/0x470
      	[C037BF90] [C038AE48] chrp_setup_arch+0x1fc/0x32c
      	[C037BFB0] [C03849B0] setup_arch+0x144/0x188
      	[C037BFD0] [C037C45C] start_kernel+0x34/0x1a8
      	[C037BFF0] [000037A0] 0x37a0
      	PCI bus 0 controlled by pci at c0000000
      	Top of RAM: 0x10000000, Total RAM: 0x10000000
      Signed-off-by: NOlaf Hering <olh@suse.de>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      d60dcd94
  28. 14 1月, 2006 1 次提交
    • P
      [PATCH] powerpc: Recognize /chaos bridge on old pmacs as PCI · d5f07900
      Paul Mackerras 提交于
      The first generation of PCI powermacs had a host bridge called /chaos
      which was for all intents and purposes a PCI host bridge, but has a
      device_type of "vci" in the device tree (presumably it's not really
      PCI at the hardware level or something).
      
      The OF parsing stuff in arch/powerpc/kernel/prom_parse.c currently
      doesn't recognize it as a PCI bridge, which means that controlfb.c
      can't get its device addresses.
      
      This makes prom_parse.c recognize a device_type of "vci" as indicating
      a PCI host bridge.  With this, controlfb works again.
      Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      d5f07900
  29. 09 1月, 2006 4 次提交