Commit Graph

454 Commits

Author SHA1 Message Date
imp
f0fa26212f MFp4:
Don't generate the data file.
Use 0xffffffff rather than -1 for sign safety as these fields are uint32_t.
2003-03-28 06:43:50 +00:00
imp
3b5aac966d Use %jd and a cast to intmax_t instead of a cast to long.
Minor style nit while I'm here.
2003-03-18 02:40:40 +00:00
imp
c6440201e0 Tag longling_addr as maybe using a bad type, I'm not sure. 2003-03-18 02:38:33 +00:00
imp
48cf728094 Regenerate for 1.45 2003-03-18 02:37:25 +00:00
imp
dd2485f035 Add DLINK DWL650H
From NetBSD by way of deichen
2003-03-18 02:36:54 +00:00
imp
cf874b345d Back out M_* changes, per decision of the TRB.
Approved by: trb
2003-02-19 05:47:46 +00:00
shiba
1d81fcf618 Regen. 2003-02-15 13:58:28 +00:00
shiba
afe7a9b3a4 Add YIS YWL-11B. This card has same vendor id and product id
as XI300 Wireless LAN.
2003-02-15 13:57:52 +00:00
shiba
b4ac024b7f Regen. 2003-02-01 04:47:51 +00:00
shiba
a02f58e575 Allied Telesis WR211PCM(wi) and Corega PCC-T(ed) have
same manufacture id and product id. So use CIS info
(PCCARD_CISTPL_VERS_1).

reported by HONDA Yasuhiro <yasu@yasu.org>
2003-02-01 04:47:29 +00:00
alfred
bf8e8a6e8f Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.
Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
2003-01-21 08:56:16 +00:00
shiba
f5d96fabf6 Add BUFFALO LPC-CF-CLT(10Base-T Compact Flash Ether Card). 2003-01-18 02:14:23 +00:00
shiba
44d7962871 Regen. 2003-01-18 02:13:10 +00:00
shiba
b589dfc015 Add Accton EN2216. 2003-01-18 01:14:48 +00:00
shiba
9b3c9205b8 Regen. 2003-01-18 01:14:01 +00:00
shiba
0fec640af4 Add Allied Telesis WR211PCM. 2003-01-17 18:41:32 +00:00
shiba
32bd439fce Regen. 2003-01-17 18:40:31 +00:00
shiba
ee410d3d46 Regen. 2003-01-11 13:01:40 +00:00
shiba
a377931795 RATOC REX-R280(10Base-T Ether Card) and REX-9530(SCSI2 Card) have
same product id. So use CIS info(PCCARD_CISTPL_VERS_1).
2003-01-11 13:00:56 +00:00
non
ac74ec61c7 regen to 1.38
Reviewed by:	imp
Approved by:	re
2002-11-28 01:00:40 +00:00
non
7fa61a493d o Add PC-Cards' ID or CIS strings which are supported by ncv, nsp,
or stg driver. They are,

Macnica mPS110, PANASONIC(KME) KXLC004, Qlogic Fast SCSI,
Workbit Ultra Ninja-16, (ID based)

Future Domain SCSI2GO, IBM SCSI PCMCIA card, I-O DATA CBSC16,
Macnica mPS100, Newmedia BASICS-SCSI, RATOC REX-5536, RATOC REX-5536AM,
RATOC REX-5536M, RATOC REX5572, Workbit NinjaSCSI-3
(CIS based)

  Note: We need vendor IDs WORKBIT2 and IODATA3 which is -1, since some
        cards does not have IDs in the CIS and fails to be probed without
	this fake vendor IDs.

o Change the strings of RATOC REX_R280 from REX-R280 to REX-R280/REX-9530.
  This reminds us that REX-R280 and REX-R9530 have same ID (same product).

Reviewed by:	imp
Approved by:	re
Obtained from:	/etc/defaults/pccard.conf,
		List of CIS tupples by Toshihiko ARAI and PAO project:
			http://www.linkclub.or.jp/~clover/cis/
Change suggestion by:	HASEGAWA Tomoki <thasegawa@mta.biglobe.ne.jp>
			for I-O DATA CBSC16 entry
2002-11-28 00:57:47 +00:00
mux
e428fcdb38 Fix printf() format errors.
Reviewed by:	imp
2002-11-14 14:02:32 +00:00
imp
01eae78096 MFp4:
o Use 32-bit unsigned types for things that really are 32-bit quantities,
  not bus_addr_t.  These are not the same as a bus_addr_t, so don't use
  that here.  Harmless on i386, introduced problems on sparc64.

Submitted by: jhb
2002-11-14 05:15:50 +00:00
imp
36d61097ba Remove an impossible condition. pf->dev is always non-null here. 2002-11-14 05:13:52 +00:00
imp
99afd075e5 regen to 1.37 2002-11-14 05:07:20 +00:00
imp
bd7ef5583b Add a third aic-based bustoaster. 2002-11-14 05:06:25 +00:00
imp
fd4399a908 MFp4:
o Always release the resources on device detach.
o Attach resources the same with driver added as we do we do in the insert
  case (maybe this should be a routine).
o signal the wakeup of the thread on resume instead of trying to force an
  interrupt.
o Minor debug hacks.
o use 0xffffffff instead of -1 for uint32_t items.
o Don't complain when we're asked to detach no cards.  This is normal.
o Eliminate the now worthless second parameter to card_detach_card.
o minor style(9)isms

Some of these patches may be from: iwasaki-san, jhb, iadowse
2002-11-02 23:00:28 +00:00
imp
e89d464126 sync to 1.36 of pccarddevs 2002-10-11 07:00:53 +00:00
imp
fb7adefd2d Merge from NetBSD plus diff reduction to netbsd's pcmciadevs 1.177 file:
o NETGEAR2 -> NETGEAR_2
o PLANEX2 -> PLANEX_2
o ACTIONTEC HWC01170 -> ACTIONTEC PRISM
o linksys iwn2 -> iwn3
o Add: Ositech, DLINK_3, BAY emobility, buffalo lpc3_clt, netgear fa410TX.
  dynalink accton EN2216, corega ether II PCC TD, dlink dfe670TXD,
  dynalink l10c

