summaryrefslogtreecommitdiffstats
path: root/sys/dev/aic7xxx/aic79xx_inline.h
diff options
context:
space:
mode:
authorgibbs <gibbs@FreeBSD.org>2003-05-26 21:18:48 +0000
committergibbs <gibbs@FreeBSD.org>2003-05-26 21:18:48 +0000
commitaa79fd0e564f7732bb1c1d396412e6e7d24b72b9 (patch)
tree1abcbe02e0aaa617138724d8701be196a040045e /sys/dev/aic7xxx/aic79xx_inline.h
parentce89bea7d0f280e359fb04f4a592b1bce906e265 (diff)
downloadFreeBSD-src-aa79fd0e564f7732bb1c1d396412e6e7d24b72b9.zip
FreeBSD-src-aa79fd0e564f7732bb1c1d396412e6e7d24b72b9.tar.gz
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.
Diffstat (limited to 'sys/dev/aic7xxx/aic79xx_inline.h')
-rw-r--r--sys/dev/aic7xxx/aic79xx_inline.h6
1 files changed, 1 insertions, 5 deletions
diff --git a/sys/dev/aic7xxx/aic79xx_inline.h b/sys/dev/aic7xxx/aic79xx_inline.h
index 94c8f4a..686053e 100644
--- a/sys/dev/aic7xxx/aic79xx_inline.h
+++ b/sys/dev/aic7xxx/aic79xx_inline.h
@@ -37,7 +37,7 @@
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES.
*
- * $Id: //depot/aic7xxx/aic7xxx/aic79xx_inline.h#48 $
+ * $Id: //depot/aic7xxx/aic7xxx/aic79xx_inline.h#49 $
*
* $FreeBSD$
*/
@@ -272,10 +272,6 @@ ahd_setup_scb_common(struct ahd_softc *ahd, struct scb *scb)
if ((scb->flags & SCB_PACKETIZED) != 0) {
/* XXX what about ACA?? It is type 4, but TAG_TYPE == 0x3. */
scb->hscb->task_attribute= scb->hscb->control & SCB_TAG_TYPE;
- /*
- * For Rev A short lun workaround.
- */
- scb->hscb->pkt_long_lun[6] = scb->hscb->lun;
}
if (scb->hscb->cdb_len <= MAX_CDB_LEN_WITH_SENSE_ADDR
OpenPOWER on IntegriCloud