1
linux/drivers/scsi
Salyzyn, Mark 94cf6ba11b [SCSI] aacraid: fix driver failure with Dell PowerEdge Expandable RAID Controller 3/Di
As reported in http://bugzilla.kernel.org/show_bug.cgi?id=3D9133 it was
discovered that the PERC line of controllers lacked a key 64 bit
ScatterGather capable SCSI pass-through function. The adapters are still
capable of 64 bit ScatterGather I/O commands, but these two can not be
mixed. This problem was exacerbated by the introduction of the SCSI
Generic access to the DASD physical devices.

The fix for users before this patch is applied is aacraid.dacmode=3D0 on
the kernel command line to disable 64 bit I/O.

The enclosed patch introduces a new adapter quirk and tries to limp
along by enabling pass-through in situations where memory is 32 bit
addressable on 64 bit machines, or disable the pass-through functions
altogether. I expect that the check for 32 bit addressable memory to be
controversial in that it can be incorrect in non-Dell non-Intel systems
that PERC would never be installed under, the alternative is to disable
pass-through in all cases which could be reported as another regression.

Pass-through is used for SCSI Generic access to the physical devices, or
for the management applications to properly function.

In systems where this patch has disabled pass-through because it is
unsupportable in combination with I/O performance, the user can choose
to enable pass-through by turning off dacmode (aacraid.dacmode=3D0) or
limiting the discovered kernel memory (mem=3D4G) with an associated loss
in runtime performance. If we chose instead to turn off 64 bit dacmode
for the adapters with this quirk, then this would be reported as another
regression.

