Home | History | Annotate | Download | only in cardbus
History log of /src/sys/dev/cardbus/cardbusvar.h
RevisionDateAuthorComments
 1.56  18-Feb-2012  matt Remove uneeded and unused structure.
 1.55  01-Aug-2011  drochner branches: 1.55.2; 1.55.6;
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  15-Mar-2010  dyoung Delete unused member ct_bar[] from struct cardbus_devfunc.
 1.53  15-Mar-2010  dyoung Delete unused functions cardbus_save_bar() and cardbus_restore_bar().
 1.52  15-Mar-2010  dyoung Delete unused members ct_rbus_iot and ct_rbus_memt from struct
cardbus_devfunc.
 1.51  04-Mar-2010  dyoung branches: 1.51.2;
Get rid of the #if 1 surrounding #include <dev/cardbus/rbus.h>.

This is *always* compiled with #define rbus 1, so get rid of the
conditional compilation.

ath, atw, and rtw work fine after this change.
 1.50  26-Feb-2010  dyoung Cosmetic: re-wrap some line.
 1.49  26-Feb-2010  dyoung Cosmetic: join a line.
 1.48  26-Feb-2010  dyoung Introduce Cardbus_intr_establish(cardbus_devfunc_t, ...) and
Cardbus_intr_disestablish(cardbus_devfunc_t, ...) and start using them.
 1.47  25-Feb-2010  dyoung Cardbus_free_tag() and cardbus_free_tag() are no-ops, so get rid of them
to simplify the code a bit.
 1.46  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.

Poison new uses of cardbusreg_t and cardbustag_t by deleting the type
definitions.
 1.45  23-Feb-2010  dyoung Remove unused functions pci_disable_retry() and cardbus_disable_retry().
 1.44  15-Dec-2009  snj branches: 1.44.2;
Move to 2-clause license. Approved by HAYAKAWA Koichi (copyright holder).
 1.43  26-Jun-2008  drochner constify the pcmcia/cardbus method tables
 1.42  25-Jun-2008  drochner split device/softc for pccbb, the cardbus half of cardslot and cardbus
(not yet pcmcia, there is a lot of md code involved)
 1.41  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.40  24-Jun-2008  drochner clean up some useless code and variables in cardbus attachment
 1.39  11-Jun-2008  dyoung Use device_t.
 1.38  02-Jan-2008  dyoung branches: 1.38.6; 1.38.8; 1.38.10; 1.38.12; 1.38.14;
Introduce a struct cardbus_chipset_tag, and make cardbus_chipset_tag_t
a pointer to that struct, so that we cannot assign pointers of
arbitrary type to cardbus_chipset_tag_t. Tweak cbb(4) to accomodate
this change.

Make Cardbus_conf_read() and Carbus_conf_write() pass the right
arguments to cardbus_functions->cardbus_conf_{read,write}() for a
change.

Let's hope this stops the crash in cardbus_function_enable() that
macallan@ reported to me.
 1.37  09-Dec-2007  jmcneill branches: 1.37.2;
Merge jmcneill-pm branch.
 1.36  16-Nov-2007  dyoung branches: 1.36.2; 1.36.4;
Improve Cardbus performance, error handling, and error reporting.

Let the TI1420 PCI-Cardbus bridge do burst reads from the primary
(PCI) bus. This ought to improve Tx performance on Cardbus NICs.
This optimization may apply to other TI bridges, but I only have
a datasheet for the TI1420. :-/

Activate PCI Parity Error and System Error reporting on PCI-Cardbus
bridges.

To avoid data destruction, set the Master Abort mode to 1. Stops
the bridge from silently discarding writes from the secondary bus
to the primary bus (Cardbus writes to PCI). Also, stops the bridge
from fulfilling a read by a bus master on the secondary bus that
failed on the primary bus with 0xffffffff (Cardbus reads from PCI).
Now the bus will indicate an error condition (SERR) instead of
silently destroying/corrupting data.

Forward system error indications from the secondary to the primary
bus. Detect parity errors on the secondary.

