6015 Commits

Author SHA1 Message Date
peter
0732738ec4 Make the TUNABLE_*() macros look and behave more consistantly like the
SYSCTL_*() macros.  TUNABLE_INT_DECL() was an odd name because it didn't
actually declare the int, which is what the name suggests it would do.
2001-06-06 22:17:08 +00:00
wpaul
1127de3ac7 - Remember to set the 'extsts enable' bit in the CFG register to enable the
use of the extsts field in DMA descriptors. We need this to tell the chip
  to calculate TCP/IP checksums in hardware on a per-packet basis.

- Fix the unions in DMA descriptor structures. Breakage on alpha led
  me to realize I'd done it wrong the first time.
2001-06-06 22:16:23 +00:00
peter
736ceb4756 Activate the kthread mechanism for doing usb bus discovery. This means
that device add/remove will work without usbd running.  usbd is still
used for execing stuff, but that is all now.  Ideally it could be replaced
by a devd some day.  Until now, usbd had to be running so that the
USB_DISCOVER ioctl could be called to walk the tree when an attachment
status change was noticed.

Among the changes:
- when a detach happens, remove any pending 'attach' messages or the system
suffers from whiplash from exec moused / kill moused loops if you do lots
of attach/detach and later start usbd.
- tweaks related to kthread differences
- disable the select handler for the old interface (never return success).
I have not removed it yet or old usbd's will abort.  That can get removed
later once usbd is cleaned up and things have stabilized for a few weeks.
- get Giant in the kthread.
- a couple of minor potential bug fixes (usb_nevents vs malloc failure etc)

Pre-approved by: n_hibma (ages and ages ago)
2001-06-06 22:00:03 +00:00
phk
56c01792ee Style fixes from Sascha
PR:		16551
Submitted by:	Sascha Schumann <sascha@schumann.cx>
2001-06-06 21:00:01 +00:00
wpaul
14a2ffa7d8 Disable extra TCP/UCP checksum checking in nge_rxeof() for now. 2001-06-06 19:17:10 +00:00
wpaul
1f51867466 Use LGE_INC() macro to increment tx producer index in lge_encap().
Disable the extra TCP/UCP checksum checking in lge_rxeof() since it
doesn't appear to actually work as advertised.
2001-06-06 19:16:02 +00:00
joerg
4d382deb8b Nuke the various poorly maintained copies of ioctl_fd.h. The file is
not machine-dependant, thus it has been moved out (repo-copied) into
<sys/fdcio.h>.
2001-06-06 06:15:03 +00:00
imp
ff377bfabd Use bus_space when reading CIS. This allows us to access it in 8 bit
mode, which is what the standard mandates.

Submitted by: Takanori Watanabe-san
Reviewed by: jhb
2001-06-05 23:42:51 +00:00
wpaul
5b01407669 In lge_detach(), don't contigfree() the jumbogram buffer memory;
lge_free_jumbo_mem() does it for us.
2001-06-05 23:16:52 +00:00
imp
f5e8ef092a Commit part of the patch that I have for card eject problems with the
ep driver.  The rest of the patch will wait until I can put the time
into it to get it righter than the kludge it is.

This protects us against card eject problems at all times,e xecpt when
we're in the epintr ISR.
2001-06-05 22:29:16 +00:00
joerg
b58cdc4c79 Make the FDC (state machine) state an enum, as opposed to an int
abusing a bunch of #defines, for clarity and better debugging support.
2001-06-05 21:01:46 +00:00
mjacob
deca6805ae Fix botch for state levels. Role minor release. Start adding code for a
'force logout' path.

MFC after:	4 weeks
2001-06-05 17:11:06 +00:00
imp
b77106dd8d Close the line displine on detach. Lots of folks have submittd this, and
I think bde even reviewed it once.

