mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
scsi: check that busses support the DMA API before setting dma parameters
We'll start throwing warnings soon when dma_set_seg_boundary and dma_set_max_seg_size are called on devices for buses that don't fully support the DMA API. Prepare for that by making the calls in the SCSI midlayer conditional. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Robin Murphy <robin.murphy@arm.com> Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
833bd284a4
commit
b5a73bf4d1
@ -1988,8 +1988,15 @@ void scsi_init_limits(struct Scsi_Host *shost, struct queue_limits *lim)
|
||||
if (shost->no_highmem)
|
||||
lim->features |= BLK_FEAT_BOUNCE_HIGH;
|
||||
|
||||
dma_set_seg_boundary(dev, shost->dma_boundary);
|
||||
dma_set_max_seg_size(dev, shost->max_segment_size);
|
||||
/*
|
||||
* Propagate the DMA formation properties to the dma-mapping layer as
|
||||
* a courtesy service to the LLDDs. This needs to check that the buses
|
||||
* actually support the DMA API first, though.
|
||||
*/
|
||||
if (dev->dma_parms) {
|
||||
dma_set_seg_boundary(dev, shost->dma_boundary);
|
||||
dma_set_max_seg_size(dev, shost->max_segment_size);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(scsi_init_limits);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user