Commit graph

4396 commits

Author SHA1 Message Date
Matt Jacob 52df5dfdab Fix breakage to target mode support.
What we'd like to know is whether or not we have a listener
upstream that really hasn't configured yet. If we do, then
we can give a more sensible reply here. If not, then we can
reject this out of hand.

Choices for what to send were
	Not Ready, Unit Not Self-Configured Yet
	(0x2,0x3e,0x00)
for the former and
	Illegal Request, Logical Unit Not Supported
	(0x5,0x25,0x00)
for the latter.

We used to decide whether there was at least one listener
based upon whether the black hole driver was configured.

However, recent config(8) changes have made this hard to do
at this time.

Actually, we didn't use the above quite yet, but were sure considering it.
2000-06-12 23:08:31 +00:00
Seigo Tanimura 51e8791ed8 - Eliminate rpread(). Call generic ttyread(). (cf rev 1.33)
- Comment out deftermios. Termioschars() will give the default
  value.

Pointed out by:	bde
2000-06-12 15:21:59 +00:00
Brian Somers a54185c7ba Add (another) PnP entry for the ESS ES1869 (Compaq OEM)
Submitted by:	mdharnois@home.com
PR:		19206
2000-06-12 09:09:37 +00:00
Poul-Henning Kamp 9b808911f6 The very feeble beginnings of a driver for the LanMedia LMC1504 card.
New-Bus wizards are encouraged to look at this, I think it poses a
challenge for the current newbus design.
2000-06-11 19:09:47 +00:00
Duncan Barclay da5777391d Suck out all of the current and desired n/w parameters. 2000-06-11 13:57:59 +00:00
Duncan Barclay dab93c89dd Generated a new macor, RAY_RECERR for reporting errors with. Verbosity set with IFF_DEBUG (recommended at present).
Move promisc flag into the nw parameter structure.
2000-06-11 13:56:11 +00:00
Duncan Barclay 9a970e19aa Generated a new macor, RAY_RECERR for reporting errors with. Verbosity set with IFF_DEBUG (recommended at present). 2000-06-11 13:54:59 +00:00
Duncan Barclay 46281163a8 A bunch of misc. tidy ups really.
Generated a new macor, RAY_RECERR for reporting errors with. Verbosity set with IFF_DEBUG (recommended at present).

Add PRIBIO to tsleeps.

Catch detach on ray_ccs_alloc a little better.

Move sc_promisc into desired and current n/w parameters.

Remove IFQ_PEEK, we know the driver runs okay without it.

Drain the output queue in ray_stop.

Only use ray_mcast for ADD/DEL multi ioctls. ray_init_multi resets the
multicast list on startup. Simplifies ray_init a little.

Tidy some old comments.

ray_download_done now copies the whole desired n/w parameter set into the
current set. This is because I was missing soem parameters - like the
net type!
2000-06-11 13:32:07 +00:00
Jeroen Ruigrok van der Werven 9ca710f699 Add support for the Accton EN1217.
PR:		18735
Submitted by:	Adoal Xu <adoal@iname.com>
2000-06-11 11:54:52 +00:00
Seigo Tanimura 1f82d2d70d 1. Update Comtrol RocketPort driver(rp) to version 3.02.
2. Newbusify the driver.
3. Build as a module.

4. Use correct minor numbers when creating device files.
5. Correctly lock control characters.
6. Return ENXIO when device not configured.
Submitted by:	Tor Egge	<Tor.Egge@fast.no>

7. Fix the baud_table.
Submitted by:	Elliot Dierksen	<ebd@oau.org>

Note:
- the old driver still lives in src/sys/i386/isa, so that you can
  revert to it if something goes wrong.
- The module does not detach very well. Attaching works fine.
2000-06-11 06:43:16 +00:00
Duncan Barclay 5f95c244f0 Removed a few RAY_MAP_CMs that were not needed.
Made checking sc->gone a lot safer by checking to see if sc is NULL first.

Made return from tsleep in the ccs allocator detach safe.
2000-06-10 21:24:36 +00:00
Mike Smith ff69e08ad6 The AMI MegaRAID's internal memory map conflicts with scatter/gather
map physical addresses below 0x2000 (accoding to AMI).  If we
allocate our s/g tables and get an address below this point, leak the
memory and try again.