Obtained from: NetBSD
2002-10-11 07:00:30 +00:00
imp
0005d653fc sync to 1.35 of pccarddevs 2002-10-11 05:40:45 +00:00
imp
2eec8fe31f Add a new NewMedia BUSTOASTER that I bought on ebay (sadly w/o scsi dongle).
Add PLANEX GWNS11H submitted by hanai-san.
2002-10-11 05:40:13 +00:00
imp
a08ac34c17 o Add a nomatch routine so we whine when we don't know what to attach to
the card.
o Add comments about how we're doing the CIS activation.
o Add location and pnp info functions.
o Add better code to hopefully deal with ata cards better (and other drivers
  that allocate resources that we didn't preallocate from the CIS).  OLDCARD
  used to allow it, but NEWCARD was pickier.  I'm not 100% sure this works,
  but it doesn't break anything.
2002-10-07 23:05:33 +00:00
imp
61ae73678b Merge changes from NetBSD through version 1.17 of this file. These
give us slightly better error checking than before and interpret what
default bits mean better.  See the NetBSD CVS tree for the authors of
these changes (revs 1.10 .. 1.17).
2002-10-07 23:03:17 +00:00
imp
365f3d65f1 MFp4:
o Return the right string for CIS4_STR
	o kill obsolete comment about not doing something that we now do.
2002-10-07 07:18:32 +00:00
imp
5c300d06bb Better comment for the product ID thing. 2002-10-07 06:35:04 +00:00
imp
2b0481758d o Dike out the bogus reprobe stuff. It was getting in the way of newbus' own
reprobe code working.  This bogusness was thrust upon me.
o Don't delete the device if no drivers attach.  I had thrust this bogusness
  upon others.

These two changes make kldload of a pccard driver work again.
2002-09-10 06:32:18 +00:00
imp
44c91692ec regen for 1.34 2002-09-10 06:29:50 +00:00
imp
04ac07203d Add ARGOSY SP320
cis submitted by: phk
2002-09-10 06:29:09 +00:00
imp
b720c131c7 More in the continuing saga of phk vs his strange serial card.
In this installment, we learn that it is bad to access registers that
are only defined for mfc cards in the interrupt handler when we do not
in fact have a mfc card.  For MFC cards, we'll only call the ISR if
the this card interrupted bit is set.  For non mfc cards (which are
basically 90% of pccards in use), we always call the ISR and avoid
touching the suspect registers.  We always pacify the bit in the MFC
case on the off chance that will help in the itnerrupt handler not
being registed.
2002-09-04 06:53:37 +00:00
phk
d24190132a Drop another cookie to wet Warners appetite:
We need to call the drivers interrupt function even though the card is not
multifunction.
2002-09-03 11:24:25 +00:00
imp
480c5ff48a Make modems work:
Don't set the CCR_OPTION register when registering/deregistering
interrupts unless the card is a MFC card.  This makes a lot of cards
work that didn't work before.  These bits are only defined for MFC
cards.

Remove COOKIE_FOR_WARNER kludges that phk introduced.

Add more debug info.

Annoy the purists by committing two minor style nits at the same time.

Many thanks to phk.  He tracked this problem down to what was screwing
things up, so fixing it became trivially easy once the problem was
understood.
2002-08-31 18:34:30 +00:00
phk
bcd9be0b7d Different and more correct workaround for broken cards under NEWCARD:
don't spam the configuration index register.

I'm not sure where those bits truly belong, but spamming the config
index sure doesn't do us any good.
2002-08-31 16:07:17 +00:00
phk
18afceec82 Ignore all config entries which have a non-zero start I/O address.
This is a bandaid which makes some more PCCards work under NEWCARD
which would otherwise not work.

Cards with only fixed address windows still loose.
2002-08-31 14:38:24 +00:00
imp
9e7fb94cf8 pccbb -> cbb 2002-08-15 08:02:23 +00:00
imp
f685742637 Don't redundantly include \n in panic messages 2002-08-12 22:34:12 +00:00
imp
30e16b137a Eliminate the need for pccard_common.c by moving the function inline
in the .h file.  Make it static __inline to make sure that it doesn't
wind up defined in any files.

Also, fix a typo that said null_do_attach instead of null_do_probe.
2002-07-17 05:20:43 +00:00
imp
53ba5c7609 regen from pccarddevs 1.33 2002-07-17 04:02:52 +00:00
imp
2d94482b54 MFOpenBSD:
1.93; henning; MA401RA wi card
1.92; millert; elsa XI-325 wi card
1.91; fgsch; gemplus cpr400 smartcard reader
1.90; mickey; Nokia c110/c111 is prism2 card
1.89-1.86 (similar to what we do already)
2002-07-17 04:01:57 +00:00
takawata
d19ac116d6 Make oldcard and newcard kernel module work. 2002-05-30 17:38:00 +00:00
imp
200a76f1a4 Catchup to 1.32 2002-04-11 21:19:04 +00:00
imp
3b03394d5b Add ACTIONTEC HWC01170 from OpenBSD 2002-04-11 21:18:17 +00:00
imp
e1798dc814 catch up to 1.31 2002-04-05 16:25:34 +00:00
imp
022376dedf Add 3crwe77a 2002-04-05 16:25:03 +00:00
imp
6f0619b5a4 Regen for 1.30 pccarddevs 2002-04-02 05:47:08 +00:00
imp
ccea42acc9 Actually merge proxim rangelands and addtron awp-100 2002-04-02 05:46:10 +00:00
imp
acd0e06815 regen to 1.29 pccarddevs 2002-04-02 05:39:40 +00:00
imp
df2847c093 Merge from both NetBSD and OpenBSD's pcmciadevs:
NetBSD:
	1.163; martin; ELSA MicroLink mc all
	1.162; is; typo
	1.161; is; typo
	1.160; is; Add Lantech Fastnet/TX
OpenBSD:
	1.85; millert; proxim rangelan-ds
	1.84; provos; linksys wpc11
	1.83; mickey; now wires needed wlan
	1.82; mickey; socket low power wlan from netbsd [*]
	1.81; mickey; ericsson wlan
	1.80; fgsch; add openbsd tag back (not needed)
	1.79; fgsch; Netgear FA411
	1.78; mickey; simple spectrum25 from netbsd [*]
	1.77; mickey; emtac wavelan from netbsd [*]
	1.76; mickey; buffalo wavelans from netbsd [*]
	1.75; jakob; 3com wilress lan pccard
	1.74; mickey; linksys2 instant wireless
	1.73; mickey; oops (add closing quote)
	1.72; mickey; pcm100
[*] (already in freebsd)

Obtained from: NetBSD, OpenBSD
2002-04-02 05:39:07 +00:00
imp
835285fed8 Improve support of MFC cards (Multi-function cards). This commit
allows us to properly parse cards with attribute memory based CIS that
before wouldn't parse correctly, sometimes with a panic.  This allows
me to get my 3C562 modem/ethernet card to fail to attach due to
problems in the ep and sio drivers rather than due to problems in the
CIS parsing code :-).

We weren't setting the address to jump to for the function entries.
This caused us to only work when the addional entries were after the
first ones.  On the 3C562/3C563 card this was not the case.

We were also mapping Attribute memory when common memory was asked for
in the target of the LONGLINK_{A,C} or LONGLINK_MFC.

My IBM Home And Away Modem/LAN card still fails for reasons unknown.
2002-03-29 08:05:39 +00:00
imp
b8c72f4eaa Regen for 1.28 of pccarddevs 2002-03-17 05:06:37 +00:00
imp
31881ddbed Add support for the home Wireless Network airway wireless pcmcia card.
I cannot find where I got these patches, but I think it was from the
bsd-nomads mailing list.  Please contact me if you posted them there.
2002-03-17 05:05:42 +00:00
imp
03b0ddafe2 Make hw.pccard.debug and hw.pccard.cis_debug tunable/sysctl. Setting to 1
will enable more verbose debugging output from the pccard system.
2002-03-07 08:03:53 +00:00
shiba
3af9954d93 Add u_int16 prodext value in CISTPL_MANF_ID. This gets a fifth byte
when manufacturer id tuple length is 5. This change is for xe driver.
This is a dirty hack. But there is no better idea.

Reviewd by: imp
2002-02-20 14:30:46 +00:00
imp
ca03e62ab0 o Count the number of mem and io spaces we allocate. If none work, bail out
o Add some better debugging code.
o Minor style(9) fixes.
2002-02-19 05:04:37 +00:00
imp
de7d451aca Do the cast away of unsignedness in a way that is more commprehensible. 2002-02-19 05:01:43 +00:00
imp
fc3cad7e87 Null interrupt handlers should be OK, so if we don't have a function,
just return.
2002-02-10 05:04:20 +00:00
imp
001b5dc57d o Use bus_generic_setup_intr instead of bus_setup_intr.
o Call bus_generic_setup_intr and check its return value.  Don't setup
  func until we successfully get the interrupt from our parent.
