Commit Graph

13146 Commits

Author SHA1 Message Date
ichiro 407f8f5b2c add 21555 Non-Transparent PCI-PCI Bridge 2002-05-25 07:28:15 +00:00
christos 7db182d94d NBPG is not constant on the sparc, so don't use CPP tricks. 2002-05-24 18:10:06 +00:00
christos 0c5fed7eec Deal with the NBPG problem in a better way. 2002-05-24 15:58:06 +00:00
lukem 36bbd51aa2 Support NetMos NM9845 Quad UART and 1284 Printer port.
All 4 serial ports and parallel port seem to work.
2002-05-24 12:07:46 +00:00
lukem 863d1b7956 regen for NetMos Quad UART and 1284 Printer port 2002-05-24 11:54:22 +00:00
lukem ed8833bc78 add NetMos Quad UART and 1284 Printer port 2002-05-24 11:50:20 +00:00
bjh21 681c52938e Regen (many new podules). 2002-05-23 22:01:14 +00:00
bjh21 e3d123e4e4 Add all the product IDs from <arm/xcb.h> on RISC iX 1.2. There are several
places where they disagree with our list (and reality).  In those cases,
I've kept the old value and added a comment.  The RISC iX list stops at
ID 181 (0xb5).
2002-05-23 22:00:49 +00:00
martin 40813b3bd4 When using standard (no scroll wheel) protocol, ignore garbage between
two packets (just like the old psm.c driver did). And don't insist on the
first byte having bit 0x08 set.

This makes some odd trackball device work.

Thanks to Tyler Mitchell for reporting and testing.
2002-05-23 19:00:28 +00:00
leo c80fa51681 Not so fast... Add a bit of comment to the previous change. 2002-05-23 15:12:59 +00:00
leo 2ac118b51f Treat the "hdfd" (Atari/Hades floppy) like all the other "fd"s. OK-ed by
Greg Oster.
2002-05-23 15:03:33 +00:00
jmc deed1e1714 Fix bug in the way the config_found loop runs. Passing NULL doesn't work well. 2002-05-23 00:10:46 +00:00
bjh21 f402b4faa2 Regen (sorting). 2002-05-22 23:46:53 +00:00
bjh21 2a1092efaa Sort the Wild Vision parallel card into order. 2002-05-22 23:46:36 +00:00
bjh21 1e170f49cd Regen (merge of RISC iX manufacturers list). 2002-05-22 23:27:16 +00:00
bjh21 35010db489 Merge in the list of manufacturer IDs from <arm/xcb.h> on RISC iX 1.2.
Where they differ with what we've had historically, I've kept our value
and added a comment.  The RISC iX list stops at 65 (0x41).
2002-05-22 23:23:23 +00:00
bjh21 205186731b Substantial overhaul of podule IDs. Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers.  This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus.  Thus, we don't do that
any more.

This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.
2002-05-22 22:43:13 +00:00
bjh21 6d59ad5ec5 Add podule_readcmos(), for getting the CMOS configuration for a podule.
Only implemented on acorn26 for now, but the acorn32 implementation should
be pretty much identical.
2002-05-22 22:13:12 +00:00
wiz f7d76b1062 bcmp -> memcmp. 2002-05-22 16:03:14 +00:00
wiz 45bbb2368f bcopy -> memcpy. Reviewed by Greg Oster. 2002-05-22 15:40:47 +00:00
matt 077fee836c Add code to distinguish between apple and sun gem cores. 2002-05-21 19:58:24 +00:00
martin 2fe85a6623 Uniformly pass a "struct isdn_l3_driver *" through layer 2, so we
do not have to search for that driver later while we already knew it
at layer 1.
2002-05-21 10:31:10 +00:00
augustss 54bb400a18 Add a driver for the IBM CPC700 chip. This chip is a host bridge for
PowerPC and provides a PCI-host bridge, interrupt controller, two com ports,
two IIC ports, a timer, and a DRAM controller.
The driver supports PCI, interrupts and com ports.
2002-05-21 02:58:25 +00:00
augustss 1c66d18529 Make it possible to override the way register access is done.
This is needed for some really screwball attachments of the CS8900.
2002-05-21 02:47:04 +00:00
mycroft 44024682c7 The FIX_RESUME_BUG hack does not work, so remove it.
Also, attempt to clarify the message slightly when updating the EEPROM.
2002-05-20 15:23:01 +00:00
thorpej 7f2c33ee8b Add another Linksys card. 2002-05-20 00:51:29 +00:00
bjh21 b741178a9b Regen: RISC Developments IDE, FaxPack. 2002-05-19 22:34:07 +00:00
bjh21 b6c3ea4d91 Add a few Wakefield acquisitions:
Computer Concepts FaxPack
RISC Developments 8-bit IDE interface
Note about Oak EtherO card, which seems to share an ID with their SCSI card.
2002-05-19 22:29:57 +00:00
bouyer 953ad0720e Add support for HPT374. Submited by Matthew Rezny in kern/16897, with
minor adjustements by me.
2002-05-19 17:40:46 +00:00
bouyer 5cf2b73fb8 Regen: add HPT372 and 74 PCI IDE controllers. 2002-05-19 16:02:44 +00:00
bouyer 503b19427a Add HPT372 and 74 PCI IDE controllers. 2002-05-19 16:00:19 +00:00
augustss 4bc0b333ea Update dma memory access API a little. 2002-05-19 06:24:30 +00:00
augustss 894da75819 Regen. 2002-05-19 06:20:01 +00:00
augustss 4b2bf1316d Another mouse. 2002-05-19 06:13:29 +00:00
sommerfeld 404be58a8d Regen 2002-05-19 00:19:22 +00:00
sommerfeld 889b8b80d2 Some E7500 device ids 2002-05-19 00:17:34 +00:00
sommerfeld d7135de9ea Regen 2002-05-19 00:01:29 +00:00
sommerfeld 11aa3c6a28 Fortunately for us, all interrupt controllers are not 8259's 2002-05-19 00:01:09 +00:00
sommerfeld 60cfb93a0f Some P64H2 device ids 2002-05-18 23:58:00 +00:00
sommerfeld ce6cc5672c Add "pa_rawintrpin" containing unswizzled interrupt pin to pci_attach_args. 2002-05-18 21:40:41 +00:00
ad d7e512df18 - Use write barriers.
- NBPG -> PAGE_SIZE.
2002-05-18 20:59:20 +00:00
sommerfeld 314ef13c23 In pci_probe_device(), correct test for whether the device is behind a
pci-pci bridge (and thus needs its interrupts "swizzled").

