Home | History | Annotate | Download | only in pcmcia
History log of /src/sys/dev/pcmcia/aic_pcmcia.c
RevisionDateAuthorComments
 1.44  01-Aug-2017  christos From bjoern johannesson, in netbsd-general... Reset the mask to 0, used to
be 0xa. Is it wrong in the cfe? Should this better be done via a quirk?
 1.43  12-Nov-2009  dyoung branches: 1.43.22; 1.43.40; 1.43.56;
Don't use the superfluous activation hook.

Cosmetic: while I'm here, join two lines.
 1.42  22-Sep-2009  tsutsui - make local functions/variables static
- use __arraycount()
 1.41  22-Sep-2009  tsutsui Split device_t/softc. Tested on AHA-1520B at ISA and ISAPnP.

XXX: ISA attachment shouldn't match cards in ISAPnP mode.
 1.40  12-May-2009  cegger struct device * -> device_t, no functional changes intended.
 1.39  12-May-2009  cegger struct cfdata * -> cfdata_t, no functional changes intended.
 1.38  14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.37  05-Apr-2008  cegger branches: 1.37.4; 1.37.12; 1.37.14; 1.37.18;
use aprint_*_dev and device_xname
 1.36  19-Oct-2007  ad branches: 1.36.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.35  16-Nov-2006  christos branches: 1.35.2; 1.35.8; 1.35.16; 1.35.22; 1.35.24; 1.35.28;
__unused removal on arguments; approved by core.
 1.34  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.33  11-Dec-2005  christos branches: 1.33.20; 1.33.22;
merge ktrace-lwp.
 1.32  04-Feb-2005  perry branches: 1.32.4; 1.32.6; 1.32.14;
de-__P
 1.31  10-Aug-2004  mycroft branches: 1.31.4; 1.31.6;
Rather than the silly state machine, set whatever higher-level reference
count there is (for SCSI, adapt_refcnt) to 1 and call the appropriate
"delref" function afterwards to disable the controller. This is a bit
simpler.

In a couple of cases, just remove the state machine, because it wasn't
really necessary.
 1.30  10-Aug-2004  mycroft Now that all the silly string printing is gone, move the location where we
print a newline so it doesn't have to be done in every driver.
 1.29  10-Aug-2004  mycroft Enhance pcmcia_product_lookup():
* Remove the "expected function" value. This was just causing problems with
multifunction cards. Differentiating the functions is better done by
checking the function type (which we now do in ep and sm).
* Add support for matching CIS strings. This necessitated changing the calling
pattern a little too.

Use this enhanced version rather than driver-specific versions that do the
same thing.

Also, remove the last vestiges of PCMCIA_STR_*.
 1.28  10-Aug-2004  mycroft More careful about cleaning up pointers.
 1.27  10-Aug-2004  mycroft Print diagnostics in only one place if intr_establish() or function_enable()
fails.

Also, be a little more careful about passing up error values, and consistently
clear our interrupt handler pointer.
 1.26  10-Aug-2004  mycroft Fix a printf().
 1.25  10-Aug-2004  mycroft Update to the new world order.
 1.24  09-Aug-2004  mycroft Pass a valid alignment to pcmcia_io_alloc().
 1.23  08-Aug-2004  mycroft Remove the "offset" and "size" arguments to pcmcia_io_map(). In the singular
case (ne@pcmcia) where we were using these to create a subregion, it is better
handled by calling bus_space_subregion().

Now there is a 1:1 mapping between I/O spaces in the config table and windows
mapped in the function. Rework the multifunction mapping code to take
advantage of this by using both I/O base addresses if necessary.
 1.22  02-Oct-2002  thorpej branches: 1.22.6;
Add trailing ; to CFATTACH_DECL.
 1.21  30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.20  27-Sep-2002  thorpej Declare all cfattach structures const.
 1.19  01-Jun-2002  lukem SIMPLEQ rototill:
