1
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
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
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
53c700.h
53c700.scr
a100u2w.c [SCSI] add use_sg_chaining option to scsi_host_template 2007-10-16 11:24:32 +02:00
a100u2w.h
a2091.c
a2091.h
a3000.c
a3000.h
a4000t.c
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
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
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
atp870u.c
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
ch.c
constants.c [SCSI] Fix device not ready printk 2007-10-12 14:51:56 -04: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 [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
fastlane.c
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
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
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
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
ipr.c libata: convert to chained sg 2008-01-23 05:24:14 -05:00
ipr.h
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
Kconfig Fix file references in documentation and Kconfig 2008-01-22 10:43:36 -08:00
lasi700.c
libiscsi.c [SCSI] iscsi: return data transfer residual for data-out commands 2007-11-14 14:52:16 -06:00
libsrp.c
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] fc4: remove this and all associated drivers 2007-10-17 21:53:55 -04:00
mca_53c9x.c
megaraid.c [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
megaraid.h
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
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 [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
NCR_D700.h
NCR_Q720.c
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
ps3rom.c powerpc: Fix fallout from sg_page() changes 2007-10-23 09:13:14 +02:00
psi240i.c
psi240i.h
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
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 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
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_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_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
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_sas_internal.h
scsi_scan.c SCSI: add asynchronous event notification API 2007-11-03 22:23:02 -04:00
scsi_sysctl.c
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_lib.c scsi: simplify scsi_free_sgtable() 2007-10-16 11:12:37 +02:00
scsi_tgt_priv.h
scsi_transport_api.h
scsi_transport_fc_internal.h
scsi_transport_fc.c [SCSI] Fix signness of parameters in scsi module 2007-10-12 14:49:11 -04:00
scsi_transport_iscsi.c
scsi_transport_sas.c
scsi_transport_spi.c
scsi_transport_srp_internal.h
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.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
sim710.c
sni_53c710.c
sr_ioctl.c
sr_vendor.c
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
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
sun3x_esp.c m68k: sg fallout 2007-10-24 08:55:40 +02:00
sun_esp.c
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
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