mbox series

[v3,00/14] UFS cleanups and enhancements to ufs-exynos for gs101

Message ID 20241031150033.3440894-1-peter.griffin@linaro.org (mailing list archive)
Headers show
Series UFS cleanups and enhancements to ufs-exynos for gs101 | expand

Message

Peter Griffin Oct. 31, 2024, 3 p.m. UTC
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@linaro.org/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(-)

Comments

Martin K. Petersen Nov. 3, 2024, 1:35 a.m. UTC | #1
Peter,

> This series provides a few cleanups, bug fixes and feature
> enhancements for the ufs-exynos driver, particularly for gs101 SoC.

Patches 1 and 2 were missing your SoB tags. I took the liberty of adding
these instead of having you resubmit. Please acknowledge that these two
patches should have your SoB.

Thanks!
Peter Griffin Nov. 3, 2024, 6:57 a.m. UTC | #2
Hi Martin,

On Sun, 3 Nov 2024 at 01:36, Martin K. Petersen
<martin.petersen@oracle.com> wrote:
>
>
> Peter,
>
> > This series provides a few cleanups, bug fixes and feature
> > enhancements for the ufs-exynos driver, particularly for gs101 SoC.
>
> Patches 1 and 2 were missing your SoB tags. I took the liberty of adding
> these instead of having you resubmit. Please acknowledge that these two
> patches should have your SoB.

Yes those 2 patches should have my SoB, that was an oversight on my
part.  Thanks for fixing it :)

Peter
Martin K. Petersen Nov. 14, 2024, 2:50 a.m. UTC | #3
On Thu, 31 Oct 2024 15:00:19 +0000, Peter Griffin wrote:

> 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.
> 
> [...]

Applied to 6.13/scsi-queue, thanks!

[01/14] scsi: ufs: exynos: remove empty drv_init method
        https://git.kernel.org/mkp/scsi/c/07c2a7375044
[02/14] scsi: ufs: exynos: remove superfluous function parameter
        https://git.kernel.org/mkp/scsi/c/afd613ca2c60
[03/14] scsi: ufs: exynos: Allow UFS Gear 4
        https://git.kernel.org/mkp/scsi/c/516ceaaf539d
[04/14] scsi: ufs: exynos: add check inside exynos_ufs_config_smu()
        https://git.kernel.org/mkp/scsi/c/c662cedea14e
[05/14] scsi: ufs: exynos: gs101: remove EXYNOS_UFS_OPT_BROKEN_AUTO_CLK_CTRL
        https://git.kernel.org/mkp/scsi/c/5278917250a5
[06/14] scsi: ufs: exynos: Add EXYNOS_UFS_OPT_SKIP_CONFIG_PHY_ATTR check
        https://git.kernel.org/mkp/scsi/c/96f3fd267fce
[07/14] scsi: ufs: exynos: gs101: remove unused phy attribute fields
        https://git.kernel.org/mkp/scsi/c/5ef3cb67f3da
[08/14] scsi: ufs: exynos: remove tx_dif_p_nsec from exynosauto_ufs_drv_init()
        https://git.kernel.org/mkp/scsi/c/f8fe71a3fe89
[09/14] scsi: ufs: exynos: add gs101_ufs_drv_init() hook and enable WriteBooster
        https://git.kernel.org/mkp/scsi/c/9cc4a4a57677
[10/14] scsi: ufs: exynos: enable write line unique transactions on gs101
        https://git.kernel.org/mkp/scsi/c/ef8bfb00e9f1
[11/14] scsi: ufs: exynos: set ACG to be controlled by UFS_ACG_DISABLE
        https://git.kernel.org/mkp/scsi/c/36adb55631d0
[12/14] scsi: ufs: exynos: fix hibern8 notify callbacks
        https://git.kernel.org/mkp/scsi/c/ceef938bbf8b
[13/14] scsi: ufs: exynos: gs101: enable clock gating with hibern8
        https://git.kernel.org/mkp/scsi/c/cabc453ca6c3
[14/14] MAINTAINERS: Update UFS Exynos entry
        https://git.kernel.org/mkp/scsi/c/d49df3d39244