History log of /src/sys/dev/ic/siop.c |
Revision | | Date | Author | Comments |
1.105 |
| 08-Feb-2024 |
andvar | s/should't/shouldn't/ and s/mistmatch/mismatch/ in comments.
|
1.104 |
| 02-Nov-2022 |
andvar | s/ourselve/ourselves/ in comments.
|
1.103 |
| 23-Feb-2022 |
andvar | fix various typos in comments, mainly immediatly/immediately/, as well shared and recently fixed typos in OpenBSD code by Jonathan Grey.
|
1.102 |
| 07-Aug-2021 |
thorpej | Merge thorpej-cfargs2.
|
1.101 |
| 24-Apr-2021 |
thorpej | branches: 1.101.8; Merge thorpej-cfargs branch:
Simplify and make extensible the config_search() / config_found() / config_attach() interfaces: rather than having different variants for which arguments you want pass along, just have a single call that takes a variadic list of tag-value arguments.
Adjust all call sites: - Simplify wherever possible; don't pass along arguments that aren't actually needed. - Don't be explicit about what interface attribute is attaching if the device only has one. (More simplification.) - Add a config_probe() function to be used in indirect configuiration situations, making is visibly easier to see when indirect config is in play, and allowing for future change in semantics. (As of now, this is just a wrapper around config_match(), but that is an implementation detail.)
Remove unnecessary or redundant interface attributes where they're not needed.
There are currently 5 "cfargs" defined: - CFARG_SUBMATCH (submatch function for direct config) - CFARG_SEARCH (search function for indirect config) - CFARG_IATTR (interface attribte) - CFARG_LOCATORS (locators array) - CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)
...and a sentinel value CFARG_EOL.
Add some extra sanity checking to ensure that interface attributes aren't ambiguous.
Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark ports to associate those device handles with device_t instance. This will trickle trough to more places over time (need back-end for pre-OFW Sun OBP; any others?).
|
1.100 |
| 02-Nov-2013 |
gson | branches: 1.100.46; Turn the "esiop_intr: I shouldn't be there !" panic into a printf followed by a return from the interrupt handler. The condition is triggered on some KVM virtual hosts, apparently harmlessly, and not panicing makes it possible to boot a NetBSD GENERIC kernel on those hosts. Also make the same change to siop to minimize divergence between siop and esiop. Fixes PR kern/48277.
|
1.99 |
| 30-Oct-2013 |
gson | Fix incorrect function names in panic message strings.
|
1.98 |
| 13-Nov-2010 |
uebayasi | branches: 1.98.8; 1.98.18; 1.98.22; Don't pull in the whole uvm(9) API to access only PAGE_SIZE and some other constants. These are provided by sys/param.h now.
|
1.97 |
| 09-Sep-2010 |
jakllsch | Allow e?siop_dump_script() to work with on-chip RAM. Prefix DUMP_SCRIPT with SIOP_. Additionally, avoid undefining DEBUG, condition on SIOP_DEBUG instead.
|
1.96 |
| 02-May-2010 |
jakllsch | Add (missing) newlines to error messages.
|
1.95 |
| 09-Apr-2010 |
jakllsch | Improve error paths in (e)siop_scsipi_request():
- When terminating the adapter request after the cmd has been removed from the free list, put that cmd back on the free list before returing. - Correctly indicate which bus_dma_load() failed.
Analysis and fix from Michael L. Hitch in PR/42844.
|
1.94 |
| 19-Oct-2009 |
bouyer | branches: 1.94.2; 1.94.4; Remove closes 3 & 4 from my licence. Lots of thanks to Soren Jacobsen for the booring work !
|
1.93 |
| 04-Sep-2009 |
tsutsui | Remove unnecessary whitespace.
|
1.92 |
| 16-May-2009 |
tsutsui | Misc cleanup: - some KNF - u_intNN_t -> uintNN_t - wrap long lines and fix indent - remove return statements at the end of void functions - use __arraycount()
XXX: many inconsistent aprint_error_dev(9) vs printf(9)
|
1.91 |
| 15-May-2009 |
tsutsui | Split device_t/softc.
No crash on: esiop0 at pci0 dev 11 function 0: Symbios Logic 53c875 (ultra-wide scsi) siop0 at pci0 dev 9 function 0: Symbios Logic 53c810a (fast scsi) siop0 at gsc0 hpa 0xf0830000 path 2/0/7 irq 3 ipl 6: NCR53C720 rev 2
|
1.90 |
| 15-Mar-2009 |
cegger | ansify function definitions
|
1.89 |
| 14-Mar-2009 |
dsl | ANSIfy another 1261 function definitions. The only ones left in sys are beyond by sed script! (or in sys/dist or sys/external) Mostly they have function pointer parameters.
|
1.88 |
| 14-Mar-2009 |
dsl | Change about 4500 of the K&R function definitions to ANSI ones. There are still about 1600 left, but they have ',' or /* ... */ in the actual variable definitions - which my awk script doesn't handle. There are also many that need () -> (void). (The script does handle misordered arguments.)
|
1.87 |
| 08-Apr-2008 |
cegger | branches: 1.87.4; 1.87.12; 1.87.14; 1.87.18; use aprint_*_dev and device_xname
|
1.86 |
| 27-Mar-2008 |
skrll | Add support for the (non-pci) NCR 53c720/770 in big-endian mode.
From OpenBSD (Mark Kettenis)
|
1.85 |
| 19-Oct-2007 |
ad | branches: 1.85.16; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
1.84 |
| 30-Sep-2007 |
martin | branches: 1.84.2; Do not stop callouts on polled commands. Problem noticed by Chris Ross when trying to do a kernel dump on sparc64. Approved by Manuel Bouyer.
|
1.83 |
| 04-Mar-2007 |
christos | branches: 1.83.2; 1.83.14; 1.83.16; 1.83.18; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.82 |
| 02-Nov-2006 |
garbled | branches: 1.82.4; Comment out the debug options to siop, and change the undef to define. This way they will be compiled by the i386 DEBUG kernel and tested.
|
1.81 |
| 02-Nov-2006 |
garbled | Make these compile when SIOP_DEBUG is enabled, by nuking the reference to t_offset, which no longer seems to exist.
|
1.80 |
| 24-Dec-2005 |
perry | branches: 1.80.20; 1.80.22; __inline__ -> inline
|
1.79 |
| 18-Nov-2005 |
bouyer | Some drives disconnect after the last data phase without a save data pointer message. In such case we would not update resid with the proper value (eventually resid would not be updated at all if there was only one data phase). To fix this, have the script save the offset in the data tables at disconnect time if there was a transfer, and use this to compute the resid if the current offset is 0. Problem reported and patch tested by edwin, Roy Bixler and YAMAMOTO Takashi. Fix kern/31990 by YAMAMOTO Takashi.
|
1.78 |
| 27-Feb-2005 |
perry | branches: 1.78.2; 1.78.4; 1.78.10; nuke trailing whitespace
|
1.77 |
| 04-Feb-2005 |
perry | de-__P
|
1.76 |
| 03-Oct-2004 |
bouyer | branches: 1.76.4; 1.76.6; Add missing return, fix handling of Ignore Wide Residue messages.
|
1.75 |
| 17-May-2004 |
bouyer | Add support for the Ignore Wide Residue SCSI message.
|
1.74 |
| 17-May-2004 |
bouyer | when an unexpected disconnect occurs only compute the resid; do the real save data pointers when we get the message (or rather, at disconnect time following the message). Factor out code to do this, and to deal with xs->resid, in siop_common.c.
|
1.73 |
| 17-May-2004 |
bouyer | Properly compute xs->resid, instead of assuming it'll always be 0 when a command is done.
|
1.72 |
| 16-Mar-2004 |
bouyer | branches: 1.72.4; cbd -> cdb Command Block Descriptor -> Command Descriptor Block Pointed out by Allen Briggs.
|
1.71 |
| 15-Mar-2004 |
bouyer | Extract the code printing the CBD from scsipi_print_sense(), so that it's usable in other context. Use the new scsipi_print_cbd() to dump the command in case of timeout in siop/esiop.
|
1.70 |
| 02-Nov-2003 |
wiz | Fix some typos. From Tom Cosgrove via jmc@openbsd.
|
1.69 |
| 28-Oct-2003 |
matt | fix bogus GCC uninitialized variable warning. Use TAILQ_FOREACH.
|
1.68 |
| 25-Oct-2003 |
christos | Fix uninitialized variable warnings
|
1.67 |
| 21-Oct-2003 |
simonb | Remove return after panic().
|
1.66 |
| 03-May-2003 |
wiz | branches: 1.66.2; DMA, not dma nor Dma.
|
1.65 |
| 08-Nov-2002 |
bouyer | in siop_reset(), reset sc_ntargets to 0. The number of targets will be computed again in siop_add_reselsw() in siop_reset(), reset the tag reseloff to 0, in addition to the lun reseloff. If siop_add_dev() fails this time we would use the old reseloff, clobbering memory now used for something else.
|
1.64 |
| 26-Jul-2002 |
wiz | enouth -> enough.
|
1.63 |
| 18-Jul-2002 |
wiz | Spell 'should' correctly.
|
1.62 |
| 18-May-2002 |
bouyer | branches: 1.62.2; Be more verbose when returning XS_DRIVER_STUFFUP
|
1.61 |
| 16-May-2002 |
thorpej | Don't access a scsipi channel's periph table directly; use scsipi_lookup_periph().
|
1.60 |
| 25-Apr-2002 |
bouyer | branches: 1.60.2; 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.
|
1.59 |
| 23-Apr-2002 |
bouyer | More copyright fixes, pointed out by Thomas. Thanks !
|
1.58 |
| 23-Apr-2002 |
bouyer | - 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.
|
1.57 |
| 23-Apr-2002 |
bouyer | 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.
|
1.56 |
| 23-Apr-2002 |
bouyer | 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.
|
1.55 |
| 22-Apr-2002 |
bouyer | 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.
|
1.54 |
| 22-Apr-2002 |
bouyer | 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.
|
1.53 |
| 20-Apr-2002 |
bouyer | Move a few things around, so that ic/siop_common.c and pci/siop_pci_common.c can be compiled without including siopvar.h.
|
1.52 |
| 18-Apr-2002 |
bouyer | If SIOP_SYMLED is defined, drive the activity LED though GPIO pin 1.
|
1.51 |
| 05-Apr-2002 |
bouyer | Implement mstohz() as discussed on tech-kern, and use it in SCSI drivers to convert xs->timeout to callout() parameter.
|
1.50 |
| 01-Mar-2002 |
bouyer | As siop_morecbd() is called from the kernel thread, protect access to the queues with splbio.
|
1.49 |
| 12-Jan-2002 |
tsutsui | Call malloc(9) with M_ZERO flag instead of memset() after malloc().
|
1.48 |
| 13-Nov-2001 |
lukem | add/cleanup RCSID
|
1.47 |
| 14-Oct-2001 |
bouyer | Call siop_morecbd() only when scsipi ask us ADAPTER_REQ_GROW_RESOURCES. This prevent using bus_dmamem_map() from interrupt context. Should fix kern/13827.
|
1.46 |
| 19-Jul-2001 |
thorpej | Use BUS_DMA_READ and BUS_DMA_WRITE in some obvious places.
|
1.45 |
| 21-Jun-2001 |
bouyer | branches: 1.45.2; Also print DSA addr in a DIAGNOSTING printf.
|
1.44 |
| 23-May-2001 |
bouyer | Call scsipi_channel_thaw() after scsipi_done() so that command ordering is preserved.
|
1.43 |
| 30-Apr-2001 |
lukem | delint newline in string
|
1.42 |
| 25-Apr-2001 |
bouyer | Pull up the thorpej_scsipi branch to main branch. This is a completely rewritten scsipi_xfer execution engine, and the associated changes to HBA drivers. Overview of changes & features: - All xfers are queued in the mid-layer, rather than doing so in an ad-hoc fashion in individual adapter drivers. - Adapter/channel resource management in the mid-layer, avoids even trying to start running an xfer if the adapter/channel doesn't have the resources. - Better communication between the mid-layer and the adapters. - Asynchronous event notification mechanism from adapter to mid-layer and peripherals. - Better peripheral queue management: freeze/thaw, sorted requeueing during recovery, etc. - Clean separation of peripherals, adapters, and adapter channels (no more scsipi_link). - Kernel thread for each scsipi_channel makes error recovery much easier (no more dealing with interrupt context when recovering from an error). - Mid-layer support for tagged queueing: commands can have the tag type set explicitly, tag IDs are allocated in the mid-layer (thus eliminating the need to use buggy tag ID allocation schemes in many adapter drivers). - support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command will be requeued, or a REQUEST SENSE will be sent as appropriate.
Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
|
1.41 |
| 07-Mar-2001 |
thorpej | Add BUS_DMA_STREAMING to data transfer maps.
|
1.40 |
| 01-Mar-2001 |
thorpej | branches: 1.40.2; Differentiate a couple of similar error message, and add newlines on the end of them.
|
1.39 |
| 11-Feb-2001 |
bouyer | Avoid sending new commands to the device if it has sense pending: - run request sense command without disconnect - don't restart the script before siop_scsicmd_end has been called if the cmd didn't complete with good status. - reserve slot 0 for request sense, to make sure it'll be sent first.
|
1.38 |
| 26-Jan-2001 |
bouyer | Add a few siop_table_sync() calls.
|
1.37 |
| 14-Nov-2000 |
thorpej | branches: 1.37.2; NBPG -> PAGE_SIZE
|
1.36 |
| 23-Oct-2000 |
bouyer | Fixes related to QUEUE FULL status: - move status handling in siop_scsicmd_end(), it's better than in siop_intr() - define 2 internal SIOP status, for "no status reported by device" and reset condition - add a list of "urgent" command, to be executed before the list of command queued the normal way; this is used for command which got aborted by a QUEUE FULL and have to be requeued in order. - Don't accept to send a Q_TAG message not immediatly folowing a IDENTIFY
|
1.35 |
| 23-Oct-2000 |
bouyer | Rearrange for script changes (scheduler core in main script, command part of the scheduler in command table). Add tagged command queuing support.
|
1.34 |
| 21-Oct-2000 |
bouyer | Ops, sync the script DMA map when the script RAM *don't* exists.
|
1.33 |
| 19-Oct-2000 |
bouyer | Adapt for script change: don't assume Ent_lun_switch_entry == 0
|
1.32 |
| 18-Oct-2000 |
bouyer | Ops, add proper bus_dmamap_sync() calls for reselect switch operations.
|
1.31 |
| 18-Oct-2000 |
bouyer | Adapt for new lun switch script. Implement SCBUSACCEL ioctl. Snapshot of work in progress on tagged queuing: we can send/receive queue tag messages. Infrastructure to manage multiple commands per devices not here yet.
|
1.30 |
| 06-Oct-2000 |
bouyer | Ops, disable debugging messages.
|
1.29 |
| 06-Oct-2000 |
bouyer | Fix recurent typo: shed->sched
|
1.28 |
| 06-Oct-2000 |
bouyer | Adapt for reselect handling from the script. While here, fix typo (SIOP_SCXFER -> SIOP_SXFER).
|
1.27 |
| 27-Jul-2000 |
bouyer | Force 64bit arithmetic for timeout computation; a 32bit int opverflows for large timeouts. Should fix PR kern/10575.
|
1.26 |
| 24-Jul-2000 |
bouyer | create a funcion, siop_busreset(), to reset the scsibus. Reset the scsi bus at attach time, to be sure all devices start in narrow/async mode. Defer sync/wide negotiation until after whe have a valid xs->sc_link->device_softc, so that we can honnor the NOSYNC/NOWIDE quirks.
|
1.25 |
| 19-Jul-2000 |
pk | Fixx off-by-one error in handlereset().
|
1.24 |
| 28-Jun-2000 |
mrg | remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
|
1.23 |
| 26-Jun-2000 |
mrg | remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h> <vm/vm_inherit.h> -> <uvm/uvm_inherit.h> <vm/vm_kern.h> -> into <uvm/uvm_extern.h> <vm/vm_object.h> -> nothing <vm/vm_pager.h> -> into <uvm/uvm_pager.h>
also includes a bunch of <vm/vm_page.h> include removals (due to redudancy with <vm/vm.h>), and a scattering of other similar headers.
|
1.22 |
| 20-Jun-2000 |
bouyer | Patch from Eduardo Horvath: don't bus_dmamap_sync the script dma map if it lives in the on-chip RAM !
|
1.21 |
| 13-Jun-2000 |
bouyer | branches: 1.21.2; sheduler->scheduler, as pointed out by Klaus Klein
|
1.20 |
| 12-Jun-2000 |
bouyer | Handle "scsi bus mode change" interrupts on 895 and higther. Thanks to Hal Murray for reporting the problem and testing the fix.
|
1.19 |
| 07-Jun-2000 |
tsutsui | Adapt struct scsipi_adapter changes.
|
1.18 |
| 05-Jun-2000 |
bouyer | use the correct variable in a debug printf().
|
1.17 |
| 25-May-2000 |
bouyer | branches: 1.17.2; Separate the sheduler from the main script, allocate another DMA-safe memory page for the sheduler. Put the main script in the on-chip RAM when available. Avoid a null-pointer dereference when DSA is invalid.
|
1.16 |
| 23-May-2000 |
bouyer | Allocate dynamically the command block descriptors.
|
1.15 |
| 15-May-2000 |
bouyer | Don't enable debug message by default.
|
1.14 |
| 15-May-2000 |
bouyer | - split siop.c in script-dependant vs script-independant part, for comming esiop - add a reset callback for bus-dependant registers settings
|
1.13 |
| 11-May-2000 |
bouyer | Use correct divider value for scxfer
|
1.12 |
| 06-May-2000 |
soren | Typos.
|
1.11 |
| 05-May-2000 |
bouyer | Ops, restore sync/wide parameters after a reselect. Also, better handling of parity errors.
|
1.10 |
| 05-May-2000 |
bouyer | Rework the command queue, to avoid having commands blocked at the end of the queue. Load is now properly balanced across all disks of the same bus.
|
1.9 |
| 04-May-2000 |
bouyer | When a WDTR message is rejected, initiate sync negotiation anyway. When a SDTR message is rejected indicate that target is async Add a missing bus_dma_sync call.
|
1.8 |
| 04-May-2000 |
bouyer | - LP64 issues in debug printfs. - on a phase mismatch, do byte recovery only if we were in data phase. Otherwise just clear the fifo. - Properly handle reject of a sync or wide negotiation.
|
1.7 |
| 02-May-2000 |
bouyer | - do sync/wide negotiation - use a circular queue for the start slots, so that order has better chances to be preserved.
|
1.6 |
| 27-Apr-2000 |
bouyer | More big-endian fixes from Izumi Tsutsui.
|
1.5 |
| 27-Apr-2000 |
bouyer | Fix copyrigth notice.
|
1.4 |
| 26-Apr-2000 |
bouyer | Big-endian fixes from Izumi Tsutsui.
|
1.3 |
| 25-Apr-2000 |
bouyer | Ops, need to restore correct DSA value after a phase mismatch, we may have been interrupted during a S/G operation.
|
1.2 |
| 25-Apr-2000 |
bouyer | - Change the script to start new commands in an asyncronous way, using 'command slots' in which the host can put command and wait for the script to start them - Change siop.c to do full disconnect/reslelect, allowing as much as one command per target/lun to run in parallel. - Fix bug in registers init where a board without BIOS would end at ID 0 (now the driver works on alpha too). - better handling of messages, sending back a MSG_EXT_SDTR in response to an incoming MSG_EXT_SDTR, and MSG_MESSAGE_REJECT for unhandled messages. - fix use of bus_dmamap_sync() and htole32(). - supports shared interrups - change some int8 and int16 to int, for alpha and mips benefits ( suggested by Toru Nishimura)
|
1.1 |
| 21-Apr-2000 |
bouyer | Snapshot of work in progress: new driver for the NCR 53c8xx SCSI controller (the name 'siop' is still being discussed, may change). Only basic disconnect/reselect for now, no sync/wide negotiation. Tested with 810A, 875 and 895 on i386 only. The bus-independant part should also be able to handle the 53c720 and 53c770. A new driver with enhanced script should appear for the 825/875/895 'soon'.
|
1.17.2.1 |
| 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.21.2.8 |
| 05-Jan-2002 |
he | Pull up revision 1.47 (via patch, requested by bouyer): Don't call siop_morecbd() in interrupt context, but pre-allocate CBD at probe time instead. Fixes PR#13827, PR#14866 and PR#15048.
|
1.21.2.7 |
| 26-Feb-2001 |
he | Pull up revision 1.39 (requested by bouyer): Don't queue new commands to a device which has sense pending.
|
1.21.2.6 |
| 04-Feb-2001 |
he | Pull up revision 1.38 (requested by bouyer): Add missing bus_dmamap_sync() calls.
|
1.21.2.5 |
| 15-Dec-2000 |
he | Pull up revisions 1.23-1.24,1.28-1.36 (requested by bouyer): Speed improvements to the siop driver, and add tagged queueing support. As a side effect, better handling of some not so common phase or message sequences.
|
1.21.2.4 |
| 03-Oct-2000 |
bouyer | Pull up 1.24->1.25 (approved by thorpej): fix off by one error.
|
1.21.2.3 |
| 30-Jul-2000 |
bouyer | pull up 1.26->1.27, approved by jhawk: Fixes 32bit interger overflow with large timeout. Fixes kern/10575.
|
1.21.2.2 |
| 24-Jul-2000 |
bouyer | Pull up (approved by thorpej): sys/dev/ic/siop.c 1.25->1.26 sys/dev/ic/siop_common.c 1.5->1.6 sys/dev/ic/siopvar_common.h 1.3->1.4
create a funcion, siop_busreset(), to reset the scsibus. Reset the scsi bus at attach time, to be sure all devices start in narrow/async mode. Defer sync/wide negotiation until after whe have a valid xs->sc_link->device_softc, so that we can honnor the NOSYNC/NOWIDE quirks.
|
1.21.2.1 |
| 26-Jun-2000 |
bouyer | Pull up 1.22, approved by thorpej: don't bus_dmamap_sync the script dma map if it lives in the on-chip RAM.
|
1.37.2.12 |
| 03-Apr-2001 |
bouyer | Ops, unfreeze the queue after a reset too.
|
1.37.2.11 |
| 03-Apr-2001 |
bouyer | Remove local command queue; if we run out of start slots, just freeze the channel; and unfreeze it at the first command complete.
|
1.37.2.10 |
| 14-Mar-2001 |
bouyer | Add BUS_DMA_STREAMING for the data map, it really helps for sparc64.
|
1.37.2.9 |
| 12-Mar-2001 |
bouyer | Sync with HEAD.
|
1.37.2.8 |
| 11-Feb-2001 |
bouyer | Sync with HEAD.
|
1.37.2.7 |
| 22-Jan-2001 |
bouyer | Put URGENT requests in the urgent queue When we get CHECK CONDITION, remove and requeue all xfer for this T/L that have not yet been queued in the device (still in a scheduler slot or in the queues), otherwise if one of them is accepted before the request sense, sense will be lost. Don't allow disconnect for REQUEST SENSE commands, as others drivers do.
|
1.37.2.6 |
| 15-Jan-2001 |
bouyer | Pass CHECK CONDITION status and reset events to the mid-layer.
|
1.37.2.5 |
| 15-Dec-2000 |
bouyer | Tell the upper layer we can do tagged queuing, so that it sends us more than one concurent command. Leave the handling of QUEUE FULL events to the upper layer.
|
1.37.2.4 |
| 14-Dec-2000 |
bouyer | Convert to thorpej_scsipi interface. Still some work to do to get all benefits of the new middle layer, but it works.
|
1.37.2.3 |
| 22-Nov-2000 |
bouyer | Sync with HEAD.
|
1.37.2.2 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.37.2.1 |
| 14-Nov-2000 |
bouyer | file siop.c was added on branch thorpej_scsipi on 2000-11-20 11:40:54 +0000
|
1.40.2.11 |
| 11-Nov-2002 |
nathanw | Catch up to -current
|
1.40.2.10 |
| 01-Aug-2002 |
nathanw | Catch up to -current.
|
1.40.2.9 |
| 20-Jun-2002 |
nathanw | Catch up to -current.
|
1.40.2.8 |
| 17-Apr-2002 |
nathanw | Catch up to -current.
|
1.40.2.7 |
| 01-Apr-2002 |
nathanw | Catch up to -current. (CVS: It's not just a program. It's an adventure!)
|
1.40.2.6 |
| 28-Feb-2002 |
nathanw | Catch up to -current.
|
1.40.2.5 |
| 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.40.2.4 |
| 22-Oct-2001 |
nathanw | Catch up to -current.
|
1.40.2.3 |
| 24-Aug-2001 |
nathanw | Catch up with -current.
|
1.40.2.2 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.40.2.1 |
| 09-Apr-2001 |
nathanw | Catch up with -current.
|
1.45.2.6 |
| 06-Sep-2002 |
jdolecek | sync kqueue branch with HEAD
|
1.45.2.5 |
| 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.45.2.4 |
| 16-Mar-2002 |
jdolecek | Catch up with -current.
|
1.45.2.3 |
| 11-Feb-2002 |
jdolecek | Sync w/ -current.
|
1.45.2.2 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.45.2.1 |
| 03-Aug-2001 |
lukem | update to -current
|
1.60.2.3 |
| 29-Aug-2002 |
gehenna | catch up with -current.
|
1.60.2.2 |
| 20-Jul-2002 |
gehenna | catch up with -current.
|
1.60.2.1 |
| 30-May-2002 |
gehenna | Catch up with -current.
|
1.62.2.6 |
| 14-Dec-2005 |
jmc | Pullup via patch (requested in ticket #5957 by bouyer) Some drives disconnect after the last data phase without a save data pointer message. In such case we would not update resid with the proper value (eventually resid would not be updated at all if there was only one data phase). To fix this, have the script save the offset in the data tables at disconnect time if there was a transfer, and use this to compute the resid if the current offset is 0. PR#31990
|
1.62.2.5 |
| 19-Mar-2005 |
tron | Pull up revision 1.76 (requested by bouyer in ticket #1753): Add missing return, fix handling of Ignore Wide Residue messages.
|
1.62.2.4 |
| 19-Mar-2005 |
tron | Pull up revision 1.75 (requested by bouyer in ticket #1751): Add support for the Ignore Wide Residue SCSI message.
|
1.62.2.3 |
| 17-Mar-2005 |
tron | Pull up revision 1.74 (requested by bouyer in ticket #1750): when an unexpected disconnect occurs only compute the resid; do the real save data pointers when we get the message (or rather, at disconnect time following the message). Factor out code to do this, and to deal with xs->resid, in siop_common.c.
|
1.62.2.2 |
| 17-Mar-2005 |
tron | Pull up revision 1.73 (requested by bouyer in ticket #1749): Properly compute xs->resid, instead of assuming it'll always be 0 when a command is done.
|
1.62.2.1 |
| 11-Dec-2002 |
he | Pull up revision 1.65 (requested by bouyer in ticket #975): In siop_reset(), reset sc_ntargets to 0; it will be computed again in siop_add_reselsw(). In siop_reset(), reset the tag reseloff to 0, in addition to the lun reseloff. If siop_add_dev() fails this time, we would use the old reseloff, clobbering memory new used for something else.
|
1.66.2.7 |
| 11-Dec-2005 |
christos | Sync with head.
|
1.66.2.6 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.66.2.5 |
| 04-Feb-2005 |
skrll | Sync with HEAD.
|
1.66.2.4 |
| 19-Oct-2004 |
skrll | Sync with HEAD
|
1.66.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.66.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.66.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.72.4.5 |
| 01-Dec-2005 |
riz | Pull up following revision(s) (requested by bouyer in ticket #10168): sys/dev/ic/siop.c: revision 1.79 via patch sys/dev/ic/siopvar_common.h: revision 1.33 via patch sys/dev/ic/esiopvar.h: revision 1.13 via patch sys/dev/ic/esiop.c: revision 1.34 via patch sys/dev/microcode/siop/esiop.ss: revision 1.20 via patch sys/dev/ic/siopvar.h: revision 1.22 via patch sys/dev/microcode/siop/siop.ss: revision 1.20 via patch Some drives disconnect after the last data phase without a save data pointer message. In such case we would not update resid with the proper value (eventually resid would not be updated at all if there was only one data phase). To fix this, have the script save the offset in the data tables at disconnect time if there was a transfer, and use this to compute the resid if the current offset is 0. Problem reported and patch tested by edwin, Roy Bixler and YAMAMOTO Takashi. Fix kern/31990 by YAMAMOTO Takashi.
|
1.72.4.4 |
| 11-May-2005 |
snj | branches: 1.72.4.4.2; Pull up revision 1.76 (requested by bouyer in ticket #1367): Add missing return, fix handling of Ignore Wide Residue messages.
|
1.72.4.3 |
| 11-May-2005 |
snj | Pull up revision 1.75 (requested by bouyer in ticket #1366): Add support for the Ignore Wide Residue SCSI message.
|
1.72.4.2 |
| 11-May-2005 |
snj | Pull up revision 1.74 (requested by bouyer in ticket #1365): when an unexpected disconnect occurs only compute the resid; do the real save data pointers when we get the message (or rather, at disconnect time following the message). Factor out code to do this, and to deal with xs->resid, in siop_common.c.
|
1.72.4.1 |
| 11-May-2005 |
snj | Pull up revision 1.73 (requested by bouyer in ticket #1364): Properly compute xs->resid, instead of assuming it'll always be 0 when a command is done.
|
1.72.4.4.2.1 |
| 01-Dec-2005 |
riz | Pull up following revision(s) (requested by bouyer in ticket #10168): sys/dev/ic/siop.c: revision 1.79 via patch sys/dev/ic/siopvar_common.h: revision 1.33 via patch sys/dev/ic/esiopvar.h: revision 1.13 via patch sys/dev/ic/esiop.c: revision 1.34 via patch sys/dev/microcode/siop/esiop.ss: revision 1.20 via patch sys/dev/ic/siopvar.h: revision 1.22 via patch sys/dev/microcode/siop/siop.ss: revision 1.20 via patch Some drives disconnect after the last data phase without a save data pointer message. In such case we would not update resid with the proper value (eventually resid would not be updated at all if there was only one data phase). To fix this, have the script save the offset in the data tables at disconnect time if there was a transfer, and use this to compute the resid if the current offset is 0. Problem reported and patch tested by edwin, Roy Bixler and YAMAMOTO Takashi. Fix kern/31990 by YAMAMOTO Takashi.
|
1.76.6.2 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.76.6.1 |
| 12-Feb-2005 |
yamt | sync with head.
|
1.76.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.78.10.1 |
| 22-Nov-2005 |
yamt | sync with head.
|
1.78.4.4 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.78.4.3 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.78.4.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.78.4.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.78.2.1 |
| 21-Nov-2005 |
tron | Pull up following revision(s) (requested by bouyer in ticket #973): sys/dev/ic/siop.c: revision 1.79 sys/dev/ic/siopvar_common.h: revision 1.33 sys/dev/ic/esiopvar.h: revision 1.13 sys/dev/ic/esiop.c: revision 1.34 sys/dev/microcode/siop/esiop.ss: revision 1.20 sys/dev/ic/siopvar.h: revision 1.22 sys/dev/microcode/siop/siop.ss: revision 1.20 Some drives disconnect after the last data phase without a save data pointer message. In such case we would not update resid with the proper value (eventually resid would not be updated at all if there was only one data phase). To fix this, have the script save the offset in the data tables at disconnect time if there was a transfer, and use this to compute the resid if the current offset is 0. Problem reported and patch tested by edwin, Roy Bixler and YAMAMOTO Takashi. Fix kern/31990 by YAMAMOTO Takashi.
|
1.80.22.1 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.80.20.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.82.4.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.83.18.1 |
| 06-Oct-2007 |
yamt | sync with head.
|
1.83.16.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.83.14.2 |
| 26-Oct-2007 |
joerg | Sync with HEAD.
Follow the merge of pmap.c on i386 and amd64 and move pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup code to restore CR4 before jumping back into kernel space as the large page option might cover that.
|
1.83.14.1 |
| 02-Oct-2007 |
joerg | Sync with HEAD.
|
1.83.2.2 |
| 23-Oct-2007 |
ad | Sync with head.
|
1.83.2.1 |
| 09-Oct-2007 |
ad | Sync with head.
|
1.84.2.1 |
| 25-Oct-2007 |
bouyer | Sync with HEAD.
|
1.85.16.2 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.85.16.1 |
| 03-Apr-2008 |
mjf | Sync with HEAD.
|
1.87.18.2 |
| 23-Jul-2009 |
jym | Sync with HEAD.
|
1.87.18.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.87.14.2 |
| 20-Nov-2010 |
riz | Fix patch from ticket 1390; bad merge from -current to netbsd-5.
|
1.87.14.1 |
| 20-Nov-2010 |
riz | Pull up following revision(s) (requested by mhitch in ticket #1390): sys/dev/ic/siop.c: revision 1.95 sys/dev/ic/esiop.c: revision 1.52 Improve error paths in (e)siop_scsipi_request(): - When terminating the adapter request after the cmd has been removed from the free list, put that cmd back on the free list before returing. - Correctly indicate which bus_dma_load() failed. Analysis and fix from Michael L. Hitch in PR/42844.
|
1.87.12.1 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.87.4.6 |
| 09-Oct-2010 |
yamt | sync with head
|
1.87.4.5 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.87.4.4 |
| 11-Mar-2010 |
yamt | sync with head
|
1.87.4.3 |
| 16-Sep-2009 |
yamt | sync with head
|
1.87.4.2 |
| 16-May-2009 |
yamt | sync with head
|
1.87.4.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.94.4.2 |
| 05-Mar-2011 |
rmind | sync with head
|
1.94.4.1 |
| 30-May-2010 |
rmind | sync with head
|
1.94.2.3 |
| 22-Oct-2010 |
uebayasi | Sync with HEAD (-D20101022).
|
1.94.2.2 |
| 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.94.2.1 |
| 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.98.22.1 |
| 18-May-2014 |
rmind | sync with head
|
1.98.18.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.98.8.1 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.100.46.1 |
| 21-Mar-2021 |
thorpej | Give config_found() the same variadic arguments treatment as config_search(). This commit only adds the CFARG_EOL sentinel to the existing config_found() calls. Conversion of config_found_sm_loc() and config_found_ia() call sites will be in subsequent commits.
|
1.101.8.1 |
| 04-Aug-2021 |
thorpej | Adapt to CFARGS().
|