Set a Cardbus card's Latency Timer to something reasonable, according
to the Cardbus card's Minimum Grant and the bandwidth available on
the PCI bus. Restore the Latency Timer when re-enabling a card
(e.g., after power reactivation).
 1.35  11-Dec-2005  christos branches: 1.35.44; 1.35.46; 1.35.50; 1.35.52;
merge ktrace-lwp.
 1.34  09-Sep-2005  drochner remove the useless (always 0) device number from cardbus driver state,
autoconf attach structures and configuration cycle functions
(just leave the kernel configuration attribute for now to avoid breaking
config(1) files)
 1.33  30-May-2005  christos branches: 1.33.2;
add a missing const
 1.32  27-Feb-2005  perry nuke trailing whitespace
 1.31  04-Feb-2005  perry de-__P
 1.30  14-Dec-2004  chs branches: 1.30.2; 1.30.4;
remove some defines that aren't used anywhere (and shouldn't exist anyway,
since they hard-code information that should come from locators.h).
 1.29  23-Aug-2004  drochner it is sufficient to include "locators.h" in cardbus.c
 1.28  23-Aug-2004  drochner kick out the error-prone handcrafted single-linked list of cardbus
functions; replace by a simple *array[8]
 1.27  19-Aug-2004  drochner support rescan / manual detach
This code needs cleanup, at least a reasonable linked list
implementation (fixed a bug in detach_card() in the process which
left a dangling pointer around).
Also removed a questionable and undocumented use of the parent's
device unit number as locator value.
(As with the pcmcia code: someone please review wrt powerup/down etc.)
 1.26  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.25  08-Jul-2003  itojun function prototype must not have variable name
 1.24  06-Nov-2001  augustss branches: 1.24.16;
Add ca_bus field.
 1.23  19-Jul-2001  wiz branches: 1.23.4;
Fix comment (device has a 'c').
 1.22  01-Jun-2001  haya branches: 1.22.2;
cardbusvar.h is divided into two files: cardbusvar.h and cardbusreg.h.
 1.21  31-May-2001  haya Cosmetic change.
 1.20  19-Apr-2000  haya branches: 1.20.6;
Maintenace: add definitions for command status register.
 1.19  17-Apr-2000  joda add serial funce entry
 1.18  13-Apr-2000  joda add CARDBUS_SUBCLASS_COMMUNICATIONS_SERIAL
 1.17  02-Apr-2000  mycroft Add a flag to tell whether a MAC address was actually found in the CIS.
XXX This whole piece of code should go away ASAP. We should use a callback
as in the PCMCIA code. In fact, we should use the PCMCIA code...
 1.16  22-Mar-2000  haya 1. Do not apply 5 V on a CardBus card.
2. Do not avoid ISA hole when a device requires more than
256-byte io space.
3. Remove sending CardBus bridge's function number to
cardbus stack. This number is not needed for anyone.
 1.15  04-Feb-2000  haya Now cardbus_mapreg_unmap() has been implemented in
sys/dev/cardbus/cardbus_map.c. The detech function in
sys/dev/cardbus/if_tlp_cardbus.c uses cardbus_mapreg_unmap().
 1.14  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.13  17-Dec-1999  augustss branches: 1.13.2;
Remove extra #endif so we can compile again.
 1.12  16-Dec-1999  abs Add back cut Cardbus_conf_write/cardbus_conf_write lines.
 1.11  15-Dec-1999  kleink Normalize symbol names used for multiple inclusion protection.
 1.10  11-Dec-1999  thorpej Add cardbus_get_capability(), cloned from pci_get_capability().
 1.9  08-Nov-1999  joda correct number of BAR:s in cardbus_cis_info
 1.8  08-Nov-1999  joda add some bare-bones CIS information to the attach_args struct
 1.7  01-Nov-1999  haya Change the interface of cardbus_function_enable() and
cardbus_function_disable().
 1.6  28-Oct-1999  joda add macro to get ROM image number, given a CIS pointer
 1.5  27-Oct-1999  joda add Expasion ROM register (0x30);
fix typo in Cardbus_conf_write
 1.4  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.3  15-Oct-1999  augustss branches: 1.3.2; 1.3.4;
