Commit Graph

3710 Commits

Author SHA1 Message Date
yokota
a917920b0c - Add the device resume method. It supercedes the existing resume
routine which hooks the apm driver.
- Rename the PSM_HOOKAPM option to PSM_HOOKRESUME.
- Delete unnecessary #include.
1999-12-15 10:04:05 +00:00
imp
0c150ca4f7 Add alloc/release resource. Need to connect functionality later. 1999-12-15 06:57:18 +00:00
sos
358ef546e6 Have another go at the VIA support, this time use the PCI ID form the
main component in the southbridge chip to determine which VIA chip
we are dealing with.

Try to enable DMA on generic controllers that say they has the
capability, instead of relying on the BIOS to have set it up.
1999-12-14 10:25:28 +00:00
wpaul
20bb20f965 Fix some problems reported by Mike Pritchard:
- Add a flag DC_TX_INTR_ALWAYS which causes the transmit code to
  request a TX done interrupt for every packet. The PNIC seems to need
  this to insure that the sent TX buffers get reaped in a timely fashion.

- Try to unreset the SIA as soon as possible after resetting the whole
  chip.

- Change dcphy to support either 10/100 or 10Mbps only NICs. The
  built-in 21143 ethernet in Compaq Presario machines is 10Mbps only
  and it doesn't work right if we try to advertise 100Mbps modes during
  autoneg. When restricted to only 10mbps modes, it works fine.

  Note that for now, I detect this condition by checking the PCI
  subsystem ID on this NIC (which has a Compaq vendor/device ID).
  Yes, I know that's what the SROM is supposed to be for. I'm deliberately
  ignoring the SROM wherever possible. Sue me.

The latter two fixes allow if_dc to work correctly with the built-in
ethernet on certain Compaq Presario boxes. There are liable to be quite
a few people using these as their home systems who might want to try
FreeBSD; may as well be nice to them.

Now if anybody out there has an Alpha miata with 10Mbps ethernet and
can show me the output from pciconf -l on their system, I'd be grateful.
1999-12-13 21:45:13 +00:00
yokota
5fa5065912 - Add a module event function to the ukbd driver and make the ukbd KLD
module work.
- Delete unnecessary #include.
1999-12-13 10:36:36 +00:00
sos
dd933059e1 Add DMA support for the SiS 5591 and old PIIX chipsets.
Add a missing DELAY(1) in ata_wait.

Change the info from ad_version, so the ATA version from the disk can
be used to quantify the DAM modes valid for this drive, ie be more
selective with turning DMA on on older disks that should not support it..

Fix the probe for BIOS enabled DMA in the generic case, master/slave
was reversed in the test.

Check the return for ata_command in all cases, and print warnings if
it fails.

Call ata_dmainit with all dmamodes off when falling back to PIO mode,
that should take care of both the Promise & HPT366 controllers not
being able to handle the fallback...

Cleanup the printf's in the drivers, use the prober device name (if
possible) instead of ataN-master/slave.
1999-12-13 10:19:39 +00:00
yokota
20a1c0bf0c - Remember the keyboard repeat delay and rate.
- Add a new ioctl, KDGETREPEAT, to retrieve the keyboard repeat rate.
- Delete unnecessary #include.
1999-12-13 09:31:43 +00:00
cg
65600d1d6d more dma underrun fixes, using a per-channel 2nd buffer
Submitted by:	tanimura
1999-12-13 03:29:09 +00:00
peter
4a19a65dcf time_t is an int on the Alpha, not long. 1999-12-12 20:59:29 +00:00
peter
8015eeb67c Fix a printf format problem on the Alpha, where size_t == unsigned long,
not unsigned int as on the x86.
1999-12-12 20:53:31 +00:00
peter
2f472df185 Make this kld'able (#include "joy.h" no longer required as there are no
references to NJOY any more after newbusification)
1999-12-12 20:39:35 +00:00
phk
76644d92d9 Look for disk devices rather than bdevs.
Approved by:	grog
1999-12-12 17:43:12 +00:00
gibbs
28076d9c63 When booting verbose, indicate if we are using manual termination
settings for U2 cards.

Don't assume that all aic7859 cards are 2930CUs.
1999-12-12 04:54:14 +00:00
cg
99bed6d33e make sb dependant on sbc
add support for non-pnp cards to sbc
move card identification to sbc
channel-swapping code is in sb now instead of dsp
vibra16x support is still broken, but will be fixed soon

note: sbc is now compulsory for sb cards

for pnp cards use:
device sbc0

for non-pnp cards eg:
device sbc0 at isa? port 0x240 irq 5 drq 3 flags 0x15
(hints as oldpcm)

both in addition to:
device pcm0

Reviewed by:	tanimura,dfr
Said he liked it: peter
1999-12-12 02:30:19 +00:00
cg
1698a08e9a move channel-swapping support to the hardware driver since it knows the card
state best
1999-12-12 02:18:58 +00:00
cg
f1be6706cf increase buffer size, reduce number of channels allocated since we only use
1 at the moment
1999-12-12 02:16:14 +00:00
eivind
287836faea Lock reporting and assertion changes.
* lockstatus() and VOP_ISLOCKED() gets a new process argument and a new
  return value: LK_EXCLOTHER, when the lock is held exclusively by another
  process.
* The ASSERT_VOP_(UN)LOCKED family is extended to use what this gives them
* Extend the vnode_if.src format to allow more exact specification than
  locked/unlocked.

This commit should not do any semantic changes unless you are using
DEBUG_VFS_LOCKS.

Discussed with:	grog, mch, peter, phk
Reviewed by:	peter
1999-12-11 16:13:02 +00:00
roger
44a06ec4a2 bktr driver 2.06 changelog 1999-12-11 07:33:36 +00:00
msmith
7f4d10be2c Major update to the Mylex DAC960 driver adding new hardware support
and fixing some major bugs.

 - Add support for the v5 firmware interface, used by the DAC1164P
   (tested) and AcceleRAID 352 (untested but should work).  We now cover
   all of the Mylex family's protocols except for v2 (used by EISA and
   Alpha-compatible cards).

 - Fix an accounting bug which resulted in endless 'poll still busy'
   messages.  In situations of high controller load the count of poll
   commands could be incremented without actually successfully launching
   a command.  This totally removes the accounting for status poll
   commnads; it was its own worst enemy.

 - Add some simple reentry prevention locks to processing of the waiting
   and completed command queues to prevent races which could result in
   I/O being done or completed twice (both are fatal).  This highlights
   a need for simple locking primitives in both the UP and SMP kernels.

 - Streamline the handling of command completion to reduce the amount of
   redundant work being done.  Remove the code which tests for commands
   that have gone missing in action; nobody has ever seen one of these
   and it wouldn't have worked properly anyhow.

 - Handle disconnection of drives from the controller in the detach,
   not shutdown method.  This avoids problems flushing the cache in
   a panic when a drive is mounted.

 - Don't call bus_generic_detach when disconnecting drives; it doesn't
   actually do anything useful.

 - Increment the log message index regardless of whether we actually
   retrieved one or not.  If we run into a message that we can't fetch,
   we don't want to spin endlessly complaining about the fact.

 - Don't assume that interrupts will work when we're flushing the
   controller.  We may think they are enabled, but in eg. a panic
   situation the controller may not be able to deliver an interrupt.
1999-12-11 00:00:13 +00:00
peter
89dc47bfff Make the usb and ide/ata device identification a little saner. Rather than
attaching to the device via chip*, use the newbus nomatch method to report
the device.  This leaves them unattached so that a driver can be easily
loaded to grab them later.
1999-12-10 17:44:22 +00:00
yokota
5aa876a119 Fix memory leak.
PR: kern/15363
Submitted by: Oliver Fromme
1999-12-10 09:36:05 +00:00
imp
80e1fa6d2b o Make pccard work at all by including card.h
o fix return type of sio_pccard_detach
o don't free softc in deatch, since that is done by newbus
o disconnect interrupt we used to have.  Add cookie to com so that we can
  tear down the interrupt on unload
o Set gone earlier, but likely doesn't matter

This makes sio pccards work again.  Cards that are active when ejects may
not work (but they might, softc goes away quickly).

These changes are unreviewed by bde.  I'll make any style changes he wants.
1999-12-10 08:19:19 +00:00
imp
6b39bc9227 kill debug printf that says detach 1999-12-10 07:24:39 +00:00
imp
784b6c2626 Fix pccard ed driver, I think.
o Expose ed_stop and call it early to shutdown the hardware.
o When releasing the interrupt, pass the cookie for the irq, not
  a pointer to the cookie (this is the base problem).
o Release other resources used, just like the ep driver
1999-12-10 07:22:53 +00:00
yokota
05b112defa Add support new keys: lshifta, rshifta, lctrla, rctrla, lalta, and
ralta.  These keys combine shift/ctrl/alt function and the AltLock
function.  When these keys pressed together with another key, they act
just like the ordinary shift/ctrl/alt keys.  When these keys are
pressed and released alone, Alt lock state is toggled.

PR: kern/12475
1999-12-10 04:31:33 +00:00
yokota
ea70ddbc7e Add "panic key" function to syscons. When this key is defined in a
keymap and pressed, the system panic will be forced.

This feature must be specifically enabled by a new sysctl variable:
machdep.enable_panic_key.  Its default value is 0.  The panic key
won't do anything unless this variable is set to non-zero.

To use the panic key, add a keyword 'panic' to a key in your
keymap file.  The following example assigns the panic function
to SysReq (Alt-PrintScreen) key (keycode 84).

  083   del    '.'    '.'    '.'    '.'    '.'    boot   boot    N
  084   panic  nop    nop    nop    panic  nop    nop    nop     O
  085   nop    nop    nop    nop    nop    nop    nop    nop     O

PR: kern/13721
1999-12-10 04:30:58 +00:00
tanimura
45d99c1018 Make the origins clear.
Pointed out by:	Tatoku Ogaito <tacha@trap.fukui-med.ac.jp>
1999-12-10 01:20:08 +00:00
imp
652a419b85 Merge _isa and _isasubr since only one function remained in _isasubr
Saticize _isa.c
Kill compile warnings for _isa.c
Remove obsolete comment from i82365.c
1999-12-09 02:42:42 +00:00
ken
cdf669dd0c [ repository copy of sys/pci/pci_ioctl.h to sys/sys/pciio.h happened in the
background ]

Rename sys/pci/pci_ioctl.h to sys/sys/pciio.h to make it easier for
userland programs to use this interface.  Reformat the file, and add a
BSD-style copyright to it.

Add a new man page for pci(4).  The PCIOCGETCONF, PCIOCREAD, and PCIOCWRITE
ioctls are documented, but the PCIOCATTACHED ioctl is not documented
because it is not implemented.

Change includes of <pci/pci_ioctl.h> to <sys/pciio.h> or remove them
altogether.  In many cases, pci_ioctl.h was unused.

Reviewed by:	steve
1999-12-08 17:44:04 +00:00
roger
655ca3f7fd Backout changes made in 1.102 following feedback from NTSC users
There seems to be some problem with the new rgb_vbi_prog() RISC
code not working for NTSC users.

This means that European teletext users will need to start
Alevt (or open /dev/vbi0) BEFORE starting FXTV (or opening /dev/bktr0)
if they want to capture VBI data for Teletext/Videotext or WaveTop

Reported by: Chris Csanady <cc@137.org>, Kenneth D. Merry <ken@kdm.org>,
             Randy Bush <randy@psg.com>
