Commit Graph

3461 Commits

Author SHA1 Message Date
Søren Schmidt
6be090b840 Relax the requirements for doing WDMA2, this should enable DMA
on non ATA[234] compliant disks.

Move all PCI dependent stuff under #ifdef NPCI > 0
1999-12-18 20:06:30 +00:00
Peter Wemm
d5eeb3e843 Make this compile again.
GENERIC-broken-by: imp
1999-12-18 19:33:59 +00:00
Seigo Tanimura
cf4f3dda81 Correct the logical ID of Avance Asound 110.
Submitted by:	Bryan Liesner <bleez@netaxs.com>
1999-12-18 12:17:02 +00:00
Warner Losh
22ffd22dbd Driver for the smc91xx series of ethernet chips. Ported from PAO to
3.3R and then to -current.  The pccard support has been left in the
driver, but is presently non-functional because we are using the
isa_compat layer for the moment.

Obtained From: PAO
Sponsored by: Timing Solutions
1999-12-18 06:11:22 +00:00
Warner Losh
209cbfd3e6 o Separate out alloc/release from the activation
o minor formatting nits
o remove the bus_map/unmap calls.  FreeBSD doesn't need them.
o Fix most of the compiler warnings remaining (some still remain, but they
  are releated to calling functions that are going to change, so I did
  not bother).
1999-12-17 09:00:11 +00:00
David E. O'Brien
d16b0d7ab5 This commit was generated by cvs2svn to compensate for changes in r54690,
which included commits to RCS files with non-trunk default branches.
1999-12-16 17:00:53 +00:00
David E. O'Brien
f7c17b70a8 * The C1010 stepping B0 (Rev 1) tested OK for DT transfers without the U3EN
broken bit work-around enabled.
* Fixed a bug that made MDP not work. (However, MDP is actually not tested
  due to lack of hardware using this feature).
* Chip table changed to support the C1010 B0 w/o the U3EN bit work-around
  enabled.
* Add the SYM_SETUP_MAX_LUN, SYM_SETUP_LP_PROBE_MAP (used to tell the
  driver about chips that are to be claimed with lower priority than old
  PCI bus based driver (typically the ncr)), SYM_SETUP_SCSI_DIFF, and
  SYM_SETUP_PCI_PARITY options.

