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
..
2008-01-30 13:14:02 -06:00
2007-10-31 15:21:35 +00:00
2007-04-01 10:10:04 -05:00
2008-01-30 13:14:02 -06:00
2008-02-03 17:28:22 +02:00
2008-02-03 17:28:22 +02:00
2008-02-03 17:28:22 +02:00
2008-01-30 13:14:02 -06:00
2008-01-11 18:22:30 -06:00
2008-01-30 13:14:02 -06:00
2008-01-30 13:14:02 -06:00
2008-01-30 13:14:02 -06:00
2008-01-30 13:14:02 -06:00
2008-01-30 13:14:02 -06:00
2008-01-30 13:14:02 -06:00
2008-01-25 09:22:12 -06:00
2008-01-30 13:14:02 -06:00
2008-01-30 13:14:02 -06:00
2008-01-30 13:14:02 -06:00
2008-01-30 13:14:02 -06:00
2008-01-30 13:14:02 -06:00
2008-01-30 13:14:02 -06:00
2008-01-30 13:14:02 -06:00
2008-02-03 17:28:22 +02:00
2008-02-03 17:28:22 +02:00
2008-01-11 18:27:59 -06:00
2008-01-30 13:14:02 -06:00
2007-05-31 17:30:04 -04:00
2008-01-11 18:28:51 -06:00
2008-01-30 13:03:40 -06:00
2008-01-30 13:14:02 -06:00
2008-01-30 13:14:02 -06:00
2008-01-30 13:14:02 -06:00
2008-01-30 13:14:02 -06:00
2008-02-03 17:28:22 +02:00
2008-01-23 13:44:31 -06:00
2008-01-30 13:14:02 -06:00
2007-10-19 11:53:42 -07:00
2008-01-30 13:14:02 -06:00
2008-01-30 13:14:02 -06:00
2007-07-18 11:16:32 -05:00
2008-02-03 17:28:22 +02:00
2008-01-30 13:03:40 -06:00
2008-01-30 13:03:40 -06:00
2007-07-14 19:12:15 -05:00
2008-01-30 13:03:40 -06:00
2008-01-23 11:29:29 -06:00
2007-07-31 10:44:01 -05:00
2008-01-30 13:14:02 -06:00
2007-10-24 08:55:40 +02:00
2007-05-31 17:30:04 -04:00
2008-01-30 13:14:02 -06:00
2008-01-30 13:14:02 -06:00
2008-01-30 13:14:02 -06:00
2007-10-19 23:22:55 +02:00
2008-01-30 13:14:02 -06:00