Home | History | Annotate | Download | only in isa
History log of /src/sys/dev/isa/i82365_isasubr.c
RevisionDateAuthorComments
 1.50  08-Sep-2024  rillig fix a/an grammar in obvious cases
 1.49  25-Sep-2022  thorpej Remove unnecessary include of <sys/malloc.h>.
 1.48  27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.47  23-May-2010  jym branches: 1.47.8; 1.47.18;
Cast the sum of iobase and iosize to long, not just iobase. Avoids size
warnings during build when bus_addr_t is 64 bits.
 1.46  22-Mar-2010  dyoung Do not disestablish the interrupt handler inside of the interrupt
handler! Stops a crash on the HP Pavilion N3270.

Cosmetic: sc->ih is a pointer, so set to NULL instead of 0. Compare
with NULL instead of testing truth.
 1.45  17-Sep-2009  tsutsui branches: 1.45.2; 1.45.4;
Misc KNF and cosmetics, and remove unnecessary casts etc.
 1.44  14-Sep-2009  tsutsui Use device_private(), proper types or variables for device_t and softc.
(not yet split though)

No crash on gxemul emulating hpcmips mobilepro.
 1.43  12-May-2009  cegger struct device * -> device_t, no functional changes intended.
 1.42  16-Mar-2009  cegger ansify function definitions
 1.41  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.40  08-Apr-2008  cegger branches: 1.40.4; 1.40.12; 1.40.18;
use aprint_*_dev and device_xname
 1.39  19-Oct-2007  ad branches: 1.39.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.38  29-Mar-2006  thorpej branches: 1.38.18; 1.38.32; 1.38.34; 1.38.38;
Use device_cfdata().
 1.37  11-Dec-2005  christos branches: 1.37.4; 1.37.6; 1.37.8; 1.37.10; 1.37.12;
merge ktrace-lwp.
 1.36  27-Feb-2005  perry branches: 1.36.4;
nuke trailing whitespace
 1.35  04-Feb-2005  perry de-__P
 1.34  14-Sep-2004  drochner branches: 1.34.4; 1.34.6;
Separate the namespace for default (ie unspecified) locators used
by the isa.c bus driver and the "address/whatever not specified"
argument passed to leaf device drivers.
The former is "ISACF_XXX_DEFAULT" as generaterd by config(8), the latter
"ISA_UNKNOWN_XXX", defined in isavar.h.
This way we save a dependency of every ISA device driver on "locators.h".
 1.33  05-Sep-2003  mycroft Several changes to eliminate bogus controllers and sockets from being found:

PCIC_VENDOR_NONE: New.
PCIC_VENDOR_CIRRUS_*: Collapse the 2 chips into one vendor ID.

pcic_ident_ok(): Check the ID revision field -- if it's 0, punt.

pcic_vendor(): Check the ID revision field -- if it's 0, or the ID register
is all-1s, assume there is no chip present. (Previously this would return
"Unknown controller" -- which, AFAICT, *never* resulted in a working device.)
Do the Cirrus check only after verifying that we got the Intel ID.

pcic_attach(): Use a priori knowledge of the Cirrus chips to determine the
number of sockets rather than trying (unsuccessfully) to probe. Also, just
blast all of PCIC_INTR -- we do this in pcic_deactivate_card() anyway.
 1.32  02-Sep-2003  mycroft If the frontend passes in sc->irq=0, set PCIC_INTR_ENABLE. Also, don't clear
that bit all over the bloody place
 1.31  06-Jan-2003  wiz branches: 1.31.2;
interrupt with two rs.
 1.30  15-Nov-2001  lukem don't need <sys/types.h> when including <sys/param.h>
 1.29  13-Nov-2001  lukem add RCSID
 1.28  26-Sep-2001  thorpej IRQUNK -> ISACF_IRQ_DEFAULT
 1.27  19-Dec-2000  mycroft branches: 1.27.2; 1.27.4; 1.27.6;
Add a big comment in the previous section of code...
 1.26  19-Dec-2000  mycroft Back out previous change.
I removed this once before a long time ago, because it's wrong and breaks
PCMCIA on some machines. It also doesn't fix the Multia problems.
 1.25  18-Dec-2000  thorpej Use IST_LEVEL as appropriate. Fixes PCMCIA interrupt problems
on the DEC Multia. From Juergen Weiss <weiss@Uni-Mainz.DE>.
 1.24  09-Dec-2000  matt Don't use __hpcmips__, but hpcmips
 1.23  12-Jul-2000  soren Update comment.
 1.22  28-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.21  09-May-2000  jhawk Back out rev 1.7 of i82365_isa.c; 0x300-0x3ff, or even 0x330-0x3ff
is not a reasonable place to allocate 12-bit pcmcia iospace.
It seems to cause conflicts on a large number of modern laptops,
necesitating hand-patching of the kernel (mostly due to
video devices in the upper range of that space).

This will presumably cause problems on the NEC Versa 6030X,
however that appears to be a vastly less common case than
the laptops that are inconvenienced by the current state.