1999-12-08 14:01:30 +00:00
sos
c0fe21f0b9 Change the devstat priorities to the std values now in devicestats.h 1999-12-08 12:08:47 +00:00
phk
551bfa2f51 Remove BAD144 support, it has already been disabled for some time. 1999-12-08 09:33:00 +00:00
ken
235e74ef14 Revamp the devstat priority system. All disks now have the same priority.
The same goes for CD drivers and tape drivers.  In systems with mixed IDE
and SCSI, devices in the same priority class will be sorted in attach
order.

Also, the 'CCD' priority is now the 'ARRAY' priority, and a number of
drivers have been modified to use that priority.

This includes the necessary changes to all drivers, except the ATA drivers.
Soren will modify those separately.

This does not include and does not require any change in the devstat
version number, since no known userland applications use the priority
enumerations.

Reviewed by:	msmith, sos, phk, jlemon, mjacob, bde
1999-12-08 04:45:23 +00:00
wpaul
2f07f9d55f Fix invocation of bus_teardown_intr(). The last arg is supposed to be
sc->wi_intrhand, not &sc->wi_intrhand.
1999-12-08 02:00:10 +00:00
imp
08ea43ec86 o Implement IRQ activation. We do this in bus_{setup,teardown}_intr,
per discussions on -arch.  This is different than -current's pccard
  code, but shouldn't have any real difference.
o More code cleanup.

Next step: convert bus_space_* mapping stuff to newbus.
1999-12-08 01:42:44 +00:00
sos
1f5f1ce072 Commit the kernel part of our DVD support. Nothing much to say really,
its just a number of new ioctl's, the rest is done in userland.
1999-12-07 22:25:28 +00:00
sos
55fa708f1c Try a little harder at the VIA DMA support.
Only use UDMA66 on 82C686 and with prober cable.
1999-12-07 22:07:18 +00:00
wpaul
edabac1a9d Tweak the DC_REDUCED_MII_POLL code in dc_mii_tick() for the DC_IS_INTEL()
case. The idea is to reduce how often we call mii_tick(), however currently
it may not be called often enough, which prevents autonegotiation from
being driven correctly.

This should improve the chances of successfully autonegotiating media
settings on non-MII 21143 NICs. (Still waiting for confirmation from
some testers, but the code is clearly wrong in any case.)
1999-12-07 19:18:41 +00:00
roger
7bdf4b7db0 Fix bug where tuner i2c address was not set for IMS Turbo cards
Put back Hauppauge Tuner types 0x5, 0x0a, 0x1a which I deleted by mistake.
1999-12-07 17:23:39 +00:00
sos
a0d99d8853 Fix support for disk with > 64K cyls. 1999-12-07 14:49:00 +00:00
yokota
6969be1188 Fix the ioctl CONS_FINDMODE and its underlying subroutine
xxx_query_mode() in the vga and vesa drivers.

- xxx_query_mode() returns 0 (success) and a positive error number.
- Copy mode information on success.
- Remove redundant structure copy.

The bug first found in -STABLE by jmg.
1999-12-07 11:23:58 +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
billf
fcfd8dc948 Reckognize the 'Avance Asound 100'
Submitted by:	Oliver Fromme <olli@dorifer.heim3.tu-clausthal.de>
1999-12-07 01:53:24 +00:00
n_hibma
b809b84799 Add vendor NetChip with its device NET1080 (host-to-host adapter) 1999-12-07 01:19:51 +00:00
gibbs
7ed7dfa1b1 Simplify my license.
Don't arbitrarily limit the initiator ID of the card to something <= 7.

Fix a bug in the checksum code that would incorrectly prevent a valid
checksum of zero. (cp)

Don't touch rely on seeprom data when configuring termination.  We may
not have seeprom data. (cp)

Treat all ULTRA2 capable adapters the same way when reading or writing
the BRDCTL register.  We previously only did this correctly for aic7890/91
chips.  This should correct some problems with termination settings on
aic7896/97 adapters. (cp)

Changes marked with "(cp)"
Pointed out by:	Chuck Paterson <cp@bsdi.com>
1999-12-06 18:29:03 +00:00
peter
7de5d2d418 Update for pnp adjustments regarding NPNP.
Also, optimize out a mess of #if's that were duplicating work already
done by config(8).  For example, if a file is marked as
"dev/sound/pci/foo.c optional pcm pci" then it's only added if pcm *and*
pci are present, so #if NPCM > 0 and #if NPCI > 0 are totally redundant.
A bit more work is still needed.

Discussed with: cg (a few weeks ago)
1999-12-06 18:26:33 +00:00
gibbs
09d56a3f8f Simplify my copyright license terms.
aic7xxx.c:
	Add a function for sucking firmware out of the controller
	prior to reset.

	Remove some inline bloat from functions that should not have
	been inlined.

	During initialization, wait 1ms after the chip reset before
	touching any registers.  You can get machine checks on certain
	architectures (Atari I think?) without the delay.

	Return CAM_REQ_CMP for external BDR requests instead
	of CAM_BDR_SENT.

	Bump some messages to bootverbose levels above 1.

	Don't clear any negotiated sync rate if the target rejects
	a WDTR message.  The sync rate is only cleared if the target
	accepts a WDTR message.

	Fix a small bug in the mesgin handling code that could cause
	us to believe that we had recieved a message that was actually
	received by another target.  This could only confuse us in
	some very rare transmission negotiation scenarios.

	Remove some unecessary cleanup of residual information after
	a residual is reported.  The sequencer does this when the
	command is queued now.
1999-12-06 18:23:31 +00:00
peter
b0a0898508 Fix a pair of silly warnings that I introduced (that would have been
nasty on an Alpha or some other sizeof(int) != sizeof(long) machine).
1999-12-06 17:52:20 +00:00
mdodd
9a18815d02 Add defines for additional EEPROM locations and register definitions. 1999-12-06 09:29:34 +00:00
mdodd
35752e9848 Whitespace cleanups. 1999-12-06 09:16:13 +00:00
mdodd
3f475828f2 Add a delay (per the databook) to the get_eeprom_data() loop so
that the read EEPROM command has time to execute.

I didn't observe any difference in behavior on my test system but
this is the documented "correct behavior".
1999-12-06 08:59:52 +00:00
mdodd
a7e03f2c68 Standardize device descriptions so that there is parity between PnP
descriptions and non-PnP descriptions.
1999-12-06 08:40:59 +00:00
mdodd
4c8ffdfc97 Correctly implement the non-PnP enumeration of ISA board.
We now correctly skip boards that have PnP support enabled, or are in
test mode.  The 3c509s support a number of combinations of device
probing, as per the databook.

	- ISA only
	- PnP only
	- ISA or PnP

We will allow cards that can be dealt with by PnP to be attached by the
PnP enumerator.

This fixes the bogus detection of boards at weird ioports.
1999-12-06 08:31:47 +00:00
peter
f57de250e0 Add a truely evil workaround (hack!) for some unfortunate BIOS
programming practices.  It seems that newer fdc chips have an
alternative way of setting the transfer speed (including high speed
modes for floppy tape) that doesn't use the control register (which
we don't support - we use the old way only).  So, they (the BIOS
programmers) sometimes leave out the 0x3f6 control register from
the PnP ports descriptor(!!).  "Hey, it works with windows, so
what's the problem?" :-(  Anyway, this hack tries to compensate
for that.  This was discussed with dfr (who did the pnp attachment).
1999-12-06 06:59:09 +00:00
peter
8bc1a5a150 Use bus_get_resource() instead of bus_get_resource_start() as the latter
returns "0" on failure, which is indistinguishable from (say) irq 0.  This
should stop a couple of stray messages that turn up.

Also, if a BUS_SETUP_INTR() fails with INTR_TYPE_FAST, try falling back to
a normal interrupt.  This might help pccard folks with a shared slot
interrupt.  This whole thing needs to be revisited.
1999-12-06 06:47:02 +00:00
imp
eed6e10314 Make this compile again after the device_add_child change. 1999-12-06 05:22:47 +00:00
yokota
9cbefa7e7a Fix mouse cursor logic which I broke in 1.1 ;-<
Reported by: Christian Weisgerber <naddy@unix-ag.uni-kl.de>
1999-12-06 03:22:16 +00:00
cg
ba06781574 conditionalise some warning messages
Submitted by:	Vladimir N.Silyaev <vns@delta.odessa.ua>
1999-12-05 20:25:29 +00:00
wpaul
c32cda93bb Modify the Adaptec "starfire" driver to reset the PHY on the MII bus
before selecting a mode. The Seeq PHY chips on the Adaptec cards that
use the AIC-6915 controller seem to need it in order to get them to
change modes correctly.

This corrects a problem that I noticed where my ANA-62022 board failed
to correctly program the full duplex bit in the macconfig1 register
when the interface was brought up. Running ifconfig sf0 would mask this
problem in some cases because polling the PHY status would cause the
miibus code to notice that full duplex was now needed and the statchg
callback would be invoked to configure the duplex setting. However it
would still get it wrong other times.

Also changed sf_miibus_statchg() to program the IPG register to match
the duplex setting in accordance with Adaptec manual's recommendations
(0x15 for full duplex, 0x11 for half duplex).
1999-12-05 20:02:45 +00:00
peter
559cff8635 newbusify and port the joy driver to the Alpha. It now attaches to the
joystick port on PnP sound cards that have a suitable device ID on them.

Doug Rabson added timer code so it didn't have to beat on the isa timer.

Submitted by:   Takanori Watanabe <takawata@shidahara1.planet.sci.kobe-u.ac.jp>
1999-12-05 19:51:40 +00:00
cg
06117a9159 fix dma underrun issues
mutate some panics to kasserts
add more spl protection

PR:		kern/14990
Partially Submitted by:	Vladimir N.Silyaev <vns@delta.odessa.ua>
Reviewed by:	dfr
1999-12-05 19:09:13 +00:00
peter
83279a6a1d Raise the pci compat driver match priority a bit so that it's not
quite so close to the chip* drivers.
1999-12-05 18:50:22 +00:00
yokota
c37843e934 Fix cursor position calculation.
Submitted by: Cejka Rudolf <cejkar@dcse.fee.vutbr.cz>
1999-12-05 10:04:37 +00:00
luoqi
d59911ee91 Disconnect and tagged queueing now really work. Also fix a bug that's
causing problems to slow devices.
1999-12-04 22:15:02 +00:00
wpaul
cdd3a692fe Add the if_dc driver and remove all of the al, ax, dm, pn and mx drivers
which it replaces. The new driver supports all of the chips supported
by the ones it replaces, as well as many DEC/Intel 21143 10/100 cards.

This also completes my quest to convert things to miibus and add
Alpha support.
1999-12-04 17:41:31 +00:00
tanimura
07a453ccf2 Add the logical ID of ViBRA16CL PNP on Micron Millenium II motherboards.
PR:		kern/15243
Submitted by:	Steven G. Kargl <kargl@troutmask.apl.washington.edu>
1999-12-04 10:13:17 +00:00
tanimura
e7bbc71094 Call ISA_PNP_PROBE() to probe PnP cards, rather than match
the vendor and logical IDs directly.

Submitted by:	peter
Tested by:	Timo Geusch <freebsd@timog.prestel.co.uk>
1999-12-04 09:51:24 +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
mjacob
7cc44d2aca roll platform minor 1999-12-03 06:56:43 +00:00
mjacob
28a6d19c00 clean up sprintf and have buffer that won't overflow 1999-12-03 06:56:23 +00:00
mjacob
394174889a turn some messages into CFGPRINT messages 1999-12-03 06:55:39 +00:00
n_hibma
aaff10513a Fix the 'usb0: USB revision unknown, not supported' people have been seeing
by identifying the version in the PCI drivers.