o Add comments about some maybe questionable stuff so I can check later
  to make sure that it really is that way.
2002-02-10 03:34:44 +00:00
imp
d22d828b7d Boot verbosify printing the CIS, since we don't normally need to do that. 2002-02-09 21:34:06 +00:00
imp
4e8bb198e7 Remove DETACH_NOWARN 2002-02-07 06:43:29 +00:00
imp
a6ee5d93d9 Default debugging to OFF now. 2002-02-04 15:55:21 +00:00
imp
2eb20551ff Move cardaddr to memory structure.
Forgotten by: imp
Reminded by: Dave Cornejo
2002-01-29 16:57:50 +00:00
imp
a8d6fd7393 Sync to 1.27 of pccarddevs 2002-01-29 06:10:15 +00:00
imp
3f314d0de0 MFNetBSD:
1.159: sorting (not relevant to us, since I'd done thie before)
	1.158: joda; Ericsson PRISM2 WIRELEASS LAN CARD.
	1.157: aymeric Edimax Technology ethernet card
2002-01-29 06:09:39 +00:00
imp
c289a894f7 Regenerate from 1.26 pccarddevs 2002-01-08 20:52:57 +00:00
imp
56b014505e Catch up to NetBSD:
1.156 pooka; Socket Low-Power CF WLAN
	1.155 ichiro; IBM Smart Capture Card II
	1.152-154 ichiro; Fujitsu CF EtherCard and FMV-181,182,182A
	1.151 christos; Symbol Spectrum24
2002-01-08 20:52:23 +00:00
imp
9292ea9a4d Add support for suspending/resuming CardBus bridges.
We really should have and use power state information, but none exists
today.

Submitted by: YAMAMOTO Shigeru-san <shigeru@iij.ad.jp>
2001-12-15 05:58:28 +00:00
imp
e231bcb189 Sync to pccarddevs 1.25 2001-12-12 20:06:29 +00:00
imp
e2b68f4e4f Move LINKSYS2 to its correct numerical location.
Add BONDWELL B236 Game Card Joystick.  A PC Card joystick card.
2001-12-12 20:05:48 +00:00
imp
67df0b50e4 implement MFC links properly (and I think long links too). This make
the sprint wireless card try to attach.  Sadly, the pci code at the
bridge keeps this from happening.

Bug w/o PR: jhb :-)
2001-12-04 13:48:16 +00:00
imp
fc9dbdce84 Sync to 1.24 2001-11-28 08:33:41 +00:00
imp
7fa4817fe2 Merge from NetBSD:
1.147 (my changes to sync to FreeBSD's file)
	1.148 Buffalo AirStation CFtytpe WLAN Card (ichiro)
	1.149 IBM SCSI PCMCIA (yamt)
	1.150 <restore 1.148 lost in 1.149> (enami)
2001-11-28 08:33:12 +00:00
imp
335a26d4b8 Only call pccard_function_disable when we have a configured config
entry.  Otherwise we panic on boot for cards that we can't allocate a
config entry for (my 3.3V wavelan card currently fails thusly).
2001-11-26 07:14:00 +00:00
imp
e42e956dfb Weed out those pccard entries that match everything. These are too
dangerous to allow :-)

This should fix the ed1: <PLANEX ... bug.
2001-11-20 06:15:24 +00:00
imp
3b062a2907 Update to 1.23 pccarddevs 2001-11-19 06:28:20 +00:00
imp
c81de63164 Add ZOOM as one of the bgous vendors 2001-11-19 06:27:33 +00:00
imp
2f8016404c Update to 1.22 pccarddevs 2001-11-19 05:22:46 +00:00
imp
4d30d470db Nits to make it whitespace compatible with what I'm about to commit to NetBSD 2001-11-19 05:22:28 +00:00
imp
18df5bf636 Update to 1.21 pccarddevs 2001-11-19 05:11:50 +00:00
imp
15c4a90ac4 Merge NetBSD 1.146: Linksys Instant Wireless Network card.
Obtained From: NetBSD
2001-11-19 05:11:35 +00:00
imp
aed28d261d Update to 1.20 pccarddevs 2001-11-19 05:04:08 +00:00
imp
9dec539715 Merge NetBSD 1.145: Xircom XE2000 2001-11-19 05:02:55 +00:00
imp
d61787d6b5 Regenerate with 1.19 of pccarddevs 2001-11-16 06:59:27 +00:00
imp
4ab389c3ff Merge in most (hopefully all) of the devices that OpenBSD has that
NetBSD/FreeBSD doesn't have listed.
2001-11-16 06:58:47 +00:00
imp
3e552735d1 Sync to 1.18 of pccarddevs 2001-11-15 07:50:38 +00:00
imp
e1f7a9c3c0 Add vendor for NDC. 2001-11-15 07:50:09 +00:00
imp
686e52b5ce Hoist the Card/Card2 macros that I invented for the wi driver into
pccard layer and rename them PCMCIA_CARD and PCMCIA_CARD2 respectively
(note, this is being done with an eye towards NetBSD integreation so
it is easier to keep lists of cards between us and them in sync).

