1. 26 10月, 2006 1 次提交
    • D
      [SPARC64]: Fix central/FHC bus handling on Ex000 systems. · 4130a4b2
      David S. Miller 提交于
      1) probe_other_fhcs() wants to see only non-central FHC
         busses, so skip FHCs that don't sit off the root
      
      2) Like SBUS, FHC can lack the appropriate address and
         size cell count properties, so add an of_busses[]
         entry and handlers for that.
      
      3) Central FHC irq translator probing was buggy.  We
         were trying to use dp->child in irq_trans_init but
         that linkage is not setup at this point.
      
         So instead, pass in the parent of "dp" and look for
         the child "fhc" with parent "central".
      
      Thanks to the tireless assistence of Ben Collins in tracking
      down these problems and testing out these fixes.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4130a4b2
  2. 04 10月, 2006 1 次提交
  3. 22 7月, 2006 1 次提交
    • D
      [SPARC64]: Fix more of_device layer IRQ bugs, and correct PROMREG_MAX. · 46ba6d7d
      David S. Miller 提交于
      Sabre and Psycho PCI controllers can have partial interrupt-map
      properties, meaning that on-board devices don't match up to any
      entries.  Instead, they are fully specified from the beginning and
      we should pass them directly to the IRQ translator as-is.
      
      Also, fill in the necessary translator slots for the "graphics"
      and "expansion UPA" interrupts on Sabre, Psycho, and SYSIO SBUS.
      
      Increase PROMREG_MAX to 24, as seen on SUNW,ffb devices.
      
      Finally, prevent accidentally writing past the end of the of_device
      struct resource[] and irqs[] arrays.  Spit out a log message when
      we ignore some entries because there are too many of them.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      46ba6d7d
  4. 13 7月, 2006 2 次提交
  5. 06 7月, 2006 1 次提交
  6. 01 7月, 2006 1 次提交
  7. 30 6月, 2006 2 次提交
    • D
      [SPARC64]: of_device layer IRQ resolution · 2b1e5978
      David S. Miller 提交于
      Do IRQ determination generically by parsing the PROM properties,
      and using IRQ controller drivers for final resolution.
      
      One immediate positive effect is that all of the IRQ frobbing
      in the EBUS, ISA, and PCI controller layers has been eliminated.
      We just look up the of_device and use the properly computed
      value.
      
      The PCI controller irq_build() routines are gone and no longer
      used.  Unfortunately sbus_build_irq() has to remain as there is
      a direct reference to this in the sunzilog driver.  That can be
      killed off once the sparc32 side of this is written and the
      sunzilog driver is transformed into an "of" bus driver.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2b1e5978
    • D
      [SPARC]: Add of_n_{addr,size}_cells(). · 3ae9a348
      David S. Miller 提交于
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3ae9a348
  8. 26 6月, 2006 2 次提交
  9. 24 6月, 2006 6 次提交