Commit Graph

7490 Commits

Author SHA1 Message Date
augustss 1b535c32fc Make this driver actually work.
(Noone did any testing for me, so I had to buy a Handspring Visor myself.)
2000-04-05 11:12:48 +00:00
augustss 8b5373dd2e Use reference counting on the softc so detach doesn't blow it away prematurely. 2000-04-05 11:11:33 +00:00
mrg 952f1cf1d0 avoid using uninitalised variables inside WDCDEBUG. 2000-04-05 06:27:36 +00:00
mrg 36b65b7d48 return if we can't map DMA buffers 2000-04-05 05:54:02 +00:00
enami 07702f68a6 Introduce new filesystem type FS_CCD so that an operator can mark the
ccd component partition.  Note that the ccd driver still allows partitions
of any types as components since an on-disk BSD disklabel isn't available
on some port.
2000-04-05 04:03:20 +00:00
mrg 710872c1d0 add "hme at pci" support. 2000-04-05 02:31:19 +00:00
nathanw 2d78be17d1 Fix computation of ri_xorigin in RI_CENTER case; convery from bytes to
pixels, not from bytes to bytes^2/pixel.
2000-04-04 20:59:17 +00:00
augustss 36b5d25ca8 Make protocol message more accurate. 2000-04-04 20:16:47 +00:00
augustss a94b555441 Put a ratecheck on error messages from the interrupt pipe. 2000-04-04 20:16:19 +00:00
thorpej 5ecdfa3fc0 Rearrange the 21142/21143 SROM/CIS handling code to give it a chance
of working, and last-ditch default to MII-over-SIO with no reset routine
if we don't find an ISV SROM or quirk.
2000-04-04 19:33:21 +00:00
thorpej 5a41b5bf56 - if_tlp_cardbus.c: Use the `pmreg' pointer passed by by
cardbus_get_capability() [mirror change already made to if_tlp_pci.c]
- if_tlp_cardbus.c: If we don't find an ISV SROM, try to grab the
  Ethernet address from the CIS.
- if_tlp_cardbus.c: set CardBus cards to store-and-forward mode from
  the get-go.
- Put the TxThresh tables in tulipvar.h, and use them in the CardBus
  and PCI front-ends to go to store-and-forward mode.
- Document the Xircom X3201-3 clone a little more.
2000-04-04 19:22:50 +00:00
bouyer 77f1e5eb02 Add checks to detect busy-waits, conditionnal on new debug flag
DEBUG_DELAY (0x40). This will print how much time we did loop in wdcwait(),
if we had to read registers more than one time.
2000-04-04 12:43:13 +00:00
bouyer fcb3e9ddac Better fix to previous: delay(100) before the IDENTIFY, and if it fails
delay(1000000) and retry. The 1s delay is needed for some special case only,
no need to hang the machine for that long everytime (especially for PCMCIA).
2000-04-04 09:25:51 +00:00
joda d3b06b0596 regen 2000-04-03 15:05:05 +00:00
joda 0caed62b03 add some NVIDIA chipsets 2000-04-03 15:04:42 +00:00
augustss 358b947b7b Correct a typo. 2000-04-03 13:40:05 +00:00
augustss d063047593 Enable QIC157 command set. Untested. 2000-04-03 12:31:34 +00:00
augustss dc3ce0b35e Enable UFI protocol. Still untested in NetBSD. Used by, e.g., Y-E Data
floppies.
2000-04-03 12:12:38 +00:00
augustss b9d50c36a7 Regen. 2000-04-03 12:10:04 +00:00
augustss e0b4887adf Add more vendors and devices. From FreeBSD and Nick Hibma. 2000-04-03 12:09:43 +00:00
enami 6442efb498 Make this file compiles under some condition:
- #if 0'ed out the umass_reset for now.
- some atapibus specific code is conditionalized by NATAPIBUS.
2000-04-03 03:56:49 +00:00
enami c560e9a77b When killing pending xfers on device detach, we can't expect scsipi_done
to remove all xfers from the pending queue.  It removes only xfers for
asynchronous transactions.  So, simply loop over all pending xfers
with calling scsipi_done and wait xfers to drain.  Addresses PR#9703.
2000-04-03 03:37:33 +00:00
cgd 1f0de7e7d2 actually put a _comment_ before the second read of the ident register
that Charles added in rev 1.58.  Not only is it good programming practice
to explain magic, but code that looks like:

                reg = pcic_read(h, PCIC_IDENT);
                reg = pcic_read(h, PCIC_IDENT);

is _gonna_ be interpreted as a cut-n-paste error by someone eventually.
2000-04-03 01:55:25 +00:00
enami ae8fb348b3 Fold long line. 2000-04-03 01:40:51 +00:00
augustss e126f0d1b3 New and shiny version of the umass driver. This is a port of the new
FreeBSD umass driver by Nick Hibma <n_hibma@freebsd.org> and
MAEKAWA Masahide <bishop@rr.iij4u.or.jp>.
Improvements:
  uses asynchronous USB requests
  supports more transport protocols (Bulk-only and CBI)
  supports more command sets (SCSI and ATAPI)
Tested with Zip100 and Imation Superdisk.
2000-04-02 23:46:53 +00:00
augustss 60057aca5c Allow atapibus to be attached to umass. 2000-04-02 23:40:41 +00:00
augustss b6cee95eb7 Let the device thet gets an atapibus attached specify how to kill pending
transfers by giving a function pointer.
The old method always called wdc specific code.
2000-04-02 23:38:19 +00:00
mycroft b1c28384dc If the SROM size is to far out of range, issue a diagnostic and set the size
to 1Kb.  Some boards (e.g. my SMC9332) have a broken MicroWire interface.
2000-04-02 23:38:05 +00:00
augustss 0a425e1f3d Generate an error message if starting a transfer fails. 2000-04-02 21:25:41 +00:00
mycroft 8aeb8df354 Add a flag to tell whether a MAC address was actually found in the CIS.
XXX This whole piece of code should go away ASAP.  We should use a callback
as in the PCMCIA code.  In fact, we should use the PCMCIA code...
2000-04-02 19:11:37 +00:00
thorpej dc680eb373 Slight correction to last: really only do it if it's a 21142 or 21143. 2000-04-02 19:02:34 +00:00
nathanw f5b5bbbf21 Add code to read and write bt463-style ramdacs; pick ramdac interface
functions based on type returned from tga_getconf().
Adapt to change in ramdac interface.
Fix race condition in tga_sched_update().
Make tga_sched_update() work before interrupts are enabled.
2000-04-02 19:01:11 +00:00
nathanw bc3260fcb0 Restore ramdac-type field to TGA configuration structure. 2000-04-02 18:59:32 +00:00
nathanw c0a4c9e67d Move bt463 code to dev/ic and adapt to the new ramdac interface.
Set default window type to 24-bit truecolor.
Correctly set pseudocolor mode.
2000-04-02 18:57:36 +00:00
nathanw c66f54d73d Adapt to change in ramdac interface. 2000-04-02 18:55:01 +00:00
nathanw 2b4ac6a7b9 Add ramdac_register() to interface structure. 2000-04-02 18:54:33 +00:00
mycroft e70fd4b33c During the socket probe, read the ident register twice.
I don't understand why, but sometimes the clone chips in hpcmips boxes read
all-0s the first time.
2000-04-02 18:29:14 +00:00
augustss 7246364f07 With SCSIVERBOSE, only print sense data if there actually is a problem. 2000-04-02 17:58:17 +00:00
augustss 7797648425 Change the initial field in struct ata_atapi_attach and struct scsipi_link
slightly to allow scsibus and atapibus to attach to the same device.
Furthermore, only attach a scsibus when the bus type is BUS_SCSI.
2000-04-02 17:25:52 +00:00
mycroft 229fcf5bbe When using MII on 2114[23] chips, zero the SIA TXRX register to disable the
internal Nway engine.  This fixed a major performance problem.
Thanks to Matt Thomas for pointing this out.
2000-04-02 17:23:33 +00:00
tsutsui fa07b81e43 Make to match also MII_OUI_DAVICOM.
(This seems to work, but any GENERIC does not have dmphy...)
2000-04-02 03:06:19 +00:00
enami 28d49dce4e Add missing protect from disk interrupt while calling scsipi_free_xs. 2000-04-02 03:05:55 +00:00
itojun f564201ae9 sync with ata driver change (dma_start args). 2000-04-02 02:07:52 +00:00
bouyer 3b69a8011b make it compile again after ATAPI changes. 2000-04-01 17:52:14 +00:00
bouyer b2cd1f029a Bump delay() from 100 to 1000000 before attempting a IDENTIFY just after a
reset - solves a problem reported by cpg@aladdin.de.
2000-04-01 14:50:32 +00:00
bouyer 26f6c9a9cf - DMA code cleanup: pciide_dma_finish() doesn't stop/unload the current DMA op
if an IRQ was not detected, unless the force flag was given. Use this to
  detect if the IRQ was for us (closer to shared IRQ for controllers which
  don't have their own IRQ handler in pciide.c) and to poll for DMA xfer.
  Also makes the timeout recovery code simpler.
- ATAPI cleanup: don't call controller-specific functions from atapiconf.c
  (wdc_*), so that it's possible to attach an atapibus to something else
  than a wdc/pciide (Hi Lennart :).
  Overload struct scsi_adapter with struct atapi_adapter, defined
  as struct scsi_adapter + atapi-specific callbacks. scsipi_link still points
  to an scsi_adapter, atapi code casts it to atapi_adapter if needed.
  Move atapi_softc to atapiconf.h so that it can be used by the underlying
  controller code (e.g. atapi_wdc.c).
  Add an atapi-specific callback *atapi_probedev(), which probe a drive
  in a controller-specific way, allocate the sc_link and fills in the
  ataparams if needed. It then calls atapi_probedev() (from atapiconf.c)
  to do the generic initialisations and attach the device.
- While I'm there merge and centralise the state definitions in atavar.h.
  It should now be possible to use a common ata/atapi routine to set the
  drive's modes (will do later).
2000-04-01 14:32:22 +00:00
augustss 7311856f29 Add a delay before reading the number of ports from the controller to
avoid getting 0 from it.
2000-04-01 09:27:35 +00:00
hubertf ca4c16d936 Note that the Handspring Visor is a Palmpilot compatible PDA. 2000-03-31 13:08:01 +00:00
tsarna 07dea214dc Add auvia, a driver for the integrated AC'97 audio on the VIA VT82C686A
southbridge.

Tested on a ASUS K7M (w/ AD1881 codec). Please report any problems.
2000-03-31 04:45:28 +00:00
oster cf0b47bd0e Minor cleanup of unneeded verbosity. 2000-03-31 02:05:24 +00:00