| History log of /src/sys/dev/ic/aic79xx.c |
| Revision | | Date | Author | Comments |
| 1.70 |
| 02-Feb-2024 |
andvar | fix various typos in comments.
|
| 1.69 |
| 01-Aug-2023 |
andvar | s/diable/disable/ in comments.
|
| 1.68 |
| 23-May-2022 |
andvar | s/boundries/boundaries/, s/itterate/iterate/ and few more typos.
|
| 1.67 |
| 22-May-2022 |
andvar | fix various small typos, mainly in comments.
|
| 1.66 |
| 16-Apr-2022 |
andvar | s/strickly/strictly/
|
| 1.65 |
| 07-Apr-2022 |
andvar | fix various typos in comments.
|
| 1.64 |
| 08-Mar-2022 |
andvar | fix few typos in comments.
|
| 1.63 |
| 05-Dec-2021 |
msaitoh | Fix typo again... s/Expilcitly/Explicitly/
|
| 1.62 |
| 05-Dec-2021 |
msaitoh | s/runable/runnable/
|
| 1.61 |
| 05-Dec-2021 |
msaitoh | s/programatic/programmatic/ in comment.
|
| 1.60 |
| 05-Dec-2021 |
msaitoh | s/explcit/expilcit/ in comment.
|
| 1.59 |
| 25-Oct-2021 |
ryo | fix "error: stack usage might be unbounded [-Werror=stack-usage=]" with COPTS=-O0
|
| 1.58 |
| 16-Sep-2021 |
andvar | fix typos in word "successful".
|
| 1.57 |
| 24-Jul-2021 |
andvar | Fix all remaining typos, mainly in comments but also in few definitions and log messages, reported by me in PR kern/54889. Also fixed some additional typos in comments, found on review of same files or typos.
|
| 1.56 |
| 27-Jun-2020 |
jdolecek | branches: 1.56.6; constify, NFCI
|
| 1.55 |
| 27-Jun-2020 |
jdolecek | small constify
|
| 1.54 |
| 27-Jun-2020 |
jdolecek | mark ahc_loadseq()/ahd_loadseq() as __noinline to avoid 'stack usage might get unbounded' - seems the variable-length array using const variable is misinterpreted as unbounded when inlined
|
| 1.53 |
| 27-Dec-2019 |
msaitoh | s/sucess/success/ in comment.
|
| 1.52 |
| 10-Nov-2019 |
chs | in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT and remove code to handle failures that can no longer happen.
|
| 1.51 |
| 04-Feb-2019 |
mrg | add or adjust fallthru comments.
|
| 1.50 |
| 18-Oct-2014 |
snj | branches: 1.50.20; src is too big these days to tolerate superfluous apostrophes. It's "its", people!
|
| 1.49 |
| 17-Apr-2014 |
christos | put back missing arg
|
| 1.48 |
| 17-Apr-2014 |
christos | CID/1203192, CID/1203193: Out of bounds read
|
| 1.47 |
| 27-Mar-2014 |
christos | branches: 1.47.2; cleanup debugging printfs to avoid overflow
|
| 1.46 |
| 17-Oct-2013 |
christos | - remove unused variables - move variables inside ifdef sections - ifdef notdef unused code - use __USE for debugging variables
|
| 1.45 |
| 02-Jul-2011 |
mrg | branches: 1.45.2; 1.45.12; 1.45.16; avoid -Wenum-compare issue.
|
| 1.44 |
| 03-Sep-2009 |
tsutsui | - wrap long lines - remove unnecessary casts against void pointers
|
| 1.43 |
| 02-Sep-2009 |
tsutsui | TAB vs space cleanup.
|
| 1.42 |
| 02-Sep-2009 |
tsutsui | Replace shutdownhook_establish(9) with pmf_device_register1(9). Untested, but mostly copied from ahc(4).
This may fix reboot failure problem on ahd(4) after pmf(9) merge: http://mail-index.NetBSD.org/current-users/2007/12/10/0008.html which was also seen on old ahc(4): http://mail-index.NetBSD.org/port-sgimips/2008/01/05/msg000003.html
|
| 1.41 |
| 18-Mar-2009 |
cegger | bzero -> memset
|
| 1.40 |
| 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.39 |
| 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.38 |
| 21-Mar-2008 |
dyoung | branches: 1.38.4; 1.38.10; 1.38.12; 1.38.18; Use aprint_*_dev(), and device_xname(). Constify a bit.
|
| 1.37 |
| 04-Mar-2007 |
christos | branches: 1.37.16; 1.37.32; 1.37.36; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
| 1.36 |
| 16-Nov-2006 |
christos | branches: 1.36.4; __unused removal on arguments; approved by core.
|
| 1.35 |
| 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
| 1.34 |
| 08-Mar-2006 |
lukem | branches: 1.34.10; 1.34.12; Use the SI capitalization for "Hz", "kHz", and "MHz" in comments and strings. Add a space between numbers and Hz unit.
|
| 1.33 |
| 24-Dec-2005 |
perry | branches: 1.33.4; 1.33.6; 1.33.8; 1.33.10; Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
| 1.32 |
| 28-Nov-2005 |
bouyer | Don't call alloc_scb() (which can call bus_dmamem_alloc/map) from ADAPTER_REQ_RUN_XFER context (which can be interrupt context), defer this to the ADAPTER_REQ_GROW_RESOURCES callback. Fix a panic in uvm reported by John R. Shannon on port-xen; patch tested on ahc by me and on ahd by John.
|
| 1.31 |
| 30-May-2005 |
christos | branches: 1.31.2; 1.31.8; - add missing const - fix variable shadowing - remove unneeded casts
|
| 1.30 |
| 27-Feb-2005 |
perry | branches: 1.30.2; nuke trailing whitespace
|
| 1.29 |
| 21-Feb-2005 |
thorpej | Part 1 of a cleanup pass over the SCSI subsystem. The aim is to name everything "scsi_*", since we really are talking about the SCSI command set, ATAPI transport not withstanding. Improve the names of many structures, and prepend "SCSI_" onto all SCSI command opcodes. Place items described by the SCSI Primary Commands document into scsi_spc.h.
|
| 1.28 |
| 21-Apr-2004 |
itojun | branches: 1.28.4; 1.28.6; avoid unbounded sprintf(), use snprintf()
|
| 1.27 |
| 13-Feb-2004 |
wiz | branches: 1.27.2; 1.27.4; 1.27.6; Uppercase CPU, plural is CPUs.
|
| 1.26 |
| 02-Nov-2003 |
wiz | Fix some typos. From Tom Cosgrove via jmc@openbsd.
|
| 1.25 |
| 10-Oct-2003 |
fvdl | Don't zap the lower 16 bits of the command/status register when clear error bits.
|
| 1.24 |
| 10-Oct-2003 |
briggs | Properly clear any latched errors before re-enabling SERR/PERR for PCI-X in ahd_reset().
|
| 1.23 |
| 30-Sep-2003 |
briggs | Make sure that we don't blow away the enables in ahd_reset() on PCI-X.
|
| 1.22 |
| 02-Sep-2003 |
fvdl | * Make the ahc and ahd probes more alike. * Remove some redundant code. * ahd: Don't initiate negotiation for a discovery xs when the negotiation goal is set. Just looking at the auto_negotiate mask is enough, and it can cause an endless loop if the request gets requeued (happens with a of a PPR negotiation, which ends with a busfree).
|
| 1.21 |
| 29-Aug-2003 |
thorpej | Apply the following change from 06/28/2003 04:46:54 by gibbs to the FreeBSD ahd driver:
Fix a race condition in the flushing of commands that have completed across the bus but not to the host before processing of an exception condition (busfree, bus reset, etc.). When flushing the controller of completed commands, we also look for packetized commands that have completed with good status and are stored in the "good status fifo". The hardware will post to the good status fifo even if data for that command is still active in a FIFO. In one particular failure case, a command outstanding on the bus reconnected, transferred data into a FIFO, and provided good status while the host driver was processing an expected busfree event (PPR message negotiation). This resulted in an entry in the good status fifo that we completed, but since the sequencer was paused, the data in the data FIFO for this command had never been transferred to the host. Once the busfree processing was complete, the sequencer was unpaused, and the data completed its transfer to the host. In some instances, the client for the data was notified of the completion and attempted to view the data before it arrived. This case only occurred during FreeBSD's multi-target probe of the SCSI bus while some devices are negotiating to go packetized and some devices are already running in packetized.
The fix is to run and FIFOs active with a context in the good status fifo to completion before completing the command to the SCSI layer. This requies duplicating the FIFO rundown operations in the host driver that would usually be handled by the firmware, but there is no other alternative.
Don't blindly shutdown the SCB dma engine when restarting the sequencer. We may be killing an operation that is not supposed to be cancelled. The cases where we need to shutdown these dma engines are already handled elsewhere in the driver.
Fix a few more ahd_in?() -> ahd_in?_scbram() instances.
|
| 1.20 |
| 29-Aug-2003 |
thorpej | Apply the following change from 06/28/2003 04:45:25 by gibbs to the FreeBSD ahd driver:
aic79xx.h: Add softc flag to indicate that we have seen at least one selection since the last bus reset or SE/LVD bus change.
aic79xx.c: Fix a few style nits.
In ahd_update_pending_scbs(), only touch card registers once we have found an SCB that needs to be updated. This removes lots of clutter from PCI traces taken of error recovery performed by the driver.
Short circuit the first selection iocell workaround handler if we've run once since the last bus reset or iocell change. This also removes clutter from PCI traces.
Note if completions are pending in the qoutfifo when we dump card state.
|
| 1.19 |
| 29-Aug-2003 |
thorpej | Apply the following change from 06/28/2003 04:42:11 by gibbs to the FreeBSD ahd driver:
Correct a typo in a comment.
Add a comment in ahd_clear_critical_sections() about our need to leave ENBUSFREE set in SIMODE1 while single stepping.
Re-arrange some delay loops so that we always perform a read after any register write and before the delay. This should make the delay loop more accurate.
When completing message processing for a packetized commention, return the controller to a state where invalid non-packetized phases will still cause protocol violations. These are the same operations as those performed in the clear_target_state routine in the firmware.
Now that we have a chip with working ABORTPENDING support (the 7901B), comment out the automatic use of this feature until we can adequately test it. The previous checkin updated the bug mask for the 7901B so this code was exercised.
When resetting the bus, perform an ahd_flush_device_writes() call so that our reset assertion delay is acurately timed from when the reset bit is written to the controller.
|
| 1.18 |
| 29-Aug-2003 |
thorpej | Apply the following change from 07-23-2003 22:06:34 by gibbs to the FreeBSD ahd driver:
Add parenthesis so that we get all of the bits all of the contents of the CCSCBCTL register into our local varaible. The other bits are used in later tests. This avoids a potential deadlock in ahd_run_qoutfifo() if we happen to catch the DMA engine in just the right state.
|
| 1.17 |
| 29-Aug-2003 |
thorpej | Apply the following change from 07/06/2003 23:53:39 by gibbs to the FreeBSD ahd driver:
When single stepping, only leave ENBUSFREE enabled if it was already enabled. We don't want to set it when it shouldn't be set, we just don't want to inadvertantly turn it off. This should fix a recent report of the aic7xxx driver repeatedly complaining of "unexpected busfree while idle" in one configuration.
|
| 1.16 |
| 29-Aug-2003 |
thorpej | Apply the following change made 06/06/2003 23:51:13 by gibbs to the FreeBSD ahd driver:
Work around SCSI spec violation by the Quantum Atlas 10K. This drive delays going async after receiving a WDTR message. We now send an SDTR message after a WDTR even if our goal is to go async. This should work even for confused devices.
If we get an unexpected busfree when attempting a WDTR or SDTR, only set the goal negotiation parameters we were trying to negotiate to off. This means that should a WDTR message fail, we will still try an SDTR if our goal is non-async.
Fix a few more places where we were looking at goal.period instead of goal.offset for determining if we should be negotiating sync. This should not have any impact on our behavior, but the offset is more definitive and should be used.
|
| 1.15 |
| 29-Aug-2003 |
thorpej | Apply the following change from 6/6/2003 23:48:18 by gibbs to the FreeBSD ahd driver:
aic7770.c: aic79xx.c: aic79xx.h: aic79xx_pci.c: aic7xxx.c: aic7xxx.h: aic7xxx_pci.c: Switch ah?_reset() to take an additional "reinit" argument. Use this instead of init_level to determin if the chip should be fully reinitialized after a chip reset. This is required so that ah?_shutdown() can reset the chip without side-effects.
|
| 1.14 |
| 29-Aug-2003 |
thorpej | Update FreeBSD RCS ID for last.
|
| 1.13 |
| 29-Aug-2003 |
thorpej | Apply the following change from 5/30/2003 02:15:15 made by scottl to the FreeBSD ahd driver:
aic79xx.c: Use the special LUNLEN_SINGLE_LEVEL constant for post Rev A4 hardware for single byte luns. Without this change, Rev B hardware would place the single byte of lun data in byte 0 of the lun structure when it should be in byte 1. Since there are few if any devices on the market that support multiple luns in target mode, the corrupted lun field (which was only corrupted for non-zero luns) wasn't hurting us.
Approved by: re (rwatson)
|
| 1.12 |
| 29-Aug-2003 |
thorpej | Apply the following change made on 5/26/2003 21:43:29 by gibbs to the FreeBSD ahd driver:
aic79xx.c: aic79xx_osm.h: aic7xxx_osm.h: Explicitly define functions that take no arguments with "(void)"
Approved by: RE
|
| 1.11 |
| 29-Aug-2003 |
thorpej | Apply the following change made on 5/26/2003 21:26:51 by gibbs to the FreeBSD ahd driver:
Correct/Simplify ignore wide residue message handling
aic79xx.c: In ahd_handle_ign_wide_residue(): o Use SCB_XFERLEN_ODD SCB field to determine transfer "oddness" rather than the DATA_COUNT_ODD logic. SCB_XFERLEN_ODD is toggled on every ignore wide residue message so that multiple ignore wide residue messages for the same transaction are properly supported. o If the sg list has been exausted, the sequencer doesn't bother to update the residual data count since it is known to be zero. Perform the zeroing manually before calculating the remaining data count. o Use multibyte in/out macros instead of shifting/masking by hand.
aic79xx_inline.h: In ahd_setup_scb_common(), setup the SCB_XFERLEN_ODD field.
aic79xx.reg: Use the SCB_TASK_ATTRIBUTE field as a bit field in the non-packetized case. We currently only define one bit, SCB_XFERLEN_ODD.
Remove the ODD_SEG bit field that was used to carry the odd transfer length information through the SG cache. This is obviated by SCB_XFERLEN_ODD field.
Remove the DATA_COUNT_ODD scratch ram byte that was used dynamicaly compute data transfer oddness. This is obviated by SCB_XFERLEN_ODD field.
aic79xx.seq: Remove all updates to the DATA_COUNT_ODD scratch ram field. Remove all uses of ODD_SEG. These two save quite a few sequencer instructions.
Use SCB_XFERLEN_ODD to validate the end of transfer ignore wide residue message case.
|
| 1.10 |
| 29-Aug-2003 |
thorpej | Apply the following change made 5/26/2003 21:18:48 by gibbs to the FreeBSD ahd driver:
Change hadling of the Rev. A packetized lun output bug to be more efficient by having the sequencer copy the single byte of valid lun data into the long lun field.
aic79xx.c: Memset our hardware SCB to 0 so that untouched fields don't confuse diagnostic output. With the old method for handling the Rev A bug, if the long lun field was not 0, this could result in bogus lun information being sent to drives.
Use the same SCB transfer size for all chip types now that the long lun is not DMA'ed to the chip.
aic79xx.seq: Add code to copy lun information for Rev.A hardware.
aic79xx_inline.h: Remove host update of the long_lun field on every packetized command.
|
| 1.9 |
| 29-Aug-2003 |
thorpej | Apply the following change checked in 2003/05/04 00:20:07 by gibbs to the FreeBSD ahd driver:
Correct spelling errors.
Switch to handling bad SCSI status as a sequencer interrupt instead of having the kernel proccess these failures via the completion queue. This is done because:
o The old scheme required us to pause the sequencer and clear critical sections for each SCB. It seems that these pause actions, if coincident with a sequencer FIFO interrupt, would result in a FIFO interrupt getting lost or directing to the wrong FIFO. This caused hangs when the driver was stressed under high "queue full" loads. o The completion code assumed that it was always called with the sequencer running. This may not be the case in timeout processing where completions occur manually via ahd_pause_and_flushwork(). o With this scheme, the extra expense of clearing critical sections is avoided since the sequencer will only self pause once all pending selections have cleared and it is not in a critical section.
aic79xx.c Add code to handle the new BAD_SCB_STATUS sequencer interrupt code. This just redirects the SCB through the already existing ahd_complete_scb() code path. Remove code in ahd_handle_scsi_status() that paused the sequencer, made sure that no selections where pending, and cleared critical sections. Bad status SCBs are now only processed when all of these conditions are true.
aic79xx.reg: Add the BAD_SCB_STATUS sequencer interrupt code.
aic79xx.seq: When completing an SCB upload to the host, if we are doing this because the SCB contains non-zero SCSI status, defer completing the SCB until there are no pending selection events. When completing these SCBs, use the new BAD_SCB_STATUS sequencer interrupt. For all other uploaded SCBs (currently only for underruns), the SCB is completed via the normal done queue. Additionally, keep the SCB that is currently being uploaded on the COMPLETE_DMA_SCB list until the dma is completed, not just until the DMA is started. This ensures that the DMA is restarted properly should the host disable the DMA transfer for some reason.
In our RevA workaround for Maxtor drives, guard against the host pausing us while trying to pause I/O until the first data-valid REQ by clearing the current snapshot so that we can tell if the transfer has completed prior to us noticing the REQINIT status.
In cfg4data_intr, shave off an instruction before getting the data path running by adding an entrypoint to the overrun handler to also increment the FIFO use count.
In the overrun handler, be sure to clear our LONGJMP address in both exit paths.
Perform a few sequencer optimizations.
aic79xx.c: Print the full path from the SCB when a packetized status overrun occurs.
Remove references to LONGJMP_SCB which is being removed from firmware usage.
Print the new SCB_FIFO_USE_COUNT field in the per-SCB section of ahd_dump_card_state(). The SCB_TAG field is now re-used by the sequencer, so it no longer makes sense to reference this field in the kernel driver.
aic79xx.h: Re-arrange fields in the hardware SCB from largest size type to smallest. This makes it easier to move fields without changing field alignment.
The hardware scb tag field is now down near the "spare" portion of the SCB to facilitate reuse by the sequencer.
aic79xx.reg: Remove LONGJMP_ADDR.
Rearrange SCB fields to match aic79xx.h. Add SCB_FIFO_USE_COUNT as the first byte of the SCB_TAG field.
aic79xx.seq: Add a per-SCB "Fifos in use count" field and use it to determine when it is safe (all data posted) to deliver status back to the host. The old method involved polling one or both FIFOs to verify that the current task did not have pending data. This makes running down the GSFIFO very cheap, so we will empty the GSFIFO in one idle loop pass in all cases.
Use this simplification of the completion process to prune down the data FIFO teardown sequencer for packetized transfers. Much more code is now shared between the data residual and transfer complete cases.
Correct some issues in the packetized status handler. It used to be possible to CLRCHN our FIFO before status had fully transferred to the host. We also failed to handle NONPACKREQ phases that could occur should a CRC error occur during transmission of the status data packet.
Correct a few big endian issues:
aic79xx.c: aic79xx_inline.h: aic79xx_pci.c: aic79xx_osm.c: o Always get the SCB's tag via the SCB_GET_TAG acccessor o Add missing use of byte swapping macros when touching hscb fields. o Don't double swap SEEPROM data when it is printed. Correct a big-endian bug. We cannot assign a o When assigning a 32bit LE variable to a 64bit LE variable, we must be explict about how the words of the 64bit LE variable are initialized. Cast to (uint32_t*) to do this.
aic79xx.c: In ahd_clear_critical_section(), hit CRLSCSIINT after restoring the interrupt masks to avoid what appears to be a glitch on SCSIINT. Any real SCSIINT status will be persistent and will immidiately reset SCSIINT. This clear should only get rid of spurious SCSIINTs.
This glitch was the cause of the "Unexpected PKT busfree" status that occurred under high queue full loads
Call ahd_fini_scbdata() after shutdown so that any ahd_chip_init() routine that might access SCB data will not access free'd memory.
Reset the bus on an IOERR since the chip doesn't seem to reset to the new voltage level without this. Change offset calculation for scatter gather maps so that the calculation is correct if an integral multiple of sg lists does not fit in the allocation size.
Adjust bus dma tag for data buffers based on 39BIT addressing flag in our softc.
Use the QFREEZE count to simplify ahd_pause_and_flushworkd(). We can thus rely on the sequencer eventually clearing ENSELO.
In ahd_abort_scbs(), fix a bug that could potentially corrupt sequencer state. The saved SCB was being restored in the SCSI mode instead of the saved mode. It turns out that the SCB did not need to be saved at all as the scbptr is already restored by all subroutines called during this function that modify that register.
aic79xx.c: aic79xx.h: aic79xx_pci.c: Add support for parsing the seeprom vital product data. The VPD data are currently unused.
aic79xx.h: aic79xx.seq: aic79xx_pci.c: Add a firmware workaround to make the LED blink brighter during packetized operations on the H2A.
aic79xx_inline.h: The host does not use timer interrupts, so don't gate our decision on whether or not to unpause the sequencer on whether or not a timer interrupt is pending.
|
| 1.8 |
| 28-Aug-2003 |
thorpej | Make sure we consistently report DT when sending an xfer mode async event.
|
| 1.7 |
| 26-Jul-2003 |
thorpej | Make this work on systems where bus_dmamap_sync() is not a noop. In particular, when doing the "swap hscbs" trick, the scb must reference the correct hscb_map when it gets a new hscb, otherwise when you go to sync an hscb later, you could end up using the wrong dmamap.
In order to make this work, we have to convert the shared_data stuff to use a map_node, because of the "sentinel" trick played with the initial "next_hscb".
This driver now works on XScale-based platforms.
|
| 1.6 |
| 14-Jul-2003 |
lukem | add missing __KERNEL_RCSID()
|
| 1.5 |
| 14-May-2003 |
wiz | branches: 1.5.2; Correct spelling of coalesce. (Will forward to Justin Gibbs.)
|
| 1.4 |
| 03-May-2003 |
wiz | DMA, not dma nor Dma.
|
| 1.3 |
| 21-Apr-2003 |
fvdl | Remove unused variable.
|
| 1.2 |
| 21-Apr-2003 |
fvdl | Remove trigraph.
|
| 1.1 |
| 21-Apr-2003 |
fvdl | ahd, driver for Adaptec 790x U320 controllers. Originally by Justin Gibbs for FreeBSD, ported to NetBSD by Pascal Renauld, Network Storage Solutions, Inc, plus a bunch of changes by me.
This driver is as yet untested in this final form, it will be added to config files when it has been tested.
|
| 1.5.2.6 |
| 11-Dec-2005 |
christos | Sync with head.
|
| 1.5.2.5 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
| 1.5.2.4 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
| 1.5.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
| 1.5.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
| 1.5.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
| 1.27.6.1 |
| 16-Dec-2005 |
jmc | Pullup rev 1.32 (requested by bouyer in ticket #10177)
Don't call alloc_scb() (which can call bus_dmamem_alloc/map) from ADAPTER_REQ_RUN_XFER context (which can be interrupt context), defer this to the ADAPTER_REQ_GROW_RESOURCES callback. Fixes a panic in uvm.
|
| 1.27.4.1 |
| 16-Dec-2005 |
jmc | Pullup rev 1.32 (requested by bouyer in ticket #10177)
Don't call alloc_scb() (which can call bus_dmamem_alloc/map) from ADAPTER_REQ_RUN_XFER context (which can be interrupt context), defer this to the ADAPTER_REQ_GROW_RESOURCES callback. Fixes a panic in uvm.
|
| 1.27.2.1 |
| 16-Dec-2005 |
jmc | Pullup rev 1.32 (requested by bouyer in ticket #10177)
Don't call alloc_scb() (which can call bus_dmamem_alloc/map) from ADAPTER_REQ_RUN_XFER context (which can be interrupt context), defer this to the ADAPTER_REQ_GROW_RESOURCES callback. Fixes a panic in uvm.
|
| 1.28.6.1 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
| 1.28.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
| 1.30.2.1 |
| 29-Nov-2005 |
tron | Pull up following revision(s) (requested by bouyer in ticket #1014): sys/dev/ic/aic7xxx.c: revision 1.117 sys/dev/ic/aic79xxvar.h: revision 1.20 sys/dev/ic/aic79xx_osm.c: revision 1.13 sys/dev/ic/aic7xxx_inline.h: revision 1.7 sys/dev/ic/aic79xx.c: revision 1.32 sys/dev/ic/aic7xxx_osm.c: revision 1.19 sys/dev/ic/aic7xxxvar.h: revision 1.50 Don't call alloc_scb() (which can call bus_dmamem_alloc/map) from ADAPTER_REQ_RUN_XFER context (which can be interrupt context), defer this to the ADAPTER_REQ_GROW_RESOURCES callback. Fix a panic in uvm reported by John R. Shannon on port-xen; patch tested on ahc by me and on ahd by John.
|
| 1.31.8.1 |
| 29-Nov-2005 |
yamt | sync with head.
|
| 1.31.2.4 |
| 24-Mar-2008 |
yamt | sync with head.
|
| 1.31.2.3 |
| 03-Sep-2007 |
yamt | sync with head.
|
| 1.31.2.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
| 1.31.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
| 1.33.10.1 |
| 19-Apr-2006 |
elad | sync with head.
|
| 1.33.8.1 |
| 13-Mar-2006 |
yamt | sync with head.
|
| 1.33.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
| 1.33.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
| 1.34.12.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
| 1.34.12.1 |
| 22-Oct-2006 |
yamt | sync with head
|
| 1.34.10.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
| 1.36.4.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
| 1.37.36.1 |
| 03-Apr-2008 |
mjf | Sync with HEAD.
|
| 1.37.32.1 |
| 24-Mar-2008 |
keiichi | sync with head.
|
| 1.37.16.1 |
| 23-Mar-2008 |
matt | sync with HEAD
|
| 1.38.18.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
| 1.38.12.1 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
| 1.38.10.1 |
| 13-Dec-2008 |
haad | Update haad-dm branch to haad-dm-base2.
|
| 1.38.4.2 |
| 16-Sep-2009 |
yamt | sync with head
|
| 1.38.4.1 |
| 04-May-2009 |
yamt | sync with head.
|
| 1.45.16.1 |
| 18-May-2014 |
rmind | sync with head
|
| 1.45.12.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
| 1.45.12.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.45.2.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.47.2.1 |
| 10-Aug-2014 |
tls | Rebase.
|
| 1.50.20.3 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
| 1.50.20.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
| 1.50.20.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
| 1.56.6.1 |
| 01-Aug-2021 |
thorpej | Sync with HEAD.
|