Formerly, pci_probe_device() assumed pci busses other than bus zero
were bridged; however, much recent x86 hardware supports multiple
primary pci busses differently -- there is a system-wide bus numbering
scheme.  Now, we instead look at the (newly introduced) sc_bridgetag
value in the parent bus to figure out if there's a ppb or equivalent
in the way.

This fixed at least one case where the i386 MP branch gets interrupt
mapping wrong.
2002-05-18 18:14:11 +00:00
bouyer af09484589 Be more verbose when returning XS_DRIVER_STUFFUP 2002-05-18 16:09:43 +00:00
kent 820aca767e USB_ATTACH: Initialize sc_plachan.altidx and sc_recchan.altidx with -1. 2002-05-18 15:14:39 +00:00
bouyer 29270413af If the data len if not a multiple of 2 bytes, force PIO mode. DMA can't
deal with such xfers, and can wedge the system with some controllers.
It's a bug to request such xfers for ATAPI, but as the request may come
from userland we have to protect against it.
2002-05-18 14:49:55 +00:00
matt 77820698c6 Add lfmiop (LSILogic Fusion-MPT I/O Processor) placeholders for
driver to added latter.
2002-05-18 07:23:04 +00:00
matt cad72c184d Regen. 2002-05-18 07:19:41 +00:00
matt 01b871fa50 Add SYMBIOS FC9[12]9 and 1030R 2002-05-18 07:19:16 +00:00
mjacob 7aac86133e Pointy hat to me on the last delta. 2002-05-18 00:48:11 +00:00
martin bdd46f7081 (Mostly) backout previous, with some slight modifications.
Restore the reset thread, to make resetting the interface possible while
not blocking interrupts.
Make sure to throw away garbage input while the reset thread is at work
(by setting sc_enabled a bit later).
Issue a PMS_RESET command when resetting to address PR 16788.
2002-05-17 22:49:48 +00:00
mjacob a14da6673f Replicate change that Matt Thomas made in isp_pci- if we get ENOMEM/EAGAIN
in bus_dmamap_load, return CMD_EAGAIN rather than just make the command dead.
2002-05-17 19:06:24 +00:00
mjacob c3514c8f6d Slight touchup on last change- make sure HBA_BOTCH is set (just in case
somebody at a different level does the wrong thing) on ENOMEM/EAGAIN returns
from loading DMA.
2002-05-17 19:05:08 +00:00
mjacob 16fa96cfc8 Give XS_DRIVER_STUFFUP a case all by itself. 2002-05-17 18:56:05 +00:00
mjacob c2d194880d Fix seveeral issues- but the most important of which is that we have
to check if we get a RQCS_DATA_UNDERRUN - if we're an FC card, we may
not have RQCS_RU set- if it isn't set, we just lost a DATA XFR IU in the
middle of the exchange. In this case, we have to bomb out the whole xfer.
We had been getting silent data corruption before.
2002-05-17 18:49:42 +00:00
wiz 070bb0af6f Tokens after #else are ignored, which is not the intention here. 2002-05-17 12:44:45 +00:00
groo a54b0bba2e Regen. 2002-05-17 01:07:53 +00:00
groo ec845de24e Add a bunch of Inside Out Networks devices. 2002-05-17 01:07:17 +00:00
thorpej 64c6407d7b Garbage-collect the empty-for-years "su" device. 2002-05-16 02:59:57 +00:00
thorpej f4cc1100b0 Don't use a 2-dimensional array for the channel's periph table. Instead,
hash the target and lun together and use a hash table.  This will be
necessary in order to support very large (64-bit) LUN number spaces.
2002-05-16 02:54:20 +00:00
thorpej 4daab7072a Don't access a scsipi channel's periph table directly; use
scsipi_lookup_periph().
2002-05-16 02:50:53 +00:00
thorpej 86b4df33e7 Make sure pa.pa_bus is initialized. (Thanks, uwe!) 2002-05-16 01:03:05 +00:00
thorpej 204183c0fa * Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses.  For busses behind a bridge, it points to
  a persistent copy of the bridge's pcitag_t.  This can be very useful
  for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
  uses OFW device nodes to enumerate the bus.  When a PCI bus that is
  behind a bridge is attached, pci_attach_hook() allocates a new PCI
  chipset tag for the new bus and sets it's "curnode" to the OFW node
  of the bridge.  This is used as a starting point when enumerating
  that bus.  Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.
2002-05-16 01:01:28 +00:00
matt 496a3cb868 Let's put a s = splnet(); to match the splx(s); already in the routine.
(yes, we were doing an splx with an uninitialized variable).
2002-05-15 23:51:49 +00:00
matt 1f4c6f5868 Regen. 2002-05-15 22:48:42 +00:00
matt 0bfea741e8 Correct/add more PMC-Sierra PHYs 2002-05-15 22:48:17 +00:00
matt 57752d8c7f Regen. 2002-05-15 21:25:28 +00:00
matt 5a4d71be86 Add another PMC-SIERRA phy 2002-05-15 21:24:59 +00:00
matt a61a41b6b0 Only enable detailed evcnts if GEM_COUNTERS is defined. But always count
interrupts.
2002-05-15 21:05:23 +00:00
thorpej dada8613e1 Let machine-dependent code specify how to enumerate the bus.
Currently, everyone uses pci_enumerate_bus_generic().
2002-05-15 19:23:51 +00:00
thorpej 40116f53dd Put back __PCI_BUS_DEVORDER for now. 2002-05-15 18:39:47 +00:00
thorpej 7c86eb62bc Split the code that enumerates the PCI bus and that actually probes
for a device into two functions:

