Commit Graph

447 Commits

Author SHA1 Message Date
imp
5c827309fc 1. Allow drivers to query CIS strings from OLDCARD.
2. Include backwards compatibility good for the moment (eventually will
   be turned off in current, but allow for a short transition period).

PR:	51333
Submited by: Scott Mitchell (1)
MFC after:	2 weeks
2003-04-23 23:39:21 +00:00
phk
0ae911eb0e Gigacommit to improve device-driver source compatibility between
branches:

Initialize struct cdevsw using C99 sparse initializtion and remove
all initializations to default values.

This patch is automatically generated and has been tested by compiling
LINT with all the fields in struct cdevsw in reverse order on alpha,
sparc64 and i386.

Approved by:    re(scottl)
2003-03-03 12:15:54 +00:00
imp
5058936161 pccard isn't picky about WHAT major it gets. 2003-02-28 05:56:06 +00:00
imp
683db8609b Add SMC 34C90. Not tested, but should be a no-op except for the id string.
Print the sockbase when we can't get the memory for debug.
2003-02-26 05:45:48 +00:00
imp
cf874b345d Back out M_* changes, per decision of the TRB.
Approved by: trb
2003-02-19 05:47:46 +00:00
alfred
b5c0015ac9 Consolidate MIN/MAX macros into one place (param.h).
Submitted by: Hiten Pandya <hiten@unixdaemons.com>
2003-02-02 13:17:30 +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
imp
613881b680 Merge from P4:
o Update copyright.
o Add a tunable to allow the ti12xx to initialize the pci clock.  Some rare
  cards need it.
o rename 67xx -> 6729 since there's really only one chip in this family.
o from pcic_pci_pd6729_init call the routing code
o Fix some comments out routing on the TI-1130 class (1030, 1130 and 1131)

MFC: After RE@ says it is ok.
2003-01-04 17:26:35 +00:00
schweikh
d3367c5f5d Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,
especially in troff files.
2003-01-01 18:49:04 +00:00
imp
fbbf5407e1 MFp4:
Fix a bug with the 3.3V code for the ricoh bridges.  I got the bit
detect backwards.  Also, we can only detect 3.3V cards when the GPI
interrupt is disabled.  So when it is enabled assume 5.0V card.

Obtained from: NetBSD (takemura-san from patches by ngc@ff.iij4u.or.jp)
Approved by: re (blanket)
2002-11-27 06:04:49 +00:00
imp
cead6168fb MFp4: Comment about not assuming INTA# for 6729 2002-10-07 07:02:48 +00:00
imp
a18c040494 Make beep not depend on HZ setting.
PR: 25201
Submitted by: Akio Marita-san
# This is the last part of the PR uncommitted.
2002-09-29 23:41:25 +00:00
imp
84dd07c00b SMIENB not needed, but maybe PCI_CLOCK is, so put it in #if 0'd out 2002-09-29 23:37:07 +00:00
imp
0a14f466d6 Parens considered good. 2002-09-29 23:36:17 +00:00
imp
f2ab40c05e For boot verbose, print resources assigned in a more asthetically pleasing
way.

PR: 42745 (although done in a different way)
2002-09-13 16:23:41 +00:00
imp
2ea68b67d4 Change the order that we look for free memory windows from 0 -> MAX-1
to MAX-1 -> 0.  This should allow for less potential for conflict
between pccardd/pccardc and drivers.  As far as I can tell no drivers
try to use window 4, so this should be a no-op for them.
2002-09-08 22:18:06 +00:00
imp
4e41e1526d Add 16-bit before bus to keep the words card and bus apart. 2002-07-31 20:01:11 +00:00
imp
7968a1adb6 MFp4:
o reduce the extra-long ID names.
	o TI-1510, 1520 and 4510 support.
	o MFUNC is the name of the register on TI 1200 and newer chips (except
	  125x and 1450).  Initialize it in the func routine, but only
	  if NO_MFUNC isn't set.
	o better comments about above workaround
	o register definitions for MFUNC.
	o move zoom video disable to a better place.
2002-07-26 08:07:55 +00:00
imp
2442eb4edd Copy manufacturer and version string into the kernel, and copy it to
the slot info.  This brings OLDCARD's API much closer to NEWCARD and
will allow moving more information into the kernel from pccard.conf
for common drivers (ed).
2002-07-22 06:46:10 +00:00
imp
1d6ce2645d Add support for writing to mapping high memory for pccard memory
windows.  Right now we only support pci chips that are memory mapped.
These are the most common bridges in use today and will help a large
majority of the users.