The OHCI driver just presets this to 1.0 as it is not specified in the
PCI registers anywhere. This should be revisited once USB 2.0 is in
wide spread use.
1999-12-03 01:34:42 +00:00
n_hibma
9fbcb16d5f In one queue all the TDs (transfer descriptor, packets) for one transfer
are queued.  Traverse the queues vertically and then horizontally.
This means that TDs for one xfer are transmitted back to back until the
first NAK or error condition. Up to now we transmitted a TD per frame
and transmitted the next TD in the next frame.

The old approach is more fair if you have the end of the queue point at
the beginning of the control transfer queue, but also a lot more overhead
due to the fact that the QHs have to be read more often.

The new approach squirts the packets down the line as fast as possible
for one transfer and then does the next one. In the current situation,
with fairly empty USB buses, this is a more sensible approach. We might
have to revisit the scheduler later however.

It speeds up large transfers (Zip drive, Host-To-Host adapters) on UHCI
by a factor of 5 and makes it as fast as OHCI on the bus.

The next problem to solve is the question why the limit is 300kb/s and
not 1000/kb/s (kb == kilobyte).
1999-12-02 16:43:18 +00:00
phk
1a595523be Initialize type correctly. 1999-12-01 10:20:21 +00:00
julian
d09573a3cf Add explicit null entries for new entrypoints.
Forgotten by: Archie
1999-12-01 09:34:14 +00:00
imp
737361b49b Fix the hang on card eject problem and maybe the hang on suspend
problem.

o Create new timeout routine so we don't detach the card inside a ISR
  but instead drop back to spl0 via a timeout of 0.
o Actually delete the child of the pccard device rather than just faking
  it badly.
o Fix sio, ed and ep to have pccard detach routines that are int rather
  than void.
o Fix ep and ed pccard detach routines to use if_detach rather than just
  if_down.  if_detach destroys the device, while if_down just marks it
  down.  In this incarnation of the pccard things, we map the disable
  the slot action to detach the driver, which removes the driver from the
  device tree.  When that is done, a panic would soon follow as the
  ifconfig tried to down the device.

Didn't fix:
o Should cache the pccard dev child's pointer in struct slot
o remove now unused parts of struct slot
o Any driver using softc after detach has been called.  sio's softc used
  to be statically allocated, so you could check sc->gone, but that is
  now gone.
o Didn't remove gone from softc of drivers that use the old pccard method.

Didn't test:
o ed driver changes
o sio driver changes on pccards
o suspend (no laptop or apm support on my desktop)
1999-12-01 07:38:54 +00:00
dfr
8b0f80aa08 Add ESS1879.
Submitted by: MIHIRA Sanpei Yoshiro <sanpei@sanpei.org>
1999-11-30 09:11:06 +00:00
n_hibma
8cd679b7fc Commit for r1.29 of ugen.c was wrong. All the ugenX* device
entries were like the entries for ugen0* device.
1999-11-30 01:48:12 +00:00
peter
425ff1daf9 Make the pci driver compat shim return a preference for probe
rather than an "it's mine!" so that other newbus-aware drivers can
bid for the device too.  This should allow the sym driver to out-bid
the ncr driver for devices it supports without having to modify ncr.c
at all.  ncr would then function as a catch-all.
1999-11-30 01:34:46 +00:00
alfred
45fc07fd1e tanimura implemented SNDCTL_DSP_GETODELAY for pcm.
Submitted by: tanimura
1999-11-29 23:01:59 +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
sos
3a4f419fb8 Better error handeling:
On UDMA CRC errors retry operation as it might be a fluke, if not fall
back to PIO mode on the failing drive. If you get alot of these your
cabeling is most likely not good enough.

On HARD error using DMA, retry once using PIO, if it succeds using PIO
fall back to PIO mode on the failing drive.
1999-11-29 12:24:51 +00:00
imp
eb36f813ac Reconnect probing of the width of the isa bus, calling pcic_attach and
pcic_attach_sockets.  Rework bus width probe mapping and unmapping to
use the newbus bus_{allocate,release}_resource with a rid of 1 to work
on FreeBSD.  Remove a few now unneeded #includes.
1999-11-29 07:15:33 +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
n_hibma
b4c5ebb3f4 Update de driver for the request->xfer changes.
Add a remark about how the system will panic after you've unplugged the
drive.
1999-11-28 23:55:52 +00:00
n_hibma
b47b66375e Woops, it seems to fail initialisation. Disabled while I am figuring out
how to get the USB revision from the OHCI controller.

Now where did I leave that spec? ...
1999-11-28 22:56:26 +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
n_hibma
adae2d80cb Correct the last parameter for clalloc 1999-11-28 21:07:11 +00:00
n_hibma
5d92bd7267 Synchronisation with NetBSD 1999/11/27
- more req[uest]->xfer changes.
- get the corresponding NetBSD Id's right

ohci.c
   - move untimeout above print statement
   - remove usb_delay that panics the system (tsleep in intr context) when
   ohcidebug > 5.

ugen.c
   - create the devices for endpoints with make_dev.

uhub.c
   - change from using usbdebug to uhubdebug
   - add more debugging statements
1999-11-28 21:01:06 +00:00
n_hibma
ad78000b31 Add devnames, the device names the drivers attached to for usbd.
0 -> NULL changes.
Add realloc (for OpenBSD)
1999-11-28 20:55:22 +00:00
n_hibma
8a7f66c087 Add a quirk for the Altec ASC495 speakers. They pretend to support the
audio class, but they don't
1999-11-28 20:48:08 +00:00
n_hibma
3a17f5fb10 Add PCI_USBREV_1_1 1999-11-28 20:47:27 +00:00
n_hibma
05b1cbb806 Add USB revision strings and numbers. 1999-11-28 20:46:29 +00:00
yokota
d740587cf8 - Fail VT switching when the controlling program, such as the
X server, is not responding to the VT switching protocol. (This part
  of the code has been somewhat wrong in -CURRENT, but -STABLE has the
  correct code...)