* pci_probe_device() actually probes/attaches the device specified
  by the provide pcitag_t.

* pci_enumerate_bus() enumerates the bus, and calls pci_probe_device()
  for each device on the bus.  A pci_enumerate_bus_generic() is provided
  which implements the old method of doing this: If something found at
  dev0/func0, determine number of functions and probe each one.

  Machine-dependent code will be able to specify the bus enumeration
  routine in the future.
2002-05-15 18:13:00 +00:00
augustss b058cf77d2 Adapt to new bridge name. 2002-05-15 14:15:17 +00:00
augustss 437ddd4f05 Regen. 2002-05-15 14:14:57 +00:00
augustss 5919cbff85 Give a more suitable name to the DEC 21554 bridge. 2002-05-15 14:14:34 +00:00
bouyer 445778d624 The number of sector is unsigned long, so use %lu to print it. 2002-05-15 13:01:27 +00:00
bouyer 3d5ee1e719 Change PQUIRK_CAP_SYNC to set PERIPH_CAP_SYNC aslo for devices that
improperly claim to only support DT clocking.
Add a PQUIRK_CAP_WIDE16 quirk.
Add a quirk for IBM DXHS36D SCSI disk (claims to only support DT).
2002-05-15 11:43:22 +00:00
bouyer 36ce07cc3b scsipi_print_xfer_mode(): PERIPH_CAP_DT is an equivalent of
(PERIPH_CAP_SYNC | PERIPH_CAP_WIDE16) here.
2002-05-15 11:19:38 +00:00
simonb ee3ab87335 Print some error messages when the codec fails to initialise (some errors
were already reported, others weren't).
Sprinkle some KNF around.
2002-05-15 09:55:45 +00:00
matt 486ad92d2a Add evcnt stuff for interrupts.
Fix receiver lockups.  When writing the RX Kick register, we need back up
on descriptor since we advanced one in the for loop.  That will be the
last descriptor we haven't processed which is what we should write.
2002-05-15 02:36:11 +00:00
matt d6f9a400fe Fix initialization of GEM_RX_MAC_INTR. 1 means mask. 2002-05-14 23:33:41 +00:00
augustss 1906cd67ef ANSIfy. 2002-05-14 19:23:45 +00:00
augustss 14389c7b50 Regen. 2002-05-14 12:05:35 +00:00
augustss 72d8d32c1d Add a Heuricon host bridge. 2002-05-14 12:05:13 +00:00
lukem 4369818766 Migrate alpha/pmax/vax bootblock stuff from <dev/dec/dec_boot.h> to
<sys/bootblock.h>  (leaving ultrix compat goo in the former)
2002-05-14 06:34:20 +00:00
matt 0dc8ee943d Eliminate more commons or redundant declarations. 2002-05-14 02:58:32 +00:00
jdolecek b631b39a19 Change the reset code to block interrupts and use polled commands; also
eliminate the kthread now that it's not necessary, and use callout instead.
This seems to fix the X mouse freeze problem.

Testing and some debug printf fixes by Martin Husemann.
2002-05-13 21:18:51 +00:00
augustss 4c3acbe183 Two minor fixes from OpenBSD. 2002-05-13 12:10:04 +00:00
pk bb42415ffa Check whether a console is attached before sending data upstream. 2002-05-13 09:42:12 +00:00
hannken 616dac6232 Add support for NetMos NM9805 1284 Printer port.
Tested by David Kwok <dkwok@iware.com.au>.
2002-05-13 09:19:57 +00:00
thorpej c1f51e00c0 Back out change accidentally committed. 2002-05-12 21:39:46 +00:00
matt 403b0fdb73 If a dma map can't be loaded due to resource shortage, make we report that
as a resource shortage instead of a driver stuffup.
2002-05-12 16:51:06 +00:00
wiz d30d25dc1a Spelling fixes, from Sergey Svishchev in kern/16650. 2002-05-12 15:48:36 +00:00
simonb 819efe9017 Recognise the HP ScanJet 2200c as a scanner, tested with xsane. 2002-05-12 08:04:41 +00:00
simonb 45e03c4ed5 Regen; add the HP ScanJet 2200C. 2002-05-12 07:56:59 +00:00
simonb 04d64c386d Add the HP ScanJet 2200C. 2002-05-12 07:55:57 +00:00
matt 3b2e959dfc Supress RX_MAC interrupts regarding the FRAME_COUNT register. 2002-05-11 20:53:52 +00:00
uwe bc05b169da Correct AltGr keycode for 680/US layout. 2002-05-11 04:57:43 +00:00
matt c1fc5d35dc Many fixes. Multicast hash filter works now. Autonegotiation with GigE
on Mac G4's now works.  XXX Checksum offload still needs to be done.
2002-05-11 00:36:02 +00:00
uwe c061e3c249 Use symbolic WSCOL_* colour names instead of magic numbers. 2002-05-10 22:01:13 +00:00
uwe c43b5d9a7b Comment change only: remove XXX. 2002-05-10 21:05:13 +00:00
thorpej 0cc96b0fbe Make sure ifp->if_baudrate is valid when the parent's statchg
callback is made.

Pointed out by Matt Thomas.
2002-05-10 20:45:05 +00:00
augustss 2acf4c8462 Use callout init macro. 2002-05-09 21:54:32 +00:00
matt 48d39d805c Print out interrupt we attached to. 2002-05-09 20:20:18 +00:00
thorpej 3e669d3bca * Increase the number of Tx job queue entries from 32 to 64.
* Garbage-collect some unused stuff.
* Make the Tx window slide along the Tx job queue space, not the
  Tx descriptor space.  We are more likely to run low on DMA maps
  than we are hardware descriptors.
2002-05-09 01:00:12 +00:00
matt 983a0a0749 LMC_CTL_LEN1 and LMC_CTL_LEN2 extracted each other's fields. Stop doing
that.
2002-05-09 00:58:45 +00:00
thorpej 3ce23a4ac6 * Instrument the number of times we force a Tx interrupt.
* When forcing an interrupt, make sure that interrupt-delay-enable is
  cleared (necessary with last change to make sure it's set for all
  descriptors).
* Crank up the Transmit Interrupt Delay Value to 1024 * 1.024 msec.  We
  really want these to be deferred.
2002-05-09 00:41:06 +00:00
thorpej 88f6c3663b Don't set WTX_TCPIP_CMD_TCP or WTX_TCPIP_CMD_IP in the TCP/IP context
descriptor.  Those are apparently only valid if using the Cordova's
"segmentation offload" feature.
2002-05-08 21:43:10 +00:00
thorpej d680cf3220 * Make sure the interrupt-delay bit gets set on ALL descriptors,
except for the one we want to force a Tx interrupt.
* Tweak the Tx descriptor accounting a little.
2002-05-08 21:22:20 +00:00
thorpej 3992641218 Implement a cache for the outbound IP/TCP/UDP checksum offload
context.
2002-05-08 19:00:27 +00:00
chris ae7f07a2ab Add detection for the NetGear FA411. It just seems to work as an ne device. 2002-05-08 18:18:55 +00:00
scw b6ce571885 Add support for FTDI USB->Serial adapters based on the FT8U232AM chip.
Changes inspired by the latest linux version of the driver.

This gets the dongle supplied with my HP Omnibook working (it has no
legacy com(4) ports).
2002-05-08 18:10:19 +00:00
scw 5550c45ad4 Regen. 2002-05-08 18:06:47 +00:00
scw 5cbc5940fc Add product ID for FTDI USB<->Serial adapter based on FT8U232AM chip. 2002-05-08 18:06:09 +00:00
thorpej 935179d022 * Account for the descriptor consumed by the Tx checksum offload
context setup.
* Implement Matt Thomas's sliding Tx interrupt window algorithm,
  forcing an interrupt when the Tx desc list is 2/3 consumed.
* Use the Report Packet Sent interrupt, rather than Report Status,
  since we use the Tx descriptor to count Tx errors.
2002-05-08 17:53:28 +00:00
drochner 3c33c0f57e Since the minor numbers belonging to the partitions of a disk are not
contigous anymore, we can't call vdevgone() for the whole range at once.
(we should probably change the vdevgone() interface)
This also fixes some wrong use of DISKUNIT().
2002-05-08 15:49:07 +00:00
matt 2f836188fb If the detected media is gigabit, change the gem to use GMII mode otherwise
switch back to MII mode.  Keep a sliding window for TX segments and when it
gets > 2/3 full, request a TX interrupt (window gets reset when the h/w TX
queue is empty).  Add dv_xname to a few printfs.  With the above changes,
the gem driver will now work on Macintoshes, even in GigE mode.  On a 733
PowerMac G4 it gets ~355Mb/s TX and ~280Mb/s RX to/from an Alpha XP1000.

XXX mii autoselect is still flakey.
2002-05-08 02:12:55 +00:00
drochner 162314b746 regen 2002-05-07 18:23:23 +00:00
drochner 6c432706fa add EasyDisk Flash Disk 2002-05-07 18:22:56 +00:00
onoe 453bd2f8c2 Add support for LINKSYS Instant Wireless Network CF Card 2002-05-07 09:39:52 +00:00
onoe cb52efccad regen: Add LINKSYS Instant Wireless Network CF Card 2002-05-07 09:37:28 +00:00
onoe 902298b5c5 Add LINKSYS Instant Wireless Network CF Card 2002-05-07 09:36:50 +00:00
uwe 58789acb68 Delint. Add /* CONSTCOND */. Add parens to macro argument to avoid
interesting interaction between cc -C and comma inside a comment after
macro definition.
2002-05-07 05:56:47 +00:00
uwe 41e6fbc398 Delint somewhat. 2002-05-07 04:52:49 +00:00
chris c419c08421 Regenerate for Netgear FA411. 2002-05-06 22:28:18 +00:00
chris b72d0938bb Add in Netgear FA411. 2002-05-06 22:26:48 +00:00
eeh 822aeae880 Note ofpci and ofppb. 2002-05-06 22:11:50 +00:00
bouyer f23186dae7 Don't return an error for "Not Ready To Ready Transition (Medium May Have
Changed)" and "Power On, Reset, or Bus Device Reset Occurred" senses, if
we're trying to open the device.
2002-05-06 13:43:57 +00:00
lukem e8bbb685d9 Replace <dev/sun/sun_boot.h> with <sys/bootinfo.h>, which is intended
to be more generic than ``bbinfo definitions for Sun-based systems''.
Other platforms can store bbinfo-style information here, and possibly
other platform-specific boot information that needs to be accessible
by foriegn platforms in tools such as /usr/sbin/installboot.
2002-05-06 05:27:53 +00:00
ad 5d6cd5914c Put back a missing brace. 2002-05-06 00:48:58 +00:00
bouyer 58e5d90faa Don't disable TARF_TAG when the 1010 workaround is active, otherwise
the target won't do tagged queuing again after e.g. a bus reset.
Just report to scsipi that we can't do tagged queuing.
2002-05-05 15:23:22 +00:00
bouyer df3d2c7ac3 If periph->periph_callout is already active, don't freeze the periph again:
scispi_periph_timed_thaw() will be called only one time anyway.
2002-05-05 15:16:30 +00:00
thorpej ca83c89dd4 A statement must follow a label. 2002-05-05 06:01:28 +00:00
takemura 65b0c92cb8 Added cast '(u_int16_t *)'.
4th arg of bus_space_read_multi_2 and bus_space_write_multi2 shuld be
u_int16_t *.
2002-05-05 03:19:26 +00:00
thorpej 9a88d576c1 hme_init(): call mii_mediachg() to make sure the current media is set. 2002-05-05 03:02:38 +00:00
kleink 2b298aa1d3 Add some recent prep devices. 2002-05-04 20:42:25 +00:00
bouyer 8e978787e8 Keep track of the current SCSI mode (SE/HVD/LVD) and don't start PPR
negotiation if it's not a LVD bus.
Remove write to SIOP_STEST0, it's bogus and I don't know why it's there at
the first place.
2002-05-04 18:43:22 +00:00
bouyer 3dc7dba078 It seems that the 1010-33 has a bug: it sometimes generate spurious SCSI gross
errors for narrow transfers after a reselect. FreeBSD sym driver has a comment
about this, but their workaround (disable SCSI gross error reports) doesn't
work for me. Instead dissallow disconnect if the target is not wide
(FreeBSD doens't allow disconnect until the target has been fully probed, which
is why they may not have noticed my problem).
2002-05-04 18:11:06 +00:00
bouyer 56aff7332d Add 1010 only SCSI gross error disable bits. 2002-05-04 17:51:52 +00:00
bouyer 50bb653982 More debug printfs. 2002-05-04 17:51:16 +00:00
ad df9895c1cb Bump IOPL_MAX_SEGS to 16 in line with other Ethernet drivers, and in one
spot replace it with the capped value learned from the board.
2002-05-04 16:43:26 +00:00
bouyer b3f8d22993 Back out previous. It has issues with multiple dumps to one tape using
/dev/nrstx, as pointed out by Matthew Jacob.
My problem is probably related to mt using /dev/nrst0 instead of /dev/enrst0
by default.
2002-05-03 20:41:17 +00:00
nathanw f9de3e788b Make pci_conf_print() dump the device-dependent header in userspace, too. 2002-05-03 16:08:36 +00:00
kent 551d40fc9e Regen 2002-05-03 15:20:29 +00:00
kent f1810f8df7 Add the following:
Vendor
  Sanwa Supply
  Audio-Technica

 Product
  Audio-Technica ATC-HA4USB USB headphone
  I/O DATA USB-SSMRW and USB-SDRW
  Logitech WingMan Formula Force GP (GT-Force) and TrackMan Wheel
  Microsoft TrackBall Explorer
  Roland UA-3
  Sanwa Supply JY-DV9USB gamepad
  Sony PS2 keyboard, PS2 keyboardhub and PS2 mouse
  Yamaha RP-U200
