Home | History | Annotate | Download | only in cardbus
History log of /src/sys/dev/cardbus/com_cardbus.c
RevisionDateAuthorComments
 1.31  08-Dec-2018  thorpej Clean up initialization of com_regs structure, in preparation for
some additional changers.
 1.30  01-Aug-2011  drochner branches: 1.30.52; 1.30.54;
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.29  18-Mar-2010  dyoung 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, ...);

The identical change to a few other CardBus NICs has not caused any
problems, as expected, so I'm going to commit this rather safe change
and get on with the work.

Testers have been enlisted. I will revisit this change if I get any
negative responses.
 1.28  26-Feb-2010  dyoung branches: 1.28.2;
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.27  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.26  25-Feb-2010  dyoung Don't use the cardbus_softc. Compile-tested, only.
 1.25  25-Feb-2010  dyoung Don't create the device's PCI tag with Cardbus_make_tag(9), but save and
use the tag found in the cardbus_attach_args. Compile-tested, only.
 1.24  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.23  12-Nov-2009  dyoung branches: 1.23.2;
Don't use com_activate(), it's going away.
 1.22  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.21  14-Mar-2008  cube branches: 1.21.4; 1.21.6; 1.21.8;
Split device_t and softc for all com(4) devices (well, everything that
uses a com_softc backend). Use proper types and ansify where appropriate.
 1.20  16-Nov-2006  christos branches: 1.20.24; 1.20.44; 1.20.48;
__unused removal on arguments; approved by core.
 1.19  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.18  13-Jul-2006  gdamore branches: 1.18.4; 1.18.6;
Add an option COM_REGMAP to allow com(4) to use an array of register indices.
This allows us to convert aucom to just another com attachment, and cleanup
some code in the com_arbus.c.

Additionally, we use a common com_cleanup routine rather than having a
zillion copies of it in the attachment points.

This has been tested on a number architectures, and it has been shown to get
close to comparable performance when COM_REGMAP is defined, and comparable
when it is not defined.

Approved by core@. Fixes PR port-evbmips/32362.
 1.17  29-Mar-2006  thorpej branches: 1.17.4;
Use device_private().
 1.16  25-Mar-2006  thorpej Use device_parent().CVS: ----------------------------------------------------------------------
 1.15  11-Dec-2005  christos branches: 1.15.4; 1.15.6; 1.15.8; 1.15.10; 1.15.12;
merge ktrace-lwp.
 1.14  27-Feb-2005  perry branches: 1.14.4;
nuke trailing whitespace
 1.13  02-Aug-2004  mycroft branches: 1.13.4; 1.13.6;
cardbusdevs -> pcidevs
 1.12  22-Jul-2004  mycroft Add 3C656 modem portion, per PR 23710.
 1.11  23-Apr-2004  itojun pass string length (= boundary info) to pci_devinfo so that we do not run over
the end of memory region
 1.10  11-Mar-2004  kanaoka branches: 1.10.2;
- Add (missed)"csc->cc_ih = NULL;" in com_cardbus_disable().
- Check "csc->cc_ih != NULL" before cardbus_intr_disestablish()
in com_cardbus_detach().

This fixed panic when the card removed.
The card is a "Xircom RealPort Cardbus Ethernet 10/100+Modem 56".

Reported & Tested by Peter Postma <peter.postma@chello.nl>
on current-users.
 1.9  02-Oct-2002  thorpej branches: 1.9.6;
Add trailing ; to CFATTACH_DECL.
 1.8  30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.7  27-Sep-2002  thorpej Declare all cfattach structures const.
 1.6  13-Nov-2001  lukem add RCSID
 1.5  22-Aug-2000  joda branches: 1.5.2; 1.5.4; 1.5.6;
update description
 1.4  17-Apr-2000  joda rewrite match function to use CIS information
 1.3  15-Apr-2000  veego Also add the Intel ID for the LAN+MODEM56 card to the csdevs list to get
it working.
 1.2  13-Apr-2000  joda disable function after attach
 1.1  13-Apr-2000  joda cardbus attachment for com devices (thanks to Chris Demetriou and
Darren Reed for constructive criticism and help with testing)
 1.5.6.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.5.6.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.5.4.2  18-Oct-2002  nathanw Catch up to -current.
 1.5.4.1  14-Nov-2001  nathanw Catch up to -current.
 1.5.2.2  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.5.2.1  22-Aug-2000  bouyer file com_cardbus.c was added on branch thorpej_scsipi on 2000-11-20 11:39:53 +0000
 1.9.6.4  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.9.6.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.9.6.2  18-Sep-2004  skrll Sync with HEAD.
 1.9.6.1  03-Aug-2004  skrll Sync with HEAD
 1.10.2.1  23-Jul-2004  he Pull up revision 1.28 (requested by mycroft in ticket #691):
Add 3c656 entries in order to support modem portion. Fixes PR#23710.
 1.13.6.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.13.4.1  29-Apr-2005  kent sync with -current
 1.14.4.3  17-Mar-2008  yamt sync with head.
 1.14.4.2  30-Dec-2006  yamt sync with head.
 1.14.4.1  21-Jun-2006  yamt sync with head.
 1.15.12.2  31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.15.12.1  28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.15.10.1  19-Apr-2006  elad sync with head.
 1.15.8.2  11-Aug-2006  yamt sync with head
 1.15.8.1  01-Apr-2006  yamt sync with head.
 1.15.6.1  22-Apr-2006  simonb Sync with head.
 1.15.4.1  09-Sep-2006  rpaulo sync with head
 1.17.4.4  17-Jun-2006  gdamore Undo the undo. Restore COM_INIT_REGS.
 1.17.4.3  17-Jun-2006  gdamore Revert COM_INIT_REGS.
 1.17.4.2  16-Jun-2006  gdamore Remove pointless redundant assignment and fix KNF.
 1.17.4.1  15-Jun-2006  gdamore Adapt to new com framework.
 1.18.6.2  10-Dec-2006  yamt sync with head.
 1.18.6.1  22-Oct-2006  yamt sync with head
 1.18.4.1  18-Nov-2006  ad Sync with head.
 1.20.48.2  29-Jun-2008  mjf Sync with HEAD.
 1.20.48.1  03-Apr-2008  mjf Sync with HEAD.
 1.20.44.1  24-Mar-2008  keiichi sync with head.
 1.20.24.1  23-Mar-2008  matt sync with HEAD
 1.21.8.1  27-Jun-2008  simonb Sync with head.
 1.21.6.1  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.21.4.3  11-Aug-2010  yamt sync with head.
 1.21.4.2  11-Mar-2010  yamt sync with head
 1.21.4.1  04-May-2009  yamt sync with head.
 1.23.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.28.2.1  30-May-2010  rmind sync with head
 1.30.54.1  10-Jun-2019  christos Sync with HEAD
 1.30.52.1  26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts

RSS XML Feed