1999-11-28 07:44:11 +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
obrien
32632bcb71 Update to the 0.12.0-19991127 patch + my header path & doc changes. 1999-11-28 01:35:29 +00:00
obrien
dff67f0b84 This commit was generated by cvs2svn to compensate for changes in r53809,
which included commits to RCS files with non-trunk default branches.
1999-11-28 01:35:29 +00:00
obrien
7faf68aa58 Adjust sym' include file path to match where sym' landed in our tree.
Done as vendor import as I hope the author will accept this patch, and
I'm not ready to take this thing off the vendor branch yet.
1999-11-28 00:45:27 +00:00
obrien
ebf4671447 This commit was generated by cvs2svn to compensate for changes in r53801,
which included commits to RCS files with non-trunk default branches.
1999-11-28 00:45:27 +00:00
obrien
1285bb85d3 Adjust sym' include file path to match where sym' landed in our tree.
Done as vendor import as I hope the author will accept this patch, and
I'm not ready to take this thing off the vendor branch yet.
1999-11-28 00:39:09 +00:00
obrien
9b9430d1a8 This commit was generated by cvs2svn to compensate for changes in r53799,
which included commits to RCS files with non-trunk default branches.
1999-11-28 00:39:09 +00:00
obrien
2149543028 Update to the SYM-0.11.0-19991120 patch.
Submitted by:	Gerard Roudier <groudier@club-internet.fr>
1999-11-27 23:37:15 +00:00
obrien
f170a9881c This commit was generated by cvs2svn to compensate for changes in r53796,
which included commits to RCS files with non-trunk default branches.
1999-11-27 23:37:15 +00:00
obrien
34af1d86ec Update to the SYM-0.10.0-19991111 patch.
Submitted by:	Gerard Roudier <groudier@club-internet.fr>
1999-11-27 23:35:46 +00:00
obrien
44fb8837c7 This commit was generated by cvs2svn to compensate for changes in r53793,
which included commits to RCS files with non-trunk default branches.
1999-11-27 23:35:46 +00:00
obrien
803caabbae New `sym' device driver optimized for the Symbios/LSI 53C896/53C895A/53C1010
PCI SCSI controllers.  This driver also supports the following Symbios/LSI
PCI SCSI chips: 53C810A, 53C825A, 53C860, 53C875, 53C876, 53C885, 53C895.

However, it does NOT support earlier chips as the following ones: 53C810,
53C815, 53C825.

See README.sym for more details.

Submitted-by:	Gerard Roudier <groudier@club-internet.fr>
1999-11-27 23:32:35 +00:00
obrien
c029850da1 This commit was generated by cvs2svn to compensate for changes in r53790,
which included commits to RCS files with non-trunk default branches.
1999-11-27 23:32:35 +00:00
sos
d3243c4482 call ata_reinit in addump trying to make sure the dump will succed,
also check for errors underways, and make it possible to abort the
dump by hitting a key.
1999-11-27 17:06:10 +00:00
dfr
f5e6518176 Disable on x86 since it conflicts with PNPBIOS. 1999-11-27 17:03:08 +00:00
tanimura
959ebb7203 Add another vendor ID(CTL0048) for SB32 PnP.
Submitted by:	Charles Anderson <caa@columbus.rr.com>
1999-11-27 06:33:27 +00:00
phk
ccda399c72 Retire MFS_ROOT and MFS_ROOT_SIZE options from the MFS implementation.
Add MD_ROOT and MD_ROOT_SIZE options to the md driver.

Make the md driver handle MFS_ROOT and MFS_ROOT_SIZE options for compatibility.

Add md driver to GENERIC, PCCARD and LINT.

This is a cleanup which removes the need for some of the worse hacks in
MFS:  We really want to have a rootvnode but MFS on a preloaded image
doesn't really have one.  md is a true device, so it is less trouble.

This has been tested with make release, and if people remember to add
the "md" pseudo-device to their kernels, PicoBSD should be just fine
as well.  If people have no other use for MFS, it can be removed from
the kernel.
1999-11-26 20:08:44 +00:00
sos
c7fbb8b2a2 Oops, committed the wrong file.. 1999-11-26 20:05:11 +00:00
sos
68549e7015 Fix atapi_wait_ready, it returned prematurely.
Less verbosity on non-fatal errors.
1999-11-26 19:26:04 +00:00
sos
46311663f3 Tidy up the VIA support a bit, make it more generic. 1999-11-26 19:24:26 +00:00
dcs
89f6b847a5 Add id for ESS 1869 OEM to Compaq on Presario 1621. 1999-11-26 18:58:03 +00:00
wpaul
d0da4e010d Update the WaveLAN/IEEE driver:
- Convert to new bus attachment scheme. Thanks to Blaz Zupan for doing
  the initial work here. One thing I changed was to have the attach
  and detach routines work like the PCI drivers, which means that in
  theory you should be able to load and unload the driver like the PCI
  NIC drivers, however the pccard support for this hasn't settled down
  yet so it doesn't quite work. Once the pccard work is done, I'll have
  to revisit this.

- Add device wi0 to PCCARD. If we're lucky, people should be able to
  install via their WaveLAN cards now.

- Add support for signal strength caching. The wicontrol utility has
  also been updated to allow zeroing and displaying the signal strength
  cache.

- Add a /sys/modules/wi directory and fix a Makefile to builf if_wi.ko.
  Currently this module is only built for the i386 platform, though once
  the pccard stuff is done it should be able to work on the alpha too.
  (Theoretically you should be able to plug one of the WaveLAN/IEEE ISA
  cards into an alpha with an ISA slot, but we'll see how that turns out.

- Update LINT to use only device wi0. There is no true ISA version of
  the WaveLAN/IEEE so we'll never use an ISA attachment.

- Update files.i386 so that if_wi is dependent on card.
1999-11-25 20:45:49 +00:00
tanimura
9aeeffca64 Attach the resources as given in the configuration in a proper way
for non-PnP cards.

Noticed by:	Pascal Hofstee <daeron@shadowmere.student.utwente.nl>
1999-11-25 01:13:52 +00:00
sos
42b1a184cc Add DMA support for the VIA 82C586 & 82C686 chips, also rearrange
to fall back to slower speeds if the faster ones fails to probe.

Log and retry request on UDMA CRC errors.

Fix a couple of warnings.
1999-11-24 21:40:05 +00:00
cg
fe6a86187c fix panic for large writes in non-blocking mode 1999-11-22 21:16:01 +00:00
cg
2c7a9e5d57 fix mixer to return properly scaled values 1999-11-22 16:20:48 +00:00
n_hibma
66d9e27336 Feh, kind of went wrong the previous commit. dev should child (in some
cases) plus a typo.
1999-11-22 14:39:21 +00:00
phk
1848d96439 Convert various pieces of code to use vn_isdisk() rather than checking
for vp->v_type == VBLK.

In ccd: we don't need to call VOP_GETATTR to find the type of a vnode.

Reviewed by:    sos
1999-11-22 10:33:55 +00:00
tanimura
9437480d40 Comment out the newmidi stuff. 1999-11-22 10:28:05 +00:00
tanimura
05e9b4af3e - Introduce the bridge drivers for Sound Blaser, GUS and Crystal
Semiconductor CS461x/428x.
- Add support for GUS and CS461x/428x pcm.

Bridges reviewed by:			dfr, cg
GUS non-PnP support submitted by:	Ville-Pertti Keinonen <will@iki.fi>
GUS PnP support tested by:		Michiru Saito <mich@mtci.ne.jp>
1999-11-22 06:07:49 +00:00
n_hibma
ce99070145 Move the pretty printing of the description for USB controllers to
pci_probe_nomatch, so it won't be in the way when loading USB as a module.

The reason for them being there in the first place is that every
motherboard comes with USB kit and this way it looks more pretty (peter).
The real solution will be to define some method of detaching a driver
after it has attached.
1999-11-22 03:34:43 +00:00
n_hibma
2365e84cdd Remove some bogus bus methods peter added. We are hardly doing
anything as a bus.
1999-11-22 03:22:43 +00:00
n_hibma
17c7f61500 Addition of new fields to the usb_devinfo struct to enable the new
and shiny usbd daemon to handle events.

usb_port.h:
- Add a macro to retrieve the unit number from a USBBASEDEVICE

usb.h, usb_subr.c:
- Add fields to the device_info struct.

usb_subr.c:
- Fill in the new fields.
- Remove the notification of the event up a bit to make sure all the
  information is still available to fill the usb_devinfo struct.

This requires recompilation of usbdevs (src/usr.sbin/usbdevs) and the
ezdownload/ezupload (ports/misc/ezload) utilities in any case.
1999-11-21 17:30:42 +00:00
n_hibma
183c85e4b4 Revoke the vnodes on detach. This avoids the crashes people have seen
when moused was still running when the mouse was detached.

Convert uhid to use make_dev while I am there. Ugen still needs to be
converted.
1999-11-21 17:25:30 +00:00
n_hibma
d1dec864e4 Enclosed the arguments of binary and in brackets. 1999-11-21 17:22:30 +00:00
cg
f4b7f8d09b fix for -fno-builtin
PR:		kern/14278
1999-11-21 17:15:12 +00:00
peter
f755cb92d8 These files have been repo-copied to dev/sound/* (making way for pcm
and midi to share the backend files).
1999-11-21 15:58:07 +00:00
mjacob
0d75a5b4eb Clean up stupidity in the isp_handle_other_response function- indexes
of queue entries have to be at least 16 bits now! If we're running
a 2100 less than rev 5, turn off loop fairness (per Qlogic errata). Fix
typo in checking against 2200 F/W revision. Slightly fix/reorder fabric
login stuff. Change to usage of isp_getrqentry for code clarity. Add some
defensive dual bus assumptions. Various cleanups, etc...
1999-11-21 03:18:22 +00:00
mjacob
1a6884ad3f Add storage/access for a default WWN. A miscellaneous tweak or two. 1999-11-21 03:15:11 +00:00
mjacob
cad8fd9aa6 Add a isp_getrqentry inline function (that is, find the next available
request queue entry if any are left).
1999-11-21 03:14:04 +00:00
mjacob
ef2cbb09ee Fix some includes for when we (eventually) get target mode working again.
Role the core version minor number. Change the arguments to the dma
setup function to use a u_int16_t for the output request loop pointer
(truly amazing that this hasn't blown up in anyones face so far). Do
some shuffling around of some items.
1999-11-21 03:12:58 +00:00
mjacob
fbdf5e31e6 Put *back* the f/w, this time with a BSD style licence as approved
by Qlogic. The firmware is now also kept from compiling by default
unless some config options are set.

While we're at it, roll the 2200 f/w to 2.01.0. Still need to get the
1.17.26 2100 f/w working as it solves a lot of problems but it doesn't
want to work yet with this driver (:-)).
1999-11-21 03:08:29 +00:00
mjacob
b2895f817a Fix dmasetup functions to have 16 bit queue indices. Get the chip revision
out of the PCI CLASS reg and store it in the softc. Use the getenv_quad
function to get a WWN override from the environment. Look for a config
value for same. Make slightly less lame the wwn seed construction.
1999-11-21 02:56:17 +00:00
phk
be027f2c38 Teach the md driver to use preloaded files of type "md_image". 1999-11-20 22:43:27 +00:00
wpaul
5ade237428 Minor tweak: the subsystem device ID code for the quad port 62044 card
is documented to be 0x18 in the Adaptec manual, however there appears to
be a newer board rev with code 0x19. I added a #define for this and
updated the probe code so that this board will be properly identified
in the probe messages. (Currently it's just identified generically as
an AIC-6915 chip.)
1999-11-20 18:29:44 +00:00
cg
b2eb38ffac repo-copied to make way for newmidi, this commit updates include paths 1999-11-20 16:50:33 +00:00
peter
23264e7062 Allow NULL for startp and/or countp in bus_get_resource() so that you can
get one of the two without having to use a dummy variable.
1999-11-20 14:56:55 +00:00
mdodd
b17c96564d I forgot to remove the "NCARD == 0" hacks that kept this driver
from blowing up on PCMCIA systems.  The hack isn't needed anymore.

Reminded by: Blaz Zupan <blaz@gold.amis.net>
1999-11-20 09:28:01 +00:00
imp
9d91943c0f Latest incremental efforts on newcard:
o Delete pcic1 from NEWCARD
o Add explicit resource hints to pcic0
o Get attach working with newbus, kinda (it does all the newbus stuff,
  but doesn't try to attach the pccard yet, too many panics).
o Disable ie0 and le0 in NEWCARD config.  There appears to be a bug in
  the isa_compat code wrt memory conflicts with newbus drivers for
  reasons unknown.
o Minor cleanups.
1999-11-20 07:23:28 +00:00
imp
305ec00ced Kill unneeded #includes. They were left over from the short period of
time when a strcmp against the device name was required.  Sio patches
sent to peter for review.
1999-11-20 05:16:14 +00:00
n_hibma
7ce247ec07 Make the event creation work
- Create the /dev/usb event queue device node.
- Add usbread to the cdevsw.
- Also hide the many minor() behind a USBUNIT macro.
1999-11-19 13:13:28 +00:00
julian
e5d303ce22 fix braino.. line misplaced. 1999-11-19 09:19:44 +00:00
sos
54cbef02b2 Loose ad_sleep, its of no use anymore. 1999-11-19 08:21:15 +00:00
roger
839422ecb6 Rename es1370.c to es137x.c and merge in the patches to support
ES1371 and ES1373 PCI Audio Sound Chips.
The 1371 and 1373 can be found on newer CreativeLabs/Ensoniq
sound cards such as the SoundBlaster PCI 16,64 and 128.

Submitted by:	Russell Cattelan <cattelan@thebarn.com>
Obtained from:	Parts obtained from linux, but rewritten by Russell
1999-11-19 07:29:10 +00:00
julian
1a23d6fcb0 protect some more operations with splimp() under Netgraph. 1999-11-19 05:37:37 +00:00
n_hibma
051d4a9d4b Add usbdevs and friends. 1999-11-18 18:02:44 +00:00
nyan
3e730b56ed Set port_used and mem_used to the resource size instead of 1.
Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
1999-11-18 14:18:19 +00:00
n_hibma
e3de5af6cf Change the clist reservation from 0 to buffer size.
Submitted by:  mmoeller@infolibria.com
1999-11-18 12:50:48 +00:00
n_hibma
d90803b819 Missed a name change. 1999-11-18 12:45:09 +00:00
peter
c9973ec034 Argh, don't turn the IIR test on unless it's a pccard. These tests mess
up the subsequent probes.
1999-11-18 10:29:06 +00:00
alfred
be3a1757c0 remove PCATCH from a tsleep that isn't checked for (avoid infinite loop).
this needs to be revisited.
1999-11-18 08:57:03 +00:00
peter
1edd95c9cf Fix some -Wunused warnings 1999-11-18 08:43:58 +00:00
peter
286ba2226d Fix a warning. 1999-11-18 08:39:02 +00:00
peter
b28f5ff26b Fix some warnings. 1999-11-18 08:32:02 +00:00
imp
286d277c7a Sync to latest cardbusdevs file 1999-11-18 07:22:59 +00:00
peter
37f3e03a47 Merge some typo fixes from dev/sio/sio.c (siostop -> comstop)
Remove EXTRA_SIO/NSIOTOT and make it fully dynamic (from dev/sio/sio.c)
Make sio work for pccard here - pccardd doesn't activate interrupts
until after prove has succeeded.
Mark the initial reset of likely sio ports as broken as it depended on
config supplying a list of locations to probe, devices are now proved
standalone.
Optimize a bit of COM_NOAST4() logic.
Use bus_get_resource_start() etc rather than using isa-centric calls.
Reactivate the IIR_TXRDYBUG test, I've got a card here with it.
Try to be a bit smarter about activating interrupts (ie: don't panic
if polled)
Fix some style bugs that have crept in over time (there are still more).
1999-11-18 07:22:41 +00:00
imp
ecfafbc86d Raw import of newconfig cardbus code. This is effectively an import,
so the code doesn't compile.  I added $FreeBSD$ headers.
1999-11-18 07:21:51 +00:00
peter
f061e9c46f Remove cdevsw_add() - the make_dev() calls are already there.
Don't '#if NSNP > 0' around the thing as it's silly and not required.
config(8) only causes it to be compiled if NSNP is > 0 by definition.
1999-11-18 06:39:47 +00:00
peter
8164d35489 Convert smb to use make_dev() rather than cdevsw_add(). This stops the
annoying 'smb is usurping smb's cdevsw' type messages.  (Yes, there are
other ways to fix cdevsw_add(), but that is a doomed api)
1999-11-18 05:44:56 +00:00
peter
3577ecc3c0 Convert iic to use make_dev() rather than cdevsw_add(). This stops the
annoying 'iic is usurping iic's cdevsw' type messages.  (Yes, there are
other ways to fix cdevsw_add(), but that is a doomed api)
1999-11-18 05:43:32 +00:00
peter
773cbf2758 Tidy up a few loose ends in the fifo setup code.
Don't use NFDC as an arbitary limit, it is not required and goes against
using PnP fdc devices (eg: when PNPBIOS is turned on, the motherboard
devices (sio, fdc, etc etc) are detected via PnP, not config(8).)
1999-11-18 05:15:09 +00:00
imp
7390eb268b o Remove #if XXX from around the probe code.
o Rewrite probe code to work in the newbus world.
o Add preliminary pnp support.  I have no clue what the pnp ids for
  the older ISA machines/cards.  I don't have any of these cards/machines
  so I'll have to rely on the user community to give me help.
o Minor code reformatting.

Attach hasn't been touched, and there may be some config issues that
we need to deal with as well.  These will follow in time.
1999-11-17 23:54:39 +00:00
n_hibma
aeb2d2626b Synchronisation with NetBSD as of 1999/11/16:
Cleaning up the code:
- Declare many functions static
- Change variable names to make them more self explanatory
- Change usbd_request_handle -> usbd_xfer_handle
- Syntactical changes
- Remove some unused code
- Other KNF changes

Interrupt context handling
- Change delay to usbd_delay_ms were possible (takes polling mode into
  account)
- Change detection mechanism for interrupt context

Add support for pre-allocation DMA-able memory by device driver

Add preliminary support for isochronous to the UHCI driver (not for OHCI
yet).

usb.c, uhci.c, ohci.c
- Initial attempt at detachable USB host controllers
- Handle the use_polling flag with a lttle more care and only set it if
we are cold booting.

usb.c, uhci.c ohci.c, usbdi.c usbdi_util.c usb_subr.c
- Make sure an aborted pipe is marked as not running.
- Start queued request in the right order.
- Insert some more DIAGNOSTIC sanity checks.
- Remove (almost) unused definitions USBD_XFER_OUT and USBD_XFER_IN.

usb.c, usb_subr.c
- Add an event mechanism so that a userland process can watch devices
  come and go.

ohci.c
- Handle the case when a USB transfer is so long that it crosses two
  page (4K) boundaries.  OHCI cannot do that with a single TD so we make
  a chain.

ulpt.c
- Use a bigger buffer when transferring data.
- Pre-allocate the DMA buffer.  This makes the driver slightly more
  efficient.
- Comment out the GET_DEVICE_ID code, because for some unknown reason it
  causes printing to fail sometimes.

usb.h
- Add a macro to extract the isoc type.
- Add a macro to check whether the routine has been entered after splusb
  and if not, complain.

usbdi.c
- Fix a glitch in dequeueing and aborting requests on interrupt pipes.
- Add a flag in the request to determine if the data copying is done by
  the driver or the usbdi layer.
1999-11-17 22:33:51 +00:00
cg
62195202a4 this is a full fix for writes not aligned to the sample size selected.
should be a no-op in most cases.
1999-11-15 23:57:33 +00:00
cg
b833601903 set default ogain to 50 since some sb cards produce no sound at 0 1999-11-15 23:22:52 +00:00
peter
8ed26df117 Fix a typo in the DRIVER_MODULE() declaration which caused a collision
with the real mss module.
1999-11-15 17:03:30 +00:00
peter
52c4f7d961 Remove duplicate entry for ADS7180 - it's meant to be handled by the
forked-off ad1816 driver.
1999-11-15 17:02:32 +00:00
dfr
a4180af7d5 Remove some printfs and make it slightly more paranoid about accepting
that an ess1888 is present.
1999-11-15 08:18:24 +00:00
dfr
c1a649a08b * Ignore the wierd fakechan workarounds for simplex in dsp_ioctl().
Without this, ioctl commands for setting formats and speeds were
  essentially ignored for simplex devices until the application actually
  performed a read or write.
* Make sure that both channels are set in the SB mixer code and provide a
  mixer table specifically for the ess18xx which supports the extended
  accuracy available on this part.
* Fix a stupid bug in ess_format() which ignored the passed-in format and
  changed the hardware based on the value which was set last time. This
  meant that the hardware setting was often not set correctly at all.
* Add a custom identify driver for the ESS1888 which automagically detects
  and adds the device in a pseudo-PnP way. This driver also emits the magic
  sequence which enables the sound hardware after a hard reset, allowing
  it to work correctly for the sound hardware of a PWS 433au (and probably
  all other PWS class alpha machines).

With these changes, I was able to play back simple sounds on my 433au. I
have not tested recording or any other formats other than 8bit ulaw and
16bit stereo.
1999-11-13 18:31:31 +00:00
roger
f34c3c16c9 Update to driver 2.05
Make tuner on French SECAM Hauppauge cards work
Submitted by:	Cyrille Lefevre <clefevre@citeweb.net>

Fix clipping bugs ready for Xv support in XFree86 4.0
Submitted by:	Thomas Mueller <tmueller@thmu.de>

Fix the 'feature' where /dev/vbi needed to be opened before /dev/bktr
when using Teletext with Alevt and FXTV.

Requested by:	Randall Hopper
1999-11-13 14:54:00 +00:00
n_hibma
8c06f203f5 Add many new devicelabels
Rename a few (I wish companies would stop buying each other)

Add a quirk entry for hubs that say they are self powered but are
in fact bus powered (usage in uhub follows shortly).
1999-11-12 23:31:03 +00:00
n_hibma
9a30e94971 Fix the computation of the status of the transfers. It never saw a STALLED
condition for Short transfers.

Change the scheduling to Depth first. We now transfer as many TD's as
possible from QH before moving to the next queue (Breadth first). It should
still be verified that this does not lead to starvation in a busy system
(in the case were transfers are added to the beginning of the control
or bulk queues).
1999-11-11 22:32:55 +00:00
n_hibma
2ececa4e38 Avoid the usurping message 1999-11-11 17:36:33 +00:00
dfr
c77b4f2f12 Add code to support ISA PnP. 1999-11-11 08:48:40 +00:00
sos
8b2acdd5d2 Dont listen to disks that say they can only do 0 sector transfers. 1999-11-10 19:37:00 +00:00
sos
85f0f1d998 Make the atapi device return sensible errno's back to userland.
Dont panic if a nonexistant device is opened.
1999-11-10 07:13:51 +00:00
yokota
2596038173 Correctly record the mouse position in the current VTY. 1999-11-09 12:35:36 +00:00
n_hibma
bb41862968 The Qtronix keyboard has a built in PS/2 port for a mouse.
It however posts a bogus button up event once in a while. Whenever
we receive dx=dy=dz=buttons=0 we postpone adding it to the queue for
50msecs with a timeout. If in the meantime something else is posted
the event is ignored.

This avoids the problem Nik Sayer reported. He noticed that X windows
would drop and pick up a window once in a while.

Thanks, Nik, for supplying me with the keyboard to fix the problem!
1999-11-08 23:58:33 +00:00
n_hibma
78a036a798 Add QTronix keyboard with PS/2 mouse connector 1999-11-08 23:50:00 +00:00
n_hibma
3e6d388992 remove superfluous header include
Submitted-By:	phk
1999-11-08 23:47:34 +00:00
sos
0c7be9be3a Unbreak ATAPI on the Aladdin chipset, only DMA access worked.
Try to use a 32bit mask on the IO addresses, this fixes the alpha
and hopefully doesn't break on any i386 machines.

Try to enable both read & write cache on disks, they should be as
default, but better be sure..
1999-11-08 21:36:00 +00:00
n_hibma
63c4c3e1da Remove superfluous header file includes
Remove definition of initialiser.

Some clean up.
1999-11-08 21:12:25 +00:00
n_hibma
f937576f3a Remove superfluous header file includes.
Pushed-By:	phk
1999-11-08 21:06:21 +00:00
yokota
060ce4c0b5 - Added a new kernel configuration option: SC_TWOBUTTON_MOUSE.
The new option will make the right mouse button the `paste' button.
  Useful for two button mice.

