Home | History | Annotate | Download | only in cardbus
History log of /src/sys/dev/cardbus/if_ex_cardbus.c
RevisionDateAuthorComments
 1.56  07-Jul-2016  msaitoh KNF. Remove extra spaces. No functional change.
 1.55  01-Aug-2011  drochner branches: 1.55.12; 1.55.30;
remove some bloat:
-cardbus doesn't use multiple interrupt lines like PCI, and it doesn't
use machanisms like interrupt line register and swizzling -- no need
to carry around dummy information, this is all dealt with by the
bridge
(I'm asking myself how "rbus_ppb" can work -- a bridge attached to
cardbus just can't work like a normal PCI bridge as far as interrupts
are concerned. I thing that should be a hardware specific driver
because behavior is not covered by a standard.)
-cardbus always uses 3.3V -- no need for a variable to keep track
of the voltage
 1.54  22-Mar-2010  dyoung ex_softc.ex_bustype is written but never read. Just get rid of it.
 1.53  22-Mar-2010  dyoung Detach at shutdown.
 1.52  19-Mar-2010  dyoung Use Cardbus_intr_disestablish() instead of cardbus_intr_disestablish().

Get rid of a (short) staircase in ex_cardbus_detach().
 1.51  10-Mar-2010  dyoung branches: 1.51.2;
This is *always* compiled with #define rbus 1, so get rid of the
conditional compilation.

Simplify interrupt (dis)establishment by two source transformations:

- cardbus_intr_disestablish(cc, cf, ih);
+ Cardbus_intr_disestablish(ct, ih);

- ih = cardbus_intr_establish(cc, cf, ...);
+ ih = Cardbus_intr_establish(ct, ...);

Tested by me.
 1.50  26-Feb-2010  dyoung Use PCI_ constants and macros instead of CARDBUS_. Use
Cardbus_conf_{read,write}() instead of cardbus_conf_{read,write}().
Delete all of the CARDBUS_ constants and macros that replicate PCI_.

Compile-tested, only.
 1.49  26-Feb-2010  dyoung sc_csr is read & written from the PCI Command & Status Register,
so make its type pcireg_t.
 1.48  25-Feb-2010  dyoung Make fxp at cardbus detach during shutdown.

Stop calling (*cardbus_ctrl) to enable bus mastering, I/O and memory
spaces on the CardBus bridge. cbb(4) always enables that stuff,
anyway. In the process, avoid remembering what BAR we mapped by
writing CARDBUS_{IO,MEM}_ENABLE to sc_cben or sc_cbenable, and
record the BAR in use sc_bar, instead.

Replace more CARDBUS_ constants with PCI_ constants.

Compile-tested, only.
 1.47  24-Feb-2010  dyoung Start to tuck Cardbus under the PCI abstraction. Step #1, textual
substitution: for all practical purposes, pcitag_t and cardbustag_t
are interchangeable, so just use pcitag_t. Ditto pcireg_t and
cardbusreg_t.

While I'm here, don't make a copy (sc_intrline) of
cardbus_attach_args.ca_intrline unless we use it, later.
 1.46  15-Dec-2009  snj branches: 1.46.2;
Move to 2-clause license. Approved by HAYAKAWA Koichi (copyright holder).
 1.45  24-Jun-2008  drochner clean up the cardbus interrupt stuff:
There were cardbus_intr_line_t and cardbus_intr_handle_t used intermixed
for the same variable, and that variable is pretty much useless because
cardbus doesn't follow the PCI interrupt swizzling etc scheme.
Useless interrupt numbers were printed on cardbus device attach.
So as a first step to sanity, kill cardbus_intr_handle_t and poison
cardbus_intr_line_t to discourage printing it as a %d.
Use cardbus_intr_line_t consistently throughout the code.
Remove the "interrupting at foo" messages because the information
is misleading. We could come up with a better interrupt vector
information, but because cardbus interrupts are mediated by pccbb
it would still be misleading.
 1.44  14-Apr-2008  cegger branches: 1.44.4; 1.44.6; 1.44.8;
- ansify
- use POSIX integers
 1.43  14-Apr-2008  spz pretty up if_ex: pmf'ify, device split, and improve printing a bit too.

Reviewed and function-tested on if_ex_cardbus by cube (thanks).
Function-tested on if_ex_pci by myself.
 1.42  06-Apr-2008  cegger use aprint_*_dev and device_xname
 1.41  09-Dec-2007  jmcneill branches: 1.41.10;
Merge jmcneill-pm branch.
 1.40  19-Oct-2007  ad branches: 1.40.4; 1.40.6;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.39  16-Nov-2006  christos branches: 1.39.8; 1.39.22; 1.39.24; 1.39.28;
__unused removal on arguments; approved by core.
 1.38  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.37  29-Mar-2006  thorpej branches: 1.37.8; 1.37.10;
Use device_private().
 1.36  11-Dec-2005  christos branches: 1.36.4; 1.36.6; 1.36.8; 1.36.10; 1.36.12;
