Home | History | Annotate | Download | only in pci
History log of /src/sys/dev/pci/aac_pci.c
RevisionDateAuthorComments
 1.42  25-Sep-2022  thorpej Remove unnecessary include of <sys/malloc.h>.
 1.41  24-Apr-2021  thorpej Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.40  09-Dec-2018  jdolecek branches: 1.40.14;
use pci_intr_establish_xname() everywhere
 1.39  15-Oct-2018  uwe Add Adaptec RAID 2445 and 2805.
From Dima Veselov.
 1.38  27-Sep-2016  pgoyette branches: 1.38.8; 1.38.14; 1.38.16;
Modularize the ld driver and all of its attachments. Ensure that all
parents are capable of rescan (or otherwise provide a means of attaching
children post-initialization).
 1.37  07-Jul-2016  msaitoh branches: 1.37.2;
KNF. Remove extra spaces. No functional change.
 1.36  29-Mar-2014  christos branches: 1.36.6;
make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.35  27-Oct-2012  chs branches: 1.35.2;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.34  23-Sep-2012  chs match some more devices.
 1.33  29-Sep-2011  is branches: 1.33.2; 1.33.8; 1.33.12;
Use symbolic constants for SUNs version of ADP2_ASR2200S.
 1.32  18-Feb-2011  jmcneill add Adaptec RAID 3405
 1.31  07-May-2010  is branches: 1.31.2; 1.31.4;
SUN X4140's version of this board. From FreeBSD.
 1.30  26-Nov-2009  njoly branches: 1.30.2; 1.30.4;
Cleanup interrupt establish error messages. Do not mix
aprint_error/aprint_normal/printf calls for a single line.
 1.29  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.28  06-May-2009  cegger struct device * -> device_t, no functional changes intended.
 1.27  06-May-2009  cegger struct cfdata * -> cfdata_t, no functional changes intended.
 1.26  02-Jan-2009  briggs branches: 1.26.2;
Allocate enough space for the aac_pci_softc, not just the aac_softc.
 1.25  08-May-2008  sborrill branches: 1.25.6; 1.25.8;
Add support for IBM ServeRAID 8k (and 8k-l)
 1.24  28-Apr-2008  martin branches: 1.24.2;
Remove clause 3 and 4 from TNF licenses
 1.23  10-Apr-2008  cegger branches: 1.23.2; 1.23.4;
use aprint_*_dev and device_xname
 1.22  19-Oct-2007  ad branches: 1.22.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.21  05-Jun-2007  briggs branches: 1.21.6; 1.21.8; 1.21.12;
Bring in changes from FreeBSD...
* Allocate commands on-demand.
* Update a bunch of constants and some structures.
* Use __attribute__ ((__packed__)) instead of __packed to be consistent.
* Support more commands for devices that can apparently handle them.
* Support a "new comm. interface" present in more recent Adaptec
firmware. This reduces the amount of PCI bus traffic in handling
commands.
* Support larger commands going to the adapter--if the adapter can
support them.
* Support 64-bit commands for archs where sizeof(bus_addr_t) > 4 and
for adapters that advertise SGMAP64.
* Handle the WINDOW4G option and NO4GB quirk by excluding 2G-4G window
unless we have the WINDOW4G capability without the NO4GB quirk.
* Ask the adapter more about its capabilities and try to use those if
they seem sane.
* Do our bus_dmamap_sync() inside dequeue_fib instead of following,
since we have the information that we need there.
* Provide access functions for some adapters that I haven't seen yet
(MIPS-based "Rocket" adapters). Not yet used.
 1.20  10-Mar-2007  christos branches: 1.20.2;
PR/35970: Todd Kover: Add support for HP ML110 G2 / Adaptec 2610SA
 1.19  16-Nov-2006  christos branches: 1.19.2; 1.19.4; 1.19.8; 1.19.10;
__unused removal on arguments; approved by core.
 1.18  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.17  28-Aug-2006  christos branches: 1.17.2; 1.17.4;