12-bit iospace now uses 0x400-0xfff.
 1.20  28-Feb-2000  enami Fix naming think-o.
 1.19  27-Feb-2000  mycroft Fix the same race condition while initializing the socket.
 1.18  27-Feb-2000  mycroft Reorder the usage of intr_establish/intr_disestablish with respect to setting
the CSC_INTR register, to insure that the IRQ is not left floating and enabled
at any point. Eliminates stray interrupts during the IRQ probe.
 1.17  27-Feb-2000  mycroft Allow a flag to be set to force polling for socket events.
 1.16  25-Feb-2000  mycroft I told them not to use IST_LEVEL here. Now PCMCIA works on my AS200. *sigh*
 1.15  22-Feb-2000  thorpej Don't use void * for chipset tags. Bad hacker, no biscuit.
 1.14  08-Feb-2000  mycroft In light of the previous change, whack the clearing of CSC_INTR
again.
 1.13  08-Feb-2000  mycroft The final read of the CSC register does not appear to be needed any
more.
 1.12  08-Feb-2000  chopps deal with loops that we get stuck in due to unhandled interrupts.
 1.11  08-Feb-2000  mycroft Be more careful with the CSC_INTR register while probing.
Make some output more specific.
 1.10  04-Feb-2000  chopps only enable interrupts from the controller if the socket is enabled
 1.9  04-Feb-2000  chopps doh, remove debugging leftover (forcing irq 15 to always be avail).
 1.8  03-Feb-2000  enami Cosmetic change; use IRQUNK instead of -1 always.
 1.7  02-Feb-2000  enami Make irq probing controled by patchable variable and disable on hpcmips
by default. It doesn't work on hpcmips.
 1.6  01-Feb-2000  chopps restore irq 10 to pcic_isa_intr_alloc_mask
 1.5  01-Feb-2000  chopps implement probing for available irqs on non-cirrus pcmcia controllers
including cardbus controllers running in pcic mode
 1.4  15-Oct-1999  haya branches: 1.4.2;
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  19-Feb-1999  mycroft branches: 1.3.2; 1.3.8;
Oops; PCIC_INTR_ENABLE does something *very* different.
 1.2  18-Feb-1999  mycroft Use the correct interrupt sharing type, and set PCIC_INTR_ENABLE(!).
 1.1  07-Jun-1998  sommerfe Add ISAPnP attachment for PCMCIA bus controller; reorganize ISA
attachment to let it share code with PnP attachment.
 1.3.8.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.3.2.1  22-May-2000  he Pull up revision 1.21 (requested by jhawk):
Revert 12-bit iospace for PCMCIA to 0x400-0xfff.
 1.4.2.3  05-Jan-2001  bouyer Sync with HEAD
 1.4.2.2  13-Dec-2000  bouyer Sync with HEAD (for UBC fixes).
 1.4.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.27.6.1  01-Oct-2001  fvdl Catch up with -current.
 1.27.4.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.27.2.4  07-Jan-2003  thorpej Sync with HEAD.
 1.27.2.3  08-Jan-2002  nathanw Catch up to -current.
 1.27.2.2  14-Nov-2001  nathanw Catch up to -current.
 1.27.2.1  26-Sep-2001  nathanw Catch up to -current.
Again.
 1.31.2.5  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.31.2.4  04-Feb-2005  skrll Sync with HEAD.
 1.31.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.31.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.31.2.1  03-Aug-2004  skrll Sync with HEAD
 1.34.6.2  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.34.6.1  12-Feb-2005  yamt sync with head.
 1.34.4.1  29-Apr-2005  kent sync with -current
 1.36.4.2  27-Oct-2007  yamt sync with head.
 1.36.4.1  21-Jun-2006  yamt sync with head.
 1.37.12.1  31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.37.10.1  19-Apr-2006  elad sync with head.
 1.37.8.1  01-Apr-2006  yamt sync with head.
 1.37.6.1  22-Apr-2006  simonb Sync with head.
 1.37.4.1  09-Sep-2006  rpaulo sync with head
 1.38.38.1  25-Oct-2007  bouyer Sync with HEAD.
 1.38.34.1  06-Nov-2007  matt sync with HEAD
 1.38.32.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.38.18.1  23-Oct-2007  ad Sync with head.
 1.39.16.1  02-Jun-2008  mjf Sync with HEAD.
 1.40.18.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.40.12.1  28-Apr-2009  skrll Sync with HEAD.
 1.40.4.5  11-Aug-2010  yamt sync with head.
 1.40.4.4  11-Mar-2010  yamt sync with head
 1.40.4.3  16-Sep-2009  yamt sync with head
 1.40.4.2  16-May-2009  yamt sync with head
 1.40.4.1  04-May-2009  yamt sync with head.
 1.45.4.1  30-May-2010  rmind sync with head
 1.45.2.2  17-Aug-2010  uebayasi Sync with HEAD.
 1.45.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.47.18.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.47.8.1  30-Oct-2012  yamt sync with head

RSS XML Feed