merge ktrace-lwp.
 1.35  27-Feb-2005  perry branches: 1.35.4;
nuke trailing whitespace
 1.34  04-Feb-2005  perry de-__P
 1.33  02-Aug-2004  mycroft branches: 1.33.4; 1.33.6;
cardbusdevs -> pcidevs
 1.32  22-Jul-2004  mycroft Add EX_CONF_INV_LED_POLARITY to a couple of the aforementioned entries. See
PR 23710.
 1.31  22-Jul-2004  mycroft Add entries for the 3c656 line. Should fix PR 22880.
 1.30  22-Jul-2004  mycroft Program BARs before enabling memory or I/O access.
 1.29  08-May-2004  christos Cleanup and remove suplicate copies of the incorrect power setup code.
Thanks to mycroft for suggesting this.
XXX: This is a copy of the pci code; another reason cardbus needs to die.
 1.28  02-Nov-2003  wiz branches: 1.28.2;
Fix some typos. From Tom Cosgrove via jmc@openbsd.
 1.27  02-Oct-2002  thorpej branches: 1.27.6;
Add trailing ; to CFATTACH_DECL.
 1.26  30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.25  27-Sep-2002  thorpej Declare all cfattach structures const.
 1.24  27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.23  13-Nov-2001  lukem add RCSID
 1.22  19-Jul-2001  wiz Fix typo (`information' has an 'r').
 1.21  17-Jul-2001  mrg properly use ANSI string concatenation.
 1.20  26-Apr-2001  kanaoka branches: 1.20.2;
- Fix typo in comment.
 1.19  30-Jan-2001  thorpej branches: 1.19.2;
Power management support for the CardBus Etherlink XL cards.
From Masanori Kanaoka <kanaoka@ann.hi-ho.ne.jp>.
 1.18  19-Sep-2000  fvdl Add explicit config values for 8 bit and offset EEPROMS, since this
property is now shared with the PCI frontend.
 1.17  12-Sep-2000  haya Clean-up: Remove unnecessary global reset (for debug) and change the
name of some variables for the consistency of naming rule.
 1.16  05-Sep-2000  haya Clean-up card-type depend code.
 1.15  29-Aug-2000  haya Add support 3C[CX]FE575CT.
 1.14  19-May-2000  thorpej branches: 1.14.4;
Add missing field in static initialization.
 1.13  07-Mar-2000  mycroft Do a CARDBUS_BM_ENABLE to be sure.
 1.12  01-Mar-2000  thorpej When unmapping these on detach, pass the BAR to unmap (not the type of
the BAR!!)
 1.11  05-Feb-2000  augustss Support detach.
 1.10  26-Jan-2000  haya Add cardbus detach functionality. Add a function
cardbus_detach_card() in cardbus.c and enable detach code in cardslot.c
 1.9  17-Nov-1999  thorpej branches: 1.9.2;
Make this a lot more like the PCI front-end.
 1.8  17-Nov-1999  soren Also disable EX_CONF_INTPHY on the B model.
 1.7  17-Nov-1999  thorpej The 3c575-TX does *not* have an internal PHY.
 1.6  01-Nov-1999  haya Change the interface of cardbus_function_enable() and
cardbus_function_disable().
 1.5  27-Oct-1999  haya Change cardbus API. The first argument of cardbus_mapreg_map() is
changed to struct cardbus_softc * from cardbus_devfunc_t. The old
function is renamed to Cardbus_mapreg_map().
 1.4  25-Oct-1999  drochner defopt the XNS protocol (options NS), clean up the use of related
option headers / defines
 1.3  15-Oct-1999  augustss branches: 1.3.2; 1.3.4;
Comment out some debug settings.
Change attach printing so it looks more standard.
 1.2  15-Oct-1999  haya add NetBSD ID tag.
 1.1  15-Oct-1999  haya This is the first check-in of CardBus driver. CardBus driver contains
CardBus bus stub, YENTA PCI-CardBus bridge (cbb), 3Com 3C575TX driver
(ex) and Intel fxp driver.

TODO:
o Conform to the KNF more strictly.
o Be unified with pcmcia code as much as possible.
o Add more drivers for CardBus card, such as APA-1480 or USB card.

The affected files are listed below.

sys/arch/i386/conf/files.i386
sys/arch/macppc/conf/files.macppc
sys/conf/files
sys/dev/ic/elinkxl.c
sys/dev/ic/elinkxlvar.h
sys/dev/ic/i82365.c
sys/dev/ic/i82365var.h
sys/dev/isa/i82365_isasubr.c
sys/dev/pci/files.pci
sys/dev/pcmcia/pcmcia.c
sys/dev/pcmcia/pcmciachip.h

The added files are listed below.

sys/arch/i386/conf/CARDBUS
sys/arch/i386/include/rbus_machdep.h
sys/arch/i386/i386/rbus_machdep.c
sys/arch/macppc/include/rbus_machdep.h
sys/arch/macppc/macppc/rbus_machdep.c
sys/dev/cardbus/if_ex_cardbus.c
sys/dev/cardbus/Makefile.cardbusdevs
sys/dev/cardbus/cardbus.c
sys/dev/cardbus/cardbus_map.c
sys/dev/cardbus/cardbusdevs
sys/dev/cardbus/cardbusdevs.h
sys/dev/cardbus/cardbusdevs_data.h
sys/dev/cardbus/cardbusvar.h
sys/dev/cardbus/cardslot.c
sys/dev/cardbus/cardslotvar.h
sys/dev/cardbus/devlist2h.awk
sys/dev/cardbus/files.cardbus
sys/dev/cardbus/if_fxp_cardbus.c
sys/dev/cardbus/pccardcis.h
sys/dev/cardbus/rbus.c
sys/dev/cardbus/rbus.h
sys/dev/pci/pccbb.c
sys/dev/pci/pccbbreg.h
sys/dev/pci/pccbbvar.h
 1.3.4.1  15-Nov-1999  fvdl Sync with -current
 1.3.2.2  11-Feb-2001  bouyer Sync with HEAD.
 1.3.2.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.9.2.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.14.4.3  01-Jan-2002  he Pull up revisions 1.17,1.19 (via patch, requested by kanaoka):
Add Power Management support for Cardbus Etherlink XL cards, and
some cleanup.
 1.14.4.2  05-Apr-2001  he Pull up revision 1.18 (via patch, requested by fvdl):
Add explicit config values for 8 bit and offset EEPROMS, since
this property is now shared with the PCI frontend.

Done in conjunction with adding support for the 3Com 3c555, 3c556
and 3c556B MiniPCI Ethernet cards.
 1.14.4.1  01-Sep-2000  haya Pull up rev 1.15: Support 3C[CX]FE575CT.
This pullup is approved by <thorpej@netbsd.org>.
 1.19.2.4  18-Oct-2002  nathanw Catch up to -current.
 1.19.2.3  14-Nov-2001  nathanw Catch up to -current.
 1.19.2.2  24-Aug-2001  nathanw Catch up with -current.
 1.19.2.1  21-Jun-2001  nathanw Catch up to -current.
 1.20.2.3  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.20.2.2  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.20.2.1  03-Aug-2001  lukem update to -current
 1.27.6.5  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.27.6.4  04-Feb-2005  skrll Sync with HEAD.
 1.27.6.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.27.6.2  18-Sep-2004  skrll Sync with HEAD.
 1.27.6.1  03-Aug-2004  skrll Sync with HEAD
 1.28.2.1  23-Jul-2004  he Pull up revisions 1.31-1.32 (requested by mycroft in ticket #691):
Add entries for the 3c656 line. Fixes PR#22880. Also add
EX_CONF_INV_LED_POLARITY to some of the entries, from PR#23710.
 1.33.6.2  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.33.6.1  12-Feb-2005  yamt sync with head.
 1.33.4.1  29-Apr-2005  kent sync with -current
 1.35.4.4  21-Jan-2008  yamt sync with head
 1.35.4.3  27-Oct-2007  yamt sync with head.
 1.35.4.2  30-Dec-2006  yamt sync with head.
 1.35.4.1  21-Jun-2006  yamt sync with head.
 1.36.12.1  31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.36.10.1  19-Apr-2006  elad sync with head.
 1.36.8.1  01-Apr-2006  yamt sync with head.
 1.36.6.1  22-Apr-2006  simonb Sync with head.
 1.36.4.1  09-Sep-2006  rpaulo sync with head
 1.37.10.2  10-Dec-2006  yamt sync with head.
 1.37.10.1  22-Oct-2006  yamt sync with head
 1.37.8.1  18-Nov-2006  ad Sync with head.
 1.39.28.1  25-Oct-2007  bouyer Sync with HEAD.
 1.39.24.2  09-Jan-2008  matt sync with HEAD
 1.39.24.1  06-Nov-2007  matt sync with HEAD
 1.39.22.2  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.39.22.1  23-Aug-2007  joerg Provide cardbus_{set,get}_powerstate instead of the former
cardbus_powerstate / cardbus_setpowerstate.
Provide cardbus_conf_{capture,restore} and cardbus_net_generic_power.

In general: reduce diff to PCI.
 1.39.8.1  23-Oct-2007  ad Sync with head.
 1.40.6.1  11-Dec-2007  yamt sync with head.
 1.40.4.1  26-Dec-2007  ad Sync with head.
 1.41.10.2  29-Jun-2008  mjf Sync with HEAD.
 1.41.10.1  02-Jun-2008  mjf Sync with HEAD.
 1.44.8.1  27-Jun-2008  simonb Sync with head.
 1.44.6.1  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.44.4.3  11-Aug-2010  yamt sync with head.
 1.44.4.2  11-Mar-2010  yamt sync with head
 1.44.4.1  04-May-2009  yamt sync with head.
 1.46.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.51.2.1  30-May-2010  rmind sync with head
 1.55.30.1  09-Jul-2016  skrll Sync with HEAD
 1.55.12.1  03-Dec-2017  jdolecek update from HEAD

RSS XML Feed