Commit Graph

12812 Commits

Author SHA1 Message Date
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
wiz 13ad4ddfa4 Remove duplicate lines. 2002-04-18 13:27:00 +00:00
wiz dedd141239 Split opms@arm32 in opms@acorn32 and opms@shark. 2002-04-18 13:21:06 +00:00
wiz 5bcf16a588 -opms(i386) 2002-04-18 13:10:06 +00:00
martin ff434a1201 Handle unexpected interrupts better. 2002-04-18 12:19:05 +00:00
bouyer 52cdca5f88 If SIOP_SYMLED is defined, drive the activity LED though GPIO pin 1. 2002-04-18 12:03:15 +00:00
bouyer 7341a66098 Regen: add hooks to drive LED via GPIO. 2002-04-18 11:59:41 +00:00
bouyer 172d73c2d5 Add hooks to drive the activity led via the GPIO pin 1, as required by some
tekram and symbios adapters.
2002-04-18 11:56:11 +00:00
onoe 86920876dd (force commit: no changes in the code)
WI_RID_SCAN_APS in previous commit works for Intel Pro/Wirelss 2011
with firmware 2.51.1.
It seems that the firmware automatically updated after the card runs on
Windows 2000 with 2011_2011B_CD_3.0 in Intel web site.
2002-04-18 05:24:28 +00:00
augustss 2f34976283 Regen. 2002-04-18 03:49:17 +00:00
augustss 544654cbc3 nother device. 2002-04-18 03:48:53 +00:00
bouyer 6b14001ff6 Really use a JUMP for NOP, not a block move. 2002-04-17 21:39:14 +00:00
martin 32b8af4ca2 Be carefull not to cause interrupts while /dev/isdn is not open.
Make the LEDs work.
2002-04-17 17:35:29 +00:00
martin c8b77487a2 When clearing interrupts, clear IPAC interrupts for cards that have
one.
2002-04-17 17:34:48 +00:00
wiz 2228f81f19 Fix two typos in comments. kern/16386 by Sean Davis. 2002-04-17 09:16:27 +00:00
wiz b9abd324c6 Fix typo in comment. kern/16382 by Sean Davis. 2002-04-17 09:14:21 +00:00
mycroft 88e968078c Remove TLP_MATCH_* options. 2002-04-17 02:19:13 +00:00
thorpej e1f3e69604 * Move the mii_bitbang attribute into dev/mii/files.mii
* Pull in dev/mii/files.mii from conf/files, rather than playing
  the magic "files include order" dance in N machine-dependent
  configuration definitions.
2002-04-17 00:35:04 +00:00
thorpej 20ddfbf4c1 Move sysmon configuration definitions to dev/sysmon/files.sysmon. 2002-04-16 21:00:27 +00:00
thorpej bbb03955e8 Centralize the RAIDframe config definitions. 2002-04-16 20:33:00 +00:00
wiz 5040dc6d7d Remove last(?) traces of pmsi. 2002-04-16 11:49:54 +00:00
drochner e5abb78d1a regen 2002-04-16 10:08:58 +00:00
drochner 276fd6a576 add some C&T VGA chip 2002-04-16 10:08:34 +00:00
onoe fa97a362d4 Support WI_RID_SCAN_APS (wiconfig -D) for Symbol CF Card.
It apparently requires newer firmware (3.10.4), and doesn't work on
Intel PRO/Wireless 2011 (2.0.11).
2002-04-16 07:24:06 +00:00
uwe 42c0a37e03 Add Krups (sparc) devices. 2002-04-16 03:08:12 +00:00
mycroft aa878fabc4 For 78Q2120 revisions 3 and earlier, punt to ukphy, as our special media status
routine does not work on those chips.
2002-04-15 16:50:52 +00:00
onoe a40f47b098 Add support to Symbol Wireless Networker CF card.
The card is Type 1 CF card and it doesn't have firmware in.
So we need to download the firmware image into the card before
touching it.
XXX downloading code should be written in generic (bus independent),
    but I don't have enough information for now.
2002-04-15 15:05:58 +00:00
onoe 410544177a Generated from the firmware binaries for T3 series CF adapter.
Obtained from Tim Gardner <timg@tpi.com> who developoed the Linux driver.
And approved by Brad Lefore <blefore@sj.symbol.com> to redistribute it
with BSD license.
2002-04-15 14:58:51 +00:00
mycroft 0a948745d1 Regen. 2002-04-15 14:44:30 +00:00
mycroft 9d7578b25c Use chip numbers for most of the new Adaptec IDs, not board numbers. 2002-04-15 14:43:42 +00:00
joda 518cc55c27 Maxtor D040H2 also can't modesense 2002-04-15 12:40:28 +00:00
ad e200da16d8 Regen. 2002-04-15 11:12:46 +00:00
ad aad41f43b6 Add a bunch of Adaptec, Dell and HP products. From OpenBSD. 2002-04-15 11:12:25 +00:00
martin ed5298eb2f Make the LEDs work.
Green LED = we have a TEI assigned, yellow LED slow blinking = one B-channel
in use, yellow LED fast blinking = both B-channels in use.
2002-04-15 08:11:00 +00:00
simonb 50d6d2b7d6 Add pcn, pnaphy.
Add algor, evbmips, sbmips devices.
Sort.
2002-04-15 07:37:17 +00:00