Use this in the an and wi drivers.
2001-11-15 06:37:13 +00:00
imp
bdcad4abe9 Sync to 1.17 of pccarddevs 2001-11-11 23:52:49 +00:00
imp
d0d2eaf8b0 Add GENTEK as one of the bogus vendors we need to id cards from the cis 2001-11-11 23:52:28 +00:00
imp
eac3f73dc1 Sync to 1.16 pccarddevs to get new PCMCIA_ symbols 2001-11-11 20:15:47 +00:00
imp
db8e4ff08f Move from using PCCARD_ symbols gereated from this file to using PCMCIA_
symbols so that driver lists are easier to share and keep in sync.
2001-11-11 20:15:06 +00:00
imp
68f56cbafe Sync to 1.15 pccarddevs 2001-11-11 19:37:28 +00:00
imp
22a47e8fea MFNetBSD:
1.140	imp (that's me)		sort the file
	1.141	christos		Another cdrom
	1.142	mjl			Corega PCCB-11
	1.143	mjl			Corega PCC-TD
	1.144	ichiro			ELSA CF wavelan card XI-800
2001-11-11 19:36:44 +00:00
imp
da7f535b3c Regen. 2001-10-05 05:32:51 +00:00
imp
44d85e12de MFNetBSD:
1.139: augustss; Add EigerLabs sound card.
	1.138: ichiro; Typo
	1.137: ichiro; GEMTEK CF-size WaveLAN card based on Prism2.5 eval
	1.136: ichiro; Symbol Spctrum24 LA4100 Series CF WaveLAN card
	1.135: pooka; Psion Gold Card
	1.134: christos; zonet zen (Henrik Berglund)
	1.133: christos; dlink-660+ (janberg@netbsd.org)
	1.132: itojun; 3Com 3CRWE62092A Wireless LAN
2001-10-05 05:32:27 +00:00
shiba
5757abe58a Update cis tuple parser, add a pccarddevs entry,
and improve PCCARD_IVAR_ETHADDR in pccard_read_ivar().

Change points:

(1) Read Function Ext tuple.
(2) Add Ratoc REX-R280 entry(fe driver).
(3) Take ether address from function ext tuple.

Reviewed by: imp
Obtained from: NetBSD
2001-09-02 06:37:41 +00:00
jon
10f5273e6a Make pccard_product_lookup non-static again...
When something is exported, do not mark it as static for no apparent reason...

Broken by: me
2001-08-27 11:28:00 +00:00
imp
1df82af8cb More notes to the reader about issues in pccard code here. 2001-08-27 01:24:33 +00:00
imp
c7dc6a1b50 Merge notes, but not code, from my latest tree on pccard_function_init and pccard_function_free 2001-08-27 01:18:21 +00:00
jon
c07859c916 Part two of this NEWCARD update:
Briefly, the significant changes include:
 * Way better resource management in pccbb, pccard and cardbus.
 * pccard hot-removal now appears to work.
 * support pre-fetchable memory in cardbus.
 * update cardbus to support new pci bus interface functions.
 * Fix CIS reading to no longer use rman_get_virtual().

What's not there, but in the works:
 * pccard needs to do interrupt properly and not read the ISR on single
   function cards.
 * real resource management for pccard
 * a complete implementation of CIS parsing
 * need to look into how to correctly use mutex in pccbb
2001-08-27 00:09:42 +00:00
jon
dc0fa08956 Non-functional changes to NEWCARD stuff.
This is the first part of a two-part update to NEWCARD.  Changes in this
commit are non-functional, and includes the following:
 * indentation and other changes to meet style(9).
 * other minor style consistancy changes
 * addition of comments
 * renaming of device_t variables to be consistant across all of NEWCARD.

(note that not all style violations are fixed in this commit -- those that
 aren't will be clobbered by the next commit.)
2001-08-26 23:56:49 +00:00
assar
868d628bef null_do_probe: mark as unused 2001-07-21 17:10:30 +00:00
imp
b67a29df8c Sync to pccarddevs 1.12 2001-07-05 03:20:48 +00:00
imp
4980cf149f Merge from NetBSD:
1.131: crhistos; cn40bc ne clone
	1.130: ichiro; COREGA FEther PCC-TXF
	1.129: ichiro; nits
	1.128: ichiro; National Instruments pcmcia GPIB
	1.127: jhawk; Socket EA ethernet
	1.126: ichiro; Intel PRO/Wireless 2001 LAN PC Card
	1.125: ichiro; BUFFALO AirStation 11Mbps WLAN Card
	1.124: ichiro; Corega FEther PCC-TXD
	1.123: onoe; Cisco Aironet 350 Series
	1.122: ichiro; I-O DATA WN-B11/PCM wlan
	1.121: aymeric; Synergy 21 S21810+
	1.120: thorpej; D-LINK DMF-560TX
	1.119: ichiro; typo
	1.118: ichiro; some wavelan card
	1.117: ichiro; Contec FLEXLAN/FX-DS100-PCC wavelan
	1.116: ichiro; COMPAQ Wireless CARD NC5004(Prism2)
	1.114: thorpej; Xircom CreditCard Token Ring II
2001-07-05 03:19:43 +00:00
imp
36b30174a2 Fix the panics for real this time. When something can't be allocated,
we need to delete the info from the list as well as zero out the res
pointer we saved in the code.

Also made a few style(9) changes while I was at it.  Don't use if
(ptr) or if (!ptr), but compare against NULL.  Compare against NULL
rather than 0.  Don't have useless blocks.

There are likely other problems as well, but at least the wi based
wireless card with memory listed in its cis doesn't panic the system
when the card is inserted.
2001-05-10 06:55:39 +00:00
dmlb
073481bfe4 Add additional enumeration types for CARD_SET_RES_FLAGS.
Approved by:	imp
MFC:	after 1 week
2001-05-08 23:56:47 +00:00
imp
95af7f8b67 Add accessor/ivar for the "function". This is so we can generically
match disks and serial ports and maybe others.
2001-04-21 04:08:39 +00:00
imp
bfdb72c0bc Only try to delete the resource if we actually got it. 2001-04-21 02:29:09 +00:00
imp
a77b88f03f First step towards making loadable modules independent of having
pccard in the kernel for those drivers with pccard attachments.  This
makes the compat layer a little larger by introducing some inlines,
but should almost make it possible to have independent attachments.
The pccard_match function are the only one left, which I will take
care of shortly.
2001-03-22 06:00:07 +00:00
imp
ba4eff10d2 Sync to last changes. 2001-03-22 05:52:42 +00:00
imp
7ce3a0be44 Add zoom air 4000. 2001-03-22 05:51:58 +00:00
imp
6e66a78b31 Style(9) changes:
put parens around return (statements);
	Use ANSI funcitons only.
2001-03-22 05:41:20 +00:00
phk
709379c1ae Another round of the <sys/queue.h> FOREACH transmogriffer.
Created with:   sed(1)
Reviewed by:    md5(1)
2001-02-04 16:08:18 +00:00
imp
83ca21a660 Convert the vendor/product cis strings to an array of CIS entries. This
allows us to use the PCCARD_CIS #defines generated to distinguish cards
that don't have a Manufacturer and OEM.
2001-01-21 08:09:00 +00:00
imp
9dfe17139a remove duplicate entry that snuck in during the merge. 2001-01-21 04:33:12 +00:00
imp
3427c48eab Sync to pccarddevs 1.9 2001-01-20 02:04:26 +00:00
imp
434b46db5e Sync with NetBSD (again, after I got the most up to date file):
o 1.111 imp Sync with FreeBSD.
o 1.110 nonaka Add Roland SCP-55
o 1.109 ichiro add NANOSPEED ROOT-RZ2000 WLAN Card
o 1.108 ichiro add EMTAC A2424i 11Mbps WLAN Card
2001-01-20 02:03:53 +00:00
imp
c5dbf28e7d sync with pccarddevs 1.8. 2001-01-20 01:49:17 +00:00
imp
edcc56f8ca Correct entry for RATOC REX_R280 to comply with style used in the rest
of the file.
2001-01-20 01:48:55 +00:00
imp
641e5a321a Sync with pccarddevs. 2001-01-20 01:42:22 +00:00
imp
02613d507c Sync with NetBSD. v1.98->1.107:
o 1.107 haya	Add IO Data CBIDE2 ata interface card.
o 1.106 jhawk	s/NULL}/NULL }/
o 1.105 thorpej	" " -> "&sp" in two entries, per Rafal Boni.
o 1.104 thorpej	Add SMC 2632W.  From Rafal Boni, kern/11775.
o 1.103 drochner add IBM microdrive
o 1.102 soren	Typo.
o 1.101 hubertf	Add ELSA WaveLAN card & a noname clone(?)
o 1.100 toddpw	Socket Comm. PC Card Ethernet, and tidy up naming.
o 1.99 msaitoh MELCO LPC2-TX, Telecom Device TCD-HPC100,
	        MACNICA ME1-JEIDA
o 1.98 imp	Sort BAY into numerical order. (already in FreeBSD)
2001-01-20 01:41:25 +00:00
peter
7ffba1700e This is a bandaid for a problem that is not entirely fixed yet.
The pccard_function_init() call creates a bunch of inactive resources
that are persistant and configured on demand.  When the child driver
"allocates" a resource it is connected up to one of these.  When the
child releases the resource, we should not delete our copy, just
deactivate it again.  Otherwise there is nothing to recreate it again
after several probe functions have run and done an alloc/release cycle.
INVARIANTS shows 0xdeadc0de without this.

More work is needed to do a sweep though the pccard_function_disable()
call to actually delete the resources for real.  Right now, we leak
memory on eject (at best), so Dont Do That(TM) yet.  This affects
16 bit pccards on a cardbus bridge only.  This will be fixed soon, but
for now it gets the cards working.

