devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/11] UFS cleanups and enhancements to ufs-exynos for gs101
@ 2024-10-25 13:14 Peter Griffin
  2024-10-25 13:14 ` [PATCH v2 01/11] scsi: ufs: exynos: Allow UFS Gear 4 Peter Griffin
                   ` (10 more replies)
  0 siblings, 11 replies; 29+ messages in thread
From: Peter Griffin @ 2024-10-25 13:14 UTC (permalink / raw)
  To: alim.akhtar, James.Bottomley, martin.petersen, avri.altman,
	bvanassche, krzk
  Cc: tudor.ambarus, andre.draszik, kernel-team, willmcvicker,
	linux-scsi, devicetree, linux-arm-kernel, linux-samsung-soc,
	linux-kernel, ebiggers, Peter Griffin

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.

In v2 of this series additionally I've added following patches 8-11 which
add

* 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

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.

[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)

Peter Griffin (11):
  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

 drivers/ufs/host/ufs-exynos.c | 126 +++++++++++++++++++---------------
 1 file changed, 70 insertions(+), 56 deletions(-)

-- 
2.47.0.163.g1226f6d8fa-goog


^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2024-10-31 12:35 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-25 13:14 [PATCH v2 00/11] UFS cleanups and enhancements to ufs-exynos for gs101 Peter Griffin
2024-10-25 13:14 ` [PATCH v2 01/11] scsi: ufs: exynos: Allow UFS Gear 4 Peter Griffin
2024-10-30  8:04   ` Tudor Ambarus
2024-10-30 12:05     ` Peter Griffin
2024-10-25 13:14 ` [PATCH v2 02/11] scsi: ufs: exynos: add check inside exynos_ufs_config_smu() Peter Griffin
2024-10-30  8:12   ` Tudor Ambarus
2024-10-25 13:14 ` [PATCH v2 03/11] scsi: ufs: exynos: gs101: remove EXYNOS_UFS_OPT_BROKEN_AUTO_CLK_CTRL Peter Griffin
2024-10-30  8:24   ` Tudor Ambarus
2024-10-25 13:14 ` [PATCH v2 04/11] scsi: ufs: exynos: Add EXYNOS_UFS_OPT_SKIP_CONFIG_PHY_ATTR check Peter Griffin
2024-10-30  8:56   ` Tudor Ambarus
2024-10-30 13:29     ` Tudor Ambarus
2024-10-31 11:18     ` Peter Griffin
2024-10-25 13:14 ` [PATCH v2 05/11] scsi: ufs: exynos: gs101: remove unused phy attribute fields Peter Griffin
2024-10-30  9:08   ` Tudor Ambarus
2024-10-25 13:14 ` [PATCH v2 06/11] scsi: ufs: exynos: remove tx_dif_p_nsec from exynosauto_ufs_drv_init() Peter Griffin
2024-10-30  9:39   ` Tudor Ambarus
2024-10-25 13:14 ` [PATCH v2 07/11] scsi: ufs: exynos: add gs101_ufs_drv_init() hook and enable WriteBooster Peter Griffin
2024-10-30 10:32   ` Tudor Ambarus
2024-10-25 13:14 ` [PATCH v2 08/11] scsi: ufs: exynos: enable write line unique transactions on gs101 Peter Griffin
2024-10-30 11:25   ` Tudor Ambarus
2024-10-30 11:32     ` Peter Griffin
2024-10-30 12:36       ` Tudor Ambarus
2024-10-25 13:14 ` [PATCH v2 09/11] scsi: ufs: exynos: set ACG to be controlled by UFS_ACG_DISABLE Peter Griffin
2024-10-30 11:45   ` Tudor Ambarus
2024-10-25 13:14 ` [PATCH v2 10/11] scsi: ufs: exynos: fix hibern8 notify callbacks Peter Griffin
2024-10-30 12:00   ` Tudor Ambarus
2024-10-31 12:35     ` Peter Griffin
2024-10-25 13:14 ` [PATCH v2 11/11] scsi: ufs: exynos: gs101: enable clock gating with hibern8 Peter Griffin
2024-10-30 12:25   ` Tudor Ambarus

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).