linux/drivers/scsi
FUJITA Tomonori 99c84dbdc7 iommu sg merging: call dma_set_seg_boundary in __scsi_alloc_queue()
This is a one-line patch to add the following to __scsi_alloc_queue():

dma_set_seg_boundary(dev, shost->dma_boundary);

This is the simplest approach but the result looks odd,
__scsi_alloc_queue() does:

blk_queue_segment_boundary(q, shost->dma_boundary);
dma_set_seg_boundary(dev, shost->dma_boundary);
blk_queue_max_segment_size(q, dma_get_max_seg_size(dev));

I think that it would be better to set up segment boundary in the same
way as we did for the maximum segment size. That is, removing
shost->dma_boundary and LLDs call pci_set_dma_seg_boundary (or its
friends).

Then __scsi_alloc_queue() can set up both limits in the same way:

blk_queue_segment_boundary(q, dma_get_seg_boundary(dev));
blk_queue_max_segment_size(q, dma_get_max_seg_size(dev));

killing dma_boundary in scsi_host_template needs a large patch for
libata (dma_boundary is used by only libata and sym53c8xx). I'll send
a patch to do that if it is acceptable. James and Jeff?

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: James Bottomley <James.Bottomley@steeleye.com>
Cc: Jens Axboe <jens.axboe@oracle.com>
Cc: Greg KH <greg@kroah.com>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-05 09:44:12 -08:00
..
aacraid iommu sg merging: aacraid: use pci_set_dma_max_seg_size 2008-02-05 09:44:11 -08:00
aic7xxx Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2008-02-04 07:58:52 -08:00
aic7xxx_old
aic94xx [SCSI] libsas: abstract STP task status into a function 2008-01-25 11:47:23 -06:00
arcmsr [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
arm [ARM] Fix an rpc_defconfig regression 2007-10-31 15:21:35 +00:00
dpt
ibmvscsi [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
libsas Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2008-01-25 17:19:08 -08:00
lpfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2008-02-04 07:58:52 -08:00
megaraid drivers/scsi/: Spelling fixes 2008-02-03 17:28:22 +02:00
pcmcia pcmcia: convert some internal-only ioaddr_t to unsigned int 2008-02-05 09:44:08 -08:00
qla2xxx drivers/scsi/: Spelling fixes 2008-02-03 17:28:22 +02:00
qla4xxx drivers/scsi/: Spelling fixes 2008-02-03 17:28:22 +02:00
sym53c8xx_2 [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
.gitignore [SCSI] 53c7xx: fix removal fallout 2008-01-11 18:22:30 -06:00
3w-9xxx.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
3w-9xxx.h
3w-xxxx.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
3w-xxxx.h
53c700_d.h_shipped
53c700.c [SCSI] replace sizeof sense_buffer with SCSI_SENSE_BUFFERSIZE 2008-01-23 11:29:27 -06:00
53c700.h
53c700.scr
a100u2w.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
a100u2w.h
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
advansys.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2008-01-25 17:19:08 -08:00
aha152x.c [SCSI] aha152x: Use scsi_eh API for REQUEST_SENSE invocation 2008-01-11 18:22:34 -06:00
aha152x.h
aha1542.c MAINTAINERS: remove Adam Fritzler, remove his email address in other sources 2008-02-03 16:36:24 +02:00
aha1542.h
aha1740.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
aha1740.h
aic7xxx_old.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
atari_dma_emul.c
atari_NCR5380.c [SCSI] atari_NCR5380, sun3_NCR5380: operator precedence fix 2008-01-11 18:28:57 -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
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] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
BusLogic.h
bvme6000_scsi.c
ch.c [SCSI] ch: remove forward declarations 2008-01-25 09:22:12 -06: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 [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
dc395x.h
dec_esp.c
dmx3191d.c
dpt_i2o.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -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] aic7xxx_old, eata_pio, ips, libsas: don't zero out sense_buffer in queuecommand 2008-01-23 11:29:26 -06:00
eata_pio.h
eata.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06: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 [SCSI] fd_mcs: convert to accessors and !use_sg cleanup 2008-01-11 18:22:35 -06:00
fdomain.c
fdomain.h
FlashPoint.c
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
gdth_proc.h
gdth.c [SCSI] gdth: kill unneeded 'irq' argument 2008-01-11 18:28:14 -06:00
gdth.h
gvp11.c
gvp11.h
hosts.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
hptiop.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
hptiop.h [SCSI] hptiop: add more adapter models and other fixes 2008-01-11 18:28:06 -06:00
ibmmca.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
ide-scsi.c ide-scsi: remove needless SELECT_DRIVE() call 2008-02-02 19:56:46 +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] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
initio.h
ipr.c drivers/scsi/: Spelling fixes 2008-02-03 17:28:22 +02:00
ipr.h
ips.c drivers/scsi/: Spelling fixes 2008-02-03 17:28:22 +02:00
ips.h [SCSI] ips: trim trailing whitespace 2008-01-11 18:27:59 -06:00
iscsi_tcp.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
iscsi_tcp.h [SCSI] iscsi_tcp: enable sg chaining 2008-01-11 18:28:48 -06:00
jazz_esp.c
Kconfig [SCSI] sgiwd93: use cached memory access to make driver work on IP28 2008-01-30 13:03:39 -06:00
lasi700.c
libiscsi.c [SCSI] libiscsi: use is_power_of_2 2008-01-11 18:28:51 -06:00
libsrp.c [SCSI] implement scsi_data_buffer 2008-01-30 13:03:40 -06:00
mac53c94.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06: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] make pcmcia directory use obj-y|m instead of subdir-y|m 2008-01-11 18:28:17 -06:00
mca_53c9x.c
megaraid.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
megaraid.h
mesh.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
mesh.h
mvme16x_scsi.c
mvme147.c
mvme147.h
ncr53c8xx.c [SCSI] ncr53c8xx: fix sense_buffer access bug 2008-01-30 13:03:39 -06:00
ncr53c8xx.h
NCR53c406a.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
NCR53C9x.c
NCR53C9x.h drivers/scsi/: Spelling fixes 2008-02-03 17:28:22 +02:00
NCR5380.c [SCSI] NCR5380: fix section mismatch 2008-01-23 13:44:31 -06:00
NCR5380.h
NCR_D700.c
NCR_D700.h
NCR_Q720.c
NCR_Q720.h
nsp32_debug.c
nsp32_io.h
nsp32.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
nsp32.h
oktagon_esp.c
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
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
ql1040_fw.h
ql1280_fw.h
ql12160_fw.h
qla1280.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
qla1280.h
qlogicfas408.c
qlogicfas408.h
qlogicfas.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
qlogicpti_asm.c
qlogicpti.c [SCSI] replace sizeof sense_buffer with SCSI_SENSE_BUFFERSIZE 2008-01-23 11:29:27 -06:00
qlogicpti.h
raid_class.c
script_asm.pl
scsi_debug.c [SCSI] scsi_debug: add XDWRITEREAD_10 support 2008-01-30 13:14:25 -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] bidirectional command support 2008-01-30 13:03:41 -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_lib.c iommu sg merging: call dma_set_seg_boundary in __scsi_alloc_queue() 2008-02-05 09:44:12 -08:00
scsi_logging.h
scsi_module.c
scsi_netlink.c [NETNS]: Consolidate kernel netlink socket destruction. 2008-01-28 15:08:07 -08:00
scsi_priv.h [SCSI] don't use __GFP_DMA for sense buffers if not required 2008-01-23 11:37:44 -06: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] add missing transport configure points for target and host 2008-01-23 11:29:17 -06:00
scsi_sysctl.c
scsi_sysfs.c [SCSI] add missing transport configure points for target and host 2008-01-23 11:29:17 -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 drivers/scsi/: Spelling fixes 2008-02-03 17:28:22 +02:00
scsi_tgt_priv.h
scsi_transport_api.h
scsi_transport_fc_internal.h
scsi_transport_fc.c [SCSI] Add Documentation and integrate into docbook build 2008-01-11 18:22:40 -06:00
scsi_transport_iscsi.c [NETNS]: Consolidate kernel netlink socket destruction. 2008-01-28 15:08:07 -08:00
scsi_transport_sas.c drivers/scsi/: Spelling fixes 2008-02-03 17:28:22 +02:00
scsi_transport_spi.c [SCSI] scsi_transport_spi: convert to attribute groups 2008-01-23 11:29:18 -06:00
scsi_transport_srp_internal.h
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] implement scsi_data_buffer 2008-01-30 13:03:40 -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] implement scsi_data_buffer 2008-01-30 13:03:40 -06:00
sg.c blktrace: Add blktrace ioctls to SCSI generic devices 2008-01-28 10:04:46 +01:00
sgiwd93.c [SCSI] sgiwd93: use cached memory access to make driver work on IP28 2008-01-30 13:03:39 -06:00
sim710.c
sni_53c710.c
sr_ioctl.c [SCSI] sr: update to follow tray status correctly 2008-01-11 18:29:17 -06:00
sr_vendor.c
sr.c [SCSI] implement scsi_data_buffer 2008-01-30 13:03:40 -06:00
sr.h [SCSI] sr: update to follow tray status correctly 2008-01-11 18:29:17 -06:00
st_options.h
st.c [SCSI] st: convert to unlocked_ioctl 2008-01-23 11:29:29 -06:00
st.h
stex.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
sun3_NCR5380.c [SCSI] atari_NCR5380, sun3_NCR5380: operator precedence fix 2008-01-11 18:28:57 -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
sun_esp.c
sym53c416.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06: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 [SCSI] replace sizeof sense_buffer with SCSI_SENSE_BUFFERSIZE 2008-01-23 11:29:27 -06:00
tmscsim.h
u14-34f.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
ultrastor.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
ultrastor.h
wd33c93.c [SCSI] wd33c93: convert to accessors and !use_sg cleanup 2008-01-11 18:22:35 -06:00
wd33c93.h
wd7000.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
zalon.c
zorro7xx.c m68k: zorro7xx needs <asm/amigahw.h> 2007-11-29 09:24:52 -08:00