FROMGIT: scsi: ufs: core: Enable DMA clustering
All UFS host controllers support DMA clustering. Hence enable DMA clustering. Notes: - The max_segment_size parameter implements the 256 KiB limit for the PRDT. The dma_boundary parameter represents a boundary that must not be crossed by DMA scatter/gather lists. I'm not aware of any restrictions on DMA scatter/gather lists in the UFSHCI specification other than the 256 KiB limit for the PRDT and the 32-bit address restriction for controllers that only support 32-bits DMA. The latter restriction is already handled by ufshcd_set_dma_mask(). - Without patch "scsi: ufs: exynos: Fix the maximum segment size", this patch breaks support for the Exynos controller. The history of the dma_boundary parameter in the UFS driver is as follows: * The initial UFS driver did not set the dma_boundary parameter. * Commit4dd4130a72("scsi: make sure all drivers set the use_clustering flag") set the .use_clustering flag. * Commit4af14d113b("scsi: remove the use_clustering flag") removed the use_clustering flag and set the dma_boundary parameter instead. Cc: Avri Altman <avri.altman@wdc.com> Cc: Alim Akhtar <alim.akhtar@samsung.com> Cc: Kiwoong Kim <kwmad.kim@samsung.com> Change-Id: I7a14065dee3278b93f51e66b132dd2ffbc3020c4 Signed-off-by: Bart Van Assche <bvanassche@acm.org> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> (cherry picked from commit 13f87983fb91454e4a534bb41b5b2b43afe97798 git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next) Signed-off-by: Bart Van Assche <bvanassche@google.com>
This commit is contained in:
committed by
Bart Van Assche
parent
1810e7b451
commit
c4e9d151d5
@@ -8802,7 +8802,6 @@ static struct scsi_host_template ufshcd_driver_template = {
|
|||||||
.max_host_blocked = 1,
|
.max_host_blocked = 1,
|
||||||
.track_queue_depth = 1,
|
.track_queue_depth = 1,
|
||||||
.sdev_groups = ufshcd_driver_groups,
|
.sdev_groups = ufshcd_driver_groups,
|
||||||
.dma_boundary = PAGE_SIZE - 1,
|
|
||||||
.rpm_autosuspend_delay = RPM_AUTOSUSPEND_DELAY_MS,
|
.rpm_autosuspend_delay = RPM_AUTOSUSPEND_DELAY_MS,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user