Submitted by: morganw@engr.sc.edu (Wes Morgan)
1999-11-08 10:04:29 +00:00
yokota
08dbd4e20b - Removed SC_VIDEO_DEBUG. It is broken and useless now. 1999-11-08 09:57:16 +00:00
peter
2b55618762 Use cdevsw_add() explicitly and DRIVER_MODULE(). 1999-11-08 07:57:03 +00:00
peter
3d459b4aed Call id_drvinit() from attach, not probe as the OS hasn't necessarily
decided which driver to use until attach.  Use DRIVER_MODULE().
1999-11-08 07:56:10 +00:00
phk
3c8d543dde Rename remove_dev() to destroy_dev().
Nagged about by:        msmith
1999-11-08 07:44:01 +00:00
peter
f0e609c8f7 Use (temporarily) cdevsw_add() so we can change from DEV_DRIVER_MODULE()
to DRIVER_MODULE().
1999-11-08 07:37:15 +00:00
peter
6c85184e2d Use cdevsw_add() (temporarily) to avoid DEV_DRIVER_MODULE(), since the
make_dev()'s that are there are not enough.
1999-11-08 07:32:06 +00:00
peter
0838268996 Use DEVICE_MODULE() directly instead of DEV_DRIVER_MODULE. psm.c uses
make_dev() already.
1999-11-08 07:29:23 +00:00
peter
8f14894e4d Use cdevsw_add() explicitly as a workaround for DEV_DRIVER_MODULE().
This should be changed to use make_dev() at some point.
1999-11-08 07:24:55 +00:00
peter
630652b41e No need to use DEV_DRIVER_MODULE() since the bktr driver calls make_dev().
Roger: Feel free to change or spam this as you please.
1999-11-08 07:20:07 +00:00
peter
757541c042 ulpt.c and ums.c already uses make_dev(), so there's no need to use the
(presently broken) DEV_DRIVER_MODULE().  Use DRIVER_MODULE() directly.
1999-11-08 07:10:48 +00:00
peter
cf619ff4fe Update the stream socket fileops table to match fo_stat() additions. 1999-11-08 03:34:53 +00:00
phk
316e3fdcc1 Remove the devsw magic from DEV_MODULE() 1999-11-07 10:01:17 +00:00
tanimura
c8d866094f Conserve stereo mode in ioctl SNDCTL_DSP_SETFMT.
PR:		14372
Submitted by:	Mattias Pantzare <pantzer@ludd.luth.se>, Ville-Pertti Keinonen <will@iki.fi>
1999-11-07 04:15:30 +00:00
sos
9282c2bbd5 Fix IRQ allocation bug on controllers using a shared interrupt.
Fix a bug which could cause panics in ad/atapi-interrupt.

Add support for UDMA66 on Promise Ultra/Fasttrak controllers.

Get rid of ATA_IGNORE_INTR, and introduce ATA_WAIT_INTR instead.

Add a delay in the dump routine in ata-disk.c, some controllers
seem to need this. Also dont use the timeout watchdog when dumping.

Disable DMA on ATAPI devices as default, add option ATA_ENABLE_ATAPI_DMA
for those that has HW that works.

Add support for some not-up-to-spec ATAPI devices that returns data
together with completition status on data moving cmd's.
1999-11-06 16:50:21 +00:00
mdodd
52caff0893 resource_list_{alloc,release}() takes a struct resource_list * as its
first arg.

Reminded by:	Andy Farkas <andyf@speednet.com.au>
1999-11-06 07:38:01 +00:00
tanimura
51c9fe3356 The unit of sndstat is fixed to zero. 1999-11-06 05:31:47 +00:00
gallatin
660a7daead Remove calls to alpha_register_pci_scsi(). After Mike's recent boot
changes, it no longer exists and is preventing alpha kernels from building.

