Home | History | Annotate | Download | only in pci
History log of /src/sys/dev/pci/bha_pci.c
RevisionDateAuthorComments
 1.41  13-Oct-2016  jdolecek provide intr xname
 1.40  18-Oct-2014  snj branches: 1.40.2; 1.40.4;
src is too big these days to tolerate superfluous apostrophes. It's
"its", people!
 1.39  29-Mar-2014  christos make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.38  27-Oct-2012  chs branches: 1.38.2;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.37  26-Nov-2009  njoly branches: 1.37.12; 1.37.22;
Cleanup interrupt establish error messages. Do not mix
aprint_error/aprint_normal/printf calls for a single line.
 1.36  12-May-2009  cegger use device_private().
"looks good" ad@
XXX for the device_t/softc split, please check the driver that no cases have been missed.
 1.35  06-May-2009  cegger struct device * -> device_t, no functional changes intended.
 1.34  06-May-2009  cegger struct cfdata * -> cfdata_t, no functional changes intended.
 1.33  28-Apr-2008  martin branches: 1.33.14;
Remove clause 3 and 4 from TNF licenses
 1.32  10-Apr-2008  cegger branches: 1.32.2; 1.32.4;
use aprint_*_dev and device_xname
 1.31  19-Oct-2007  ad branches: 1.31.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.30  16-Nov-2006  christos branches: 1.30.8; 1.30.22; 1.30.24; 1.30.28;
__unused removal on arguments; approved by core.
 1.29  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.28  11-Dec-2005  christos branches: 1.28.20; 1.28.22;
merge ktrace-lwp.
 1.27  28-Jun-2005  thorpej branches: 1.27.2;
Use ANSI function decls and static.
 1.26  04-Feb-2005  perry de-__P
 1.25  31-Jan-2003  thorpej branches: 1.25.2; 1.25.10; 1.25.12;
Use aprint_*().
 1.24  02-Oct-2002  thorpej Add trailing ; to CFATTACH_DECL.
 1.23  30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.22  27-Sep-2002  thorpej Declare all cfattach structures const.
 1.21  15-Nov-2001  lukem don't need <sys/types.h> when including <sys/param.h>
 1.20  13-Nov-2001  lukem add RCSID
 1.19  03-May-2001  ross branches: 1.19.2;
Split pci and eisa/isa attachment calls, plus misc cleanup.
 1.18  25-Apr-2001  bouyer Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
