13537 Commits

Author SHA1 Message Date
John Baldwin
88519d6427 Don't set if_start to tulip_ifstart all over the place. It is already
set in tulip_attach() and its value is never changed, so all the extra sets
are redundant.  I'm guessing that at some point in time de(4) had an
alternate start routine, but that hasn't been true in recent history.
2005-07-21 16:42:21 +00:00
John Baldwin
fe0c8544ff Remove conditional code that has largely rotted that is also not on by
default:
- TULIP_NEED_FASTTIMEOUT - tulip_fasttimeout() wasn't called anywhere
- BIG_PACKET - only worked on i386 anyway
- TULIP_USE_SOFTINTR - doesn't compile and was never updated to handle
  new netisr registration
- non-FreeBSD code
2005-07-21 16:40:08 +00:00
John Baldwin
9862c11e9d Use get_cyclecount() rather than hardcoding rdtsc and rpcc in asm for i386
and alpha, respectively.
2005-07-21 16:34:14 +00:00
John Baldwin
e5e871963c Fix a typo and some whitespace nits. 2005-07-21 16:33:05 +00:00
Maksim Yevmenkin
6502441272 Fix kernel panic with vkbd(4). Initialize mutex properly (set name), or else
WITNESS gets upset.

MFC after:	3 days
2005-07-21 16:19:08 +00:00
Eric Anholt
af088425f7 Add the latest r300 code from r300.sf.net. This is based on the patch supplied
by Vladimir Dergachev for inclusion in DRM CVS, with minor modifications for
FreeBSD CVS and the appropriate license from Nicolai Haehnle on r300_reg.h.
Fixes hangs when using r300.sf.net userland, tested on a Radeon 9600 on amd64.
2005-07-20 21:10:57 +00:00
Warner Losh
9f15b72029 Spell destroy in a more traditional way 2005-07-19 22:26:44 +00:00
Xin LI
f467e51eba PLAY_MSF, PLAY_TRACK, PLAY_TRACK_REL, PAUSE, PLAY_12 commands to pass
through umass(4), in order to make cdcontrol(1) to issue commands to
a USB CD driver.

The command IDs were obtained from the CAM subsystem.  This was tested
on half dozen of USB CD drivers from different vendors.

Suggested by:	"intron" <intron at intron dot ac>
PR:		usb/83439
Reviewed by:	sanpei
MFC After:	1 week
2005-07-19 05:18:23 +00:00
Warner Losh
fa48d739d0 Better name for type 4 chips 2005-07-18 23:41:34 +00:00
Warner Losh
991e00dffb o Add Toshiba's id. Make AGERE an alias for LUCENT. Add Ungermann's ID.
o Add Agere Hermes II and II.5 PC Cards (from zipit web page), TDK
  GlobalNetworker 3410 (from dmesg for my card) and another alternate
  PANASONIC KXLC0005_2 (from pcmcia-cs id lists).
2005-07-18 21:47:38 +00:00
Hajimu UMEMOTO
e71de913d8 Implement passive cooling. It is enabled for tz0 by default where
it is available.

Reviewed by:	njl
2005-07-18 20:12:23 +00:00
Robert Watson
75c5e81854 Mark if_sbsh as IFF_NEEDSGIANT, because it does.
MFC after:	1 day
2005-07-18 18:19:50 +00:00
Robert Watson
3ee1dbcab6 Mark if_cnw as IFF_NEEDSGIANT, because it does.
MFC after:	1 day
2005-07-18 17:58:59 +00:00
Warner Losh
6b4a5b0b88 I believe that this tsleep was placed here in 1.28 to try to solve the
problems we were having properly mapping the CIS attr space on some
cards.  Those problems have been solved other ways, so this kludge is
no longer necessary.  Remove it and have pccards come up a whole
second faster.
2005-07-17 20:16:22 +00:00
Warner Losh
4143dbe3ea The Sony i.LINK CXD1947 device is a firewire bridge, but it doesn't
implement the OHCI programming interface.  Thus it probes, but fails
to attach because of an invalid OHCI version.  Rather than count on
the downstream tests properly failing, print a message that this
chipset isn't supported and fail the probe.
2005-07-17 19:59:07 +00:00
Warner Losh
b32757b431 o The ricoh bridge needs us to turn off the function interrupts for
16-bit cards when we're powering them up.  Other bridges may have
  similar issues, so we do this for all of them by setting the
  interrupt in the PCIC register 3 to be 0 (done always anyway)
  and turning on the bit in the bridge control register to route these
  interrupts via the ISA bus (or via the interrupt configured in the
  PCIC register 3).  '0' means disable completely.  There's a small
  chance this may interfere with the o2micro power hacks, but I'll
  wait for reports to come in from o2micro users.
