summaryrefslogtreecommitdiffstats
path: root/sys/dev/arcmsr/arcmsr.c
diff options
context:
space:
mode:
authorscottl <scottl@FreeBSD.org>2009-02-20 07:40:54 +0000
committerscottl <scottl@FreeBSD.org>2009-02-20 07:40:54 +0000
commit9894622a1c3bbdb740cb4fa7cfd9dcecc0697db0 (patch)
treeb69ad932c820b1408a48101af3b9f5967742b356 /sys/dev/arcmsr/arcmsr.c
parent261fc57b267bcc31fc486f94e6472a0c30fa457f (diff)
downloadFreeBSD-src-9894622a1c3bbdb740cb4fa7cfd9dcecc0697db0.zip
FreeBSD-src-9894622a1c3bbdb740cb4fa7cfd9dcecc0697db0.tar.gz
Tell CAM that SPI disconnect works, which in turn will let it use tags.
This fixes the low "max device openings" count that has lead to poor performance in FreeBSD 7.0 and 7.1. Extra thanks goes to Mike Tancsa at Sentex for providing a debug system for this.
Diffstat (limited to 'sys/dev/arcmsr/arcmsr.c')
-rw-r--r--sys/dev/arcmsr/arcmsr.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/arcmsr/arcmsr.c b/sys/dev/arcmsr/arcmsr.c
index 416bd5d..3d19a53 100644
--- a/sys/dev/arcmsr/arcmsr.c
+++ b/sys/dev/arcmsr/arcmsr.c
@@ -2150,7 +2150,8 @@ static void arcmsr_action(struct cam_sim * psim, union ccb * pccb)
spi->sync_offset=32;
spi->bus_width=MSG_EXT_WDTR_BUS_16_BIT;
scsi->flags = CTS_SCSI_FLAGS_TAG_ENB;
- spi->valid = CTS_SPI_VALID_SYNC_RATE
+ spi->valid = CTS_SPI_VALID_DISC
+ | CTS_SPI_VALID_SYNC_RATE
| CTS_SPI_VALID_SYNC_OFFSET
| CTS_SPI_VALID_BUS_WIDTH;
scsi->valid = CTS_SCSI_VALID_TQ;
OpenPOWER on IntegriCloud