1. 08 1月, 2009 1 次提交
    • T
      powerpc/fsl-pci: Better ATMU setup for 85xx/86xx · a097a78c
      Trent Piepho 提交于
      The code that sets up the outbound ATMU windows, which is used to map CPU
      physical addresses into PCI bus addresses where BARs will be mapped, didn't
      work so well.
      
      For one, it leaked the ioremap() of the ATMU registers.  Another small bug
      was the high 20 bits of the PCI bus address were left as zero.  It's legal
      for prefetchable memory regions to be above 32 bits, so the high 20 bits
      might not be zero.
      
      Mainly, it couldn't handle ranges that were not a power of two in size or
      were not naturally aligned.  The ATMU windows have these requirements (size
      & alignment), but the code didn't bother to check if the ranges it was
      programming met them.  If they didn't, the windows would silently be
      programmed incorrectly.
      
      This new code can handle ranges which are not power of two sized nor
      naturally aligned.  It simply splits the ranges into multiple valid ATMU
      windows.  As there are only four windows, pooly aligned or sized ranges
      (which didn't even work before) may run out of windows.  In this case an
      error is printed and an effort is made to disable the unmapped resources.
      
      An improvement that could be made would be to make use of the default
      outbound window.  Iff hose->pci_mem_offset is zero, then it's possible that
      some or all of the ranges might not need an outbound window and could just
      use the default window.
      
      The default ATMU window can support a pci_mem_offset less than zero too,
      but pci_mem_offset is unsigned.  One could say the abilities allowed a
      powerpc pci_controller is neither subset nor a superset of the abilities of
      a Freescale PCIe controller.  Thankfully, the most useful bits are in the
      intersection of the two abilities.
      Signed-off-by: NTrent Piepho <tpiepho@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      a097a78c
  2. 31 12月, 2008 1 次提交
  3. 16 12月, 2008 1 次提交
  4. 14 10月, 2008 2 次提交
  5. 17 7月, 2008 1 次提交
  6. 14 7月, 2008 1 次提交
  7. 03 6月, 2008 2 次提交
  8. 24 1月, 2008 1 次提交
  9. 20 12月, 2007 1 次提交
  10. 03 12月, 2007 1 次提交
  11. 16 10月, 2007 1 次提交
  12. 08 10月, 2007 2 次提交
  13. 14 9月, 2007 1 次提交
  14. 22 8月, 2007 1 次提交
  15. 26 7月, 2007 1 次提交
    • K
      [POWREPC] Fixup a number of modpost warnings on ppc32 · 282045b4
      Kumar Gala 提交于
      Fixed the following warnings:
      
      WARNING: vmlinux.o(.text+0x2934): Section mismatch: reference to .init.text:__alloc_bootmem (between 'irq_alloc_host' and 'irq_set_default_host')
      WARNING: vmlinux.o(.text+0xb2aa): Section mismatch: reference to .init.data:boot_command_line (between 'register_early_udbg_console' and 'udbg_printf')
      WARNING: vmlinux.o(.text+0xb2b2): Section mismatch: reference to .init.data:boot_command_line (between 'register_early_udbg_console' and 'udbg_printf')
      WARNING: vmlinux.o(.text+0xe354): Section mismatch: reference to .init.text:__alloc_bootmem (between 'pcibios_alloc_controller' and 'pci_domain_nr')
      WARNING: vmlinux.o(.text+0x12768): Section mismatch: reference to .init.text:update_bridge_resource (between 'quirk_fsl_pcie_transparent' and 'indirect_read_config')
      WARNING: vmlinux.o(.text+0x127a8): Section mismatch: reference to .init.text:update_bridge_resource (between 'quirk_fsl_pcie_transparent' and 'indirect_read_config')
      WARNING: vmlinux.o(.text+0x17566c): Section mismatch: reference to .init.text:pcibios_fixup_bus (between 'pci_scan_child_bus' and 'pci_scan_bus_parented')
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      282045b4
  16. 25 7月, 2007 1 次提交
  17. 24 7月, 2007 6 次提交
  18. 23 7月, 2007 6 次提交
  19. 29 6月, 2007 9 次提交