Signed-off-by: Mark Salyzyn <aacraid@adaptec.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
2008-01-11 18:28:07 -06:00
..
aacraid [SCSI] aacraid: fix driver failure with Dell PowerEdge Expandable RAID Controller 3/Di 2008-01-11 18:28:07 -06:00
aic7xxx Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2007-10-23 16:37:29 -07:00
aic7xxx_old
aic94xx [SCSI] aic94xx: fix section mismatches 2008-01-11 18:28:04 -06:00
arcmsr deal with resource allocation bugs in arcmsr 2007-10-29 07:41:33 -07:00
arm [ARM] Fix an rpc_defconfig regression 2007-10-31 15:21:35 +00:00
dpt
ibmvscsi [SCSI] ibmvscsi: requeue while CRQ closed 2008-01-11 18:22:45 -06:00
libsas [SCSI] libsas: Fix various sparse complaints 2008-01-11 18:22:41 -06:00
lpfc [SCSI] lpfc: minor cleanups 2008-01-11 18:22:50 -06:00
megaraid [SCSI] megaraid_sas: Update version and changelog 2008-01-11 18:22:44 -06:00
pcmcia [SCSI] nsp_cs: convert to data accessors and !use_sg cleanup 2008-01-11 18:22:34 -06:00
qla2xxx [SCSI] qla2xxx: Update version number to 8.02.00-k6. 2008-01-11 18:22:46 -06:00
qla4xxx Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
sym53c8xx_2 [SCSI] sym2: fix section mismatch warning 2008-01-11 18:27:56 -06:00
.gitignore [SCSI] 53c7xx: fix removal fallout 2008-01-11 18:22:30 -06:00
3w-9xxx.c [SCSI] 3w-9xxx: fix abysmal write performance on some motherboards 2008-01-11 18:22:42 -06:00
3w-9xxx.h [SCSI] 3w-9xxx: add support for 9690SA 2007-07-21 08:57:40 -05:00
3w-xxxx.c [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
3w-xxxx.h
53c700_d.h_shipped
53c700.c [SCSI] 53c700: Remove printk, which triggers because of low scsi clock on SNI RMs 2007-07-14 19:12:43 -05:00
53c700.h [SCSI] 53c700: m68k support for the 53c700 SCSI core 2007-06-17 16:15:56 -05:00
53c700.scr
a100u2w.c [SCSI] add use_sg_chaining option to scsi_host_template 2007-10-16 11:24:32 +02:00
a100u2w.h [SCSI] a100u2w: Convert into Linux style 2007-06-17 16:09:29 -05:00
a2091.c [SCSI] a2091: convert to accessors and !use_sg cleanup 2008-01-11 18:22:35 -06:00
a2091.h
a3000.c [SCSI] a3000: convert to accessors and !use_sg cleanup 2008-01-11 18:22:35 -06:00
a3000.h
a4000t.c [SCSI] kmalloc + memset conversion to kzalloc 2007-10-12 14:41:00 -04:00
advansys.c [SCSI] advansys: Changes to work on parisc 2007-10-12 14:54:13 -04:00
aha152x.c [SCSI] aha152x: Use scsi_eh API for REQUEST_SENSE invocation 2008-01-11 18:22:34 -06:00
aha152x.h [SCSI] aha152x: fix debug mode symbol conflict 2007-08-04 09:11:06 -05:00
aha1542.c [SCSI] aha1542: convert to accessors and !use_sg cleanup 2008-01-11 18:22:35 -06:00
aha1542.h
aha1740.c [SCSI] add use_sg_chaining option to scsi_host_template 2007-10-16 11:24:32 +02:00
aha1740.h
aic7xxx_old.c [SCSI] aic7xxx_old: fix accidental logic reversal 2007-10-18 08:40:42 -04:00
atari_dma_emul.c
atari_NCR5380.c [SCSI] NCR5380 family: convert to accessors & !use_sg cleanup 2008-01-11 18:22:39 -06:00
atari_scsi.c [SCSI] NCR5380: Fix bugs and canonicalize irq handler usage 2007-11-25 12:19:26 +02:00
atari_scsi.h m68k: Atari SCSI driver compile fixes 2007-05-04 17:59:05 -07:00
atp870u.c [SCSI] atp870u: convert to accessors and !use_sg cleanup 2008-01-11 18:22:38 -06:00
atp870u.h
blz1230.c
blz2060.c
BusLogic.c [SCSI] add use_sg_chaining option to scsi_host_template 2007-10-16 11:24:32 +02:00
BusLogic.h
bvme6000_scsi.c [SCSI] kmalloc + memset conversion to kzalloc 2007-10-12 14:41:00 -04:00
ch.c [SCSI] ch: kmalloc/memset->kzalloc 2007-05-06 09:33:11 -05:00
constants.c [SCSI] Add Documentation and integrate into docbook build 2008-01-11 18:22:40 -06:00
cyberstorm.c
cyberstormII.c
dc395x.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
dc395x.h
dec_esp.c
dmx3191d.c
dpt_i2o.c [SCSI] dpt_i2o: driver is only 32 bit so don't set 64 bit DMA mask 2007-12-18 16:04:08 -06:00
dpti.h revert "dpt_i2o: convert to SCSI hotplug model" 2007-12-10 19:43:54 -08:00
dtc.c [SCSI] NCR5380: Fix bugs and canonicalize irq handler usage 2007-11-25 12:19:26 +02:00
dtc.h
eata_generic.h
eata_pio.c [SCSI] eata_pio: convert to accessors and !use_sg cleanup 2008-01-11 18:22:34 -06:00
eata_pio.h
eata.c [SCSI] add use_sg_chaining option to scsi_host_template 2007-10-16 11:24:32 +02:00
esp_scsi.c esp_scsi: fix reset cleanup spinlock recursion 2007-12-10 19:43:55 -08:00
esp_scsi.h [SCSI] ESP: Revert ESP_BUS_TIMEOUT back down to 250 2007-07-31 10:51:25 -05:00
fastlane.c
fd_mcs.c [SCSI] fd_mcs: convert to accessors and !use_sg cleanup 2008-01-11 18:22:35 -06:00
fdomain.c [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
fdomain.h
FlashPoint.c FlashPoint, use BIT instead of BITW 2007-10-19 11:53:42 -07:00
g_NCR5380_mmio.c
g_NCR5380.c [SCSI] NCR5380: Fix bugs and canonicalize irq handler usage 2007-11-25 12:19:26 +02:00
g_NCR5380.h
gdth_ioctl.h
gdth_proc.c [SCSI] gdth: Move members from SCp to gdth_cmndinfo, stage 2 2007-10-12 14:56:09 -04:00
gdth_proc.h [SCSI] gdth: clean up host private data 2007-10-12 14:55:46 -04:00
gdth.c Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2007-10-23 16:37:29 -07:00
gdth.h [SCSI] gdth: !use_sg cleanup and use of scsi accessors 2007-10-12 14:56:13 -04:00
gvp11.c
gvp11.h
hosts.c [SCSI] Add Documentation and integrate into docbook build 2008-01-11 18:22:40 -06:00
hptiop.c [SCSI] hptiop: add more adapter models and other fixes 2008-01-11 18:28:06 -06:00
hptiop.h [SCSI] hptiop: add more adapter models and other fixes 2008-01-11 18:28:06 -06:00
ibmmca.c [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
ide-scsi.c ide-scsi: add ide_scsi_hex_dump() helper 2007-12-12 23:31:57 +01:00
imm.c [SCSI] imm: convert to accessors and !use_sg cleanup 2008-01-11 18:22:41 -06:00
imm.h
in2000.c [SCSI] in2000: convert to accessors and !use_sg cleanup 2008-01-11 18:22:36 -06:00
in2000.h
initio.c [SCSI] initio: bugfix for accessors patch 2007-12-18 16:04:15 -06:00
initio.h [SCSI] initio: Convert into a real Linux driver and update to modern style 2007-05-22 11:08:56 -05:00
ipr.c SG: Change sg_set_page() to take length and offset argument 2007-10-24 11:20:47 +02:00
ipr.h [SCSI] ipr: Use PCI-E reset API for new ipr adapter 2007-05-08 11:54:40 -05:00
ips.c [SCSI] ips: handle scsi_add_host() failure, and other err cleanups 2008-01-11 18:28:02 -06:00
ips.h [SCSI] ips: trim trailing whitespace 2008-01-11 18:27:59 -06:00
iscsi_tcp.c [SCSI] iscsi_tcp: fix potential lockup with write commands 2007-11-14 14:51:58 -06:00
iscsi_tcp.h [SCSI] iscsi_tcp: fix potential lockup with write commands 2007-11-14 14:51:58 -06:00
jazz_esp.c [SCSI] esp: use shost_priv 2007-05-31 17:30:04 -04:00
Kconfig [SCSI] hptiop: add more adapter models and other fixes 2008-01-11 18:28:06 -06:00
lasi700.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
libiscsi.c [SCSI] iscsi: return data transfer residual for data-out commands 2007-11-14 14:52:16 -06:00
libsrp.c [SCSI] tgt: convert to use the data buffer accessors 2008-01-11 18:22:30 -06:00
mac53c94.c [SCSI] add use_sg_chaining option to scsi_host_template 2007-10-16 11:24:32 +02:00
mac53c94.h
mac_esp.c
mac_scsi.c [SCSI] NCR5380: Fix bugs and canonicalize irq handler usage 2007-11-25 12:19:26 +02:00
mac_scsi.h
Makefile [SCSI] seagate: Remove driver 2008-01-11 18:22:36 -06:00
mca_53c9x.c
megaraid.c [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
megaraid.h [SCSI] megaraid: fix warnings when CONFIG_PROC_FS=n 2007-05-08 11:15:08 -05:00
mesh.c [SCSI] add use_sg_chaining option to scsi_host_template 2007-10-16 11:24:32 +02:00
mesh.h
mvme16x_scsi.c [SCSI] kmalloc + memset conversion to kzalloc 2007-10-12 14:41:00 -04:00
mvme147.c
mvme147.h
ncr53c8xx.c [SCSI] Remove ->pid field from scsi_cmnd 2007-10-12 14:51:52 -04:00
ncr53c8xx.h [SCSI] ncr53c8xx: Call scsi_host_put in release 2007-10-12 14:51:18 -04:00
NCR53c406a.c [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
NCR53C9x.c [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
NCR53C9x.h
NCR5380.c [SCSI] NCR5380 family: convert to accessors & !use_sg cleanup 2008-01-11 18:22:39 -06:00
NCR5380.h [SCSI] NCR5380: Use scsi_eh API for REQUEST_SENSE invocation 2007-10-12 14:55:07 -04:00
NCR_D700.c [SCSI] kmalloc + memset conversion to kzalloc 2007-10-12 14:41:00 -04:00
NCR_D700.h
NCR_Q720.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
NCR_Q720.h
nsp32_debug.c
nsp32_io.h
nsp32.c [SCSI] add use_sg_chaining option to scsi_host_template 2007-10-16 11:24:32 +02:00
nsp32.h define global BIT macro 2007-10-19 11:53:42 -07:00
oktagon_esp.c [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
oktagon_io.S
osst_detect.h
osst_options.h
osst.c [SCSI] osst: fix if (...) \n #if... cases missing semicolons when false 2007-10-27 14:31:06 -05:00
osst.h [SCSI] osst: Use mutex instead of semaphore 2007-10-12 14:50:55 -04:00
pas16.c [SCSI] NCR5380: Fix bugs and canonicalize irq handler usage 2007-11-25 12:19:26 +02:00
pas16.h
ppa.c [SCSI] ppa: convert to accessors and !use_sg cleanup 2008-01-11 18:22:41 -06:00
ppa.h
ps3rom.c powerpc: Fix fallout from sg_page() changes 2007-10-23 09:13:14 +02:00
ql1040_fw.h
ql1280_fw.h
ql12160_fw.h
qla1280.c [SCSI] qla1280: fix 32 bit segment code 2008-01-09 15:06:07 -06:00
qla1280.h [SCSI] qla1280: eliminate wasted space in request and response ring 2007-10-23 12:35:35 -04:00
qlogicfas408.c [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
qlogicfas408.h
qlogicfas.c [SCSI] add use_sg_chaining option to scsi_host_template 2007-10-16 11:24:32 +02:00
qlogicpti_asm.c
qlogicpti.c [SCSI] qlogicpti: convert to accessors and !use_sg cleanup 2008-01-11 18:22:36 -06:00
qlogicpti.h [SCSI] qlogicpti: Add a slave_configure method 2007-10-12 14:52:38 -04:00
raid_class.c
script_asm.pl
scsi_debug.c [SCSI] scsi_debug: convert to use the data buffer accessors 2008-01-11 18:22:38 -06:00
scsi_debug.h
scsi_devinfo.c [SCSI] kernel-doc: use correct function name 2008-01-11 18:22:44 -06:00
scsi_error.c [SCSI] docbook and kernel-doc updates 2008-01-11 18:22:45 -06:00
scsi_ioctl.c [SCSI] sd,sr: add early detection of medium not present 2008-01-11 18:22:50 -06:00
scsi_lib_dma.c [SCSI] don't build scsi_dma_{map,unmap} for !HAS_DMA 2007-07-14 19:28:10 -05:00
scsi_lib.c [SCSI] sd,sr: add early detection of medium not present 2008-01-11 18:22:50 -06:00
scsi_logging.h
scsi_module.c
scsi_netlink.c [SCSI] Add Documentation and integrate into docbook build 2008-01-11 18:22:40 -06:00
scsi_priv.h Revert "scsi: revert "[SCSI] Get rid of scsi_cmnd->done"" 2008-01-06 10:17:12 -08:00
scsi_proc.c [SCSI] Add Documentation and integrate into docbook build 2008-01-11 18:22:40 -06:00
scsi_sas_internal.h
scsi_scan.c [SCSI] move single_lun flag from scsi_device to scsi_target 2008-01-11 18:22:44 -06:00
scsi_sysctl.c [SCSI] small cleanups 2007-07-18 11:16:32 -05:00
scsi_sysfs.c [SCSI] scsi_sysfs: restore prep_fn when ULD is removed 2008-01-02 13:08:00 -06:00
scsi_tgt_if.c [SCSI] tgt: convert to use the data buffer accessors 2008-01-11 18:22:30 -06:00
scsi_tgt_lib.c [SCSI] BUG_ON() impossible condition in sg list counting 2008-01-11 18:22:50 -06:00
scsi_tgt_priv.h [SCSI] tgt: add I_T nexus support 2007-10-12 14:37:50 -04:00
scsi_transport_api.h
scsi_transport_fc_internal.h [SCSI] fc_transport: add target driver support 2007-10-12 14:46:58 -04:00
scsi_transport_fc.c [SCSI] Add Documentation and integrate into docbook build 2008-01-11 18:22:40 -06:00
scsi_transport_iscsi.c [SCSI] Add Documentation and integrate into docbook build 2008-01-11 18:22:40 -06:00
scsi_transport_sas.c [SCSI] Add Documentation and integrate into docbook build 2008-01-11 18:22:40 -06:00
scsi_transport_spi.c [SCSI] scsi_transport_spi: fix domain validation failure from incorrect width setting 2007-09-22 08:52:12 -05:00
scsi_transport_srp_internal.h [SCSI] scsi_transport_srp: remove tgt dependencies 2007-10-12 14:38:09 -04:00
scsi_transport_srp.c [SCSI] docbook and kernel-doc updates 2008-01-11 18:22:45 -06:00
scsi_typedefs.h
scsi_wait_scan.c
scsi.c [SCSI] docbook and kernel-doc updates 2008-01-11 18:22:45 -06:00
scsi.h
scsicam.c [SCSI] Add Documentation and integrate into docbook build 2008-01-11 18:22:40 -06:00
sd.c [SCSI] sd,sr: add early detection of medium not present 2008-01-11 18:22:50 -06:00
sg.c Initialise scatter/gather list in sg driver 2007-10-29 09:18:03 +01:00
sgiwd93.c Convert SGI IP22 and specific drivers to platform_device. 2007-05-11 17:00:29 +01:00
sim710.c Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2007-07-22 11:36:49 -07:00
sni_53c710.c [SCSI] sni_53c710: Cleanup 2007-07-14 19:12:15 -05:00
sr_ioctl.c
sr_vendor.c
sr.c [SCSI] sd,sr: add early detection of medium not present 2008-01-11 18:22:50 -06:00
sr.h [SCSI] sr,sd: send media state change modification events 2008-01-11 18:22:30 -06:00
st_options.h
st.c [SCSI] st: fix kernel BUG at include/linux/scatterlist.h:59! 2007-12-18 16:04:13 -06:00
st.h [SCSI] st: Use mutex instead of semaphore 2007-07-31 10:44:01 -05:00
stex.c [SCSI] add use_sg_chaining option to scsi_host_template 2007-10-16 11:24:32 +02:00
sun3_NCR5380.c [SCSI] NCR5380 family: convert to accessors & !use_sg cleanup 2008-01-11 18:22:39 -06:00
sun3_scsi_vme.c [SCSI] NCR5380: Fix bugs and canonicalize irq handler usage 2007-11-25 12:19:26 +02:00
sun3_scsi.c [SCSI] NCR5380: Fix bugs and canonicalize irq handler usage 2007-11-25 12:19:26 +02:00
sun3_scsi.h
sun3x_esp.c m68k: sg fallout 2007-10-24 08:55:40 +02:00
sun_esp.c [SCSI] esp: use shost_priv 2007-05-31 17:30:04 -04:00
sym53c416.c [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
sym53c416.h
t128.c [SCSI] NCR5380: Fix bugs and canonicalize irq handler usage 2007-11-25 12:19:26 +02:00
t128.h
tmscsim.c [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
tmscsim.h [SCSI] tmscsim: Further clean-up of the driver 2007-07-14 18:56:33 -05:00
u14-34f.c Fixup u14-34f ENABLE_SG_CHAINING 2007-10-16 11:24:44 +02:00
ultrastor.c [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
ultrastor.h
wd33c93.c [SCSI] wd33c93: convert to accessors and !use_sg cleanup 2008-01-11 18:22:35 -06:00
wd33c93.h Spelling fix: explicitly 2007-10-19 23:22:55 +02:00
wd7000.c [SCSI] wd7000: proper fix for boards without sg support 2008-01-11 18:22:39 -06:00
zalon.c
zorro7xx.c m68k: zorro7xx needs <asm/amigahw.h> 2007-11-29 09:24:52 -08:00