reviewed by: msmith
1999-11-05 13:10:39 +00:00
gallatin
bcba2990f6 now that a map's base addr is 64-bits, the alpha multi-hose hack needs
to be cast to 64-bits in pci_add_map.  This should allow XP1000s and
DS20s to boot -current again.
1999-11-03 22:43:03 +00:00
grog
c30c23e035 Emergency fix to stop world breakage.
Broken-by:	archie
1999-11-03 20:04:00 +00:00
phk
487a9d07d6 Move isfoo() and friends to the newly created sys/ctype.h.
Urged by:       bde
1999-11-03 17:54:26 +00:00
mdodd
d16bedd42a Fix bus_setup_intr(); I changed exintr() to take a pointer to ex_softc
but didn't change bus_setup_intr() to pass the softc in.

Submitted by:	Warner Losh <imp@village.org>
1999-11-03 15:45:14 +00:00
tanimura
c72b8f101c Fix for multiple pcm devices. 1999-11-03 08:10:49 +00:00
archie
379a856804 Consolidate some of the various ctype(3) macros in one location. 1999-11-02 22:50:34 +00:00
archie
52125b012d Change isspace() macro name to avoid conflict. 1999-11-02 22:42:56 +00:00
archie
628b90e4ea Fix typo in previous commit. 1999-11-02 22:24:41 +00:00
msmith
bc581235b4 Correctly compute the block count. In reality, it seems that the
controller will never return the command if it's not exactly a multiple
of a block in size.

Cosmetic formatting for RAID level output.
1999-11-02 03:25:24 +00:00
msmith
0581a055e6 Don't print the chipset value; it's not useful.
Now we know what some of the state values are, print the current array
state.
1999-11-02 03:24:09 +00:00
jmb
c4b43b216f fix misordering of two lines in this file. 1999-11-02 02:19:24 +00:00
nsouch
bfcfa15e68 Sync with RELENG_3. 1999-11-01 23:15:29 +00:00
wpaul
8d2c4ffdd2 Do some more work on the mxphy pseudo-driver to make it better at media
detection and remove the long delays that I had used previously. Everything
should be handled by timeouts now.
1999-11-01 17:10:26 +00:00
tanimura
9876a339ec Call make_dev() to shut up the warning.
Pointed out by:	Donn Miller <dmmiller@cvzoom.net>
1999-11-01 14:29:07 +00:00
julian
e20b3a8a98 User netgraph typedefs for methods 1999-11-01 10:09:34 +00:00
mjacob
8761356627 correct moronic typo 1999-11-01 04:39:52 +00:00
jmb
ae96c3770f rearrange order of tests for NE1000, NE2000, and Linksys
cards.   previous order caused computers with NE2000 cards
        to hang during boot.
1999-11-01 01:16:56 +00:00
nyan
fc563ce1d4 Change Linksys registers base/offset.
On NEC PC-98, asic_addr != nic_addr + 0x10.

Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
1999-10-31 09:05:20 +00:00
tanimura
42ae38ffd6 The total uiomoved size is accumulated in c, not tmp. 1999-10-31 08:58:51 +00:00
mjacob
be6c08329b Organize things to cope with the (possible) lack of downloadable
firmware a bit better.
1999-10-30 19:35:11 +00:00
mjacob
55f0eea5b6 Remove firmware from tree until a better copyright from Qlogic is forthcoming. 1999-10-30 19:33:45 +00:00
mjacob
63c5b1f786 Use pointer to f/w in md structure as to whether f/w exists or not.
If firmware length isn't specified, extract from the 4th short into
the firmware.
1999-10-30 19:32:44 +00:00
phk
8d8f53dcdc Change useracc() and kernacc() to use VM_PROT_{READ|WRITE|EXECUTE} for the
"rw" argument, rather than hijacking B_{READ|WRITE}.

Fix two bugs (physio & cam) resulting by the confusion caused by this.

Submitted by:   Tor.Egge@fast.no
Reviewed by:    alc, ken (partly)
1999-10-30 06:32:05 +00:00
phk
a1f8f43fa0 Don't test boolean return against != 1.
Don't needlessly assign the error variable in an if statement.
1999-10-29 19:03:18 +00:00
phk
8e3c3eafed useracc() the prequel:
Merge the contents (less some trivial bordering the silly comments)
of <vm/vm_prot.h> and <vm/vm_inherit.h> into <vm/vm.h>.  This puts
the #defines for the vm_inherit_t and vm_prot_t types next to their
typedefs.

This paves the road for the commit to follow shortly: change
useracc() to use VM_PROT_{READ|WRITE} rather than B_{READ|WRITE}
as argument.
1999-10-29 18:09:36 +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
semenu
4f03976b42 Added code to enable BusMaster operations.
Kurt D. Starsinic <kstar@chapin.edu> had reported
this patch fixing strange behaviour (like timeouts
and RX/TX DMAs stopping errors).
1999-10-29 09:56:52 +00:00
imp
874dac187b Add (untested) support for the 3C562D/3C563D. I have been unable to
test this support since I don't have the dongle for the card in
question and the dongle I have for my 3C589D doesn't seem to work on
it.  I don't know if this is due to the damage I did to the 562 card
in transit from freebsdcon, or a mis-matched dongle...
1999-10-29 06:27:07 +00:00
roger
b0d0f86853 Update to driver release 2.04
Update AverMedia GPIO values
Submitted by:	AverMedia

Add support for WinTV Theater Dolby Surround Sound DPL3518A chip
Submitted by:	Frank Nobis <fn@radio-do.de>

Make PLL mode the default for Bt878s. You no longer need options BKTR_USE_PLL
1999-10-28 13:58:17 +00:00
dfr
9cb75a305a Fix some resource allocation peculiarities of the intpm device. 1999-10-28 08:06:59 +00:00
imp
d75f84a056 Fix identify code. This also fixes the eeprom messages.
pccard attachments must activate the resources they want to access.
ep didn't do this, so of course thee eeprom came back as busy.  ed and
sio already did this.  It was only due to a bug in the logic that the
probe succeeded.  These problems have been fixed.
1999-10-28 06:12:58 +00:00
luoqi
15b14d33bd Bug fix: allow reset device command to complete. 1999-10-28 05:28:00 +00:00
imp
5a6df965a1 Last change to pccard_nbk now obviates the need to check the name of
the device in question.
Also fix warnings on if_ep_pccard.c
1999-10-28 05:06:14 +00:00
imp
9e7912b8d8 Add comments to Linksys probe code.
Add another OUI to those acceptible to linksys (this check may need to
be removed).
A couple of style(9) nits.
1999-10-28 04:53:46 +00:00
mjacob
70c0d5902b I was misinformed. I cannot get away from specifying tags for FC. Some devices
are happy w/o them- some are unhappy (IBM drives).
1999-10-28 02:48:42 +00:00
mdodd
5b7d331b4d HEADS UP! All 3c5x9 users!
- Rip out all the static softc stuff and do softc allocation the right way.
- Rewrite most of the ISA code so that it provides a DEVICE_IDENTIFY
  method to enumerate all non-PnP ISA devices.

  This has the following consequences:

	- No 'ep' devices may be hardwired.
	  - All hardwired devices will probably be detected twice.
	    By hardwired I mean:

		device          ep0     at isa? port 0x300 irq 10

	- 'ep' devices are ordered by bus, slot, and then MAC address.

- Make 3c509B cards work in PnP mode.  Yes, they really work.
- Convert over to using ifmedia for media selection.  No more of this
  lame 'linkX' stuff.
- Consolidate a lot of duplicated code.
- Make a stab at not breaking MII based PCCARD devices.
  I doubt that the PCCARD stuff works any more than it did before my
  changes but theres hope.  My PCCARD hardware should arrive in a
  week or so.
- Retreive the media settings from the card EEPROM rather than guessing.
  I've got a 3c509-TPO that thinks its got an AUI port and if others
  can report similar problems I'll write a bit of clever code that will
  fix this but right now it works correctly on all but 1 card.
- Clean up a few things and make some cosmetic changes.
- Add myself as the MAINTAINER since nobody else wants to.  I'm
  in the best position to do this as I've got an example of most
  of the cards:

	EISA	3c579	bnc/aui
	MCA	3c529	tp/aui
	ISA	3c509	tpo
	ISA-PnP	3c509B	combo

   If someone wants to send me a any cards I don't have I'd appriciate
   it.  Also welcome are 3c59x boards since I'll be folding if_vx and
   if_ep at some point.
1999-10-27 06:25:16 +00:00
imp
21f0026c85 Make these compile. Next step is to connect newbus plumbing. 1999-10-27 05:24:09 +00:00
msmith
65bd95f881 Move some hardware-related items to the hardware-related header.
Shift to using the same queueing strategy that the amr driver uses.
Some simple tests indicate that we use about 2% of the CPU at around
500tps with the controller completely saturated with I/O.
1999-10-26 23:20:43 +00:00
msmith
792afbe803 Change the queueing model used by the controller to drastically reduce
the time spent at splbio().  We now avoid it unless we are actually
manipulating the command queues themselves.  This doesn't improve
performance noticeably, but should improve concurrency somewhat.
1999-10-26 23:18:57 +00:00
jmb
04574f03d3 add support for LinkSys 10/100 cards
new code is conditionalized by the vendor's ethernet OUI

Obtained from:	PAO Project
1999-10-26 23:03:45 +00:00
mjacob
7cc511f573 nuke a debug printout I thought I had already nuked 1999-10-26 22:25:13 +00:00
luoqi
a477033e35 Fix a typo which would result a bad REQUEST SENSE command be sent to
a device at lun != 0.

Enable tagged queueing (should it be spelled as queuing?) by default.
1999-10-26 22:11:45 +00:00
imp
570c151d90 Very preliminary pcic device support. Will make depend, but won't
(yet) compile and link.  Renamed pcic back to pcic from pcicx, but
conditionalize its inclusion on pccard being included also.  card is
the old and pccard is the new, which is a handy way to have both in
the tree at the same time.

Obtained from: newconfig project

More to follow...
1999-10-26 16:53:57 +00:00
dfr
a636e1db16 Make sure we add an interrupt resource if intline!=255. 1999-10-26 07:40:41 +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
julian
b7856caf0b Make it compile inthe NETGRAPH case. 1999-10-25 23:14:04 +00:00
wpaul
b01e7dfec4 Make release is now falling over in if_fe.c due to Warner's pccard changes:
if_fe.c uses PCCARD_MODULE() and is part of GENERIC. I've #ifdef'ed out
the #include of "card.h" to hopefully disable pccard support in this
driver until it can be converted. I'm not positive this will fix make
release, but it can't possibly make it any worse than it is now.

I hope this stuff settles down soon.
1999-10-25 17:04:17 +00:00
imp
3304242c3e Have only one attach routine, rather than two.
Remove debug printfs.

This should allow the ed driver to work when memory mapping works again.
1999-10-25 06:15:45 +00:00
imp
10abd67792 MIN unused, so kill it 1999-10-25 04:28:53 +00:00
imp
4db6555364 Add pccard attachment. This won't work with memory mapped ed devices
yet, but that should be resolved shortly.  Non memory mapped ed
devices should work, but I cannot test this since my only ed card is
memory mapped.

Submitted by: Matt Dodd <mdodd@freebsd.org>
1999-10-25 02:55:14 +00:00
imp
6c561ab3d9 Add newbus attachment for pccard driver. Heavily tested by me, and
I'm committing this from a laptop running this driver.  Have only one
devclass for all ep devices (at least for pccard and eisa) so unit
numbering is sane.  Might not work with both isa and non-isa devices
on the same system until ep is updated (Matt has some patches in the
pipeline which should resolve this, he wanted me to commit this so he
can resolve any conflicts against cvs rather than my patches).