2002-05-03 15:19:15 +00:00
drochner 3c9ad6abb6 make the LEDs work with both channels active, some cleanup and
simplification
2002-05-03 14:12:59 +00:00
augustss dd51b8be28 Regen. 2002-05-03 12:46:41 +00:00
augustss a7586eb6dc Add Sandburst. 2002-05-03 12:46:11 +00:00
mycroft 3f47c5b658 Clean up some dead code.
Combine nway_reset() into nway_auto().
2002-05-03 08:48:12 +00:00
mycroft a5f6bd3b57 5) Be more liberal in blasting SIATXRX and SIASTAT in nway_auto(); in
particular, make sure that all the SIASTAT_ANS bits are in the right state
   so we don't do something inane.

Still doesn't actually bring the link up properly, but at least it negotiates
most of the time, and does it a little faster.
2002-05-03 06:56:20 +00:00
mycroft b3bd4ab122 More internal Nway issues:
1) Do not call tlp_sia_update_link() in Nway mode, and do not look at SIASTAT
   in any other place that nway_status(), where we first check that it's valid.
   In other places, look at IFM_ACTIVE after having call nway_status().
2) Eliminate stupid MII_MEDIACHG calls, and arrange for nway_service() to
   update status on every call.
3) Nuke the synchronous case of nway_auto() from orbit.
4) Do not call nway_statchg() when using manual configuration; tlp_sia_set()
   does everything we need.