Reviewed by: imp
2001-01-07 21:32:05 +00:00
imp
b64cf67abd This file follows style(9), so adjust various nits in the last few commits
to conform to style(9), plus one other convention that I use:
o Declare variables at the start of the function, rather than in blocks
  when it doesn't help understanding (mine).
o 80 column limit.
o BSD style statement continuation, rather than "gnu" style.
2001-01-07 20:40:23 +00:00
imp
748745f40e For bus_setup_intr, cookiep is a pointer to storage for the parent
bus to use.  We need to set it here.

This fixes the problem where a probe routine establishes and
disestablishes the interrupt and then we get a panic in the probe
routine.

However, we pass the pointer to the interrupt hanlder count to the
parent bus, which writes its own cookie there, so there may be some
problems with that which isn't apparent at the moment.

Commit made from: laptop running NEWCARD with sn driver (which works,
but gets the wrong ethernet address).
2001-01-07 20:36:27 +00:00
imp
c64a2be70f o Now that I've had time to test the new interface, reintegrate it back in.
o Fix OLDCARD to use the new interface.
o Rename the offsetp argument to deltap to more closely reflect what it
  is returning (it returns the delta from the requested value to the actual
  value).
o Remove duplicate $FreeBSD$ in pccbb.c
o Allow deltap to be NULL.
o Convert new isa pcic driver and add XXX comments that this function isn't
  actually implemented there (which means that NEWCARD pccard stuff won't
  work there until it is).
o Revert attempts to make old inferface work in NEWCARD.

Subitted by: peter (Parts of the new version code)
2001-01-07 16:31:09 +00:00
imp
4b7a126e06 Undo the interface change to CARD_GET_MEMORY_OFFSET. It wasn't tested
by even a compile of the OLDCARD code, was unapproved by me the keeper
of OLDCARD and broke OLDCARD and the ray driver.

Adjust new code to cope with the older interface.

If the interface changes in the future, it ***MUST*** be cleared by me
so that the OLDCARD impacts taken into account.  It code in card_if.m
is used jointly by both OLDCARD and NEWCARD.
2001-01-07 08:08:54 +00:00
peter
d977a9f5d6 We do not, and hopefully never will, use the static pccard device table. 2001-01-07 03:58:57 +00:00
jon
e564c617f8 * Better kld support in pccbb/cardbus
- pccbb no longer needs to remember whether a card is inserted.
  - pccbb reissues insertion on load of cardbus/pccard modules.
  - got rid of unnecessary delays in power functions.
  - Cardbus children are no longer deleted if probe/attach fails.
  - non-attached child devices are reprobed at driver_added.

* CARD interface to read CIS
  - added card_cis_read/card_cis_free interface to read arbitrary CIS
    data.  This currently is only implemented in cardbus.

* pccard begins to work
  - pccard can now use higher memory space (and uses it by default).
  - set_memory_offset interface changed.
  - fixed ccr access, which was broken at multiple locations.
  - implement an interrupt handler - pccard can now share interrupts.
  - resource alloc/release/activate/deactivate functions gutted: some
    resources are allocated by the bridge before the child device is
    probed or attached.  Thus the resource "belongs" to the bridge, and
    the pccard_*_resource functions need to fudge the owner/rid.
  - changed some error conditions to panics to speed debugging.

* Mutex fix - Giant is entered at the beginning of thread
2001-01-06 18:04:55 +00:00
jon
d0c937a7bc Oops, broke newcard because I forgot to commit this in my last round of changes to pccbb.c 2000-11-28 15:50:13 +00:00
peter
b04e324cca Regenerate. Note that pccarddevs_data.h is not used. 2000-11-25 03:43:37 +00:00
peter
fda38a16a9 Add Kingston and the KNE-PC2 card 2000-11-25 03:42:06 +00:00
dwmalone
1978e2e6ea Make a few more mallocs use M_ZERO.
Submitted by:	josh@zipperup.org
Submitted by:	Robert Drehmel <robd@gmx.net>
Approved by:	imp
2000-10-29 16:29:05 +00:00
imp
375c107d96 o Remove lots of kludges with iospace and irq.
o Make sure that I/O space is aligned properly based on the length of the
  resource we're allocating.
o Add bootverbose message when we fail.
2000-10-22 04:46:56 +00:00
imp
05ba568709 Get the interrupt correct. 2000-10-20 20:27:22 +00:00
imp
8de06f1991 o Fix memory leak in ivars
o Change name of bus
o Change the panic on resource allocation failure to just a message.  We'll
  work out why this fails later in the pcic/pccbb code merge.
2000-10-19 22:36:41 +00:00
imp
7b1af12bd7 o Remove a boatload of debugging printfs.
o Report function number and config index on probe line
o Activate the resources (I hope) when RF_ACTIVE is set on those resources
  I'm allocating on behalf of my children.
o Always enable interrupts on multifunction cards in the multifunction
  register.
2000-10-18 02:21:00 +00:00
imp
5c09d420a4 More NEWCARD fixes. We now almost properly print the probe message.
o Remember the resources we allocate for the config entry.
o When we get the resource, do an resource_list_add and do a
  resource_list_delete if we fail later in the resource list.
o In the pccard bus, we allocate the resources.  When a child asks for
  them, just return the resources that we allocated (thanks to Paul
  Richards and Mike Smith for the idea).
2000-10-17 06:29:21 +00:00
imp
2fee850635 First cut at allocating the resources from the CIS after the probe, but
before the attach.  Things aren't completely working, but this is a good
checkpoint.

Also, initialize the dev member of the function as soon as we add it
to the parent.
2000-10-16 07:51:12 +00:00
imp
cd3bbf9dd5 Lots of little fixes. We no longer panic on card insert:
o initialize ivars with bzero.
o remove interrupt function pointer.  netbsd needs it, but we don't.
o add lots of comments about bogus things that I've been kludging to try
  to make the simple cases work.
o add new ivar accessor for cis4 to match cis3.  likely neither will be
  needed, but it doesn't hurt to have it.
2000-10-15 17:21:50 +00:00
imp
7c2a756e2c o Record the pccard_function in the ivar.
o Use a macro function to get the ivar for the child rather than the casting
  directly.  This should be a little safer and easier to read.
2000-10-09 03:40:15 +00:00
imp
fec7b68553 o Implement get_ivars so matching routines will work (this causes
compat probe routines to work).
o Have a null driver_added routines.  We need to be careful about probing
  until after we know we have a card.  For the moment, we do nothing
  (which is safe).  This fixes a panic when a driver is loaded w/o a
  card in the slot.

XXX still need to fix the resource list code.  It is totally busted and
XXX causes a panic in the child printing routine after the probe has
XXX succeeded.
2000-10-07 05:48:51 +00:00
imp
433760d5d5 o Merge in changes to the NetBSD sources:
pcmciavar.h	1.9->1.12
		1.12, enami, minor coding nits
		1.11, augustss, (pcmcia_devinfo NRFB)
		1.10, cgd, add generic lookup routines
	pcmcia.c	1.14->1.23
		1.23, drochner, (probe code printing, NRFB)
		1.22, augustss, KNF
		1.21, uch, (hpcmips tweaks NRFB)
		1.20, chopps, remove bogus debug
		1.19, enami, minor coding nits
		1.18, augustss, (pcmcia_devinfo NRFB)
		1.17, nathanw, LP64 printf fixes
		1.16, cgd, add generic lookup routines
		1.15, aymeric, printf fixes
	NRFB == not relevant to freebsd
o Expand the pccard matching routines to include the ability to match
  against the CIS strings since our current driver database is based on
  that.