static comes first.
 1.16  11-Dec-2005  christos branches: 1.16.4; 1.16.8;
merge ktrace-lwp.
 1.15  28-Jun-2005  thorpej branches: 1.15.2;
Use ANSI function decls and static.
 1.14  06-Apr-2005  martti Added support for Dell CERC SATA RAID 1.5/6ch
 1.13  19-Mar-2005  tron Use PCI id symbol for the Adaptec ASR-2410SA instead of hardcoding
the number.
 1.12  01-Mar-2005  briggs branches: 1.12.2;
* Remove aif_get_mailboxstatus() from the aac_interface structure. Replace
with aif_get_mailbox(). Make it return uint32_t instead of 'int'.
* Add an AAC_GET_MAILBOX() macro and change AAC_GET_MAILBOXSTATUS() to use
that.
* Update the Dell PERC 2QC quirk code to use AAC_GET_MAILBOX instead of the
StrongARM-specific code. While StrongARM access is correct for that card,
it's a bad example of how to access the mailbox registers.
* Add the GETINFO command and use it to get and display the card's
supported options at a verbose level during attachment.
 1.11  27-Feb-2005  perry nuke trailing whitespace
 1.10  10-May-2004  gendalia branches: 1.10.4; 1.10.6;
Add support for Adaptec AAR 2810SA raid controller.
 1.9  06-May-2004  jdolecek match Adaptec 2410SA
XXX we should probably match all cards with product ID ASR2200S
 1.8  26-Mar-2004  gendalia branches: 1.8.2;
Add support for Adaptec 2200S (Vulcan 2M) and Dell PERC 320/DC
 1.7  31-Jan-2003  thorpej branches: 1.7.2;
Use aprint_*().
 1.6  02-Oct-2002  thorpej Add trailing ; to CFATTACH_DECL.
 1.5  30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.4  27-Sep-2002  thorpej Declare all cfattach structures const.
 1.3  02-Aug-2002  ad PR 17719 from Mark Davies: Additional Adaptec RAID controller types.
 1.2  15-May-2002  augustss branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8;
Adapt to new bridge name.
 1.1  26-Apr-2002  ad Add a driver for Adaptec FSA RAID controllers, as often found in Dell
