freebsd-dev/sys/sparc64
Marius Strobl d05b58ad32 o Changes to psycho_attach(): [1]
- Clear the PCI AFSR and status error bits as previous errors still
    might be indicated.
  - Set up the PCI control and diagnostic registers according to the
    capabilities, workarounds, etc of/for specific revisions of the
    supported bridges. This includes no longer setting Hummingbird-/
    Sabre-specific bits in the PCI control register but preserving
    what the firmware has initialized them to like OpenSolaris does.
    Previously we were setting these bits according to the example in
    the Sabre documentation, which I doubt is appropriate for all
    Sabre based designs and especially not for Hummingbirds. This
    also includes not enabling bus parking unless the firmware tells
    us to.
  - Set the PCI latency timer register as this isn't always done by
    the firmware.
o Remove a redundant argument from psycho_set_intr() and in this
  function check the return value of bus_setup_intr(). [2]
o Let psycho_setup_intr() return ENOMEM instead of 0 when it can't
  allocate memory for the interrupt wrapper stub and EINVAL instead
  of 0 if it can't find the interrupt vector in the interrupt map.
o Add a workaround for a bug of the Sabre-APB-combination where it
  doesn't drain DMA write data for devices behind additional PCI-PCI
  bridges underneath the APB PCI-PCI bridge. This workaround (do
  things necessary in order to achieve a manual drain when coherency
  is required) is currently implemented in psycho_setup_intr() and
  psycho_intr_stub() (for easy MFC'ing) and therefore is only applied
  for interrupt handlers. This should be moved to psycho(4)-specific
  bus_dma_tag_create() and bus_dmamap_sync() methods, respectively,
  once this driver is converted to make use of BUS_GET_DMA_TAG(), so
  the workaround is also applied for polling(4) callbacks. [3]
o Fix some minor style issues.

Info from:	OpenSolaris [1]
Info from:	Linux, OpenBSD, OpenSolaris [3]
Suggested by:	Coverity Prevent (CID 682) [2]
MFC after:	1 month
2007-01-08 01:26:47 +00:00
..
central - Register the generic implementations for the device shutdown, suspend 2006-01-26 21:14:32 +00:00
compile
conf Remove the KDTRACE option again because of the complaints about having 2006-11-04 23:50:12 +00:00
creator - Declare lookup tables etc. const. 2005-07-10 11:16:34 +00:00
ebus Set the rid for any resource obtained from rman_reserve_resource. 2006-04-20 04:20:41 +00:00
fhc Add convenience macros for the full register set and use them to replace 2006-03-28 19:46:48 +00:00
include add new large page sizes for use by shared loader 2006-12-18 07:28:59 +00:00
isa - Declare the PnP map const. 2006-06-05 17:48:54 +00:00
pci o Changes to psycho_attach(): [1] 2007-01-08 01:26:47 +00:00
sbus - Merge sys/sparc64/pci/psycho.c rev. 1.8: 2006-06-08 21:02:25 +00:00
sparc64 GC unused fields in pcpu 2006-12-17 02:04:19 +00:00