2002-05-03 06:54:37 +00:00
mycroft 1489c15507 Fix multiple problems with 2114x internal Nway:
1) Set OPMODE_TTM in the default tsti_opmode, so that nway_status doesn't
   blow up and report the wrong media type when statically configured.  (This
   code is a hack.)
2) Do not set IFM_ACTIVE (i.e. ignore SIASTAT_LS*) when in auto-negotiation
   mode and negotiation has not completed (per 21143 manual).
3) Do not clear auto-negotiation mode; otherwise the chip will not
   renegotiate on a link failure.

With these changes, 10/100 selection is more stable, and auto-negotiation
comes up with the right status and detects link, but the link does not work
unless it's hardwired.  More work is needed.
2002-05-03 05:41:46 +00:00
thorpej 403f667b5a Handle platforms that don't provide stream methods.
From Hiroyuki Bessho, PR 16617.
2002-05-03 03:30:48 +00:00
thorpej a487a4b57a Bump the number of Tx DMA segments from 8 to 16 (the zero-copy socket
code sometimes sees more than 8).
2002-05-03 00:18:31 +00:00
thorpej 317ab784d9 Bump the number of Tx DMA segments from 8 to 16 (the zero-copy socket
code sometimes sees more than 8).
2002-05-03 00:07:02 +00:00
thorpej 5173cfae8a Bump the number of Tx DMA segments from 7 to 15 (the zero-copy socket
code sometimes sees more than 7).
2002-05-03 00:04:07 +00:00
uch eb330e618b add Jornada680/690 US-keymap. patch by uwe. 2002-05-02 16:38:02 +00:00
thorpej 84fbb01984 Fix a comment. 2002-05-02 16:34:47 +00:00
thorpej c115365b50 * Deal with errata on the i82542 and i82543 chips: The size of the
transmit and receive descriptor rings is limited to 256 descriptors.
  So, set the if_snd queue length to 256 to let the upper layers queue
  lots of packets, and let the driver handle up to 32 of them at a time.
  (We should probably make this change to most Ethernet drivers, since
  it actually saves some resources.)
* Increase the number of Tx DMA segments from 8 to 16.
* Clean up the way we count "how many times did I get a packet with N
  DMA segments".
* Add a missing htole32() in wm_tx_cksum().
* Don't set both RS and RPS in the last Tx descriptor of a packet; just
  use RS.
* Add some more information to the watchdog message.
2002-05-02 16:33:27 +00:00
briggs cf294f8f84 Ensure that b_bufsize is set to a range covering the buffer in vndstrategy().
This addresses kern/16570 where using the raw vnd device with a file backed by
NFS was failing due to bp->b_bufsize being 0.
2002-05-02 16:25:23 +00:00
thorpej b094ff415f Change the semantics of mbuf external storage "ext_free" routines
so that they're more useful for arbitrary types of external storage:

* Add an "mbuf *" argument to (*ext_free)().  If non-NULL, (*ext_free)()
  is expected to free the mbuf itself.  This allows (*ext_free)() to use
  the mbuf for bookkeeping (e.g. deferring the work to a helper thread).
  If the "mbuf *" argument is NULL, we are assumed to be in a context
  which is safe for performing the destructor operation *now*.
* Adjust MEXTREMOVE() and MFREE() routines for above change.
* Update "ade" and "ti" drivers for new semantics.
2002-05-02 16:22:43 +00:00
ad 4137ec18e8 Fix pasto. 2002-05-02 12:44:31 +00:00
bouyer 7de8483ff0 Regen: move a few things around to save a few JUMP. 2002-05-02 12:37:50 +00:00
bouyer 41af47376f Move a few things around, to save some JUMP. 2002-05-02 12:37:19 +00:00
bouyer 1d5fb5d90e If we get a Unit Attention Not Ready To Ready Transition (medium may have
changed) sense, and the periph was not open, then ignore the error.
2002-05-02 12:36:23 +00:00
uch f1447dc5d6 add BUFFALO LPC3-CLT Ethernet Adapter. 2002-04-30 13:14:38 +00:00
uch f1967f2bb2 regen. 2002-04-30 13:13:48 +00:00
uch 07c3f6d008 add BUFFALO LPC3-CLT Ethernet Adapter 2002-04-30 13:12:33 +00:00
martin ea0ec5a299 Do not mask/unmask interrupts on IPAC to clear the interrupt status.
It is unclear if this realy is needed and if, on which type of cards. I
haven't run accross a card that needs it yet.  This may have been just
a copy & pasto from the ISAC interrupt handler carried over to IPAC.
2002-04-30 12:56:51 +00:00
nonaka d58ba5a7b5 Regen. (Added two IBM devices.) 2002-04-29 18:21:32 +00:00
nonaka 1a570698f4 Added two IBM devices. 2002-04-29 18:18:29 +00:00
bouyer c85510bdd7 Factor out initialisation of t_msgout.count
clear scntl4 in sdtr/wdtr negotiation
2002-04-29 15:45:05 +00:00
bouyer 1a268e6df1 Add a missing esiop_script_sync(), and debug messages improvements. 2002-04-29 15:44:16 +00:00
martin 8853536066 Patches from Matthias Drochner, slightly modified by me:
Remove the clear-the-irq-after-enabling it dance (which had bad side
effects on some cards). Instead disble the ISAC receiver when we have
interrupts disabled. Adjust the interrupt handler to properly deal with
subtle differences of the ISAC implementation in IPAC chips.
2002-04-29 13:42:42 +00:00
mjacob 85fc807bc1 suggestion from Jason: have (in non-verbose boot case) card type printed out
on same line as attachment line.
2002-04-28 21:32:14 +00:00
thorpej fe11f8da0b Use MEXTADD() rather than open-coding it. 2002-04-28 01:00:26 +00:00
bouyer 027861788c Regen: use a u_int32_t in script RAM to pass flags between script and driver. 2002-04-27 18:47:31 +00:00
bouyer eea7ef4c53 Use a u_int32_t in script RAM instead of the SEM bit in ISTAT to pass flags
between script and driver. This allows more than one flag, and is easier to
manage (we almost can't read/write istat outside of the irq handler).
2002-04-27 18:46:49 +00:00
bouyer b66175fa2b Regen: implement done command ring. 2002-04-27 17:40:19 +00:00
bouyer 5387f035d3 Implement a ring for the completed commands. This avoid a (problematic only
if error occurs after status is collected) race condition
when using the status byte to detect completed commands (a command descriptor
could be recycled before the device disconnected), and make the
interrupt routine handling completed commands more efficient (no need to
scan target * lun * tag array any more).
2002-04-27 17:39:51 +00:00
thorpej 2ddda24f28 53c1010 chips are ultra3, not ultra2. 2002-04-26 19:44:52 +00:00
ad 9a25612703 Regen. 2002-04-26 14:21:28 +00:00
ad fda5e53ba0 Oops, add more IDs used by aac_pci.c. 2002-04-26 14:20:59 +00:00
ad 77e08f053a Add a driver for Adaptec FSA RAID controllers, as often found in Dell
servers. Based on the FreeBSD/OpenBSD versions.
2002-04-26 02:05:07 +00:00
bouyer 4b307fe0af It's not safe to access the SCNTL1 register while the SCRIPT is running.
On the 1010 this can wedge the chip. So abort the script instead.
the abort interrupt will trigger a bus reset.
2002-04-25 20:05:10 +00:00
bouyer 916ef37c06 Regen: 2 DSA entry per lun, load SCRATCHC before select, avoid race condition
when setting f_cmd_free.
2002-04-25 19:35:07 +00:00
bouyer f66f6c27a6 - We can't share the per-lun DSA entry for untagged and tag table DSA;
there may be tagged commands still running when we queue a request sense
  command.
  Solve this by using 2 DSA entry per LUN
- Now that we have the command DSA before select, we can load T/L/Q in
  SCRATCHC. This makes the selection timeout handler simpler.
- Avoid a race condition when setting the free flag in the cmd ring (see
  comment in the script)
- don't forget to update the ID in the head of LUN table after a sync/wide
  negotiation. This fixes the command timeout at the first data command
  after negotiation (the bus reset handler did update the ID properly,
  so subsequent commands were OK).
- for DMA interrupts, clear fifo if it's not empty. Leaving the fifo dirty
  would prevent subsequent interrupts from coming in.
- Various improvements in debug messages
- misc cleanups.
2002-04-25 19:34:02 +00:00
ad 4a46e19dcf Set xs->error = XS_SENSE in the appropriate spot. 2002-04-25 18:45:35 +00:00
kleink 22e2d71a5f Add a joystick attachment to the ESS Solo-1 driver. 2002-04-25 00:52:21 +00:00
kleink af131f109a Add an `aux' audio device sub-type, to be used to attach parent
device-specific children to an audio device; per discussion with
Lennart Augustsson.
2002-04-25 00:50:39 +00:00
bjh21 b53b7e5cd5 Include <stdint.h> or <sys/stdint.h> to get the C99 fixed-width types, since
<sys/types.h> doesn't necessarily provide them.
2002-04-24 15:29:45 +00:00
ad b9e7e28ff4 Match anything with PCI_VENDOR_VORTEX, then use a heuristic to determine the
board's interface, and list only exceptions in icp_pci_ident[].
2002-04-24 15:08:48 +00:00
aymeric e4f7fab661 OPTi changes:
o keep WDC_CAPABILITY_DATA32 regardless of the version of the chip.
o correct typo to disable DMA correctly
2002-04-24 13:49:34 +00:00
bouyer d59eabe0a9 Regen: get rid or ID in scheduler slot, to save RAM. 2002-04-24 09:44:12 +00:00
bouyer b46922a07a For a new command, use the id in the command table and get rid of the ID in the
scheduler slot. This costs a few more instructions but divide the size of the
scheduler ring by 2, saving 1k of onboard RAM (a bus with 15 devices would
overflow the on-board RAM by 128 bytes).
2002-04-24 09:43:14 +00:00
bouyer c0cb853db0 Regen: bump the number of slots in the cmd ring to 256. 2002-04-24 08:00:55 +00:00
bouyer e73a1efbd9 Bump the number of slots in the command ring to 256. 2002-04-24 08:00:08 +00:00
lukem dcb3421026 Add <dev/sun/sun_boot.h>, which contains common boot block stuff for
Sun based systems.
2002-04-24 01:33:55 +00:00
bouyer cd3578d7ef More copyright fixes, pointed out by Thomas. Thanks ! 2002-04-23 20:41:13 +00:00
bouyer 4c8f4b94f8 Fix copyrigth. 2002-04-23 20:12:39 +00:00
bouyer c7454ad973 - factor out parts of (e)siop_attach() to siop_common_attach()
- Add support for DT transfers (aka Ultra/160) in esiop

Note that DT transfers are not enabled for 53c1010-33 rev 0 yet; if I trust
FreeBSD it has a bug which prevent them to do DT properly.
From the same source there may be issues with some revs of 53c1010-66.
2002-04-23 17:33:27 +00:00
bouyer 15c40f8b5b The IBM drive I have here supports DT, but claim version 3 only.
So check for version 3, not 4 when looking for DT support.
This should be safe as these bits are reserved for older devices, they
should be set to 0 when not supported.
2002-04-23 17:28:43 +00:00
hannken 94a48c8c9f Remove the cyrillic keysyms. This was not done the right way.
Will come back after 1.6 has branched.

Approved by: Matthias Drochner <drochner@netbsd.org>
2002-04-23 13:42:46 +00:00
bouyer 25d4f402ce Regen: bump message size to 16 octets. 2002-04-23 12:56:01 +00:00
bouyer 6d37782a49 Bump the space for SCSI messages from 8 to 16 octets, as 8 may not be
enouth for IDENTIFY + TAG + PPR.
Get rid of constants in C code by use of a offsetof macro.
2002-04-23 12:55:26 +00:00
ad ea92353d58 MLX_GET_SYSDRIVE expects the unit number returned in *arg. Should fix PR
14116.
2002-04-23 11:57:45 +00:00
bouyer cf06149dac Enable software LED control based on LED0 feature, not #define.
For now, set the LED0 feature if SIOP_SYMLED is defined in siop_pci_common.c.
From Jason R Thorpe.
2002-04-23 10:38:37 +00:00
bouyer 71103278cf Set SF_CHIP_LEDC for chips that support it. Based on patch sent in private
mail by Jason R Thorpe.
2002-04-23 10:11:39 +00:00
bouyer b6fee4019d Add some new features:
- SF_BUS_ULTRA3, for Ultra/3 (80Mhz) busses
- SF_CHIP_LEDC,  led on GPIO0 with hardware control
- SF_CHIP_DT, support DT clocking.
2002-04-23 10:06:44 +00:00
bouyer d77c3b3d84 Add the Parallel Protocol Request message. 2002-04-23 09:46:51 +00:00
bouyer e49057af19 Report SPC-2 features (DT clocking, quick arbitration and selection,
information unit transfers) though periph_cap.
2002-04-23 09:09:55 +00:00
augustss 0405958cec Check for write permission for some ioctls. 2002-04-23 06:34:11 +00:00
ad 9a09578e25 Add a driver for ICP-Vortex GDT and Intel Storage RAID controllers. Parts
taken from OpenBSD. Test hardware kindly provided by Intel. This still needs
management bits, and doesn't support older controllers, but that shouldn't
be hard to fix.
2002-04-22 21:05:19 +00:00
bouyer 84b0f1e37d Adapt for script "wait MSG_OUT after select" change: now, when we get
selection timeout, SCRATCHE points to the slot which triggered the timeout,
not the next one.
2002-04-22 20:47:20 +00:00
bouyer dbe8f22921 Regen: block on wait MSG_OUT after a SELECT. 2002-04-22 20:45:59 +00:00
bouyer 5242b16c65 It seems that the script processor continue to exec a few intructions
after the selection timeout is posted but the number executed isn't
reliable. So wait for MSG_OUT rigth after the select so that the state of
the script when the interruption is handled is known.
2002-04-22 20:45:27 +00:00
bouyer 8ba368a0b6 Really, don't set siop_cmd->tag in setup_table() 2002-04-22 20:31:49 +00:00
matt fd0e30f1c5 Let's not free an uninitialized variable. 2002-04-22 19:29:55 +00:00
bouyer b5c850f201 Regen: tagged queuing support, and led on/off fragments. 2002-04-22 15:55:37 +00:00
bouyer 9080ea0aa3 Add the led_on/led_off script fragments. 2002-04-22 15:55:09 +00:00
bouyer 4cda08fb6e Add support for tagged queuing to esiop (256 tags per device).
For this add another indirecton: the DSA in the LUN table points to
a table of DSA indexed by the tag number when tagged command is in use.
For non tagged command, the LUN DSA still points to the tables describing the
xfer directly.
2002-04-22 15:53:39 +00:00
bouyer e3f96dde51 Fix last change: assign siop_cmd->tag in callers instead of siop_setuptables(),
and use siop_cmd->tag instead of xs->xs_tag_id. This way siop can use
xs->xs_tag_id + 1 without interferences with esiop.
2002-04-22 15:48:55 +00:00
bouyer 458fca4e6a Add esiop at pci. 2002-04-22 15:45:19 +00:00
ad 034f7b1db1 Name the thread after the device. 2002-04-22 15:16:56 +00:00
augustss 93e745b84c Another disk quirk. 2002-04-22 12:48:40 +00:00
augustss 0545947a9e Add spic. 2002-04-22 12:43:50 +00:00
augustss 5b899ef99d Attach the spic driver via ACPI. 2002-04-22 12:42:56 +00:00
augustss d32b5e84cc Add a driver for the Sony SPIC that handles jog dials etc.
This driver works on my SRX77, but probably little else.
It makes the jog dial appear as a wsmouse.
2002-04-22 12:42:11 +00:00
wiz 6a32f7f6a3 Move psm.c and psmreg.h to pms.c and pmsreg.h, since they contain the
pms (not psm) driver.
Fix a debugging message to print the correct function name.

Approved by Christos.
2002-04-22 10:44:46 +00:00
bouyer 72906f4578 In siop_setuptables(), use the proposed tag_id, not tag_id +1.
In siop.c bump siop_cmd->tag by one as tag id 0 is reserved for untagged cmds.
2002-04-22 09:43:44 +00:00
augustss 7f7ab48604 Rename the audio "bus" attribute audiobus to avoid confusion with audio
device.
2002-04-22 09:41:19 +00:00
bouyer 2f72a4fcc7 Generated from esiop.ss, for the new esiop driver. 2002-04-21 22:53:37 +00:00
bouyer 8cfc41f9ed First cut at a esiop driver (enhanced siop). Doesn't implement tagged queuing
yet.
If is restricted to SIOP which implement the load/store instruction, and
has 10 scratch registers (basically, 825 and newer, possibly 770).
It implements a different interface between host and script, using a real
ring for command starts, and improved support for reconnect which will allow
256 tag per device. It uses interrupt on the fly to signal complete command,
which allows several commands to be serviced per interrupt and doesn't require
the script to stop to signal command completion.
2002-04-21 22:52:05 +00:00
bouyer 4b8e2f7002 - handle INTFLY (interrupt on the fly) command
- hanlde set/clear carry
- handle shl, shr (shift left and rigth) and xor operators
2002-04-21 22:40:10 +00:00
bouyer a8ac9f8638 Fix scratchd2 address. 2002-04-20 20:56:25 +00:00
kent 4cbdc3964d uaudio_set_params():
Correct a parameter of uaudio_chan_init() for recording.
  This change fixes kern/16385.
2002-04-20 17:36:16 +00:00
kent e034d9364c Clear the busy flag of an alt when a channel is closed. 2002-04-20 17:04:32 +00:00
bouyer 0852b37f15 Note that if siop_common_xfer is changed, the scripts need to be changed too. 2002-04-20 15:25:53 +00:00
mjacob acfd588eca Number of luns supported for SCC-2 is actually really 16384- top
3 bits are lun address modifiers.

Remove code that (incorrectly) thought it was asking the f/w to only
PLOGI if not already PLOGI'd. The current f/w documentation tells us
that we have this backwards.
2002-04-20 05:05:56 +00:00
bouyer 97fe8b91c5 Move a few things around, so that ic/siop_common.c and pci/siop_pci_common.c
can be compiled without including siopvar.h.
2002-04-20 00:15:54 +00:00
drochner 9c80231f6b check interrupt status of the PCI interface chip (if possible)
before calling the (slow) isic handler
being here, remove #ifdefs for FreeBSD and old version support
and add RCS ID tags
2002-04-19 10:55:46 +00:00
gmcgarry 68388660cf Set ndrq to zero if no drq is specified. 2002-04-19 05:27:04 +00:00
gehenna 7fdc59f9fc Regen 2002-04-19 00:55:31 +00:00
thorpej 46a2773ba8 * Fix the CS_IS_ENABLED() logic so that it actually evaluates to
"true" at the appropriate times for non-PCMCIA interfaces.  This
  means that the ENETRESET path in cs_ioctl() now runs, thus fixing
  multicast (and IPv6) on my Shark.  Yay.

* Simplify cs_hash_index(): Rather than taking the bottom 6 bits of
  a big-endian CRC32 and reversing them, just take the top 6 bits of
  a little-endian CRC32.
2002-04-18 21:58:02 +00:00
thorpej 036066e625 Define the Symbios Logic and Tekram NVRAM contents. 2002-04-18 21:08:43 +00:00
thorpej c685b2c67a Regen: Added Symbios 53c875A product ID. 2002-04-18 20:36:30 +00:00
thorpej cdd30a00ba Add Symbios 53c875A product ID. 2002-04-18 20:35:39 +00:00
tshiozak eb4e540b0e add PCI/USB vendor ID for Kurusugawa Electronics, Inc.
PCI-ID: 0x6809, USB-ID: 0x0b7e.
2002-04-18 17:40:56 +00:00
wiz 95bc0b09e2 Remove opms(4) for bebox (superseded by pms(4)).
Approved by christos.
2002-04-18 15:44:20 +00:00
martin 379eadc41a Duh, 0 bits enable interrupts in the IPAC!
So to disable them all better use 0xff instead of 0x00 as mask. Noted
by Matthias Drochner.

Move some initialization unrelated to interrupts back to its place at
attach time.
2002-04-18 15:32:30 +00:00
ad 49afc8d8b9 This file no longer used. 2002-04-18 13:41:35 +00:00