Reviewed by: Matt Dodd <mdodd@freebsd.org>
1999-10-25 02:52:16 +00:00
imp
94464bc92e Add newbus pccard attachment for sio. Some of this code was written
by Peter Wemm, but I've not merged all the changes he sent to me yet.
This has not been reviewed by bde, so I'm committing to resolve any
issues he has with this when he returns from FreeBSD CON 99.

I've had four reports of this working for them.  I've been able to
communicate to both my built in modem and a pccard modem with these
patches.
1999-10-25 02:46:52 +00:00
mdodd
3094f99fa7 Fix compiling PCCARD kernels.
This is a hack and I don't like it.

Hopefully the new PCCARD stuff should be in working order in a day or so.
1999-10-24 07:17:26 +00:00
msmith
1e1a86c642 Use the physical block number, not the logical block number, for I/O
operations.  The latter only works where the partion begins at the bottom
of the disk.  Whoops.

Submitted by:	Chris Csanady <cc@137.org>
1999-10-22 20:55:15 +00:00
mjacob
3d0daca952 remember to initialize mailbox 2 for FC isp bus resets 1999-10-22 17:03:03 +00:00
luoqi
990795606c A few improvements and cleanups. 1999-10-21 21:15:02 +00:00
luoqi
e2a07af8e9 Non-functional changes. Add some comments before I start to forget how
everything works myself.
1999-10-21 15:49:25 +00:00
julian
c5c63975d5 Whistle's Netgraph link-layer (sometimes more) networking infrastructure.
Been in production for 3 years now. Gives Instant Frame relay to if_sr
and if_ar drivers, and PPPOE support soon. See:
ftp://ftp.whistle.com/pub/archie/netgraph/index.html
for on-line manual pages.

Reviewed by: Doug Rabson (dfr@freebsd.org)
Obtained from:  Whistle CVS tree
1999-10-21 09:06:11 +00:00
luoqi
5dab878b88 Adaptec 6260/6360 CAM driver. 1999-10-21 08:56:53 +00:00
gallatin
a84f7947e5 Increase the timeout to be 3*hz. This recalibrates the timeout so that
it has the same value on all platforms.  Previously it was just under
3 seconds on x86 (typically hz<=128) and just under 1/3 of a second on
alpha (typically hz>=1024).  This covers up a race between ad_interrupt()
and ad_timeout() which is being looked into.

reviewd by: sos
1999-10-18 17:55:38 +00:00
mdodd
00deed7eff This fixes the problem with SMC NE2000 cards hanging the box on
bootup.  Somehow my backout of an abortaive attempt at shared
memory autoconfiguration included this line:

        sc->mem_shared = 1;

Which is fairly important as it turns out.

Since I performed my pre-commit testing on a different box with a generic
NE2000 I didn't catch this.  Pointy hat.
1999-10-18 04:27:33 +00:00
grog
5ccb30bf1f sdio_done:
Set the errors in the correct buffer header.

Inspection-provoked-by: Bernd Walter <ticso@cicely.de>
1999-10-17 23:56:47 +00:00
grog
a1894992f3 launch_requests:
Put splbio protection around the main launch loop.  We've seen cases where
  the bottom half was cutting off the branch on which we're sitting.

