diff --git a/drivers/scsi/ufs/ufs-tegra-common.c b/drivers/scsi/ufs/ufs-tegra-common.c index f8465f12..74bf3448 100644 --- a/drivers/scsi/ufs/ufs-tegra-common.c +++ b/drivers/scsi/ufs/ufs-tegra-common.c @@ -1393,7 +1393,7 @@ static int ufs_tegra_link_startup_notify(struct ufs_hba *hba, return err; } -static void ufs_tegra_config_soc_data(struct ufs_tegra_host *ufs_tegra) +static int ufs_tegra_config_soc_data(struct ufs_tegra_host *ufs_tegra) { struct device *dev = ufs_tegra->hba->dev; struct device_node *np = dev->of_node; @@ -1430,13 +1430,16 @@ static void ufs_tegra_config_soc_data(struct ufs_tegra_host *ufs_tegra) ufs_tegra->enable_scramble = of_property_read_bool(np, "nvidia,enable-scramble"); + if (ufs_tegra->soc->chip_id >= TEGRA234) { #if defined(NV_UFSHCD_QUIRKS_ENUM_HAS_UFSHCD_QUIRK_BROKEN_64BIT_ADDRESS) /* Linux 6.0 */ - if (ufs_tegra->soc->chip_id >= TEGRA234) ufs_tegra->hba->quirks |= UFSHCD_QUIRK_BROKEN_64BIT_ADDRESS; #else - if (ufs_tegra->soc->chip_id >= TEGRA234) - ufs_tegra->hba->quirks |= UFSHCD_QUIRK_ENABLE_STREAM_ID; + dev_err(dev, "UFSHCD_QUIRK_BROKEN_64BIT_ADDRESS not supported!\n"); + return -ENOTSUPP; #endif + } + + return 0; } static void ufs_tegra_eq_timeout(struct ufs_tegra_host *ufs_tegra) @@ -1688,7 +1691,10 @@ static int ufs_tegra_init(struct ufs_hba *hba) ufs_tegra->hba = hba; hba->priv = (void *)ufs_tegra; - ufs_tegra_config_soc_data(ufs_tegra); + err = ufs_tegra_config_soc_data(ufs_tegra); + if (err) + return err; + hba->spm_lvl = UFS_PM_LVL_3; hba->rpm_lvl = UFS_PM_LVL_1; hba->caps |= UFSHCD_CAP_INTR_AGGR; diff --git a/include/drivers-private/scsi/ufs/k515/ufshcd.h b/include/drivers-private/scsi/ufs/k515/ufshcd.h index 1167b7a0..07ada667 100644 --- a/include/drivers-private/scsi/ufs/k515/ufshcd.h +++ b/include/drivers-private/scsi/ufs/k515/ufshcd.h @@ -588,11 +588,6 @@ enum ufshcd_quirks { * This quirk allows only sg entries aligned with page size. */ UFSHCD_QUIRK_ALIGN_SG_WITH_PAGE_SIZE = 1 << 14, - - /* - * Enable this quirk to support Stream-ID programming - */ - UFSHCD_QUIRK_ENABLE_STREAM_ID = 1 << 15, }; enum ufshcd_caps { diff --git a/include/drivers-private/scsi/ufs/k516/ufshcd.h b/include/drivers-private/scsi/ufs/k516/ufshcd.h index 21d33614..88c20f36 100644 --- a/include/drivers-private/scsi/ufs/k516/ufshcd.h +++ b/include/drivers-private/scsi/ufs/k516/ufshcd.h @@ -602,11 +602,6 @@ enum ufshcd_quirks { * support physical host configuration. */ UFSHCD_QUIRK_SKIP_PH_CONFIGURATION = 1 << 16, - - /* - * Enable this quirk to support Stream-ID programming - */ - UFSHCD_QUIRK_ENABLE_STREAM_ID = 1 << 17, }; enum ufshcd_caps {