Add a number of CARDBUS_CLASS defines. Copied from PCI_CLASS.
 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.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.13.2.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.20.6.3  14-Nov-2001  nathanw Catch up to -current.
 1.20.6.2  24-Aug-2001  nathanw Catch up with -current.
 1.20.6.1  21-Jun-2001  nathanw Catch up to -current.
 1.22.2.2  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.22.2.1  03-Aug-2001  lukem update to -current
 1.23.4.1  12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.24.16.8  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.24.16.7  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.24.16.6  04-Feb-2005  skrll Sync with HEAD.
 1.24.16.5  18-Dec-2004  skrll Sync with HEAD.
 1.24.16.4  21-Sep-2004  skrll Fix the sync with head I botched.
 1.24.16.3  18-Sep-2004  skrll Sync with HEAD.
 1.24.16.2  25-Aug-2004  skrll Sync with HEAD.
 1.24.16.1  03-Aug-2004  skrll Sync with HEAD
 1.30.4.2  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.30.4.1  12-Feb-2005  yamt sync with head.
 1.30.2.1  29-Apr-2005  kent sync with -current
 1.33.2.3  21-Jan-2008  yamt sync with head
 1.33.2.2  07-Dec-2007  yamt sync with head
 1.33.2.1  21-Jun-2006  yamt sync with head.
 1.35.52.3  18-Feb-2008  mjf Sync with HEAD.
 1.35.52.2  27-Dec-2007  mjf Sync with HEAD.
 1.35.52.1  19-Nov-2007  mjf Sync with HEAD.
 1.35.50.1  18-Nov-2007  bouyer Sync with HEAD
 1.35.46.1  09-Jan-2008  matt sync with HEAD
 1.35.44.4  21-Nov-2007  joerg Sync with HEAD.
 1.35.44.3  06-Nov-2007  joerg Refactor PNP API:
- Make suspend/resume directly a device functionality. It consists of
three layers (class logic, device logic, bus logic), all of them being
optional. This replaces D0/D3 transitions.
- device_is_active returns true if the device was not disabled and was
not suspended (even partially), device_is_enabled returns true if the
device was enabled.
- Change pnp_global_transition into pnp_system_suspend and
pnp_system_resume. Before running any suspend/resume handlers, check
that all currently attached devices support power management and bail
out otherwise. The latter is not done for the shutdown/panic case.
- Make the former bus-specific generic network handlers a class handler.
- Make PNP message like volume up/down/toogle PNP events. Each device
can register what events they are interested in and whether the handler
should be global or not.
- Introduce device_active API for devices to mark themselve in use from
either the system or the device. Use this to implement the idle handling
for audio and input devices. This is intended to replace most ad-hoc
watchdogs as well.
- Fix somes situations in which audio resume would lose mixer settings.
- Make USB host controllers better deal with suspend in the light of
shared interrupts.
- Flush filesystem cache on suspend.
- Flush disk caches on suspend. Put ATA disks into standby on suspend as
well.
- Adopt drivers to use the new PNP API.
- Fix a critical bug in the generic cardbus layer that made D0->D3
break.
- Fix ral(4) to set if_stop.
- Convert cbb(4) to the new PNP API.
- Apply the PCI Express SCI fix on resume again.
 1.35.44.2  04-Oct-2007  joerg Port generic PCI power handlers to cardbus.
 1.35.44.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.36.4.1  11-Dec-2007  yamt sync with head.
 1.36.2.1  26-Dec-2007  ad Sync with head.
 1.37.2.1  08-Jan-2008  bouyer Sync with HEAD
 1.38.14.2  27-Jun-2008  simonb Sync with head.
 1.38.14.1  18-Jun-2008  simonb Sync with head.
 1.38.12.2  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.38.12.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.38.10.3  11-Aug-2010  yamt sync with head.
 1.38.10.2  11-Mar-2010  yamt sync with head
 1.38.10.1  04-May-2009  yamt sync with head.
 1.38.8.1  17-Jun-2008  yamt sync with head.
 1.38.6.1  29-Jun-2008  mjf Sync with HEAD.
 1.44.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.51.2.1  30-May-2010  rmind sync with head
 1.55.6.1  18-Feb-2012  mrg merge to -current.
 1.55.2.1  17-Apr-2012  yamt sync with head

RSS XML Feed