Submitted by:	Gerard Roudier <groudier@club-internet.fr>
1999-12-16 17:00:53 +00:00
Luoqi Chen
da2c318f0b Adjust data pointers for untransmitted bytes in fifos when there's phase
change during data transfer.
1999-12-16 16:11:49 +00:00
Søren Schmidt
7d9451f143 Cleanup the probe messages a bit, show what the device really is, not
just "CDROM". Also cope with devices that doesn't report speed in
the old way, this should be changed into the new GET_PERFORMANCE
cmd instead..
1999-12-16 08:22:16 +00:00
Matt Jacob
22e1dc858b Add Dual LVD bus (1280) support 1999-12-16 05:42:02 +00:00
Eivind Eklund
762e6b856c Introduce NDFREE (and remove VOP_ABORTOP) 1999-12-15 23:02:35 +00:00
Kazutaka YOKOTA
273157da59 - 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
Warner Losh
d617612c2b Add alloc/release resource. Need to connect functionality later. 1999-12-15 06:57:18 +00:00
Søren Schmidt
dbdfe960cb 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
Bill Paul
91cc2adb2e 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
Kazutaka YOKOTA
7a4803c7f6 - 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
Søren Schmidt
54ecff8b84 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
Kazutaka YOKOTA
579958932a - 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
Cameron Grant
5f070b6772 more dma underrun fixes, using a per-channel 2nd buffer
Submitted by:	tanimura
1999-12-13 03:29:09 +00:00
Peter Wemm
72c10febd0 time_t is an int on the Alpha, not long. 1999-12-12 20:59:29 +00:00
Peter Wemm
87280b0a70 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 Wemm
d00177ef7e 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
Poul-Henning Kamp
b9fcd4a616 Look for disk devices rather than bdevs.
Approved by:	grog
1999-12-12 17:43:12 +00:00
Justin T. Gibbs
e0b0c6aad5 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
Cameron Grant
d4a72b067c 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
Cameron Grant
0927bf4365 move channel-swapping support to the hardware driver since it knows the card
state best
1999-12-12 02:18:58 +00:00
Cameron Grant
dedf4424a0 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 Eklund
6bdfe06ad9 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 Hardiman
273a8aae1c bktr driver 2.06 changelog 1999-12-11 07:33:36 +00:00
Mike Smith
5792b7fe0b 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 Wemm
dfea8af9f4 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
Kazutaka YOKOTA
da7c907d09 Fix memory leak.
PR: kern/15363
Submitted by: Oliver Fromme
1999-12-10 09:36:05 +00:00
Warner Losh
0712c356a3 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
Warner Losh
5aa701b662 kill debug printf that says detach 1999-12-10 07:24:39 +00:00
Warner Losh
47c6e6e849 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
Kazutaka YOKOTA
82d654e855 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
Kazutaka YOKOTA
b2f564ea70 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
Seigo Tanimura
7012990a73 Make the origins clear.
Pointed out by:	Tatoku Ogaito <tacha@trap.fukui-med.ac.jp>
1999-12-10 01:20:08 +00:00
Warner Losh
e166a0bd06 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
Kenneth D. Merry
64ae346b52 [ 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 Hardiman
7313447c12 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
Søren Schmidt
fed48464cc Change the devstat priorities to the std values now in devicestats.h 1999-12-08 12:08:47 +00:00
Poul-Henning Kamp
7d5961670c Remove BAD144 support, it has already been disabled for some time. 1999-12-08 09:33:00 +00:00
Kenneth D. Merry
86b2c8466d 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
Bill Paul
bfe31f4f2a 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
Warner Losh
ef8e4c1291 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
Søren Schmidt
cb2a8dffa0 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
Søren Schmidt
bd533091af 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
Bill Paul
d675147e39 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 Hardiman
07677171f8 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
Søren Schmidt
7420fbaac2 Fix support for disk with > 64K cyls. 1999-12-07 14:49:00 +00:00
Kazutaka YOKOTA
0be0162431 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
Warner Losh
810473943f 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
Bill Fumerola
953fbebedd Reckognize the 'Avance Asound 100'
Submitted by:	Oliver Fromme <olli@dorifer.heim3.tu-clausthal.de>
1999-12-07 01:53:24 +00:00
Nick Hibma
a234661ae9 Add vendor NetChip with its device NET1080 (host-to-host adapter) 1999-12-07 01:19:51 +00:00
Justin T. Gibbs
820379186b 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 Wemm
c2af6f650c 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
Justin T. Gibbs
41c47eee15 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 Wemm
4246912f31 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
Matthew N. Dodd
a4e3d8de0c Add defines for additional EEPROM locations and register definitions. 1999-12-06 09:29:34 +00:00
Matthew N. Dodd
d6eb71ddd5 Whitespace cleanups. 1999-12-06 09:16:13 +00:00
Matthew N. Dodd
8d133d9561 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
Matthew N. Dodd
0613716013 Standardize device descriptions so that there is parity between PnP
descriptions and non-PnP descriptions.
1999-12-06 08:40:59 +00:00
Matthew N. Dodd
94d49d9a35 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 Wemm
a2639a184d 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 Wemm
d0029cf5f3 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
Warner Losh
4284277fdb Make this compile again after the device_add_child change. 1999-12-06 05:22:47 +00:00
Kazutaka YOKOTA
daa6e0a9a5 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
Cameron Grant
2ff5c01e98 conditionalise some warning messages
Submitted by:	Vladimir N.Silyaev <vns@delta.odessa.ua>
1999-12-05 20:25:29 +00:00
Bill Paul
d25bb2d026 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 Wemm
2533e89e3b 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
Cameron Grant
0e25481f93 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 Wemm
150e211545 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
Kazutaka YOKOTA
7d09323f2d Fix cursor position calculation.
Submitted by: Cejka Rudolf <cejkar@dcse.fee.vutbr.cz>
1999-12-05 10:04:37 +00:00
Luoqi Chen
6f59da2daa 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
Bill Paul
96f2e892a7 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
Seigo Tanimura
777b4568dd 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
Seigo Tanimura
2efb116afa 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
Matthew N. Dodd
fe0d408987 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
Matt Jacob
7e35bc405b roll platform minor 1999-12-03 06:56:43 +00:00
Matt Jacob
571354dc81 clean up sprintf and have buffer that won't overflow 1999-12-03 06:56:23 +00:00
Matt Jacob
7457966f26 turn some messages into CFGPRINT messages 1999-12-03 06:55:39 +00:00
Nick Hibma
b47337d347 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
Nick Hibma
1d7490cce6 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
Poul-Henning Kamp
66c161915b Initialize type correctly. 1999-12-01 10:20:21 +00:00
Julian Elischer
86079f581f Add explicit null entries for new entrypoints.
Forgotten by: Archie
1999-12-01 09:34:14 +00:00
Warner Losh
e09f49b6fa 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
Doug Rabson
eab0f2ce01 Add ESS1879.
Submitted by: MIHIRA Sanpei Yoshiro <sanpei@sanpei.org>
1999-11-30 09:11:06 +00:00
Nick Hibma
f8a96f1018 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 Wemm
5700c63bc7 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 Perlstein
4d25c041fe tanimura implemented SNDCTL_DSP_GETODELAY for pcm.
Submitted by: tanimura
1999-11-29 23:01:59 +00:00
Warner Losh
da142cb3a7 Sync generated files 1999-11-29 20:54:14 +00:00
Warner Losh
fa781f9f82 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
Søren Schmidt
60c94e7628 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
Warner Losh
a9b6aa5eaf 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
Warner Losh
12bba6c259 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
Nick Hibma
eaa824fc37 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
Nick Hibma
e3867a1a44 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
Warner Losh
f27f6c0076 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
Nick Hibma
4fe1353de0 Correct the last parameter for clalloc 1999-11-28 21:07:11 +00:00