scsi: ufs: ufs-exynos: Move setting the the DMA alignment to the init method
authorChristoph Hellwig <hch@lst.de>
Tue, 9 Apr 2024 14:37:33 +0000 (16:37 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 12 Apr 2024 01:37:49 +0000 (21:37 -0400)
Use the SCSI host's dma_alignment field and set it in ->init and remove the
now unused config_scsi_dev method.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20240409143748.980206-9-hch@lst.de
Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/ufs/core/ufshcd.c
drivers/ufs/host/ufs-exynos.c
include/ufs/ufshcd.h

index 62c8575f2c67ed12b2a419d7eb36c84062a616f0..83227c8708599b007df83d8c2d7c56e6d138b3bc 100644 (file)
@@ -5274,9 +5274,6 @@ static int ufshcd_slave_configure(struct scsi_device *sdev)
         */
        sdev->silence_suspend = 1;
 
-       if (hba->vops && hba->vops->config_scsi_dev)
-               hba->vops->config_scsi_dev(sdev);
-
        ufshcd_crypto_register(hba, q);
 
        return 0;
index 734d40f99e31e6baa53e5256039b5429a62f2ef4..7ffc28e227842083c73c332681c702a6d370eca9 100644 (file)
@@ -1187,6 +1187,8 @@ static int exynos_ufs_init(struct ufs_hba *hba)
                goto out;
        exynos_ufs_specify_phy_time_attr(ufs);
        exynos_ufs_config_smu(ufs);
+
+       hba->host->dma_alignment = SZ_4K - 1;
        return 0;
 
 out:
@@ -1510,11 +1512,6 @@ static int fsd_ufs_pre_link(struct exynos_ufs *ufs)
        return 0;
 }
 
-static void exynos_ufs_config_scsi_dev(struct scsi_device *sdev)
-{
-       blk_queue_update_dma_alignment(sdev->request_queue, SZ_4K - 1);
-}
-
 static int fsd_ufs_post_link(struct exynos_ufs *ufs)
 {
        int i;
@@ -1583,7 +1580,6 @@ static const struct ufs_hba_variant_ops ufs_hba_exynos_ops = {
        .hibern8_notify                 = exynos_ufs_hibern8_notify,
        .suspend                        = exynos_ufs_suspend,
        .resume                         = exynos_ufs_resume,
-       .config_scsi_dev                = exynos_ufs_config_scsi_dev,
 };
 
 static struct ufs_hba_variant_ops ufs_hba_exynosauto_vh_ops = {
index a35e12f8e68baa8b1baf45d5234dff62af91813e..93afb726213f0ca0bcc57c82a1de71d2707e1612 100644 (file)
@@ -374,7 +374,6 @@ struct ufs_hba_variant_ops {
        int     (*get_outstanding_cqs)(struct ufs_hba *hba,
                                       unsigned long *ocqs);
        int     (*config_esi)(struct ufs_hba *hba);
-       void    (*config_scsi_dev)(struct scsi_device *sdev);
 };
 
 /* clock gating state  */