o Add lots more ivars to get the information necessary to snag these values.
2000-09-22 01:15:26 +00:00
imp
222e32bc49 Implement indirection in the pccard probe/attach. This should make it
possible to have different probe/attach semantics between the two
systems and yet still use the same driver for both.

Compatibility methods for OLDCARD drivers.  We use these routines to make
it possible to call the OLDCARD driver's probe routine in the context that
it expects.  For OLDCARD these are implemented as pass throughs to the
device_{probe,attach} routines.  For NEWCARD they are implemented such
such that probe becomes strictly a matching routine and attach does both
the old probe and old attach.

compat devices should use the following:

	/* Device interface */
	DEVMETHOD(device_probe),	pccard_compat_probe),
	DEVMETHOD(device_attach),	pccard_compat_attach),
	/* Card interface */
	DEVMETHOD(card_compat_match,	foo_match),	/* newly written */
	DEVMETHOD(card_compat_probe,	foo_probe),	/* old probe */
	DEVMETHOD(card_compat_attach,	foo_attach),	/* old attach */

This will allow a single driver binary image to be used for both
OLDCARD and NEWCARD.

Drivers wishing to not retain OLDCARD compatibility needn't do this.

ep driver minorly updated.

sn driver updated more than minorly.  Add module dependencies to allow
module to load.  Also change name to if_sn.  Add some debugging code.
attempt to fix the cannot allocate memory problem I'd been seeing.
Minor formatting nits.
2000-09-19 04:39:20 +00:00
imp
3599553fbc Change the interface to pccard_function_init. The interface is such
that it looks for an acceptible one.  Once it finds it, it should set
the resources for the device.  I say "should" because I've not written
that.  Also set an ivar for the child of pccard.  Minor fix to the
attach message printed, we lose the slot number, which I'll have to
restore later.  Adjust the pccard ivar so that we can save the
function that corresponds to this driver so we can enable and disable
it more easily.  Save a pointer to the function so we know what we're
dealing with.

There should be some way for the driver to specify which cfg it wants
to activate.  For now the pccard_function_init function just picks
one, but we'll have to revisit this going forward.  I'm not doing it
now because I'd need some way to activate the card many times and I'm
not sure that is desirable or even safe with some cards.
2000-09-16 06:52:20 +00:00
imp
d0a5f2be36 MFNetBSD:
1.6 2000/04/12 21:07:55 scw
	Add support for the SOHOware PCMCIA Ethernet card, model ND5100-E.
	This seems to be a re-badged NDC (National Datacomms. Corp) card.
	It needs a quirk entry due to lack of manufacturer tuple in the CIS.
	For some reason, the 'Tx/Rx' LED on the connector module is inverted
	such that it is off during network activity...
2000-09-05 18:25:49 +00:00
imp
0323c0883b Minor tweaks to have the card be properly enabled via the CCR.
Minor debug changes
Minor power management pessimizations
2000-08-26 00:07:40 +00:00
imp
578ecafc39 Sync to pccarddevs 1.5 2000-08-24 07:01:49 +00:00
imp
4f1541715c o Fix unterminated comment
o Sync to NetBSD (rev NetBSD-user edited-log):
	1.97 onoe add Samsung MagicLAN SWL-2000N
	1.96 gmcgarry Add entries for all Xircom ethernet models.
	1.95 onoe Add Farallon SkyLINE 11mb card as Intersil Prism2 [...]
	1.94 joda add 3Com 3CRWE737A (AirConnect)
	1.93 soren Include vendor name for IBM products.
	1.92 onoe Add Farallon SkyLINE Wireless LAN Card for awi(4) [...]
	1.91 soren Add Olicom GoCard.
	1.90 gmcgarry Clean up XIRCOM entries
	- Add entry for Xircom CreditCard Ethernet + Modem 28
	- Add entry for Intel EtherExpress PRO/100
	- Add entry for Compaq Netelligent 10/100 Ethernet
	1.89 is RATOC REX-R280 (another if_mbe_pcmcia card) support by [...]
	1.88 joda Panasonic KXLC003
	1.87 scw [...] SOHOware PCMCIA Ethernet card, model ND5100-E [...]
	1.86 itojun add CIS for Corega Wireless LAN PCC-11 [...]
o Minor diffs between the two files corrected to aid future sync.
2000-08-24 07:01:12 +00:00
imp
ceb2a14b74 Save a pointer to the dev, if any, that each function attach.
Remove some bogus printfs.
2000-08-22 04:25:57 +00:00
imp
5c155c532f o Move to using PCCARD_SOFTC(dev)
o fill in the size of the actual softc, rather than 1 in data structure
o minor debugging improvements.
2000-08-19 19:22:04 +00:00
imp
0dd71f49e0 Define get_memory_offset method 2000-08-11 15:51:51 +00:00
imp
226debc636 Matching commits to pccard for last pcic changes. We now at least to
probe/attach.  This is a checkpoint.
2000-06-18 05:28:59 +00:00
imp
78ef4e4125 Add new functions. Also add comments to existing functions. These
are needed for the pccard changes I've just committed.
2000-06-18 05:02:09 +00:00
jake
961b97d434 Back out the previous change to the queue(3) interface.
It was not discussed and should probably not happen.

Requested by:		msmith and others
2000-05-26 02:09:24 +00:00
jake
d93fbc9916 Change the way that the queue(3) structures are declared; don't assume that
the type argument to *_HEAD and *_ENTRY is a struct.

Suggested by:	phk
Reviewed by:	phk
Approved by:	mdodd
2000-05-23 20:41:01 +00:00
imp
145383aeb5 Remove bogus comment 2000-04-20 07:54:59 +00:00
imp
45487d7f0a OK. Next step: we read in CIS.
I've done this by having requests to allocate memory propigate up the
tree.  We'll see how well this works and reevaluate if it isn't
working well.  Also initialize ptr in the tuple.  As well as minor
reorg of memory allocation.  Likely need to do similar things for I/O
when the time comes.

I've move all defines from pccardchip.h into pccardvar.h and
eliminated pccardchip.h.
2000-04-19 08:31:21 +00:00
imp
b994f34b42 Include <sys/bus.h>, which is needed after Doug's latest object changes. 2000-04-16 06:04:13 +00:00
imp
254febffb9 checkpoint latest pccard/pcic hacking:
o Eliminate cross calls between the devices.  Instead move to using the
  newbus messaging system.  Added three new card calls: attach_card,
  detach_card, get_type.
o Eliminate interrupt routine in pccard we never use.
o Move from deactivate to detach for removing cards.
o Start mapping CIS memory, but it is broken and causes panics.  At least
  it is closer to working than before.
o Eliminate struct device everywhere.  It was bogus.
o Initialize softc for pccard device so we have valid pointers to
  ourselves.
o Implement routine to find the pcic ivar for a child device of the pccard so
  we can use it to talk to the pcic hardware.
o Lots of minor tiding up.

This version now panics when we try to read the CIS.  The next batch
of work to make this work is what was outlined in my posting to mobile
about resource allocation and such.
2000-04-13 06:42:58 +00:00
imp
7a4fd4ca06 Fix pcic_detach_socket to get right pcic_handle.
Pass sc->dev rather than a bogusly cast pccard_softc *sc.