(no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
 1.17  28-Dec-2000  sommerfeld branches: 1.17.2;
Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

This both simplifies the driver api, and allows for alternate PCI
interrupt mapping schemes, such as one using the tables described in
the Intel Multiprocessor Spec which describe interrupt wirings for
devices behind pci-pci bridges based on the device's location rather
the bridge's location.

Tested on alpha and i386; welcome to 1.5Q
 1.16  15-Aug-1998  mycroft branches: 1.16.12;
Assign my copyrights to TNF.
 1.15  08-Jun-1998  thorpej Nuke __BROKEN_INDIRECT_CONFIG.
 1.14  27-Aug-1997  bouyer Merge scsipi branch in the mainline. This add support for ATAPI devices
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
 1.13  07-Jun-1997  thorpej branches: 1.13.2; 1.13.4;
Pull the thorpej-bus-dma branch into the mainline.
 1.12  13-Apr-1997  cgd branches: 1.12.2;
rename pci_map_register to pci_mapreg_map. The latter name is more
descriptive, and allows for a sane name for a function which just digs
the info out of the mapping register but doesn't do the mapping.
 1.11  13-Apr-1997  cgd use pci_map_register().
 1.10  28-Mar-1997  mycroft Use a temporary data structure for holding probe information, rather than a
full softc.
 1.9  13-Mar-1997  cgd clean up the __BROKEN_INDIRECT_CONFIG chunks of the last change
 1.8  13-Mar-1997  cgd fixes from Matt Jacob so that these can compile and run on the Alpha.
(aic7xxx has been tested and works on the Alpha, bha has not yet been
tested on thne Alpha.)
 1.7  17-Feb-1997  jonathan Change bha_pci product names to match latest pcidevs:
PCI_PRODUCT_BUSLOGIC_OLD946C -> PCI_PRODUCT_BUSLOGIC_MULTIMASTER_NC
PCI_PRODUCT_BUSLOGIC_946C -> PCI_PRODUCT_BUSLOGIC_MULTIMASTER
 1.6  05-Nov-1996  jonathan branches: 1.6.4;
* Add command struct and modifier definitions for controlling the
ISA-compatible port space of PCI buslogic cards.

* Add call to bha_pci.c to disable the ISA-compatible ports of a PCI
device. The ISA-compatible ports are enabled by default, which
causes the card to be autoconfigured a second time as an ISA device,
which appears to deadlock the card.

* Change bha_cmd() to return the number of bytes it actually received
in response to a command, or -1 on error.

* Use heuristics (checking for bha-only registers, and checking the size
of the response to BHA_INQURE_EXTENDED) to bha_find, to make sure the
bha driver never matches an aha (Adaptec 1542 or compatible) device.

A single kernel should now boot on either Adaptec or BusLogic controllers,
provided we always probe for BusLogic devices before Adaptec devices,
but this has not yet been verified.
 1.5  21-Oct-1996  thorpej New bus.h implementation/interface:
- No more distinction between i/o-mapped and memory-mapped
devices. It's all "bus space" now, and space tags
differentiate the space with finer grain than the
bus chipset tag.
- Add memory barrier methods.
- Implement space alloc/free methods.
- Implement region read/write methods (like memcpy to/from
bus space).
This interface provides a better abstraction for dealing with
machine-independent chipset drivers.
 1.4  13-Oct-1996  christos backout kprintf changes
 1.3  10-Oct-1996  christos - printf -> kprintf, sprintf -> ksprintf
- include systm.h
 1.2  01-Sep-1996  mycroft Minor changes.
 1.1  31-Aug-1996  mycroft Split the BusLogic driver apart, and rename it to `bha (like BSDi).
 1.6.4.1  12-Mar-1997  is Merge in changes from The Trunk
 1.12.2.1  13-May-1997  thorpej Stash the bus dma tag and bus-specific DMA flags in the softc.
 1.13.4.1  27-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.13.2.1  01-Jul-1997  bouyer Updates for new scsipi subsystem. Actally known to work on i386 and sparc.
 1.16.12.2  27-Mar-2001  bouyer Convert these drivers to thorpej_scsipi (untested).
 1.16.12.1  05-Jan-2001  bouyer Sync with HEAD
 1.17.2.4  18-Oct-2002  nathanw Catch up to -current.
 1.17.2.3  08-Jan-2002  nathanw Catch up to -current.
 1.17.2.2  14-Nov-2001  nathanw Catch up to -current.
 1.17.2.1  21-Jun-2001  nathanw Catch up to -current.
 1.19.2.2  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.19.2.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.25.12.1  12-Feb-2005  yamt sync with head.
 1.25.10.1  29-Apr-2005  kent sync with -current
 1.25.2.2  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.25.2.1  04-Feb-2005  skrll Sync with HEAD.
 1.27.2.2  27-Oct-2007  yamt sync with head.
 1.27.2.1  30-Dec-2006  yamt sync with head.
 1.28.22.2  10-Dec-2006  yamt sync with head.
 1.28.22.1  22-Oct-2006  yamt sync with head
 1.28.20.1  18-Nov-2006  ad Sync with head.
 1.30.28.1  25-Oct-2007  bouyer Sync with HEAD.
 1.30.24.1  06-Nov-2007  matt sync with HEAD
 1.30.22.1  26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.30.8.1  23-Oct-2007  ad Sync with head.
 1.31.16.1  02-Jun-2008  mjf Sync with HEAD.
 1.32.4.3  11-Mar-2010  yamt sync with head
 1.32.4.2  16-May-2009  yamt sync with head
 1.32.4.1  16-May-2008  yamt sync with head.
 1.32.2.1  18-May-2008  yamt sync with head.
 1.33.14.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.37.22.3  03-Dec-2017  jdolecek update from HEAD
 1.37.22.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.37.22.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.37.12.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.37.12.1  30-Oct-2012  yamt sync with head
 1.38.2.1  18-May-2014  rmind sync with head
 1.40.4.1  04-Nov-2016  pgoyette Sync with HEAD
 1.40.2.1  05-Dec-2016  skrll Sync with HEAD

RSS XML Feed