linux/drivers/scsi/libsas
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
..
Kconfig [SCSI] libsas: fix build dependencies on libata 2007-07-31 10:40:48 -05:00
Makefile [SCSI] libsas: make ATA functions selectable by a config option 2007-07-22 13:23:13 -05:00
sas_ata.c libata: convert to chained sg 2008-01-23 05:24:14 -05:00
sas_discover.c Use helpers to obtain task pid in printks 2007-10-19 11:53:43 -07:00
sas_dump.c [SCSI] libsas: Remove PCI dependencies 2007-07-26 09:42:43 -04:00
sas_dump.h
sas_event.c [SCSI] libsas: Add SAS_HA state flags to avoid queueing events while unloading 2007-01-13 16:21:53 -06:00
sas_expander.c [SCSI] libsas: Fix potential NULL dereference in sas_smp_get_phy_events() 2007-07-28 10:58:28 -04:00
sas_init.c Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2007-07-22 11:36:49 -07:00
sas_internal.h [SCSI] sas_ata: Implement sas_task_abort for ATA devices 2007-07-18 11:16:03 -05:00
sas_phy.c WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
sas_port.c [SCSI] libsas: Fix incorrect sas_port deformation in sas_form_port 2007-01-27 10:04:58 -06:00
sas_scsi_host.c [SCSI] sas_ata: Implement sas_task_abort for ATA devices 2007-07-18 11:16:03 -05:00