servers. Based on the FreeBSD/OpenBSD versions.
 1.2.8.4  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.2.8.3  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.2.8.2  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.2.8.1  15-May-2002  jdolecek file aac_pci.c was added on branch kqueue on 2002-06-23 17:47:32 +0000
 1.2.6.4  18-Oct-2002  nathanw Catch up to -current.
 1.2.6.3  13-Aug-2002  nathanw Catch up to -current.
 1.2.6.2  20-Jun-2002  nathanw Catch up to -current.
 1.2.6.1  15-May-2002  nathanw file aac_pci.c was added on branch nathanw_sa on 2002-06-20 03:45:19 +0000
 1.2.4.5  01-Jun-2005  riz Pull up revision 1.13 (requested by tron in ticket #5721):
Use PCI id symbol for the Adaptec ASR-2410SA instead of hardcoding
the number.
 1.2.4.4  19-Mar-2005  tron Pull up revision 1.10 (requested by he in ticket #1755):
Add support for Adaptec AAR 2810SA raid controller.
 1.2.4.3  19-Mar-2005  tron Pull up revision 1.9 (requested by he in ticket #1755):
match Adaptec 2410SA
XXX we should probably match all cards with product ID ASR2200S
 1.2.4.2  19-Mar-2005  tron Pull up revision 1.8 (requested by he in ticket #1755):
Add support for Adaptec 2200S (Vulcan 2M) and Dell PERC 320/DC
 1.2.4.1  16-Nov-2002  he Pull up revision 1.3 (requested by ad in ticket #646):
Add additional Adaptec RAID controller types.
Fixes PR#17719.
 1.2.2.1  29-Aug-2002  gehenna catch up with -current.
 1.7.2.6  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.7.2.5  01-Apr-2005  skrll Sync with HEAD.
 1.7.2.4  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.7.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.7.2.1  03-Aug-2004  skrll Sync with HEAD
 1.8.2.2  08-Oct-2004  jmc branches: 1.8.2.2.2;
Pullup rev 1.10 (requested by he in ticket #896)

Add support for Adaptec AAR 2810SA raid controller.
 1.8.2.1  10-May-2004  tron Pull up revision 1.9 (requested by jdolecek in ticket #274):
match Adaptec 2410SA
XXX we should probably match all cards with product ID ASR2200S
 1.8.2.2.2.1  11-May-2005  riz Pull up revision 1.14 (requested by martti in ticket #1402):
Added support for Dell CERC SATA RAID 1.5/6ch
 1.10.6.2  26-Mar-2005  yamt sync with head.
 1.10.6.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.10.4.1  29-Apr-2005  kent sync with -current
 1.12.2.2  07-Apr-2005  jmc Pullup rev 1.13 (requested by tron in ticket #15)

Add missing PCI id for Adaptec ASR-2410SA.
 1.12.2.1  07-Apr-2005  tron Pull up revision 1.14 (requested by martti in ticket #116):
Added support for Dell CERC SATA RAID 1.5/6ch
 1.15.2.3  27-Oct-2007  yamt sync with head.
 1.15.2.2  03-Sep-2007  yamt sync with head.
 1.15.2.1  30-Dec-2006  yamt sync with head.
 1.16.8.1  03-Sep-2006  yamt sync with head.
 1.16.4.1  09-Sep-2006  rpaulo sync with head
 1.17.4.2  10-Dec-2006  yamt sync with head.
 1.17.4.1  22-Oct-2006  yamt sync with head
 1.17.2.1  18-Nov-2006  ad Sync with head.
 1.19.10.3  03-Jun-2008  skrll Sync with netbsd-4.
 1.19.10.2  06-Jan-2008  wrstuden Catch up to netbsd-4.0 release.
 1.19.10.1  29-Oct-2007  wrstuden Catch up with 4.0 RC3
 1.19.8.3  23-Oct-2007  ad Sync with head.
 1.19.8.2  09-Jun-2007  ad Sync with head.
 1.19.8.1  13-Mar-2007  ad Sync with head.
 1.19.4.1  12-Mar-2007  rmind Sync with HEAD.
 1.19.2.4  16-Jan-2009  bouyer Pull up following revision(s) (requested by briggs in ticket #1255):
sys/dev/pci/aac_pci.c: revision 1.26
Allocate enough space for the aac_pci_softc, not just the aac_softc.
 1.19.2.3  17-May-2008  bouyer Pull up following revision(s) (requested by sborrill in ticket #1143):
sys/dev/pci/aac_pci.c: revision 1.25 via patch
share/man/man4/aac.4: revision 1.13 via patch
sys/dev/pci/pcidevs: revision 1.939 via patch
Add support for IBM ServeRAID 8k (and 8k-l)
 1.19.2.2  25-Nov-2007  xtraeme branches: 1.19.2.2.2;
Pull up following revision(s) (requested by briggs in ticket #990):
sys/dev/ic/aac_tables.h: revision 1.5 (patch)
sys/dev/ic/aac.c: revision 1.31 (patch)
sys/dev/ic/aac.c: revision 1.32 (patch)
sys/dev/ic/aac.c: revision 1.33 (patch)
sys/dev/ic/aac.c: revision 1.34 (patch)
sys/arch/amd64/conf/INSTALL: revision 1.70 (patch)
sys/dev/ic/aac.c: revision 1.37 (patch)
sys/dev/ic/aacreg.h: revision 1.6 (patch)
sys/dev/ic/aacreg.h: revision 1.7 (patch)
sys/dev/ic/aacreg.h: revision 1.8 (patch)
sys/dev/ic/aacreg.h: revision 1.9 (patch)
sys/dev/pci/aac_pci.c: revision 1.21 (patch)
sys/dev/ic/aacvar.h: revision 1.10 (patch)
sys/dev/ic/aacvar.h: revision 1.9 (patch)
sys/arch/amd64/conf/GENERIC: revision 1.144 (patch)
sys/dev/ic/ld_aac.c: revision 1.14 (patch)
sys/dev/ic/ld_aac.c: revision 1.15 (patch)
Compile and run on amd64 and on >2GB RAM.
 1.19.2.1  07-Oct-2007  xtraeme Pull up following revision(s) (requested by christos in ticket #923):
sys/dev/pci/aac_pci.c: revision 1.20
sys/dev/pci/pcidevs: revision 1.872
PR/35970: Todd Kover: Add support for HP ML110 G2 / Adaptec 2610SA
 1.19.2.2.2.1  16-Jan-2009  bouyer Pull up following revision(s) (requested by briggs in ticket #1255):
sys/dev/pci/aac_pci.c: revision 1.26
Allocate enough space for the aac_pci_softc, not just the aac_softc.
 1.20.2.1  11-Jul-2007  mjf Sync with head.
 1.21.12.1  25-Oct-2007  bouyer Sync with HEAD.
 1.21.8.1  06-Nov-2007  matt sync with HEAD
 1.21.6.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.22.16.2  17-Jan-2009  mjf Sync with HEAD.
 1.22.16.1  02-Jun-2008  mjf Sync with HEAD.
 1.23.4.5  11-Aug-2010  yamt sync with head.
 1.23.4.4  11-Mar-2010  yamt sync with head
 1.23.4.3  16-May-2009  yamt sync with head
 1.23.4.2  04-May-2009  yamt sync with head.
 1.23.4.1  16-May-2008  yamt sync with head.
 1.23.2.1  18-May-2008  yamt sync with head.
 1.24.2.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.25.8.2  20-Nov-2010  riz Pull up following revision(s) (requested by is in ticket #1394):
sys/dev/pci/aac_pci.c: revision 1.31
SUN X4140's version of this board. From FreeBSD.
 1.25.8.1  08-Jan-2009  snj Pull up following revision(s) (requested by briggs in ticket #224):
sys/dev/pci/aac_pci.c: revision 1.26
Allocate enough space for the aac_pci_softc, not just the aac_softc.
 1.25.6.1  19-Jan-2009  skrll Sync with HEAD.
 1.26.2.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.30.4.2  05-Mar-2011  rmind sync with head
 1.30.4.1  30-May-2010  rmind sync with head
 1.30.2.1  17-Aug-2010  uebayasi Sync with HEAD.
 1.31.4.1  05-Mar-2011  bouyer Sync with HEAD
 1.31.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.33.12.3  03-Dec-2017  jdolecek update from HEAD
 1.33.12.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.33.12.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.33.8.1  22-Nov-2012  riz Pull up following revision(s) (requested by chs in ticket #691):
sys/dev/pci/aac_pci.c: revision 1.34
sys/dev/pci/if_sip.c: revision 1.155
sys/dev/pci/if_tlp_pci.c: revision 1.122
sys/dev/pci/if_an_pci.c: revision 1.34
match some more devices.
 1.33.2.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.33.2.1  30-Oct-2012  yamt sync with head
 1.35.2.1  18-May-2014  rmind sync with head
 1.36.6.2  05-Oct-2016  skrll Sync with HEAD
 1.36.6.1  09-Jul-2016  skrll Sync with HEAD
 1.37.2.1  04-Nov-2016  pgoyette Sync with HEAD
 1.38.16.1  10-Jun-2019  christos Sync with HEAD
 1.38.14.2  26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.38.14.1  20-Oct-2018  pgoyette Sync with head
 1.38.8.1  17-Oct-2018  martin Pull up following revision(s) (requested by uwe in ticket #1064):

sys/dev/pci/aac_pci.c: revision 1.39
sys/dev/pci/pcidevs: revision 1.1348

Add Adaptec RAID 2445 and 2805.
From Dima Veselov.
 1.40.14.1  28-Mar-2021  thorpej Correct the names of the arguments passed to the rescan function.

RSS XML Feed