o Expand some of the comments about why we do certain things.

# this gets rid of the interrupt storm warnings on my 505TS.  I think
# that we may need to do something similar on suspend, but I'm unsure
# since I don't have a laptop that supports suspened/resume with a
# ricoh chipset in it.
2005-07-17 19:40:05 +00:00
Warner Losh
f99298f422 Rename a bit to make it clearer that it enables routing of the function
interrupts to the ISA bus.
2005-07-17 19:31:39 +00:00
Warner Losh
85ef2343c4 The CD interrupt should only be enabled after we've initialized the
card.  Mask it while we're doing power things, as the PC Card standard
suggests.  Also, poll the POWER_CYCLE bit 10x a second as well as
providing a timeout for power cycle interrupt to happen.

The Ricoh '475 that I have doesn't seem to generate an interrupt for
power at the present time, so the polling is necessary for reasons as
yet unknown.  This results in an interrupt storm warning that I'm
still trying to quantify (the o2micro trick doesn't work to mitigate
this storm).  At the very least, this should help those users that
lost pccards on boot with the prior rev of this code.  My VAIO
PCG-505TS is now happier, but more investigation is necessary.
2005-07-17 07:48:28 +00:00
Joseph Koshy
d9dcd4f93c Use LK_CANRECURSE since when a PMC-owning process performs an exec,
the new text vnode is already locked by itself.

MFC after:	3 days
2005-07-17 04:18:06 +00:00
John Baldwin
122eceef61 Convert the atomic_ptr() operations over to operating on uintptr_t
variables rather than void * variables.  This makes it easier and simpler
to get asm constraints and volatile keywords correct.

MFC after:	3 days
Tested on:	i386, alpha, sparc64
Compiled on:	ia64, powerpc, amd64
Kernel toolchain busted on:	arm
2005-07-15 18:17:59 +00:00
Warner Losh
49fd8f11fe Use the new cis scanning code to look for the proper MAC address. The
offset varies between models of these cards.

# this gets the MAC address right for my CEM-2, but it doesn't detect
# the media attached correctly.
2005-07-15 06:46:04 +00:00
Warner Losh
730b64121c Fix a couple of leaking situations when errors happen. 2005-07-15 06:08:26 +00:00
Warner Losh
d55dc24982 Fix the xircom match routine. In it we were always return a match
when the base vendor/id didn't match.  Some cards woudl bogusly match
and would cause other downstream problems.
2005-07-15 06:05:11 +00:00
Warner Losh
f83fe7ce90 Don't wait for the printer to become ready before allowing the open to
succeed.  There are many printers that return status over the read
channel, and if we wait for the status to become ready, then we can't
find the status automatically.  Linux doesn't wait, nor does it ever
seem to really check the status in any meaningful way...  If there
really is a problem, the writes to the bulk out endpoint will still
fail (like they would if the printer was ready and then ran out of
paper or became unready).

In addition, there are a number of printers being made that emulate
the 'status' byte by returning '0' always rather than '0x18'.  This
fixes the EBUSY on open timeouts on those printer as well.