- implement SIMPLEQ_REMOVE(head, elm, type, field). whilst it's O(n),
this mirrors the functionality of SLIST_REMOVE() (the other
singly-linked list type) and FreeBSD's STAILQ_REMOVE()
- remove the unnecessary elm arg from SIMPLEQ_REMOVE_HEAD().
this mirrors the functionality of SLIST_REMOVE_HEAD() (the other
singly-linked list type) and FreeBSD's STAILQ_REMOVE_HEAD()
- remove notes about SIMPLEQ not supporting arbitrary element removal
- use SIMPLEQ_FOREACH() instead of home-grown for loops
- use SIMPLEQ_EMPTY() appropriately
- use SIMPLEQ_*() instead of accessing sqh_first,sqh_last,sqe_next directly
- reorder manual page; be consistent about how the types are listed
- other minor cleanups
 1.18  13-Nov-2001  lukem branches: 1.18.8;
add RCSIDs
 1.17  25-Apr-2001  bouyer branches: 1.17.2;
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.16  04-Feb-2000  enami branches: 1.16.6;
Free resources on attach failure.
 1.15  04-Feb-2000  cgd replace the *_lookup table entry match/lookup functions in all of
these drivers with a single common function (which supports tables
of variable-sized structures). Things are mostly as they were before:
tables are terminated by entry with NULL name, etc. There's also
the ability to call a driver-specific match function which can be used
to augment the table lookup.
 1.14  18-Nov-1999  enami Add some comments and reformat comment which doesn't confirm KNF.
 1.13  20-Oct-1999  enami Cancel active transfers on aic/wdc detach.
Also makes LS-120 drive works for me again.
 1.12  26-Sep-1999  enami branches: 1.12.2; 1.12.4; 1.12.6;
Allow to detach aic, but turned off by default. The patchable variable
aic_dodetach controlls this.
 1.11  07-Sep-1999  soren Match 1460 names with Adaptec.
 1.10  19-Jun-1999  mjl Added NewMedia BusToaster, an Adaptec 152x compatible.
 1.9  27-Apr-1999  thorpej Disable power management until the bug that caused it to hang the
machine can be found.

Addresses kern/6488, from Thorsten Frueauf.
 1.8  20-Nov-1998  thorpej branches: 1.8.4;
Add support for power management and lazy interrupt establishment to the
PCMCIA aic6360 attachment.
 1.7  11-Oct-1998  thorpej Make the product lookup table-driven.
 1.6  19-Jul-1998  christos Add a devlist2h.awk so that we don't sprinkle the same constants over
each device driver file and use it.
 1.5  09-Jun-1998  thorpej Nuke __BROKEN_INDIRECT_CONFIG.
 1.4  05-Jun-1998  enami Use SIMPLEQ_FIRST/NEXT macros.
 1.3  30-Nov-1997  drochner fix argument declaration inconsistency in the
non-"__BROKEN_INDIRECT_CONFIG" case
 1.2  16-Oct-1997  thorpej Pull marc-pcmcia branch down from trunk.
 1.1  30-Jul-1997  marc branches: 1.1.2;
file aic_pcmcia.c was initially added on branch marc-pcmcia.
 1.1.2.13  16-Oct-1997  thorpej Copyright/license update.
 1.1.2.12  16-Oct-1997  thorpej Deal with newer APA-1460s that have a different product ID.
 1.1.2.11  16-Oct-1997  enami - Hold interrupt cookie in aic_pcmcia_softc.
- Don't put a whitespace after cast.
- Capitalize sentense in comment.
 1.1.2.10  16-Oct-1997  enami KNF.
 1.1.2.9  16-Oct-1997  enami Add RCSid.
 1.1.2.8  16-Oct-1997  enami Real aic driver for pcmcia attachment.
 1.1.2.7  15-Oct-1997  enami No need to cast a generic pointer.
 1.1.2.6  28-Aug-1997  marc Compilation fixes. This is only a stub, now, so when I flesh it out,
some more changes will certainly be needed.
 1.1.2.5  23-Aug-1997  thorpej Update for changes to pcmcia function manipulation.
 1.1.2.4  10-Aug-1997  thorpej Create a structure to encapsulate information about allocated i/o and
mem space on the pcmcia bus. Use this in chip-level window enable
functions rather than making assumptions about the bus space handles.