This should fix booting from these controllers.
2000-06-10 19:22:39 +00:00
Doug Rabson 068b0778a3 Release resources properly in detach. 2000-06-10 17:53:20 +00:00
Doug Rabson 111618cb42 Fix the AMD 751 AGP minidriver so that it works with my test code. 2000-06-10 17:44:53 +00:00
Duncan Barclay 47dbe852ba Seperate debug for dumping comq entries. 2000-06-10 13:52:27 +00:00
Duncan Barclay 332e85b29d Add macros for freeing a set of malloc runq entries and adding them to the
runq queue, safely checking for ENXIO
2000-06-10 13:52:06 +00:00
Duncan Barclay 8204ff6102 Remove promisc_user, ray_reset and ray_reset_timo as they are not used. Incidental remove of a timer too. Remove the runq_abort code.
Get ray_detach working correctly. This is a very simple routine as it
just wakes up sleeping processes. Note that anything woken has NO softc
structure available! runq_add is suitably modified to detect a detach and
return straight away.

Due to ray_detach and its implications use a macro for adding things
to the runq in user land.
2000-06-10 13:50:57 +00:00
Peter Wemm 52044d2673 Unused include: #include "pps.h" 2000-06-10 11:14:19 +00:00
Peter Wemm ad4805bb07 Unused includes: #include "pci.h" and #include "lnc.h" 2000-06-10 11:13:39 +00:00
Peter Wemm 7a4592b4b2 Unused include: #include "ex.h" 2000-06-10 11:09:03 +00:00
Peter Wemm 946d67a059 Unused include: #include "bt.h" 2000-06-10 11:08:34 +00:00
Peter Wemm 7b1e0b9c51 Unused include: #include "ahc.h" 2000-06-10 11:07:54 +00:00
Peter Wemm 991ee860a8 Unused include: #include "aic.h" 2000-06-10 11:06:51 +00:00
Peter Wemm 956da22b82 Unused include: #include "adw.h" 2000-06-10 11:06:16 +00:00
Peter Wemm 18a5d2dfdf Argh. This is what I get for trying to do too many things at once.
Revert last commit. sc.h/NSC is used.
2000-06-10 10:32:43 +00:00
Peter Wemm a99bef94ed Untangle some #include between gusc.c/mss.c - gusc.c could create
an attachment node for something that may not have been compiled in.
2000-06-10 07:20:54 +00:00
Peter Wemm cb73359d42 Unused include: #include "sbc.h" 2000-06-10 07:17:29 +00:00
Peter Wemm 1e163ecb8c We always provide the bpf hooks. Remove #include "bpf.h"/NBPF. 2000-06-10 07:16:14 +00:00
Peter Wemm 83fc8b6d34 Unused includes: #include "pci.h", #include "pcm.h" 2000-06-10 07:15:15 +00:00
Peter Wemm 08e002f412 Unused include: #include "sc.h" 2000-06-10 06:42:13 +00:00
Peter Wemm 993d34823b Unused include: #include "fb.h" 2000-06-10 06:41:11 +00:00
Brian Somers fa33ce4b09 Dynamically allocate softc structures
Reviewed by: Mark Knight <mkn@uk.FreeBSD.org>
2000-06-09 17:03:29 +00:00
Dan Moschuk 7bf9834a55 Increase delay from 10mu to 1000mu when reading play control size. This
allows the YMF744 to initialize properly.
2000-06-09 16:44:30 +00:00
Doug Rabson 597472167a A driver for programming the AGP hardware. This is only very lightly
tested on Intel BX chipsets only. The other agp minidrivers are totally
untested.

