linux/drivers/scsi
Tejun Heo ff2aeb1eb6 libata: convert to chained sg
libata used private sg iterator to handle padding sg.  Now that sg can
be chained, padding can be handled using standard sg ops.  Convert to
chained sg.

* s/qc->__sg/qc->sg/

* s/qc->pad_sgent/qc->extra_sg[]/.  Because chaining consumes one sg
  entry.  There need to be two extra sg entries.  The renaming is also
  for future addition of other extra sg entries.

* Padding setup is moved into ata_sg_setup_extra() which is organized
  in a way that future addition of other extra sg entries is easy.

* qc->orig_n_elem is unused and removed.

* qc->n_elem now contains the number of sg entries that LLDs should
  map.  qc->mapped_n_elem is added to carry the original number of
  mapped sgs for unmapping.

* The last sg of the original sg list is used to chain to extra sg
  list.  The original last sg is pointed to by qc->last_sg and the
  content is stored in qc->saved_last_sg.  It's restored during
  ata_sg_clean().

* All sg walking code has been updated.  Unnecessary assertions and
  checks for conditions the core layer already guarantees are removed.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2008-01-23 05:24:14 -05:00
..
aacraid [SCSI] aacraid: fix security weakness 2007-11-11 17:35:48 -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 aic94xx_sds: rename FLASH_SIZE 2007-11-14 18:45:44 -08: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 [SCSI] dpt: whitespace cleanup 2007-04-01 10:10:04 -05:00
ibmvscsi [SCSI] ibmvscsi: Prevent IO during partner login 2007-11-03 12:10:36 -05:00
libsas libata: convert to chained sg 2008-01-23 05:24:14 -05:00
lpfc [SCSI] lpfc : Correct queue tag handling 2007-11-03 12:09:29 -05:00
megaraid [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
pcmcia [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
qla2xxx scsi/qla2xxx/qla_os.c section fix 2008-01-14 08:52:22 -08:00
qla4xxx Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
sym53c8xx_2 [SCSI] sym53c8xx: fix "irq X: nobody cared" regression 2007-12-18 16:04:09 -06:00
.gitignore
3w-9xxx.c [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02: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 [SCSI] 3ware 8000 serialize reset code 2007-01-06 09:18:00 -06:00
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 [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
a2091.h
a3000.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
a3000.h
a4000t.c [SCSI] kmalloc + memset conversion to kzalloc 2007-10-12 14:41:00 -04:00
advansys.c advansys: fix section mismatch warning 2008-01-14 08:52:23 -08:00
aha152x.c [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
aha152x.h [SCSI] aha152x: fix debug mode symbol conflict 2007-08-04 09:11:06 -05:00
aha1542.c [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02: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 IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
atari_NCR5380.c m68k: sg fallout 2007-10-24 08:55:40 +02: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 IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
atp870u.h
blz1230.c [TC] dec_esp: Driver model for the PMAZ-A 2007-02-09 16:23:17 +00:00
blz2060.c [TC] dec_esp: Driver model for the PMAZ-A 2007-02-09 16:23:17 +00:00
BusLogic.c [SCSI] add use_sg_chaining option to scsi_host_template 2007-10-16 11:24:32 +02:00
BusLogic.h [SCSI] BusLogic: Replace 'boolean' by 'bool' 2007-02-07 18:32:29 -05:00
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] Fix device not ready printk 2007-10-12 14:51:56 -04:00
cyberstorm.c [TC] dec_esp: Driver model for the PMAZ-A 2007-02-09 16:23:17 +00:00
cyberstormII.c [TC] dec_esp: Driver model for the PMAZ-A 2007-02-09 16:23:17 +00:00
dc395x.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
dc395x.h
dec_esp.c [TC] dec_esp: Driver model for the PMAZ-A 2007-02-09 16:23:17 +00:00
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 [SCSI] eata_pio: Remove FALSE/TRUE defines 2007-03-20 11:27:03 -05:00
eata_pio.c [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02: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 [TC] dec_esp: Driver model for the PMAZ-A 2007-02-09 16:23:17 +00:00
fd_mcs.c [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02: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 [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
gvp11.h
hosts.c [SCSI] make supported_mode default to initiator. 2007-10-17 21:56:12 -04:00
hptiop.c [SCSI] hptiop: avoid buffer overflow when returning sense data 2007-10-17 21:56:13 -04:00
hptiop.h [SCSI] hptiop: adding new firmware interface and more PCI device IDs 2007-10-12 14:46:40 -04: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 [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
imm.h Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
in2000.c [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02: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 libata: convert to chained sg 2008-01-23 05:24:14 -05:00
ipr.h [SCSI] ipr: Use PCI-E reset API for new ipr adapter 2007-05-08 11:54:40 -05:00
ips.c [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
ips.h [SCSI] ips: Update version information 2007-10-12 14:51:44 -04: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 Fix file references in documentation and Kconfig 2008-01-22 10:43:36 -08: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 libsrp and ibmvstgt to use srp_transport 2007-10-12 14:37:57 -04: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 [TC] dec_esp: Driver model for the PMAZ-A 2007-02-09 16:23:17 +00:00
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] fc4: remove this and all associated drivers 2007-10-17 21:53:55 -04:00
mca_53c9x.c [TC] dec_esp: Driver model for the PMAZ-A 2007-02-09 16:23:17 +00:00
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 [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
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 [TC] dec_esp: Driver model for the PMAZ-A 2007-02-09 16:23:17 +00:00
NCR5380.c [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02: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 [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
ppa.h Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
ps3rom.c powerpc: Fix fallout from sg_page() changes 2007-10-23 09:13:14 +02:00
psi240i.c [SCSI] psi240i.c: fix an array overrun 2006-11-10 10:01:42 +09:00
psi240i.h [SCSI] Scsi_Cmnd conversion in psi240i driver 2006-10-25 15:12:38 -07:00
psi_chip.h
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 [SCSI] Scsi_Cmnd conversion in qlogicfas408 driver 2006-10-25 15:11:55 -07:00
qlogicfas.c [SCSI] add use_sg_chaining option to scsi_host_template 2007-10-16 11:24:32 +02:00
qlogicpti_asm.c [SPARC]: Fix some section mismatch warnings in sparc drivers. 2006-10-17 19:28:51 -07:00
qlogicpti.c qlogicpti: sg chaining support 2007-10-16 11:14:19 +02:00
qlogicpti.h [SCSI] qlogicpti: Add a slave_configure method 2007-10-12 14:52:38 -04:00
raid_class.c [SCSI] raid class: handle component-add errors 2006-10-04 13:27:26 -05:00
script_asm.pl
scsi_debug.c [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
scsi_debug.h
scsi_devinfo.c [SCSI] Add QUANTUM XP34301 to the blacklist 2007-10-12 14:39:19 -04:00
scsi_error.c Revert "scsi: revert "[SCSI] Get rid of scsi_cmnd->done"" 2008-01-06 10:17:12 -08:00
scsi_ioctl.c
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 Revert "scsi: revert "[SCSI] Get rid of scsi_cmnd->done"" 2008-01-06 10:17:12 -08:00
scsi_logging.h
scsi_module.c
scsi_netlink.c [NET]: make netlink user -> kernel interface synchronious 2007-10-10 21:15:29 -07: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] scsi_proc.c: display sdev->scsi_level correctly 2007-02-16 11:12:07 -06:00
scsi_sas_internal.h
scsi_scan.c SCSI: add asynchronous event notification API 2007-11-03 22:23:02 -04: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: add I_T nexus support 2007-10-12 14:37:50 -04:00
scsi_tgt_lib.c scsi: simplify scsi_free_sgtable() 2007-10-16 11:12:37 +02: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] Fix signness of parameters in scsi module 2007-10-12 14:49:11 -04:00
scsi_transport_iscsi.c [NET]: make netlink user -> kernel interface synchronious 2007-10-10 21:15:29 -07:00
scsi_transport_sas.c [SCSI] bsg: make class backlinks 2007-07-21 08:58:23 -05: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] SRP transport: only remove our own entries 2008-01-04 14:15:51 -06:00
scsi_typedefs.h
scsi_wait_scan.c [SCSI] Add ability to scan scsi busses asynchronously 2006-10-11 13:44:25 -05:00
scsi.c Revert "scsi: revert "[SCSI] Get rid of scsi_cmnd->done"" 2008-01-06 10:17:12 -08:00
scsi.h
scsicam.c
sd.c Revert "scsi: revert "[SCSI] Get rid of scsi_cmnd->done"" 2008-01-06 10:17:12 -08:00
seagate.c [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02: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 [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
sr_vendor.c [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
sr.c Revert "scsi: revert "[SCSI] Get rid of scsi_cmnd->done"" 2008-01-06 10:17:12 -08:00
sr.h
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 [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02: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 [PATCH] Sun3 SCSI: Make sun3 scsi drivers compile/work again 2006-12-09 09:41:18 -08:00
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 [SCSI] scsi: t128 scsi_cmnd convertion 2006-11-15 16:43:50 -06:00
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 [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
wd33c93.h Spelling fix: explicitly 2007-10-19 23:22:55 +02:00
wd7000.c [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
zalon.c
zorro7xx.c m68k: zorro7xx needs <asm/amigahw.h> 2007-11-29 09:24:52 -08:00