Hi folks, This series provides a few cleanups, bug fixes and feature enhancements for the ufs-exynos driver, particularly for gs101 SoC. Regarding cleanup we remove some unused phy attribute data that isn't required when EXYNOS_UFS_OPT_SKIP_CONFIG_PHY_ATTR is not set. Regarding bug fixes the check for EXYNOS_UFS_OPT_UFSPR_SECURE is moved inside exynos_ufs_config_smu() which fixes a Serror in the resume path for gs101. Regarding feature enhancements: * Gear 4 is enabled which has higher speeds and better power management. * WriteBooster capability is enabled for gs101 which increases write performance. * Clock gating and hibern8 capabilities are enabled for gs101. This leads to a significantly cooler phone when running the upstream kernel on Pixel 6. Approximately 10 degrees cooler after 20 minutes at a shell prompt. * AXI bus on gs101 is correctly configured for write line unique transactions * ACG is set to be controlled by UFS_ACG_DISABLE for gs101 Additionally in v3 I've added 2 minor cleanup patches from Tudor and also an update to MAINTAINERS to add myself as a reviewer and the linux-samsung-soc list. Note: In v1 I mentioned the phy hibern8 series in [1] that is still under discussion however further testing reveals hibern8 feature still works without the additional UFS phy register writes done in [1]. So this series can be merged as is and has no runtime dependencies on [1] to be functional. [1] https://lore.kernel.org/linux-arm-kernel/20241002201555.3332138-3-peter.griffin@xxxxxxxxxx/T/ regards, Peter Changes since v1: - Remove superfluous struct device parameter to exynos_ufs_shareability() (Peter) - Add patches 8-11 (hibern8 fixes, WLU support etc) Changes since v2: - Add 2 cleanup patches from Tudor to the series and rebase (Tudor) - Fixup various commit messages as per Tudors review feedback (Tudor) - Collect up reviewed-by tags, and CC stable where appropriate (Peter) - Add myself as a reviewer in MAINTAINERS for ufs-exynos driver and add linux-samsung-soc list. (Peter) - Added blank line and split hs_tx_gear/hs_rx_gear into separate lines (Tudor) Peter Griffin (12): scsi: ufs: exynos: Allow UFS Gear 4 scsi: ufs: exynos: add check inside exynos_ufs_config_smu() scsi: ufs: exynos: gs101: remove EXYNOS_UFS_OPT_BROKEN_AUTO_CLK_CTRL scsi: ufs: exynos: Add EXYNOS_UFS_OPT_SKIP_CONFIG_PHY_ATTR check scsi: ufs: exynos: gs101: remove unused phy attribute fields scsi: ufs: exynos: remove tx_dif_p_nsec from exynosauto_ufs_drv_init() scsi: ufs: exynos: add gs101_ufs_drv_init() hook and enable WriteBooster scsi: ufs: exynos: enable write line unique transactions on gs101 scsi: ufs: exynos: set ACG to be controlled by UFS_ACG_DISABLE scsi: ufs: exynos: fix hibern8 notify callbacks scsi: ufs: exynos: gs101: enable clock gating with hibern8 MAINTAINERS: Update UFS Exynos entry Tudor Ambarus (2): scsi: ufs: exynos: remove empty drv_init method scsi: ufs: exynos: remove superfluous function parameter MAINTAINERS | 2 + drivers/ufs/host/ufs-exynos.c | 136 ++++++++++++++++++---------------- drivers/ufs/host/ufs-exynos.h | 2 +- 3 files changed, 76 insertions(+), 64 deletions(-) -- 2.47.0.163.g1226f6d8fa-goog