The programming api is a subset of the Linux api and is only intended to
be enough for the X server to use. There is also an in-kernel api for the
use of other kernel modules such as the 3D DRI.
2000-06-09 16:04:30 +00:00
Doug Rabson f1954f5752 Nuke the useless chip driver. It gets in the way when you want to load
a functional driver for the device.
2000-06-09 16:00:29 +00:00
Gerard Roudier ec8146d60d - Use `bus space' primitives for IO and MMIO instead
of IO/MMIO legacy methods.
- Prepare the driver for big endian CPU support.
- Clarify memory and IO barriers needed by the driver.
2000-06-08 19:48:16 +00:00
Nick Hibma 6346a48ac0 Add the ID of the InSystem USB Cable (not really supported yet). 2000-06-08 19:27:21 +00:00
Nick Hibma 29c5a748a3 Regen. 2000-06-08 19:26:35 +00:00
Nick Hibma 608e876462 InSystem USB Cable (IDE adapter)
Submitted by:	"Sean O'Connell" <sean@stat.duke.edu>
2000-06-08 19:26:16 +00:00
Bill Paul 042c8f6ee1 When I tweaked if_dc.c to alter the polling interval for non-MII
21143 chips, I accidentally removed the DC_MII_REDUCED_POLL flag
for all 21143 cards. This caused problems with timer-instigated
TCP retransmits, which happened to occur at the same time as an
MII poll tick on MII-based cards (e.g. D-Link DFE-570TX). Fixed this,
plus made some other cleanups. The autoneg fixes for the non-MII
cards still work. Also tested the PNIC II now that I have one again.
2000-06-07 17:07:44 +00:00
Cameron Grant 1a50bd2e37 handle duplex properly in the AIOGCAP ioctl - this may (partially?) fix rat 2000-06-07 11:51:30 +00:00
Greg Lehey 6b45806f44 start_object: Set the revive length correctly. 2000-06-07 03:34:18 +00:00
Greg Lehey fe8b826551 revive_block:
Fix several instances of breakage in RAID-5 revive code.

   Tidy up code.

parityops:
   Don't attempt to do anything if the plex is degraded or worse.

parityrebuild:
   Add comments.
   Perform transfers in correct length.
2000-06-07 03:33:09 +00:00
Cameron Grant 2f9aa04e7f this driver does not support the cs4281 and probably never will, different code
will be required
2000-06-06 22:42:57 +00:00
Cameron Grant dafad92c7d support recording 2000-06-06 22:34:09 +00:00
Cameron Grant 20cdda004b improve recording 2000-06-06 22:30:22 +00:00
Cameron Grant 9c3268206d don't panic if we try to add a channel we said we wouldn't 2000-06-06 22:24:53 +00:00
Bill Paul 4d1f3470e3 - Call mii_pollstat() after we bring up the link on a 1000baseTX card
after autoneg so we make sure to set the link state and duplex mode
  correctly.
- Make sure to set the 'ignore pause frames' bit on the XMAC.
- Small linewrap fix.
2000-06-06 02:56:37 +00:00
Andrey A. Chernov 4d9a01eba4 Cosmetique: fix comments - don't use 'ansi' word for non-ansi (adapter) colors 2000-06-06 00:13:40 +00:00
Andrey A. Chernov f9641ac41e Implement ANSI E[39m and E[49m to set fg and bg to initial (not to default!)
values. E[x is bad because set them to default values and should be used only
in reset sequence.
2000-06-05 22:16:11 +00:00
Bill Paul b6a1416d3a Don't bother checking the link state in dcphy_status() if the interface
isn't up.
2000-06-05 19:37:15 +00:00
Greg Lehey f68de48880 parity ops: Correctly recognize the end of the plex. Previously we
were running off the end and generating worrying but harmless messages
about parity errors that wouldn't go away.
2000-06-05 03:01:07 +00:00
Duncan Barclay 5c0bff264f Cosmetic and capture a register dump _before_ I've downloaded values to
the card.
2000-06-04 21:14:57 +00:00
Duncan Barclay 77d868ca7a As part of the IFF_RUNNING stuff, we've added an extra flag so callers
can request that runq routines should check IFF_RUNNING before executing.
2000-06-04 21:14:26 +00:00
Duncan Barclay 8544bea23f Main changes are resurection of mutlicast code (jgibbs moved the stuff I
needed to add into ether_input) and finally sorting IFF_RUNNING through
whole driver.

As part of the IFF_RUNNING stuff, we've added an extra flag so callers
can request that runq routines should check IFF_RUNNING before executing.

Remove BPF taps as this is now done by ether_input.

Resurrect multicast code, moving the multicast list stuff to the runq
routine.

Dump ray_promisc_user as all flag changes are now handled by ray_init, and
add a couple of checks to ray_promisc.

In uppparams_user, allow changes before the card is running (need to
fix some breakage with _download here later). In addition, don't
assume that the current n/w parameters are valid - they are only valid
in the runq.

Fix a nasty flag bug - runq_add cleared all the flags on the last command!

Remove the hacks for setting the memory flags - problems were down
to buggy versions of pccardd. For some reason pccardd only dtrt with
the "right" debug_level.
2000-06-04 17:51:36 +00:00
Greg Lehey b441812ca5 parityrebuild: write the parity block back to the correct subdisk.
HEADS UP: This fixes a serious data corruption bug when using the
userland command 'rebuildparity'.
2000-06-02 04:05:40 +00:00
Greg Lehey cad166c211 Remove an incorrect comment, adjust white space. 2000-06-02 04:05:05 +00:00
Greg Lehey fbbcd2e09c Add 'dumpconfig' keyword. 2000-06-02 04:04:31 +00:00
Greg Lehey 762166daca Remove a redundant statement. 2000-06-02 04:03:57 +00:00
Greg Lehey c9180b28e7 open_drive: Recognize "wd" device type. This is going away, but it's
not gone yet.

format_config: print correct text when a volume has a preferred plex.
This is still broken, but not quite as badly.

Reported-by: Phil Regnauld <regnauld@ftf.net>

Change a rather silly comment.
2000-06-02 04:03:13 +00:00
Greg Lehey d8c8f72dd9 give_sd_to_plex: Initialize sd->plexno correctly. Previously this was
only being done at plex creation time, and an attach would leave the
value uninitialized.
2000-06-02 04:02:15 +00:00
Bill Paul 7bc6fe296d Darn it... left if_aue.c out of the last commit. (Fix watchdog timeout
handling, turn of interrupt pipe stuff.)
2000-06-01 23:18:01 +00:00
Bill Paul a2693d6d71 Handle watchdog timeouts better. We can't really call the foo_init()
routines from foo_watchdog() because foo_watchdog() is called at
interrupt context, and that's a no-no due to the way the USB stack
is currently set up.

What we do now is call the TX end of frame handler manually to clear
the completed transmission, then check the send queue and send off
any frames that are pending.

Also turned off the interrupt pipe stuff in if_aue, since it appears
to tickle a bug in the USB stack that I haven't found yet.
2000-06-01 23:16:42 +00:00
Poul-Henning Kamp 855e8bb9ad ed_ioctl() can be called from ifpromisc() after the card has been removed,
don't panic on a NULL pointer in that case.
2000-06-01 21:55:49 +00:00
Peter Wemm 3e0f102e57 With this evil hack the DS1 driver works on our Intel desktop
motherboards that use YMF740's.  It has a strange subvendor and subdevice
ID and requires a disturbingly long delay after the ac97 codec init.
Cameron hasn't had this driver tested on another 740 yet, so we don't know
if this is a quirk of all 740's, or if its just something about the codec
that Intel used.
2000-06-01 03:58:27 +00:00
Cameron Grant 17dbf67736 if a device has no play or no record channels, set its simplex flag. 2000-06-01 01:32:30 +00:00
Cameron Grant e05327ee1b if we get bad values for playctrlsize, the firmware may not have initialised
yet so retry.
2000-06-01 01:29:05 +00:00
Cameron Grant 2176a9588a add a bit more diagnostic info for the bus_dmamap_load failure case 2000-05-31 19:04:12 +00:00
Bill Paul 318b02fdb9 Rework the support for the internal autonegotiation on the 21143 and
workalike chips (Macronix 98713A/98715 and PNIC II). Timing is somewhat
critical: you need to bring the link as soon as possible after NWAY
is done, and the old one second polling interval was too long. Now
we poll every 10th of a second until NWAY completes (at which point
we return to the 1 second interval again to keep an eye on the link
state).

I tested all the other cards I had on hand to make sure I didn't bust
any of them and they seem to work (including the MII-based 21143 card).
This should fix some autoneg problems with DE500-BA cards and the
built-in 10/100 ethernet on some alpha systems.

(Now before anyone asks why I never noticed this before, the old code
worked just find with the Intel swich I used for testing back in NY.
Apparently not all switches are as picky about the timing.)
2000-05-31 05:40:53 +00:00
Cameron Grant bd68ce8be9 yamaha ds1/ds1e pci sound driver - work in progress, mixer and playback only.
tested on ymf724f only.

conf/files entry is commented out, enable it manually to test this code and
let me know results.
2000-05-31 03:21:36 +00:00
Warner Losh c373152ae6 Add support for the modem side of the 56k combo card.
Submitted by:	Duncan Barclay <dmlb@ragnet.demon.co.uk>
2000-05-30 05:42:57 +00:00
Guido van Rooij bcc031b104 Fix a panic resulting from an obvious null pointer deref.
Apparently some other panics still exist in this driver, but with
this fix, it was at least possible to run the Nokia card at SANE 2000.
2000-05-29 19:58:10 +00:00
Doug Rabson 1536418a84 Brucify the pmap_enter_temporary() changes. 2000-05-29 19:21:01 +00:00
Andrey A. Chernov b2f64c0141 Fix the TAB not cause scrolling when entered at the end of the last line.
It may cause misterious chars appearse in the middle of the scrolled lines.

The bug trigger: enter
grep P_32 /usr/include/*.h
command and see misterious "db.\" filename.
2000-05-29 18:35:13 +00:00
Jun Kuriyama 81c0587fa1 Add more ESS1869 PnP Sound Card PnPid.
Submitted by:	MIHIRA Yoshiro
PR:		kern/17349
2000-05-29 07:43:51 +00:00
Warner Losh 6a2b5130e3 Add ACTIONTECH #define for plug and play. Also add PnP support to NEWCARD
for this card.

Submitted by: Kazuya Kodama <kodama@rd.nacsis.ac.jp>
2000-05-29 02:44:33 +00:00
Duncan Barclay 66d7d8c631 Remove unused ioctl locking 2000-05-28 23:23:24 +00:00
Duncan Barclay 203e551839 Made RAY_COM_DUMP a real debug called RAY_DCOM
unsed ioctl locking
2000-05-28 23:11:47 +00:00
Duncan Barclay 9385b6d6d7 A bit of a messy monster.
Simple stuff
------------

	Split _download up so that the MIB settings are in their own functions.

	Made "tx completed but status is ..." a recoverable error

	Cut down verbosity of "unloaded" messages

	Moved ccs_free and com_runq from intr_ccs to ecf_done and runq_done
	to avoid embarasing mistakes and waits.

	Merged runq_add and runq_arr into one and called it runq_add

	Made RAY_COM_DUMP a real debug called RAY_DCOM

	Consistnet debugging around tsleeps.

	Use bus_activate_resource for attr/cm mapping, and set the flags
	correctly in the allocation routines (needs more hacks to
	sys/pccard/pcic.c)

	com_malloc is now seperated from the comq initialization. This was
	done whilst trying to set automatic variables for the comqs.

Harder Stuff
------------

	As part of the IFF_RUNNING fixes, remove the panic in runq if we are
	not running.

	Change, again, runq_add. This time we don't do any cleaning up
	if there were errors. This is so that callers get the chance
	to re-try (not that I ever see it being used).

	In runq_add, only sleep when there is something to sleep on!

	ioctl locking routines, stolen from awi.c but not used


Hardest Stuff
-------------

	Dealing with serialing ioctls correctly means that we must QUEUE
	changes to IFF_RUNNING and check it in the QUEUED commands, not
	in the user commands. Whilst simple to state, it took a few
	hours of head scratching to get it right. The realisation was that
	I only have to guarantee that sub-commands from a single process
	are serialised and "atomic", and that they check the status of the
	interface flags when invoked and not when they are queued.

	Another way of looking at it, is that the driver's state is stored
	in the runq and the IFF_RUNNING flag. These must be changed together.

	What this means practically, is that IFF_RUNNING is set after
	we have started/joined/associated with a network. And it is
	cleared by ray_stop via the runq so that unfinsished commands are
	not distrupted.

	I still have to fix up promisc, upp/repparams and mcast.

	Oh yeah, stop is essentially a noop in that it only
	changes IFF_RUNNING
2000-05-28 23:10:12 +00:00
Gerard Roudier 94d057fdf4 - Make the NVRAM debug code compile and work.
- Get rid of a fiew uselessly `long' variables
  and casts to `long'.
- Estimate the PCI clock for all chips, except
  C1010 for now (we should do that for each PCI BUS)
- Refine a couple of C1010 errata work-arounds.
- For now, make sure AIP generation is disabled
  for the C1010-66.
2000-05-28 17:49:18 +00:00
Peter Wemm 2ce54ad34d Oops, nearly forgot to commit this one. Use correct register names, or
this will not compile without COMPAT_OLDPCI.
2000-05-28 16:38:28 +00:00
Peter Wemm 30d1c11e3a Encapsulate the old PCI compatability support and APIs completely under
"options COMPAT_OLDPCI".  This option already existed, but now also tidies
up the declarations in #include <pci/pci*.h>.  It is amazing how much stuff
was using the old pre-FreeBSD 3.x names and going silently undetected.
2000-05-28 16:35:57 +00:00
Peter Wemm 86b0a953e2 Use the correct register name. s/PCI_COMMAND_STATUS_REG/PCIR_COMMAND/ 2000-05-28 16:13:43 +00:00
Peter Wemm 94278c74bb Use the correct name for the PCI command register (PCIR_COMMAND). Don't
use constant that used to be a variable in our (very) old pci code.
2000-05-28 16:06:56 +00:00
Peter Wemm c48cc9ce1e Use the correct register names. s/PCI_COMMAND_STATUS_REG/PCIR_COMMAND/ 2000-05-28 16:02:05 +00:00
Peter Wemm 3796d32b9c Warn that this as an oldpci device.. 2000-05-28 15:59:52 +00:00
Peter Wemm 403b9111fb Use correct register values. This one was in aic7xxx and advansys too. 2000-05-28 15:50:40 +00:00
Doug Rabson 31891bc2bd Add a new pmap entry point, pmap_enter_temporary() to be used during
dumps to create temporary page mappings. This replaces the use of CADDR1
which is fairly x86 specific.

Reviewed by: dillon
2000-05-28 15:49:55 +00:00
Peter Wemm 717f014e45 Use the correct register names. s/PCI_MAP_REG_START/PCIR_MAPS/ 2000-05-28 15:48:48 +00:00
Peter Wemm 9e5c01ffe6 Use the correct register names, not the FreeBSD 2.2 compatability ones. 2000-05-28 15:47:00 +00:00
Peter Wemm 4cbef178df Use the correct name for a mapping register, not the old FreeBSD 2.x
compatability name.
2000-05-28 15:15:14 +00:00
Peter Wemm 6a4c2576dc Mass update of isa drivers using compatability shims to use
COMPAT_ISA_DRIVER() so that we can get rid of the evil isa_compat.h table.
2000-05-28 13:40:48 +00:00
Andrey A. Chernov 2073104f87 Manipulate with AltGR Led (really CapsLock Led) only in K_XLATE mode, because
all other modes not set ALKED flag and it means that CapsLock always turned
off for them.
Real bug example is X11 which never turn on CapsLock with Russian keyboard.

PR:		18651
Submitted by:	"Mike E. Matsnev" <mike@po.cs.msu.su>
2000-05-28 12:43:24 +00:00
Søren Schmidt 724a60faf8 Cosmetics: dont say Unknown but Generic chipset in probe.. 2000-05-28 07:51:23 +00:00
Søren Schmidt 5158543d6a Fix alignment problem on the alpha reported by several parties. 2000-05-28 07:50:19 +00:00
David E. O'Brien 5415a4bd71 Use /sys/sys/*.h over /usr/include/sys.
No repsonce from:	Maintainer
2000-05-27 21:35:47 +00:00
Cameron Grant 94e3845ccd fix the return value of the SOUND_PCM_WRITE_CHANNELS ioctl
re-enable old pcm ioctls
2000-05-27 14:40:17 +00:00
Cameron Grant d28089a10d move various fields from pcm_channel to snd_dbuf
improve chn_read code- don't stop/restart on overrun, just dump data

more error checking on ioctls
2000-05-26 21:55:13 +00:00
Cameron Grant 04553e63a5 if we have a codec init routine, fail the attach if init fails 2000-05-26 21:42:50 +00:00
Cameron Grant 35f9e4a1db handle emulated dma reads
don't try to get sample size from snd_dbuf
2000-05-26 21:15:47 +00:00