Also, change the name of ActionTEC pat to more generic Lucent Kermit
chip.  Add stub for Xircom card.  Add cardbus attachment too.
2001-06-05 05:58:57 +00:00
dd
1c7d10ac21 Add a line discipline close routine which restores some functionality
I accidently nuked in rev. 1.54.  Also rework the error handling in
snplwrite a little.
2001-06-05 05:07:53 +00:00
dd
c35e39a5cb Style and cosmetic cleanups. This driver is now reasonably stlye(9)
compliant.  All the variable definitions and function names are
reasonably consistent, and the functions which should be static (i.e.,
all of them) are.  Other assorted fixes were made.  The majority of
the delta is indentation fixes.

Partially reviewed by:	bde
2001-06-05 05:00:17 +00:00
dd
b646de742c Use the l_nullioctl exported from tty_conf.c rather than rolling our own. 2001-06-04 23:31:21 +00:00
jlemon
a3f3e57534 While in the interrupt loop, check for a bogus interrupt value of 0xff.
This may be returned if the underlying hardware is a pc-card which has
been ejected.

Reviewed by: warner
2001-06-04 22:01:44 +00:00
joerg
9c040b1c43 Move out the files from src/sys/isa/ic/ to src/sys/dev/ic/, so they
can be made userland-visible as <dev/ic/...>.  Also, those files are
not supposed to contain any bus-specific details at all, so placing
them under .../isa/ has been a misnomer from the beginning.

The files in src/sys/dev/ic/ have been repo-copied from their old
location (this commit is a forced null commit there to record this
message).
2001-06-04 21:04:14 +00:00
joerg
8166dba3c8 Fix my email address. I accidentally cut'npasted the wrong (old)
hostname laste time.
2001-06-03 20:41:21 +00:00
peter
f1767c79ae Fix reversed arguments to pci_write_config()
PR:		kern/9408
Submitted by:	Philipp Mergenthaler <philipp.mergenthaler@stud.uni-karlsruhe.de>
2001-06-03 09:45:40 +00:00
dd
eaa7d6fe18 Remove unused includes, use *min() inline functions rather than a
home-grown macro, rewrite a confusing conditional in snpdevtotty(),
and change ibuf to 512 bytes instead of 1024 bytes in dsnwrite().

Reviewed by:	bde
2001-06-03 05:17:39 +00:00
jlemon
e2b8fe4ab9 Only touch the PCR register in order to set bits for the fxp driver.
The 3C509-TX card apparently had a slightly different version of the
chip, and has problems when this register is set.  The problem does
not appear on the 3C509{BC} cards, but since only the fxp driver needs
specific bits set, conditionalize on that.
2001-06-02 19:51:02 +00:00
gallatin
70b10bbd04 Backout previous revision. While it fixed many platforms, it broke
all alphas with devices behind ppb's.  I'm working on a better solution now.

Note that all alphas that use per-platform interrupt mapping are broken
again (as they have been for several months)
2001-05-31 21:47:25 +00:00
wpaul
66a9685e9f Add device driver support for the Level 1 LXT1001 NetCellerator
gigabit ethernet controller chip. This device is used on some
fiber optic gigE cards from SMC, D-Link and Addtron. Jumbograms and
TCP/IP checksum offload on receive are supported. Hardware VLAN
filtering is not, because it doesn't play well with our existing
VLAN code. Also add manual page.

There is a 4.x version of this driver available at
http://www.freebsd.org/~wpaul/Level1/4.x if anyone feels adventurous
and wants to test it. I still need to do performance testing and
tuning with this device.

(For my next trick, I will make the 3Com 3cR990 sit up and beg.)
2001-05-31 21:44:26 +00:00
cg
92de892cfa fix typo 2001-05-30 22:46:40 +00:00
cg
8829613a30 no longer used 2001-05-30 22:41:04 +00:00
cg
67fa2b23c6 update this driver to use new firmware and incorporate many fixes.
this works on cs4630 chips, and should implement the clkrun hack for
thinkpads- this will display diagnostic messages when triggered until its
correctness is established.
2001-05-30 22:38:31 +00:00
cg
a188d3be39 state the licencing terms for this file
Obtained From:	Yamaha
2001-05-30 19:05:47 +00:00
sos
38d10280a6 Dont try to play tracks outside whats on the media.
PR 26647
2001-05-30 08:06:57 +00:00
sos
9a9b22ddc1 Update to support the NEC NR-7500A burners. 2001-05-30 07:28:57 +00:00
msmith
789b531931 What I get for "fixing" at the last minute. Correct a mis-merge of takawata's
timeout fix and put proc.h into the right file.