Experienced-by: Michael Reifenberger <root@nihil.plaut.de>
1999-10-17 23:55:10 +00:00
mjacob
b412a34789 Add in inclusion of machine/md_var.h (so alpha_scsi_bus_register or what
have you is prototyped). Removed code versions in md struct- not used
any more. Allocate transfer dma maps and xflist stuff in mbxdmasetup based
upon isp->isp_maxcmds. Allow for multiple calls to mbxdmasetup (for
isp_reset cases).
1999-10-17 19:03:11 +00:00
mjacob
3cefde7f1c Remove some target mode stuff. It will get re-introduced in a different
file later. Do some pencil-sharpening types of minor changes. Change
how active commands are remembered (using new inline functions to get
handles, etc..). Now do a GET FIRMWARE STATUS after firing up the f/w as
outgoing mailbox 2 will tell you the f/w's notion of the max commands
that can be supported. Attempt to retrieve loop topology. Add in the
appropriate SWIZZLE/UNSWIZZLE macros calls (this is a no-op on Little
Endian machines but is needed for sparc (on other platforms)). Move
the temp port database we use to find out where things have moved to
after a LIP to the softc and off the kernel stack. Follow Qlogic's
hint and don't bother setting a tag for commands that don't have
this enabled (presumably the f/w will do it's own selection then).
Use an INT_PENDING macro to check for an interrupt. The call to
ISP_DMAFREE now just takes the handle- not the 'handle-1' which was
a layering violation. Use CFGPRINTF in a couple of places to make
things less chatty if not booting verbose, or CAMDEBUG compiles, etc..
1999-10-17 18:58:22 +00:00
mjacob
0e371d52dc Add in isp_debug variable. It defaults to zero unless CAMDEBUG is defined
where it defaults to one. Change simq width allocation to the max number
of commands supported by the HBA after f/w fires up- not the constant
MAXISPREQUEST value. Do some stylistic changes.
1999-10-17 18:50:47 +00:00
mjacob
02123bc675 Roll platform major && minor (major now tracks FreeBSD major release).
Add in null SWIZZLE definitions. Add in CFGPRINTF define. Change default
debug level to refer to an external isp_debug variable. Remove inline
functions as they're now in isp_inline.h and include that file.
1999-10-17 18:48:16 +00:00
mjacob
a1991492ab Roll core version number. Do some stylistic changes. Ensure that
the result queue length is never less than 64. Move (ick) temp port
database used for post-LIP merging off the kernel stack and put it
into the softc. Remove some target mode stuff which will come back
later in a different file. Change how the list of outstanding commands
are stored (now allocated at mailbox setup time to be just enough for
the max for a specific HBA which can vary). Keep a rotating seed of
the last index for this in the softc. Increase the count of active
commands from 10 to 16 bits.
1999-10-17 18:45:31 +00:00
mjacob
e11b1a283a add in an INT_PENDING macro 1999-10-17 18:41:47 +00:00
mjacob
da0dfb3520 Remove target mode definitions (they'll come back later in
a different file).
1999-10-17 18:41:21 +00:00
mjacob
a454db3997 Add a file where inline functions for the Qlogic isp cards can go. This reduces
duplication in all the platform specific header files.
1999-10-17 18:15:05 +00:00
mjacob
baa2680edb roll 10[24]0 and 1080/12X0 f/w 1999-10-17 18:09:34 +00:00
jhay
3284f3c2c5 Add support for the PCI version of the Digi SYNC/570i cards. 1999-10-17 09:40:04 +00:00
dfr
800e3b1e2f Correct a stupid type which prevented us from working with any device
which needed port resources.
1999-10-17 06:48:47 +00:00
obrien
7d6c115cf9 The CTL0044 is more properly known as a "Creative SB AWE64 Gold". 1999-10-16 15:57:33 +00:00
dfr
a8118c03e1 Relax the check for class=storage, subclass=ide to just class=storage.
This allows ata to probe correctly for the HPT366 on Abit's BP6.
1999-10-16 09:00:49 +00:00
mdodd
92458e57a8 - Convert this driver to newbus.
- Generally clean things up.
- PnP now supported.

Will convert to bus_space, ifmedia and add a DEVICE_IDENTIFY() method
for autodetection.  As it stands

device ex0 at isa0

should find a card if one is present.

I feel less dirty now.
1999-10-16 06:26:44 +00:00
wpaul
d494d34aad Convert the mx driver to miibus.
In order to make this work, I created a pseudo-PHY driver to deal with
Macronix chips that use the built-in NWAY support and symbol mode port.
This is actually all of them, with the exception of the original MX98713
which presents its NWAY support via the MII serial interface.

The mxphy driver actually manipulates the controller registers directly
rather than using the miibus_readreg()/miibus_writereg() bus interface
since there are no MII registers to read. The mx driver itself pretends
that the NWAY interface is a PHY locayed at MII address 31 for the sole
purpose of allowing the mxphy_probe() routine to know when it needs to
attach to a host controller.
1999-10-16 05:24:13 +00:00
msmith
47309d882e Use a much larger buffer for message log retrieval until we are sure that
32 bytes is safe.

Handle successful completion of message log retrieval commands.

With these changes, the driver correctly handles the consequences of drive
death and replacement in a reliable array.  Note that the massive backlog
of I/O during handling of such an event can kill the system if softupdates
is enabled.
1999-10-16 03:21:20 +00:00
msmith
042c659c00 Fix mlx_diagnose_command so that it actually works. I can't believe this
has been broken since implemented.
1999-10-16 03:08:46 +00:00
msmith
8a46b354b1 Save the drive device_t so that we can print it later. 1999-10-16 01:47:46 +00:00
msmith
6adeae4800 Save the drive device_t correctly so we can print it later.
The drive number is 5 bits, not 4, in the read/write command.
1999-10-16 01:46:59 +00:00
mjacob
654b01bbf1 Until we actually support SBus, there's no reason to keep the f/w in the tree. 1999-10-15 19:00:50 +00:00
roger
8877cb626e Include opt_bktr.
Without it the kernel config options, like OVERRIDE_TUNER, where not
getting passed to the driver.

Bug noticed by:	Marc Fonvieille <fonvi@club-internet.fr>
1999-10-15 13:35:55 +00:00
mdodd
d21234b78c - Remove the ISA, PCI, and PCCARD specific code from if_ed.c; it
now lives in the respective bus front end files.
- Add various function prototypes to if_edvar.h
- Clean up some debugging code that snuck into if_ed_isa.c
- Turn on the right bits in files.i386
1999-10-15 03:12:48 +00:00
mdodd
994d54d44f Break out the bus front end code into separate files.
Note that these haven't been turned on nor has the old code
been removed from if_ed.c.  The next commit will address that.
1999-10-15 01:28:04 +00:00
dfr
37ab4f7a31 * Implement bus_set/get/delete_resource for pci.
* Change the hack used on the alpha for mapping devices into DENSE or
  BWX memory spaces to a simpler one. Its still a hack and should be
  a seperate api to explicitly map the resource.
* Add $FreeBSD$ as necessary.
1999-10-14 21:38:33 +00:00
msmith
23b1a2234e Add support for the version 4 firmware interface and the DAC960 PG and
PJ cards.  This will probably also support the AcceleRAID and
eXtremeRAID cards, but nobody has volunteered one for testing, so I
haven't enabled their PCI device IDs.

Slightly clean up communication between the disk devices and the
controller device as per new practice, and move some more register-
related items int mlxreg.h from mlxvar.h.

Remove some unnecessary read-modify-write operations to the card
control registers; they don't behave like that.

Increase the status polling interval to 10 seconds.  It's still possible
to load the card up to the point where a status poll will find the
previous poll still running, but this will reduce the incidence of
complaints.
1999-10-14 02:54:06 +00:00
grog
6817b4ff2c Remove reference to obsolete initsd function.
This should have been committed yesterday.

Broke-world-for:	USW2 Root <root@usw2.freebsd.org>
1999-10-13 23:00:30 +00:00
dfr
0cef1b8f88 Don't match non-IDE devices in probe.
Reviewed by: sos
1999-10-13 18:56:49 +00:00
grog
7e03845566 Change default revive block size to 60 kB (was 64 kB), and set a
maximum of 64 kB.

vinum_conf, struct drive: add fields for the current number of active
requests and the maximum ever active.

struct sd: Add fields for initialize progress.

struct mc: set the size of saved file names to MCFILENAMELEN instead
of the previous explicit constant.
1999-10-13 03:21:54 +00:00
grog
27e8167b0f Add glue for passing revive block size, and also for initializing a
subdisk.
1999-10-13 03:21:04 +00:00
grog
14c5b40d4b revive_block: Add a check for a too high revive block size. This is
possible now that vinum(8) can specify this size.

Add function initsd, which initializes a subdisk and optionally checks
that it really happened.
1999-10-13 03:20:11 +00:00
grog
1ded084e46 launch_requests:
limit the number of outstanding requests on a specific drive and
  overall.

  Change the way we set the active request count.  This enables us to
  start the requests without being in splbio for the duration, which
  could be very long for IDE drives in PIO mode.
1999-10-13 03:19:31 +00:00
grog
1f8a712f29 MMalloc: don't supply M_WAITOK when mallocing from an interrupt
context.  Be prepared to fail instead.

MMalloc, FFree: ensure that saved file names are properly terminated.
Use MCFILENAMELEN instead of the previous explicit constant.
1999-10-13 03:18:53 +00:00
grog
38685c9f83 struct vinum_ioctl_msg: Add fields verify (for initsd) and blocksize
(for revive and init).
1999-10-13 03:18:29 +00:00
grog
e312ef0ee4 Fix another instance of vinum_scandisk giving a request to the daemon
and then doing it itself, resulting in a panic downed drives.

Sleuth-work-by:	  Christopher Masto <chris@netmonger.net>

Remove dummy function initsd, which is now (implemented) in
vinumrevive.c

vinum_scandisk: Check that a drive is up before reading from it.  This
is probably excessive paranoia.
1999-10-13 03:17:59 +00:00
grog
7e55881dd6 Limit the number of outstanding requests on a specific drive and
overall.
1999-10-13 03:17:21 +00:00
grog
d00c77c723 Modify definition of Malloc: only M_WAITOK if we're not in an
interrupt context.
1999-10-13 03:16:56 +00:00
grog
886293e5aa Change the declaration of initsd. 1999-10-13 03:16:35 +00:00
grog
022ac88e0f Add some private storage so that we can queue requests in an interrupt
environment even if malloc fails.
1999-10-13 03:16:05 +00:00
gallatin
aaf5afc559 allow pci_ioctl to work with multi-hose alphas.
Rather than teaching pci_ioctl about hoses, we just pass down a magic number
& let the platform code figure out what the hose is based on what the bus
number is.

concept approved by dfr
1999-10-12 22:10:53 +00:00
dfr
229cdb9144 * Add struct resource_list* argument to resource_list_alloc and
resource_list_release. This removes the dependancy on the
  layout of ivars.

* Move set_resource, get_resource and delete_resource from
  isa_if.m to bus_if.m.

* Simplify driver code by providing wrappers to those methods:

     bus_set_resource(dev, type, rid, start, count);
     bus_get_resource(dev, type, rid, startp, countp);
     bus_get_resource_start(dev, type, rid);
     bus_get_resource_count(dev, type, rid);
     bus_delete_resource(dev, type, rid);

* Delete isa_get_rsrc and use bus_get_resource_start instead.

* Fix a stupid typo in isa_alloc_resource reported by Takahashi
  Yoshihiro <nyan@FreeBSD.org>.

* Print a diagnostic message if we can't assign resources to a PnP
  device.

* Change device_print_prettyname() so that it doesn't print
  "(no driver assigned)-1" for anonymous devices.
1999-10-12 21:35:51 +00:00
dfr
53f9650ab0 Bring support for opti931 in from the old driver. 1999-10-12 20:19:03 +00:00
mjacob
e003de9fed remove unnecessary includes 1999-10-11 19:30:59 +00:00
phk
1192da2d21 remove unused #include 1999-10-11 19:16:54 +00:00
phk
e1b1875b55 remove unused #include, add $FreeBSD$ 1999-10-11 19:14:37 +00:00
imp
883ff994af Kill unused includes 1999-10-11 19:05:21 +00:00
imp
741f7789b8 Hid silly unknown board types message behind if (bootverbose). This
appears to have been lost sometime since joerge made this same fix in
1.47.
1999-10-11 18:53:59 +00:00
peter
40af7a2f5c Oh foo. I got carried away. :-( "joy.h" is used to size an array.
(Incidently, there is no bounds checking...)
1999-10-11 16:09:00 +00:00
steve
064f8661d9 Add support for the USRobotics Courier V.Everything (USR0101) modem.
Submitted by:	Robert Blayzor <robert@superior.net>
1999-10-11 15:06:14 +00:00
peter
bd2dc28245 Trim some unused #includes
Submitted by:	phk
1999-10-11 15:00:09 +00:00
peter
58d2fa7ace Zap unneeded #include (found by phk)
Remove useless #include "joy.h"; #if NJOY > 0 - this is always true
if it's being compiled. config arranges this.
1999-10-11 14:53:46 +00:00
peter
3e06e54387 Delete unneeded #include
Submitted by:	 phk
1999-10-11 14:42:33 +00:00
sos
f0c09f5977 Fix a bug in the isa attach code which would panic isa systems. 1999-10-11 11:04:43 +00:00
newton
f0fca10890 Replace cdevsw_add() and friends with make_dev()/remove_dev(). 1999-10-10 22:57:40 +00:00
sos
08d8021c08 Remove unused include files.
Submitted by: phk
1999-10-10 18:08:40 +00:00
sos
69ddfc2954 Add support for the HPT366 chip, this is used on the Abit boards and
their HotRod controller and on SIIG PCI ultra DMA controller. These
changes also made lots of the Promise code go away, its all much more
generic this way.

Get rid of atapi_immed_cmd, instead use the queue to move atapi commands
from interrupt context if nessesary, the entire atapi layer has
gotten an overhaul.

Lots of fixes to utililize the new features in subr_disk.c etc, and
get rid of the last biots of softc arrays in the drivers, the
only one left is atadevices which cannot easily go away (yet).

Use our own malloc names, its a lot easier to track memory usage this way.

General cleanup overall.
1999-10-09 19:57:13 +00:00
peter
6b8112e41c Add the 16550 programming interface code for PCIS_SIMPLECOMM_UART. 1999-10-09 16:00:56 +00:00
mdodd
ab7a87c594 - Point the right bits at the new location of the bus front ends.
The 'bt' SCSI driver now lives in sys/dev/buslogic.

- Correct a few comments.
1999-10-09 06:25:18 +00:00
mdodd
0ea963e811 - Restore correct operation of bt_mca.
- Work around a problem not yet solved in the tree (but solved in mine.)

	device_get_ivars() should never be cast to a struct resource_list *
	The solution, under review, involves the creation of a
	device_get_resource_list() function.  More later.
1999-10-09 04:02:02 +00:00
imp
bf25d10421 Make interrupts shareable with RF_SHAREABLE. This is untested, but
it compiles and should just work.
1999-10-09 03:52:07 +00:00
imp
e07a554868 Allow interrupt sharing by allocating the interrupt RF_SHAREABLE.
This allows newpcm to grok my es1370 based card, which shared
interrupts with the ethernet card.
1999-10-09 03:50:27 +00:00
mdodd
5f8b8c74e7 Switch over to the new location in sys/dev/dpt.
Fix a forgotten #include
1999-10-09 03:46:28 +00:00
mdodd
7b08684353 - Implement a simple PIO driven function for retreiving the onboard
configuration information from a DPT card at a given port.

  This is needed by the ISA bus front end (still to come) and the EISA
  bus front end (which hasn't ever worked).

- Blow away dpt_eisa.h as the information it contains does not justify
  an additional file.

- Convert dpt_eisa.c to use the onboard config instead of trying to
  read the EISA configuration registers.
1999-10-09 03:39:47 +00:00
peter
986eaaa550 Zap cdevsw_add() - the make_dev's take care of it and don't use
the cdevsw[] array.
1999-10-08 18:27:20 +00:00
mdodd
f0ca564775 Sync with recent changes to the MCA bus code. Resource IVARS went
away.
1999-10-08 13:02:34 +00:00
n_hibma
d06b076544 Move the include of device.h into the NetBSD specific section.
Submitted by:	Guy Helmer <ghelmer@scl.ameslab.gov>
1999-10-08 07:38:11 +00:00
n_hibma
8de11caff0 Make the umodem stub compile 1999-10-07 21:09:08 +00:00
n_hibma
90d5b7a288 Remove a debugging printf. 1999-10-07 21:08:29 +00:00
n_hibma
01a5c1aac5 Add make_dev and remove_dev. 1999-10-07 21:06:52 +00:00
n_hibma
49b5ea72f9 priorities weren't correct (old version). 1999-10-07 20:58:43 +00:00
n_hibma
b6c58860ab Major synchronisation with the NetBSD USB stack:
- Some cleanup and improvements in the uhci and ohci drivers
- Support for plugging and unplugging devices improved
- Now available is bulk transport over OHCI controllers
- Resume and suspend have been temporarily been disabled again.  Proper
  support for it is available in the uhci.c and ohci.c files but I have
  not yet spent the brain cycles to use it.
- OpenBSD now uses the USB stack as well
- Add FreeBSD tags
1999-10-07 19:26:38 +00:00
n_hibma
eea0f62c05 remove the use of uhci_reset to wake up the controller after
resume/suspend (->resume is broken again, will be fixed properly ASAP)

style fixes
1999-10-07 18:56:10 +00:00
n_hibma
55a69f0422 Remove last bits and pieces of NetBSD porting.
Remove the use of ukbd_disconnect and replace it with direct
calls to disable.
Change printf to DPRINTF
Remove the use of usbd_lock, change it to splusb()/splx()
1999-10-07 18:53:08 +00:00
n_hibma
cfbf728f56 Remove the last bits and pieces left over from porting the driver
from NetBSD.
1999-10-07 18:50:46 +00:00
msmith
8582d1db60 This is a driver for the AMI MegaRAID family of controllers. It all of
the AMI PCI controllers using the 8LD firmware interface (40LD firmware
will be supported as soon as I have hardware to test with).

These controllers are rebadged by Dell as the PERC, as well as by HP
and possibly other vendors.
1999-10-07 02:23:12 +00:00
msmith
685ad45645 This is a driver for the Mylex DAC960 family of integrated RAID
controllers.  It currently supports the P, PL, PD and PU variants,
with more to be supported shortly.
1999-10-07 02:20:32 +00:00
msmith
f9e0a2c0d2 Be much more selective in claiming devices that might be IDE controllers.
The old algorithm was:

 if class == storage and subclass != SCSI device must be IDE

This results in claiming 'raid' and 'other' storage devices as IDE,
which is typically not the case.

Reviewed by:	sos
1999-10-07 02:17:21 +00:00
yokota
48291e20e3 - Remove cdevsw_add(). 1999-10-06 13:03:09 +00:00
n_hibma
279ad30025 Removal of sys/device.h
- Move intrhook stuff into kernel.h
- Remove all occurrences of #device <device.h>
- Add kernel.h were necessary (nowhere)
- delete device.h

This file contained the structures for cfdata (old style config) and is no
longer used. It was included by most drivers.

It confuses the remote debugger as the definition of 'struct device' in
device.h is found before the one in bus_private.h.
1999-10-05 21:19:41 +00:00
n_hibma
389798d4c2 Check whether init and term are actually given 1999-10-05 20:32:53 +00:00
n_hibma
cbeed38584 Print more verbose debugging output
Clean up computation of parameters.
1999-10-05 20:29:00 +00:00