This allows us to insert and remove cards w/o panicing the kernel.
However, the cis isn't mapped in, so the pccard_scan_cis function
fails.
2000-04-04 04:12:43 +00:00
imp
fb38d30359 Minor changes to some of the interfaces.
Remove RF_PCCARD_ATTR in anticipation of removing it from sys/rman.h
Add interface for setting "attributes" of pccard/cardbus devices.
Minor formatting nits.
2000-03-26 07:01:52 +00:00
imp
ba273c276b Regen 2000-03-25 04:05:16 +00:00
imp
41085dd330 Merge 1.60 to 1.85 of NetBSD's pcmciadevs into our database. 2000-03-25 04:04:24 +00:00
hosokawa
7ce7351da1 Propagate MAC address in CIS tupple to dev/ed/ driver.
Many ed-based Ethernet PC-cards can't get correct MAC address without
this patch.

Submitted by: Takanori Watanabe <takawata@shidahara1.planet.sci.kobe-u.ac.jp>
Reviewed by: Warner Losh <imp@village.org>
2000-01-21 03:08:46 +00:00
imp
d207327910 Move xe driver from dev/pccard to dev/xe. Convert driver to newbus.
Driver is not functional yet, but does compile.  Tests with xe cards
indicates that it doesn't panic the machine when they are present, but
fail to probe.  Interface help in the pcic/pccard layers are needed to
complete this driver.
2000-01-10 08:05:53 +00:00
imp
8bbe94fd1a Eliminate pccard_chip_* tonight.
o ifdef out pccardchip.h (almost all of it, there are dangling bits
o Add rid/res members to pccard_function
o remove pct/pch from pccard_softc
o map memory properly in scan_cis (almost, see XXX for more work)
o manage ccr.
o remove bogus comment I added about touching the ccr being a layering
  violation for pccard.  It is properly done at that level.
o More function prototyping
2000-01-10 06:58:17 +00:00
imp
a51b4e3780 Checkpoint of today's changes. We now get to the point where the pccard
layer is trying to access the now unexistant chip functions.
o Added DEVPRINTF which is like DPRINTF only calls device_printf.
o Made it possible to define PCICDEBUG
o Remove ph_parent and use the softc pointer sc instead in pcic_handle.
o Remove all references to dv_xname
o Add some debug messages.
o enable MI attach/detach calling for pccard.
o convert pcic_chip_socket_{en,dis}able to pcic_{dis,en}able_socket
  and connect them to the power_{enable,disbale}_socket.
o Remove pccard pointer from pcic_softc.
o GC some unused pccard functions.
o Convert pccard_chip_socket* to POWER_ENABLE_SOCKET
o kill pccard_attach_args.
o power_if.m updates.  More to come.
2000-01-06 07:30:28 +00:00
imp
5809f88be4 Connect interrupts and start processing them. We panic on card removal
now, but we're getting interrupts!
o Add pcic_suspend/pcic_resume so we can detach our children on suspention
  and fix the state of the pcic on resume.
o Remove some unused parts of softc.
o Centralize resource activation/deactivation for pcic bridge chip in
  the stylistic pcic_activate/pcic_deactivate.
o Add bus_print_child method so we can see the pccard attachment.
o Add pcic_identify in an attempt to make it possible to automatically id
  the pcic devices.  This works great, but we cannot divine the irq to use
  from this method, nor the memory hole.  For the moment, KLUDGE irq to be
  10 and memory hold to be 0xd0000.
o Loose the pnp probe stuff.  This may be a big mistake, but it is easy
  enough to add back later.  I did this so the identify routines can do their
  thing unmolested by pnp information.  The whole identify thing may be a bad
  idea to be ripped out later.
o change return type of pcic_intr to void, make it static and ripple
  this through the code.
o Add explicit call to bus_generic_attach at the end of pcic_attach to
  get any children probed/attached.
o add some comments about future directions/questionable things being
  done at different layers, etc.
2000-01-03 06:45:16 +00:00
imp
03f3b63041 Tonight's cleanups.
o Implement memory and I/O activation/deactivation.  irq not handled.
o switch pcic_chip functions around to use more convenient types.
o kill __P and most of the old K&R prototypes just to be mean.
o minor other nits
1999-12-07 06:44:38 +00:00
mdodd
87e31f4b90 Remove the 'ivars' arguement to device_add_child() and
device_add_child_ordered().  'ivars' may now be set using the
device_set_ivars() function.

This makes it easier for us to change how arbitrary data structures are
associated with a device_t.  Eventually we won't be modifying device_t
to add additional pointers for ivars, softc data etc.

Despite my best efforts I've probably forgotten something so let me know
if this breaks anything.  I've been running with this change for months
and its been quite involved actually isolating all the changes from
the rest of the local changes in my tree.

Reviewed by:	peter, dfr
1999-12-03 08:41:24 +00:00
imp
2936ce7135 Sync generated files 1999-11-29 20:54:14 +00:00
imp
f431f7be50 Merge NetBSD 1.60 by jun:
Support for TDK LAC-CF010 by Ichiro Fukuhara
	(ichiro@ichiro.org) on kern/8900 ichiro test TDK CF Card on
	Opensource matsuri,tokyo and send patch to us.  thanx.
1999-11-29 20:53:36 +00:00
imp
fdb44eb66c Flesh out the pccard bus_ methods with either the generic one (where
it would work), or a specialized one.  Most of these have been
creatively stolen from pccard_nkb, which in turn stole from isa
showing that generic bus_ versions of bus_{set,get,delete}_resource
might be profitable.

Fix a couple of minor bugs introduced in the last round of updates
from NetBSD.

Start on the pccard_ivar structure which will hold the resources and
slot number.

Add tcic as a possible attachment for pccard and rename the attachment
for pcicx to pcic since the name has changed since I originally wrote
this stuff.

Next up:
	stringing together the various memory and I/O
allocation/mapping primitives in i82365.c, final touches on the isa
attach routine and other fun stuff in that line of attach.
1999-11-29 06:42:55 +00:00
imp
d2ef3b0fa0 Add resource activation routines to pcic driver. Minor cleanup of
socket attach code.  We now have at least a chance for pccard devices
appearing in the future.

This is a snapshot of ongoing work.  Proceed at your own risk.
1999-11-28 21:11:13 +00:00
imp
f36b1cf065 commit (re)generated files last. 1999-11-28 05:50:45 +00:00
imp
cf802d0461 Update pccard code to latest NetBSD code. This is the last merge
before newbusification hits full steam ahead.

All:
	Adjust NetBSD labels to reflect new base versions.
dev/pcic/i82365.c:
	1.24	Interface change for kernel threads
	1.25	Massive unification for cardbus
dev/pcic/i82365var.h
	1.8	Massive unification for cardbus
dev/pcic/i82365_isasubr.c
	1.3	Massive unification for cardbus
dev/pccard/pccard_cis.c
	1.11	Massive unification for cardbus
		(better device printing, better memspace calcs)
dev/pccard/pccard_cis_quirks.c
	1.4,1.5	Lotsa 3com devices
dev/pccard/pccardchip.h
	1.4	Massive unification for cardbus
dev/pccard/pccarddevs
	1.33..1.59 Lots of devices
1999-11-28 05:49:27 +00:00
imp
d9bac1e9be Disable old PCCARD_MODULE code.
This should fix LINT.

Prompted by: phk's explicit message about LINT breakage
1999-10-29 17:28:09 +00:00
imp
c2e7296cf6 Moderately hacked pccard code from newconfig. It is somewhat in
incomplete and likely has problem.  The code was originally pcmcia,
but I renamed it to pccard and made it compile on FreeBSD -current.  I
converted SIMPLEQ to STAILQ as well as a few sc->dev.xname ->
device_printf changes.  This is a green port of fairly mature code.

I derived this work from the FreeBSD newconfig project
(http://www.jp.freebsd.org/newconfig).  Any problems with it are
likely introduced by me.

Obtained from: newconfig project
1999-10-26 06:52:31 +00:00
phk
d612df1de6 Remove NBPF conditionality of bpf calls in most of our network drivers.
This means that we will not have to have a bpf and a non-bpf version
of our driver modules.

This does not open any security hole, because the bpf core isn't loadable

The drivers left unchanged are the "cross platform" drivers where the respective
maintainers are urged to DTRT, whatever that may be.

Add a couple of missing FreeBSD tags.
1999-09-25 12:06:01 +00:00
peter
7955c51a1d Restore vendor $Id$ now that it won't be clobbered. 1999-09-23 05:26:10 +00:00
peter
3b842d34e8 $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
phk
e938d317d5 Decommision miscfs/specfs/specdev.h. Most of it goes into <sys/conf.h>,
a few lines into <sys/vnode.h>.

Add a few fields to struct specinfo, paving the way for the fun part.
1999-08-08 18:43:05 +00:00
des
3c4a5a075d Rename bpfilter to bpf. 1999-07-06 19:23:32 +00:00
obrien
e88a3e6903 Wrap the definition of "XE_DEBUG" so it is overridable from the ``cc''
commandline or kernel conf file.
1999-06-22 19:21:00 +00:00
obrien
28ec06e877 Fix conflicts. 1999-06-22 19:19:46 +00:00
obrien
8b6052a98b This commit was generated by cvs2svn to compensate for changes in r48114,
which included commits to RCS files with non-trunk default branches.
1999-06-22 19:12:08 +00:00
obrien
8bb05ed25e Virgin import of Xircom PCCARD driver v1.20 (1999/06/13):
* Conformance with Dingo specification. This includes:
	Collision/error statistics gathering.
	Multicast address filtering, eg. the hash filter.
	Initialisation and interrupt handling sequences.
Note that I've started on some of this already in v1.20.

* The probe routine needs some more work, to identify oddities such as the
  REM10.

* There are still problems with the autonegotiation code; specifically, it
  won't autonegotiate with some 10/100 hubs.  This might simply be the hardware
  not getting along, in which case there's nothing we can do, but it's still
  worth investigating

* CEM28/CEM33 support.  Should be able to integrate this directly from the
  Linux code.

* Performance enhancements:
	Full-duplex on 10Mbit networks.
	Virtual shared-memory mode.
	Early send and receive modes.

Developed by:	Scott Mitchell <scott@uk.freebsd.org>
Obtained from:	http://www.freebsd-uk.eu.org/~scott/xe_drv/
1999-06-22 19:12:08 +00:00
phk
6a5dc97620 Simplify cdevsw registration.
The cdevsw_add() function now finds the major number(s) in the
struct cdevsw passed to it.  cdevsw_add_generic() is no longer
needed, cdevsw_add() does the same thing.

cdevsw_add() will print an message if the d_maj field looks bogus.

Remove nblkdev and nchrdev variables.  Most places they were used
bogusly.  Instead check a dev_t for validity by seeing if devsw()
or bdevsw() returns NULL.

Move bdevsw() and devsw() functions to kern/kern_conf.c

Bump __FreeBSD_version to 400006

This commit removes:
        72 bogus makedev() calls
        26 bogus SYSINIT functions

if_xe.c bogusly accessed cdevsw[], author/maintainer please fix.

I4b and vinum not changed.  Patches emailed to authors.  LINT
probably broken until they catch up.
1999-05-31 11:29:30 +00:00
obrien
5b44c4694e if_xe* now lives in sys/dev/pccard/ 1999-05-14 04:18:24 +00:00
obrien
a29989b550 Virgin import of Xircom PCCARD driver v1.19.
v1.19 (1999/04/15) updates the CEM56/REM56 support.

Current bugs & misfeatures
--------------------------
* CE2 cards still not working reliably. Unclear if this is related to
  packet I/O code or interrupt handling.
* Autonegotiation support remains flaky. We're now OK with 10Mbit auto
  hubs, but certain combination of hardware will fail to connect.

Developed by:	Scott Mitchell <scott@uk.freebsd.org>
Obtained from:	http://www.freebsd-uk.eu.org/~scott/xe_drv/
1999-05-14 02:26:20 +00:00
obrien
a6e776fe07 Virgin import of Xircom PCCARD driver v1.18
v1.18 (1999/04/08) adds support for CEM56 and REM56 multifunction cards.

Developed by:	Scott Mitchell <scott@uk.freebsd.org>
Obtained from:	http://www.freebsd-uk.eu.org/~scott/xe_drv/
1999-05-14 02:00:38 +00:00
obrien
c08e1c1576 Virgin import of Xircom PCCARD driver v1.17
v1.17 (1999/03/28) has xperimental fixes to 10Mbit autonegotiation and
CE2 input lockup.

KNOWN BUGS
==========

* Media auto-negotiation is definitely not right.  It will work in most
  circumstances and seems to connect OK to most 100Mbit networks, however some
  pathological combinations of hubs/networks/peers seem to confuse it.

* CE2 support is somewhat flakey (ranging from 'works perfectly' to 'hangs the
  machine' so far).  I've fixed the probe routine and a potential lockup in
  the output routine, but a lot of people still report that they can't receive
  or transmit.

* You won't be able to use the modem and Ethenet parts of a multifunction card
  simultaneously.  This is limitation the current FreeBSD PCMCIA support.
  Likewise, there is no support for CardBus devices.

Developed by:	Scott Mitchell <scott@uk.freebsd.org>
Obtained from:	http://www.freebsd-uk.eu.org/~scott/xe_drv/
1999-05-14 01:58:59 +00:00
obrien
08d8d9a314 Virgin import of Xircom PCCARD driver v1.16.
v1.16 (1999/03/08) fixed BPF input hang and infinite loop on CE2
short-packet output.

Developed by:	Scott Mitchell <scott@uk.freebsd.org>
Obtained from:	http://www.freebsd-uk.eu.org/~scott/xe_drv/
1999-05-14 01:53:32 +00:00
obrien
94e83fe0b9 Virgin import of Xircom PCCARD driver v1.15
v1.15 fixed driver registration bug under 3.1-STABLE.

Developed by:	Scott Mitchell <scott@uk.freebsd.org>
Obtained from:	http://www.freebsd-uk.eu.org/~scott/xe_drv/
1999-05-14 01:52:10 +00:00
obrien
39e9fc7ce8 Virgin import of Xircom PCCARD driver v1.14
This driver is mostly based on the `xirc2ps' driver for Linux by Werner
Koch.  Werner has even allowed his code to be distributed under a BSD licence,
making our life considerably easier -- thanks Werner!

This driver supports:
* Intel EtherExpress(TM) PRO/100 PCCARD (16-bit version)
* Xircom CreditCard CE2 / CEM28 / CEM33 / CE3 / CEM56 Ethernet adapters.
* Toshiba Advanced Network 10/100 PCCARD
* Certain Compaq Netelligent 10/100 branded cards

v1.14 has major changes to media selection code, and bugfixes in the
probe routine.

Developed by:	Scott Mitchell <scott@uk.freebsd.org>
Obtained from:	http://www.freebsd-uk.eu.org/~scott/xe_drv/
1999-05-14 01:50:10 +00:00
obrien
ca83778208 Virgin import of Xircom PCCARD driver v1.13 1999-05-14 01:41:26 +00:00