Submitted by:	nnd@mail.nsk.ru
2001-05-30 05:34:10 +00:00
wpaul
9a3cecd14f Per jlemon: add code to nge_rxeof() to allow verification of TCP and
UDP checksums too, not just IP. The chip only tells us if the checksum
is ok, it does not give us a copy of the partial checksum for later
processing. We have to deal with this the right way, but we can deal
with it.
2001-05-29 22:14:03 +00:00
wpaul
a85eca56dc Fix mind-o in nge_rxeof(): I used CSUM_IP_CHECKED twice instead of
CSUM_IP_CHECKED|CSUM_IP_VALID.
2001-05-29 21:44:45 +00:00
msmith
7996f19f43 - Updates for new constant naming in the ACPI CA 20010518 update.
- Use __func__ instead of __FUNCTION.
 - Support power-off to S3 or S5 (takawata)
 - Enable ACPI debugging earlier (with a sysinit)
 - Fix a deadlock in the EC code (takawata)
 - Improve arithmetic and reduce the risk of spurious wakeup in
   AcpiOsSleep.
 - Add AcpiOsGetThreadId.
 - Simplify mutex code (still disabled).
2001-05-29 20:13:42 +00:00
phk
9937949fe2 Remove MFS compat bits. 2001-05-29 18:49:23 +00:00
sos
0769bdabee Fix bug in debug code 2001-05-29 17:27:36 +00:00
sos
f6e371bd1f Fix for the fixate problem on the Yamaha burners. 2001-05-29 17:19:42 +00:00
mjacob
19b20edd40 Spring MegaChange #1.
----

Make a device for each ISP- really usable only with devfs and add an ioctl
entry point (this can be used to (re)set debug levels, reset the HBA,
rescan the fabric, issue lips, etc).

----

Add in a kernel thread for Fibre Channel cards. The purpose of this
thread is to be woken up to clean up after Fibre Channel events
block things.  Basically, any FC event that casts doubt on the
location or identify of FC devices blocks the queues. When, and
if, we get the PORT DATABASE CHANGED or NAME SERVER DATABASE CHANGED
async event, we activate the kthread which will then, in full thread
context, re-evaluate the local loop and/or the fabric. When it's
satisfied that things are stable, it can then release the blocked
queues and let commands flow again.

The prior mechanism was a lazy evaluation. That is, the next command
to come down the pipe after change events would pay the full price
for re-evaluation. And if this was done off of a softcall, it really
could hang up the system.

These changes brings the FreeBSD port more in line with the Solaris,
Linux and NetBSD ports. It also, more importantly, gets us being
more proactive about topology changes which could then be reflected
upwards to CAM so that the periph driver can be informed sooner
rather than later when things arrive or depart.

---

Add in the (correct) usage of locking macros- we now have lock transition
macros which allow us to transition from holding the CAM lock (Giant)
and grabbing the softc lock and vice versa. Switch over to having this
HBA do real locking. Some folks claim this won't be a win. They're right.
But you have to start somewhere, and this will begin to teach us how
to DTRT for HBAs, etc.

--

Start putting in prototype 2300 support.  Add back in LIP
and Loop Reset as async events that each platform will handle.
Add in another int_bogus instrumentation point.

Do some more substantial target mode cleanups.

MFC after:	8 weeks
2001-05-28 21:20:43 +00:00
phk
f80decdc0c Make the beep duration independent of HZ.
PR:		25201
Submitted by:	Akio Morita amorita@meadow.scphys.kyoto-u.ac.jp
MFC after:	1 week
2001-05-28 21:11:38 +00:00
gallatin
e575dde359 finally fix intr routing on alphas such as the as500 after months of
breakage:

- call PCIB_ROUTE_INTERRUPT() regardless of how valid the intline looks.
  Some alphas leave garbage in the intline and leave the intr mapping
  to OS platform support routines that map slots/buses to intlines
- Down in the alpha pci code, first try platform.pci_intr_route() and
  if it doesn't exist or returns garbage, just read the intline out of
  config space.

tested on AS500 (garbage in intline) and UP1000 (PC-like, intline is valid)

Note that a nice little hack like the APIC_IO section of pci_cfgregread()
is not workable.  This is because the calling interface for
alpha_pci_route_interrupt() requires us to figure out the bus/slot/etc
from a device_t.  At pci_read_device() time, we don't have a device_t
for the bus/slot/func in question.
2001-05-27 22:22:03 +00:00
cg
c86d13a3e1 beginnings of virtual playback channel support
instead of using two malloced arrays for storing channel lists, use an
slist.  convert the sndstat device to use sbufs and optionally provide more
detail about channel state.

vchans are software mixed playback channels.  they are not enabled by this
commit.  they use the feeder infrastructure to emulate normal playback
channels in a manner transparent to applications, whilst providing as many
channels are desired, especially suitable for devices with only one hardware
playback channel.  in the future they will provide additional features.

those wishing to test this functionality will need to add vchan.c to
sys/conf/files and use 'sysctl -w hw.snd.pcm0.vchans' to enable it.

blocksize and auto-rate selection are not yet supported.
2001-05-27 17:22:00 +00:00
cg
55c514ea72 add a new method for retrieving feeder parameters 2001-05-27 14:49:14 +00:00
cg
ebee48177e don't erase info in sndbuf_setup()
set free'd pointers to NULL in sndbuf_free()
add a new function
2001-05-27 14:39:34 +00:00
dd
7efd4f631e In the VIRTUAL_TTY macro, add a check to make sure that the result of
SC_DEV isn't NULL; if it is, evaluate to NULL and don't dereference
NULL.  Callers of VIRTUAL_TTY must already check for the result being
NULL since si_tty can be NULL, so this should be safe.

This fixes a panic when trying to switch to a different vty in an
environment such as userconfig (-c option to the kernel).

PR:		26508
2001-05-27 00:57:25 +00:00
dd
f5638c42a6 Add a CONS_CLRHIST ioctl which instructs syscons to clear the history
(scroll-back) buffer.

PR:		27616
Reviewed by:	ru
2001-05-27 00:45:59 +00:00
dd
8538c8f1d7 Acquire vm_mtx before calling vm_pager_deallocate.
Reviewed by:	phk
2001-05-27 00:42:46 +00:00
sanpei
bb3012ea8a add Dualmode Zoom/FaxModem 56K (internal) Model 2919
PR:		kern/27476
Submitted by:	Eric Beyer <lnxfrk@earthlink.net>
2001-05-26 11:17:57 +00:00
phk
05d9777e73 Dang, I lost the sign in that brucification. DTRT with PCATCH.
Cut Out In Cardboard by:	bde
2001-05-26 09:37:42 +00:00
phk
1aacce7a45 Currently, each wireless networking driver has it's own control program
despite the fact that most people want to set exactly the same settings
regardless of which card they have.  It has been repeatidly suggested
that this configuration should be done via ifconfig.  This patch
implements the required functionality in ifconfig and add support to the
wi and an drivers.  It also provides partial, untested support for the
awi driver.

PR:		25577
Submitted by:	Brooks Davis <brooks@one-eyed-alien.net>
2001-05-26 09:27:08 +00:00
imp
c90359c1eb Separate out pci cardbus bridge definitions to a common file for use
by both OLDCARD and NEWCARD.

# didn't make the tables the same because oldcard supports more devices than
# newcard and newcard's 16-bit stuff needs some work.
2001-05-25 19:12:58 +00:00