1. 22 Mar, 2003 2 commits
    • Ivan Kokshaysky's avatar
      [PCI] Make setup-bus.c aware of cardbus bridges. · e0246365
      Ivan Kokshaysky authored
      Comments from rmk:
      
      Make setup-bus.c properly aware of cardbus bridges.  We treat the
      bus behind a cardbus bridge more or less like any other bus, except
      we don't explicitly descend below.  We do, however, explicitly
      reserve IO and memory space as we have done in the past.  Memory
      space is doubed to 32MB as a measure to allow the Mobility
      cardbus-pci stuff to work.  The amount of space reserved is now
      specified by a couple of #defines at the top of the file.
      
      This allows pci_bus_assign_resources() and pci_bus_size_bridges()
      to be called for both root buses as well as cardbus secondary buses.
      
      Comments from Ivan follows:
      
      This patch combines your(rmk) cardbus changes (formerly pci-11)
      and my "arbitrary resource layout" stuff. This + current bk works
      on nautilus.
      
      Most interesting feature: this can be used on partially
      allocated PCI tree. For instance, i386 PCI code has always been
      absolutely helpless wrt incorrectly initialized p2p bridges.
      Now it can just call pci_assign_unassigned_resources() in the
      end of PCI init and it would fix following problems:
      - completely uninitialized bridge windows (with base and limit 0);
      - erroneously "closed" windows;
      - windows overlapping with something else.
      e0246365
    • Ivan Kokshaysky's avatar
      [PCI] Don't call pci_update_resource() for bridge resources. · 804aeb48
      Ivan Kokshaysky authored
        
      Minor cleanup: don't call pci_update_resource() for bridges,
      get rid of bogus "trying to set non-standard region" messages thus.
      804aeb48
  2. 16 Mar, 2003 10 commits
    • Russell King's avatar
      [PCI] pci-15: Fix setup-bus.c resource sizing. · 18e35894
      Russell King authored
      Patch from Ivan Kokshaysky
      
      This fixes long standing typo ('size' instead of 'r_size') which causes
      overestimate of the bridge memory ranges calculated in pbus_size_mem().
      For example, if we have a device with one 1Mb and one 2Mb memory ranges
      behind the bridge, calculated size and alignment of the bridge memory
      window will be 4Mb and 2Mb respectively, while the correct values are
      3Mb and 1Mb.
      18e35894
    • Russell King's avatar
    • Russell King's avatar
      [PCI] pci-13: unuse pci_do_scan_bus() · 52e13cc2
      Russell King authored
      In an attempt to "unuse" pci_do_scan_bus() so it can be eventually
      killed, make pci_scan_bus_parented() call the new pci_scan_child_bus()
      and pci_bus_add_devices().  The only remaining callers are the
      hotplug drivers.
      
      Eventually, pci_bus_add_devices() will be removed from this function -
      it is intended that architectures should call this after they have
      done any setups and fixups to the scanned bus.
      
      It is legal to call pci_bus_add_devices() on a bus which has already
      had this function called, so architectures could update today.
      52e13cc2
    • Russell King's avatar
      [PCI] pci-12: Add #defines for cardbus specifics · c907ed24
      Russell King authored
      Pull out the bits of cardbus configuration - the secondary latency
      timer, and the number of bus numbers we reserve.
      c907ed24
    • Russell King's avatar
      [PCI] pci-11: use u32 for bus numbers/latency not unsigned long · b65c581a
      Russell King authored
      pci_read_config_dword() takes a u32 pointer, not unsigned long.
      b65c581a
    • Russell King's avatar
      [PCI] pci-10: Miscellaneous cleanups to probe.c · 8ce306e1
      Russell King authored
      Miscellaneous cleanups to probe.c:
              - make code/comments wrap before column 80.
              - remove extraneous space.
      8ce306e1
    • Russell King's avatar
      [PCI] pci-9: Kill per-architecture pcibios_update_resource() · b64958d9
      Russell King authored
      Kill pcibios_update_resource(), replacing it with pci_update_resource().
      pci_update_resource() uses pcibios_resource_to_bus() to convert a
      resource to a device BAR - the transformation should be exactly the
      same as the transformation used for the PCI bridges.
      
      pci_update_resource "knows" about 64-bit BARs, but doesn't attempt to
      set the high 32-bits to anything non-zero - currently no architecture
      attempts to do something different.  If anyone cares, please fix; I'm
      going to reflect current behaviour for the time being.
      
      Ivan pointed out the following architectures need to examine their
      pcibios_update_resource() implementation - they should make sure that
      this new implementation does the right thing.  #warning's have been
      added where appropriate.
      
      	ia64
      	mips
      	mips64
      
      This cset also includes a fix for the problem reported by AKPM where
      64-bit arch compilers complain about the resource mask being placed
      in a u32.
      b64958d9
    • Russell King's avatar
      [PCI] pci-8: pci_resource_to_bus() · 2ef9c88b
      Russell King authored
      Convert pcibios_fixup_pbus_ranges() into something more generic, namely
      pcibios_resource_to_bus() - we are really trying to convert resources
      to something to program into bus registers for bridge windows, and in
      fact, PCI device BARs.
      
      This is necessary since some architectures, namely Alpha, ARM and PARISC
      have an offset between PCI addressing and host-based addressing, so
      resources need to be adjusted when read or when written back to the bus.
      
      We provide a generic version in asm-generic/pci.h, which most
      architectures use.
      
      This patch finds the following architectures with something to think
      consider:
      
              - ppc, ppc64
                      adjusts resources for devices, but not buses.
      		This is inconsistent, and leads to improperly
      		programmed windows/BARs.
      
      PPC people (Anton) has a replacement PCI resource implementation
      which should do the right thing.
      2ef9c88b
    • Russell King's avatar
      [PCI] pci-7: Remove second argument to pcibios_update_resource() · 032d6c6e
      Russell King authored
      Patch from Ivan Kokshaysky
      
      remove the "parent" or "root" second argument to
      pcibios_update_resource().  This highlights the following
      architectures doing something wrong in their implementation:
      
              - ia64
              - mips it8172
              - mips "generic mips boards"
              - mips64 "generic mips boards"
              - mips64 IP27
      032d6c6e
    • Russell King's avatar
      [PCI] pci-6 - Fix scanning of non-zero functions · a9d96a6e
      Russell King authored
      Fix breakage in pci-3 - we scanned all functions if function 0 was not
      present.  This causes some host bridges to lock up when scanning devfn
      255 on PPC machines.
      a9d96a6e
  3. 15 Mar, 2003 10 commits
  4. 16 Mar, 2003 5 commits
  5. 15 Mar, 2003 3 commits
  6. 16 Mar, 2003 6 commits
  7. 15 Mar, 2003 1 commit
  8. 14 Mar, 2003 3 commits