Also, clean up lots of debugging prints. Use patchables to enable them.
 1.1.2.3  31-Jul-1997  thorpej Remove some gratuitous debugging printfs; this information is already
displayed elsewhere.
 1.1.2.2  30-Jul-1997  marc add the pcmcia device dir.
 1.1.2.1  30-Jul-1997  marc added pcmcia infrastructure and a few devices
 1.8.4.1  27-Apr-1999  perry branches: 1.8.4.1.2;
pullup 1.8->1.9 (thorpej)
 1.8.4.1.2.1  21-Jun-1999  thorpej Sync w/ -current.
 1.12.6.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.12.4.1  15-Nov-1999  fvdl Sync with -current
 1.12.2.3  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.12.2.2  20-Oct-1999  thorpej Sync w/ trunk.
 1.12.2.1  19-Oct-1999  thorpej Adapt to scsipi API changes.
 1.16.6.4  18-Oct-2002  nathanw Catch up to -current.
 1.16.6.3  20-Jun-2002  nathanw Catch up to -current.
 1.16.6.2  14-Nov-2001  nathanw Catch up to -current.
 1.16.6.1  21-Jun-2001  nathanw Catch up to -current.
 1.17.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.17.2.2  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.17.2.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.18.8.1  20-Jun-2002  gehenna catch up with -current.
 1.22.6.4  04-Feb-2005  skrll Sync with HEAD.
 1.22.6.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.22.6.2  18-Sep-2004  skrll Sync with HEAD.
 1.22.6.1  12-Aug-2004  skrll Sync with HEAD.
 1.31.6.1  12-Feb-2005  yamt sync with head.
 1.31.4.1  29-Apr-2005  kent sync with -current
 1.32.14.1  03-Feb-2006  riz Apply patch (requested by jnemeth in ticket #1153):
aic(4): work around rbus resource allocation problem so cards work
again. [jnemeth 20060131]
 1.32.6.2  27-Oct-2007  yamt sync with head.
 1.32.6.1  30-Dec-2006  yamt sync with head.
 1.32.4.1  03-Feb-2006  riz Apply patch (requested by jnemeth in ticket #1153):
aic(4): work around rbus resource allocation problem so cards work
again. [jnemeth 20060131]
 1.33.22.2  10-Dec-2006  yamt sync with head.
 1.33.22.1  22-Oct-2006  yamt sync with head
 1.33.20.1  18-Nov-2006  ad Sync with head.
 1.35.28.1  25-Oct-2007  bouyer Sync with HEAD.
 1.35.24.1  06-Nov-2007  matt sync with HEAD
 1.35.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.35.16.1  03-Jun-2007  wrstuden Catch up with now-somewhat-dated netbsd-4. These changes took longer
than expected for me to actually get around to merging.
 1.35.8.1  23-Oct-2007  ad Sync with head.
 1.35.2.1  16-May-2007  jdc Work around rbus resource allocation problem so cards work again using a
patch specifically for netbsd-4 (requested by jnemeth in ticket #638).
 1.36.16.1  02-Jun-2008  mjf Sync with HEAD.
 1.37.18.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.37.14.1  20-Nov-2008  snj Apply patch (requested by jnemeth in ticket #80):
Work around rbus resource allocation problem so aic PCMCIA cards work.
 1.37.12.1  28-Apr-2009  skrll Sync with HEAD.
 1.37.4.3  11-Mar-2010  yamt sync with head
 1.37.4.2  16-May-2009  yamt sync with head
 1.37.4.1  04-May-2009  yamt sync with head.
 1.43.56.1  05-Aug-2017  snj Pull up following revision(s) (requested by christos in ticket #177):
sys/dev/pcmcia/aic_pcmcia.c: revision 1.44
From bjoern johannesson, in netbsd-general... Reset the mask to 0, used to
be 0xa. Is it wrong in the cfe? Should this better be done via a quirk?
 1.43.40.1  28-Aug-2017  skrll Sync with HEAD
 1.43.22.1  03-Dec-2017  jdolecek update from HEAD

RSS XML Feed