Reviewed by: the defining silence on usb@
2005-07-15 04:19:42 +00:00
Warner Losh
ce71e8d87f s/_us// 2005-07-15 04:11:42 +00:00
Warner Losh
d224ede0da Move to using tsleeps in the cardbus reset case as well. This
eliminates the last of the DELAYs in pccbb.
2005-07-15 03:25:22 +00:00
Warner Losh
33d6891bc8 Add support for the DLink DMF650TX Ethernet+56k modem PC Card. This
gets the ethernet part of the card working, while putting appropriate
hooks in place for the modem code.  Other ed based lan/modem combo
cards should be easy to add.  Please send me info on any you'd like to
see support added.

Note: The 650 isn't a strictly conforming multi-function card, so
special support is needed. :-(
2005-07-15 01:54:59 +00:00
Warner Losh
5e2f32718d Add real support for obtaining the silicom MAC address from the
apporpriate place in the CIS, now that we have the CIS scanning code.
2005-07-15 01:48:38 +00:00
Warner Losh
faf98cda63 Insert missing int i; 2005-07-15 01:43:08 +00:00
Maksim Yevmenkin
4673ea01e3 kbdmux(4) keyboard multiplexer integration
o Slightly change KBADDKBD and KBRELKBD ioctl() interface. Instead of passing
  keyboard index pass keyboard_info_t structure with populated 'kb_unit' and
  'kb_name' fields. Keyboard index is not very user-friendly and is not very
  easy to obtain. Keyboard driver name and unit, on the other hand, is much
  more user friendly and known almost all the time;

o Move definition of keyboard_info_t structure up;

o Teach kbdcontrol(1) how to attach/detach keyboards to/from the keyboard
  multiplexor;

o Update kbdcontrol(1) man page and document new functionality.

To attach/detach keyboard to/from keyboard multiplexor one needs to use
keyboard device name (i.e. ukbd0).

MFC after:	1 week
2005-07-14 22:43:20 +00:00
Warner Losh
fd4e475233 Omnibus power and interrupt fixes:
o Don't busy wait on powerup.  Instead, use the power up interrupt to wait
  for the card to power up.  Don't wait when we're turning the card off,
  since no interrupt happens in that case.
o Convert many of the long DELAYs to tsleeps.  We do not run before
  the timer have stared, so DELAY isn't necessary.  More DELAYs can likely
  be eliminated in the future.
o When powering up the card, don't do anything if the card is already
  powered up (before we'd power cycle it).  This means that for most
  cards we power them up once and then never change the power.
o On card eject, mask (by clearing) the CD bit.  Before we set it, which
  was wrong.  We don't want to see any CD events past the first one since
  they need to be debounced.

With these changes, I can insert/eject 16bit cards without glitching xmms'
sound output.  Something very important to the development of better pccard
drivers :-)
2005-07-14 20:46:59 +00:00
Warner Losh
2bb5d7f9ac Also provide the function type in the nomatch routine. 2005-07-14 20:40:42 +00:00
Maksim Yevmenkin
dfa494399b kbdmux(4) keyboard multiplexer integration
o Add sys/dev/kbdmux/kbdmux.c to the source tree

o Add sys/modules/kbdmux/Makefile to the source tree

These are not yet connected to the build. Man page and other changes to follow.

MFC after:	1 week
2005-07-14 17:48:04 +00:00
Scott Long
1b3a4f4e7b Check the vendor and device, not subvendor and subdevice, when looking for
channel devices.  This should fix Dell 2450/2550/2650 systems that have RAID
enabled.  This will likely not fix 2400 systems though as I don't have the
appropriate PCI Id info for them.

MFC After: 3 day
2005-07-14 17:43:00 +00:00
Takanori Watanabe
39e5901ee7 Add SL811 based host controller driver for CF usb host controller.
This is based on NetBSD slhci(4) driver for X68k amateur hardware.
For now, it will not work properly, but it can detect usb device
insertion.
2005-07-14 15:57:01 +00:00
Joseph Koshy
f15067e8b2 Fix breakage introduced in rev 1.7.
MFC after:	3 days
2005-07-14 15:09:14 +00:00
Takanori Watanabe
46fbc82b2b Add device id for RATOC REX CFU1 sl811 based USB Host Controller. 2005-07-14 14:53:38 +00:00
Takanori Watanabe
05cb19d7c2 Prepare to commit SL811 based Host controller driver. 2005-07-14 14:19:05 +00:00
Maksim Yevmenkin
04551c6ce5 kbdmux(4) keyboard multiplexer integration
o Add two new ioctl's KBADDKBD and KBRELKBD. These are used to add and remove
  keyboard to (and from) kbdmux(4) keyboard multiplexer;

o Introduce new kbd_find_keyboard2() function. It does exactly the same job
  as kbd_find_keyboard() function except it allows to specify starting index.
  This function can be used to iterate over keyboards array;

o Re-implement kbd_find_keyboard() as call to kbd_find_keyboard2() with starting
  index of zero;

o Make sure syscons(4) passed KBADDKBD and KBRELKBD ioctl's onto currently
  active keyboard.

These changes should not have any visible effect.

MFC after:	1 week
2005-07-13 23:58:57 +00:00
John Baldwin
106e24aa5b Don't try to probe ISA PnP devices for now until this driver can grow a
list of known-valid PnP IDs.

Discussed with:	imp
MFC after:	3 days
2005-07-13 15:44:53 +00:00
John Baldwin
dfa9ef3d99 Don't attach the non-PnP mss pcm(4) driver to acpi busses as ACPI only
enumerates PnP ISA-like devices.

Reported by:	Harry Coin harrycoin at qconline dot com
MFC after:	3 days
2005-07-13 15:17:54 +00:00
Warner Losh
e6e34c5689 o Check to make sure the card has a function (panic if not) in read_ivar.
o Use pf more consistantly for pccard_function.
o Make sure we quote the strings properly (maybe this function belongs in
  subr_bus.c)
o Tweak a comment to be more accurate after code changed.
2005-07-13 15:00:59 +00:00
Warner Losh
c8d6e442b8 The supposed OLD STYLE network MAC id tuple was really just a buggy
expression in the card in question.  Since that driver uses a
different mechanism, retire the workaround for this bug.
2005-07-13 14:59:06 +00:00
Warner Losh
8eed5fe88e Stop using OLDCARD shims. rename xe_pccard_match to xe_pccard_probe
and combine the old xe_pccard_{probe,attach} into one routine _attach.
Create a lookup function to lookup items in the table.  Eliminate the
check for network cards, since many modems were eliminated by it.
Tweak a few printfs as well.

This gets many of my older cards working again CEM2, CEM28, CEM36,
etc.
2005-07-13 14:57:36 +00:00
Warner Losh
083dc134a1 Nits 2005-07-13 14:54:40 +00:00
Warner Losh
959541b940 Comment out a few entries in the sn_pccard_products table until
support for them can really be added.  Eliminate the check for network
card, because many of the cards in the commented out section are combo
cards and report themselves as either multifunction or modem.  They
will be added back as I obtain hardware and test them more fully.
2005-07-13 14:52:48 +00:00
Warner Losh
29dc053bc7 Add a couple of other products, tweak a few descriptions. 2005-07-13 14:50:47 +00:00
Warner Losh
5ea5b04b74 Commit firmware that the xilinx on the Ositech Seven of Diamonds and a
few other cards need.  This firmware was obtained from the Linux
pcmica-cs project, but Ositech Communications, Inc has been kind
enough to grant permission to change the license to a pure BSDL type.
2005-07-13 14:49:06 +00:00
Xin LI
5b7ff138f0 Correct a minor typo.
Pointed out by:	Xuefeng DENG <dengxf at dengh com>
Approved by:	re (scottl)
2005-07-11 02:33:25 +00:00
Sam Leffler
5305063bdf remove local mods that snuck into rev 1.6
Approved by:	re (scottl implicit)
2005-07-10 22:25:44 +00:00