I/O mapped PCI chips support this functionality in a different way, as
do some of the ISA bridges (but only when mounted on a motherboard).
These chips are not supported by this change.
2002-07-20 22:29:23 +00:00
imp
041d9c2bce minor nit in comments 2002-07-20 18:59:58 +00:00
imp
fe78a495fc Integrate the hw.pcic.pd6722_vsense tunable from the nomads list.
This allows one to select the method of 3.3V card detection from the
three possible choices (none (0), the "6710 way" (1) and the "6729
way" (2)).  The default is the 6710 way, since it works in the most
cases.  The datasheets for the 6722 suggest that the '29 way is more
correct, but experience has shown this method to cause some laptops to
hang solid.  See source code for details until I update the man page.

Submitted by: shibata-san (chiharu shibata <chi@bd.mbn.or.jp>)
2002-07-18 08:13:45 +00:00
imp
aa54e9aa16 Some strange hacks for the clpd6729:
o It needs to have pcic_isa_intr intrrupt handler
o for pci interrupts, in the func interrupt handler it needs to check the isa
  registers rather than the pci ones for card present.
o better commentary for some of the strangeness of the 6729 on pci
o fix some crunchy comments to better reflect reality.

With this I almost have the WL200 working, but an interrupt storm
after attach is causing problems for reasons unknown.  This code
doesn't seem to break the normal clpd6729 case, and I'd like others
with 6729 cards to try to test it (there were some that were used for
external pccard slots in pci only systems).
2002-07-18 08:05:00 +00:00
imp
546ed2f042 Better verbage on hw.pcic sysctls, delete now obsolete comment 2002-07-17 06:29:35 +00:00
imp
d5959a6ce3 o Remove workaround that I put in to mask the BadVcc problem.
o Add preliminary support for Cirrus Logic CL-PD6729 using PCI
  interrupts.  To use it you you need to set hw.pcic.pd6729_intr_path
  to 2.  This is allow us to still default to ISA intrrupt path for
  this part (which is found much more often in laptops using ISA IRQs).
  But some PCI cards have this part on them and this should allow them
  to be used.  It is untested on PCI, but it seems to not break the ISA
  case.
o Better sysctl descriptions (I hope).
2002-07-17 06:02:07 +00:00
imp
a8a6ea13ae Be more conservative about the address ranges we assign. Some
machines don't like the more liberal default, so be more conservative
about what we do by default.
2002-07-17 05:50:06 +00:00
imp
c6dc2b0bae Add definitions for the Ext 1 register on cirrus logic PD-6729. 2002-07-17 05:43:39 +00:00
imp
1f90b85e30 Rearrange previous commit that passed the vendor id to the kernel in a way
that's binary compatible for -stable.  While binary compatibility doesn't
matter much in -current, it is critical for -stable.  This change requires
pccardd/pccardc to be recompiled.
2002-07-14 06:47:52 +00:00
keramida
bbe7923a86 Typo: do do -> to do.
Reviewed by:	imp
2002-07-14 02:25:21 +00:00
imp
0825fa8a7f Lots of people have had to hack around the fixed address for cardbus
bridges in modern hardware (that hardware w/ lots of RAM).  Raise the
address from 0x44000000 to 0x88000000 to match what we do with
NEWCARD.  However, this really should be done in the pci layer.
2002-06-27 19:56:22 +00:00
imp
59390e1d94 Leave it to a non-native speaker of English to catch another typo: "do do" ->
"to do"

submitted by: marius@alchemy.franken.de
2002-06-27 18:16:16 +00:00
imp
309f5820ce Spell less like a 'merkin and more like a speaker of English 2002-06-27 17:59:24 +00:00
imp
fc8161926c plxcard for OLDCARD isn't going to happen. 2002-06-23 07:32:33 +00:00
imp
2ca7489887 What:
o ToPIC is happy with two cards now, even when the two cards are
	  modems.
	o Fix (all?) hangs on boot when power is applied to the card.  I
	  suspect that this will make the Ricoh bridges happier and also
	  make a lot of VAIO owners happy (confirm to me in private email
	  please :-).
	o All Cardbus bridges should now support 3.3V, X.XV and Y.YV cards,
	  to the extent that the underlying hardware supports such cards.
	  (X.X and Y.Y haven't been assigned values yet :-).
	o Better 3.3V support for Ricoh ISA bridges.

How:
	o Don't mess with the power register when scanning the cards.  It
	  is unnecessary and causes BADVcc conditions on many chipsets.  These
	  in turn can cause an interrupt storm.
	o Make pcic_disable reset the slot's voltage.
	o Move initializing voltage for the slot until after it has been
	  disabled.
	o Fix a lot of issues with the pcic_cardbus_power routine.  We
	  now properly enable the card and take it out of reset after
	  a power change.
	o When detecting the card's voltage, if we're in a BadVcc state,
	  direct the bridge to rescan the card for what it supports.
	  (we might need to in the future set the power register to 0
	   before doing this).
	o Don't preserve CLKSTOP.  need to revisit this.
	o Better support for Ricoh ISA bridges for 3.3V cards.
	o Don't write to PCIC_POWER directly as offten, but instead go
	  through the pcic_power interface.
	o All cardbus bridges now default to use cardbus power control.
	o Add misc register definitions.
	o remove some (now) bogus comments.

Extra Special Thanks To: Scott Lamber for his kind and generous loan
of a Toshiba laptop with a ToPIC 100 in it for my use.
2002-06-23 01:55:10 +00:00
imp
89a746a29d hw.pcic.ignore_pci
Set this to 1 to ignore cardbus bridges and work entirely in legacy
ISA mode.  This may help some folks.
2002-06-13 17:28:55 +00:00
takawata
b4f860ec9b Forget to change lookup function for oldcard side. 2002-05-30 18:48:44 +00:00
jhb
dc2e474f79 Change the suser() API to take advantage of td_ucred as well as do a
general cleanup of the API.  The entire API now consists of two functions
similar to the pre-KSE API.  The suser() function takes a thread pointer
as its only argument.  The td_ucred member of this thread must be valid
so the only valid thread pointers are curthread and a few kernel threads
such as thread0.  The suser_cred() function takes a pointer to a struct
ucred as its first argument and an integer flag as its second argument.
The flag is currently only used for the PRISON_ROOT flag.

Discussed on:	smp@
2002-04-01 21:31:13 +00:00
imp
7dc99a3ca0 Better power code and better power diagnostics 2002-03-20 19:02:08 +00:00
imp
5cb9993cfd Define masks for the VCC an VPP voltages 2002-03-20 19:01:16 +00:00
imp
c0f6c85d19 Get the generic name right 2002-03-03 01:04:39 +00:00
shiba
fd71244d4b Add some code which is compatible for NEWCARD. It makes manufacturer
id transfer from pccardd.

Reviewed by: imp
2002-02-20 14:42:36 +00:00
bde
3247dc600a Garbage collect options AVM_A1_PCI, AVM_A1_PCMCIA, DEBUG_LINUX, DEV_APM,
GUS_DMA, GUS_DMA2, GUS_IRQ, OLTR_NO_BULLSEYE_MAC, OLTR_NO_HAWKEYE_MAC,
OLTR_NO_TMS_MAC and PCIC_RESUME_RESET.
2002-02-15 10:19:39 +00:00
imp
2f096f0e0a The datasheet for the 6710/6722 says that you must use one method to
detect 3.3V cards for the 6710 and another method for the 6722.  This
latter method is also how the 6729/6730 is supposed to detect 3.3V
cards.  This method works great on my Fujitsu Stylistic 500.  Sadly,
it appears that not all laptop makers are as detail oriented as the
folks that made the Stylistic.  IBM Thinkpad 701C and AST Asentia 810N
both hang hard when the 6729 method is used, but at least the thinkpad
works when the 6710 method is used.  The failure mode appears to be any
access to the memory that we've mapped the CIS in causes the machine to
hang until you eject the card.  The Thinkpad, at least, works with this
change, and it doesn't break my Stylistic.

MFC after: 4 days
2002-01-14 14:10:13 +00:00
imp
79b9d06183 Add recognition of the Omega 83C094 PCI <-> PCMCIA bridge chip set.
MFC after: 5 days
2002-01-14 13:50:45 +00:00
msmith
2e4f2ddc4e Avoid doubly defining machdep.pccard 2002-01-08 19:35:27 +00:00
imp
4cc4154088 Better error message when cardtype is not recognized 2001-11-13 06:46:19 +00:00
imp
ccaaa4c491 Use d_thread_t (the new ugly compatibility hack) rather than the old
uglier compatibility hack (#define thread proc).
2001-11-12 05:35:27 +00:00
imp
b00f702070 Introduce the concept of "default" voltage. Have pccard layer use this
value (-1) in lue of 50 (which assumes a 5.0V card).  The rest of the
pccard system doesn't detect the proper voltage for the card, so we have
to do it on powerup.  Many (all?) 3.3V cards can tolerate 5.0V for reading
the CIS, but may fail to operate properly when so powered.

Idea from: Chiharu Shibata-san <chi@bd.mbn.or.jp> in bsd-nomads:15867
2001-11-11 06:58:43 +00:00
imp
04fd477246 Do not assume that a I/O based bridge is a 6729. Intel made a funky chip
that I have the datasheet on the way for that also does this.
2001-11-11 06:55:15 +00:00
imp
66dabcc793 o Try to do 3.3V support better for the 6722 and 6729/30.
o Bite the bullet and create controller types for the 6729 and also for
  the 673x.  Rename the 672x to 6722.
o Define minimal extended register info (just register 0xa for reading VS[12]).

# I think the last version may have broken 673x controllers, but this should
# fix them.

Tested on the 6722, but not the 6729.

Ideas from: Chiharu Shibata-san's article in bsd-nomads:15866
2001-11-09 07:33:54 +00:00