RE: [PATCH v2 2/3] scsi: ufs: Exynos: Fix the maximum segment size

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




>-----Original Message-----
>From: Bart Van Assche [mailto:bvanassche@xxxxxxx]
>Sent: Friday, January 13, 2023 5:12 AM
>To: Martin K . Petersen <martin.petersen@xxxxxxxxxx>
>Cc: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>; linux-scsi@xxxxxxxxxxxxxxx; Adrian
>Hunter <adrian.hunter@xxxxxxxxx>; Alim Akhtar
><alim.akhtar@xxxxxxxxxxx>; Bart Van Assche <bvanassche@xxxxxxx>;
>Kiwoong Kim <kwmad.kim@xxxxxxxxxxx>; James E.J. Bottomley
><jejb@xxxxxxxxxxxxx>; Krzysztof Kozlowski
><krzysztof.kozlowski@xxxxxxxxxx>; Chanho Park
><chanho61.park@xxxxxxxxxxx>; Bean Huo <beanhuo@xxxxxxxxxx>
>Subject: [PATCH v2 2/3] scsi: ufs: Exynos: Fix the maximum segment size
>
>Prepare for enabling DMA clustering and also for supporting PAGE_SIZE !=
>4096 by declaring explicitly that the maximum segment size is 4096 bytes
for
>Exynos UFS host controllers. Add this code in
>exynos_ufs_hce_enable_notify() such that it happens after
>scsi_host_alloc() and before __scsi_init_queue() is called by the LUN
scanning
>code.
>
>Cc: Alim Akhtar <alim.akhtar@xxxxxxxxxxx>
>Cc: Kiwoong Kim <kwmad.kim@xxxxxxxxxxx>
>Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx>
>---

Reviewed-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx>

Tested basic read/write on platform containing Exynos UFS HCI, so 

Tested-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx>

> drivers/ufs/host/ufs-exynos.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
>diff --git a/drivers/ufs/host/ufs-exynos.c b/drivers/ufs/host/ufs-exynos.c
>index 3cdac89a28b8..7c985fc38db1 100644
>--- a/drivers/ufs/host/ufs-exynos.c
>+++ b/drivers/ufs/host/ufs-exynos.c
>@@ -1300,6 +1300,14 @@ static int exynos_ufs_hce_enable_notify(struct
>ufs_hba *hba,
>
> 	switch (status) {
> 	case PRE_CHANGE:
>+		/*
>+		 * The maximum segment size must be set after
>scsi_host_alloc()
>+		 * has been called and before LUN scanning starts
>+		 * (ufshcd_async_scan()). Note: this callback may also be
>called
>+		 * from other functions than ufshcd_init().
>+		 */
>+		hba->host->max_segment_size = 4096;
>+
> 		if (ufs->drv_data->pre_hce_enable) {
> 			ret = ufs->drv_data->pre_hce_enable(ufs);
> 			if (ret)




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux