* [PATCH v2 0/8] Enhance UFS Mediatek Driver
@ 2025-09-24 9:43 peter.wang
2025-09-24 9:43 ` [PATCH v2 1/8] ufs: host: mediatek: Correct clock scaling with PM QoS flow peter.wang
` (10 more replies)
0 siblings, 11 replies; 15+ messages in thread
From: peter.wang @ 2025-09-24 9:43 UTC (permalink / raw)
To: linux-scsi, martin.petersen
Cc: wsd_upstream, linux-mediatek, peter.wang, chun-hung.wu,
alice.chao, cc.chou, chaotian.jing, jiajie.hao, yi-fan.peng,
qilin.tan, lin.gui, tun-yu.yu, eddie.huang, naomi.chu, ed.tsai,
bvanassche
From: Peter Wang <peter.wang@mediatek.com>
Improves the UFS Mediatek driver by correcting clock scaling
with PM QoS, and adjusting power management flows. It addresses
shutdown/suspend race conditions, and removes redundant
functions. Support for new platforms is added with the
MMIO_OTSD_CTRL register, and MT6991 performance is optimized
with MRTT and random improvements. These changes collectively
enhance driver performance, stability, and compatibility.
Changes since v1:
1. Remove two patches that will be fixed in UFS core.
ufs: host: mediatek: Fix runtime suspend error deadlock
ufs: host: mediatek: Enable interrupts for MCQ mode
2. Use hba->shutting_down instead of ufshcd_is_user_access_allowed
Peter Wang (7):
ufs: host: mediatek: Correct clock scaling with PM QoS flow
ufs: host: mediatek: Adjust clock scaling for PM flow
ufs: host: mediatek: Handle clock scaling for high gear in PM flow
ufs: host: mediatek: Adjust sync length for FASTAUTO mode
ufs: host: mediatek: Fix shutdown/suspend race condition
ufs: host: mediatek: Remove duplicate function
ufs: host: mediatek: Add support for new platform with MMIO_OTSD_CTR
Naomi Chu (1):
ufs: host: mediatek: Support new feature for MT6991
drivers/ufs/core/ufs-sysfs.c | 3 +-
drivers/ufs/core/ufshcd.c | 3 +-
drivers/ufs/host/ufs-mediatek.c | 119 ++++++++++++++++++++++++++------
drivers/ufs/host/ufs-mediatek.h | 4 ++
include/ufs/ufshcd.h | 2 +
include/ufs/unipro.h | 7 +-
6 files changed, 115 insertions(+), 23 deletions(-)
--
2.45.2
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v2 1/8] ufs: host: mediatek: Correct clock scaling with PM QoS flow
2025-09-24 9:43 [PATCH v2 0/8] Enhance UFS Mediatek Driver peter.wang
@ 2025-09-24 9:43 ` peter.wang
2025-09-24 21:56 ` Bart Van Assche
2025-09-24 9:43 ` [PATCH v2 2/8] ufs: host: mediatek: Adjust clock scaling for PM flow peter.wang
` (9 subsequent siblings)
10 siblings, 1 reply; 15+ messages in thread
From: peter.wang @ 2025-09-24 9:43 UTC (permalink / raw)
To: linux-scsi, martin.petersen
Cc: wsd_upstream, linux-mediatek, peter.wang, chun-hung.wu,
alice.chao, cc.chou, chaotian.jing, jiajie.hao, yi-fan.peng,
qilin.tan, lin.gui, tun-yu.yu, eddie.huang, naomi.chu, ed.tsai,
bvanassche
From: Peter Wang <peter.wang@mediatek.com>
Correct clock scaling with PM QoS during suspend and resume.
Ensure PM QoS is released during suspend if scaling up and
re-applied after resume. This prevents performance issues
and maintains proper power management.
Signed-off-by: Peter Wang <peter.wang@mediatek.com>
---
drivers/ufs/core/ufshcd.c | 3 ++-
drivers/ufs/host/ufs-mediatek.c | 10 ++++++++++
include/ufs/ufshcd.h | 1 +
3 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c
index c9eb89dccd1e..436e2a16363c 100644
--- a/drivers/ufs/core/ufshcd.c
+++ b/drivers/ufs/core/ufshcd.c
@@ -1075,13 +1075,14 @@ void ufshcd_pm_qos_exit(struct ufs_hba *hba)
* @hba: per adapter instance
* @on: If True, vote for perf PM QoS mode otherwise power save mode
*/
-static void ufshcd_pm_qos_update(struct ufs_hba *hba, bool on)
+void ufshcd_pm_qos_update(struct ufs_hba *hba, bool on)
{
if (!hba->pm_qos_enabled)
return;
cpu_latency_qos_update_request(&hba->pm_qos_req, on ? 0 : PM_QOS_DEFAULT_VALUE);
}
+EXPORT_SYMBOL_GPL(ufshcd_pm_qos_update);
/**
* ufshcd_set_clk_freq - set UFS controller clock frequencies
diff --git a/drivers/ufs/host/ufs-mediatek.c b/drivers/ufs/host/ufs-mediatek.c
index 758a393a9de1..009031fee744 100644
--- a/drivers/ufs/host/ufs-mediatek.c
+++ b/drivers/ufs/host/ufs-mediatek.c
@@ -1744,6 +1744,7 @@ static int ufs_mtk_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op,
{
int err;
struct arm_smccc_res res;
+ struct ufs_mtk_host *host = ufshcd_get_variant(hba);
if (status == PRE_CHANGE) {
if (ufshcd_is_auto_hibern8_supported(hba))
@@ -1773,6 +1774,10 @@ static int ufs_mtk_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op,
ufs_mtk_sram_pwr_ctrl(false, res);
+ /* Release pm_qos if in scale-up mode during suspend */
+ if (ufshcd_is_clkscaling_supported(hba) && (host->clk_scale_up))
+ ufshcd_pm_qos_update(hba, false);
+
return 0;
fail:
/*
@@ -1788,6 +1793,7 @@ static int ufs_mtk_resume(struct ufs_hba *hba, enum ufs_pm_op pm_op)
{
int err;
struct arm_smccc_res res;
+ struct ufs_mtk_host *host = ufshcd_get_variant(hba);
if (hba->ufshcd_state != UFSHCD_STATE_OPERATIONAL)
ufs_mtk_dev_vreg_set_lpm(hba, false);
@@ -1798,6 +1804,10 @@ static int ufs_mtk_resume(struct ufs_hba *hba, enum ufs_pm_op pm_op)
if (err)
goto fail;
+ /* Request pm_qos if in scale-up mode after resume */
+ if (ufshcd_is_clkscaling_supported(hba) && (host->clk_scale_up))
+ ufshcd_pm_qos_update(hba, true);
+
if (ufshcd_is_link_hibern8(hba)) {
err = ufs_mtk_link_set_hpm(hba);
if (err)
diff --git a/include/ufs/ufshcd.h b/include/ufs/ufshcd.h
index ea0021f067c9..53b837b024ce 100644
--- a/include/ufs/ufshcd.h
+++ b/include/ufs/ufshcd.h
@@ -1483,5 +1483,6 @@ int ufshcd_write_ee_control(struct ufs_hba *hba);
int ufshcd_update_ee_control(struct ufs_hba *hba, u16 *mask,
const u16 *other_mask, u16 set, u16 clr);
void ufshcd_force_error_recovery(struct ufs_hba *hba);
+void ufshcd_pm_qos_update(struct ufs_hba *hba, bool on);
#endif /* End of Header */
--
2.45.2
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 2/8] ufs: host: mediatek: Adjust clock scaling for PM flow
2025-09-24 9:43 [PATCH v2 0/8] Enhance UFS Mediatek Driver peter.wang
2025-09-24 9:43 ` [PATCH v2 1/8] ufs: host: mediatek: Correct clock scaling with PM QoS flow peter.wang
@ 2025-09-24 9:43 ` peter.wang
2025-09-24 9:43 ` [PATCH v2 3/8] ufs: host: mediatek: Handle clock scaling for high gear in " peter.wang
` (8 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: peter.wang @ 2025-09-24 9:43 UTC (permalink / raw)
To: linux-scsi, martin.petersen
Cc: wsd_upstream, linux-mediatek, peter.wang, chun-hung.wu,
alice.chao, cc.chou, chaotian.jing, jiajie.hao, yi-fan.peng,
qilin.tan, lin.gui, tun-yu.yu, eddie.huang, naomi.chu, ed.tsai,
bvanassche
From: Peter Wang <peter.wang@mediatek.com>
Adjust clock scaling during suspend and resume in the UFS
Mediatek driver. Ensure that the clock scales down during
suspend if it was scaled up, and scales up again after resume.
This adjustment maintains proper power management.
Signed-off-by: Peter Wang <peter.wang@mediatek.com>
---
drivers/ufs/host/ufs-mediatek.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/drivers/ufs/host/ufs-mediatek.c b/drivers/ufs/host/ufs-mediatek.c
index 009031fee744..0622b7b32e51 100644
--- a/drivers/ufs/host/ufs-mediatek.c
+++ b/drivers/ufs/host/ufs-mediatek.c
@@ -1774,9 +1774,11 @@ static int ufs_mtk_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op,
ufs_mtk_sram_pwr_ctrl(false, res);
- /* Release pm_qos if in scale-up mode during suspend */
- if (ufshcd_is_clkscaling_supported(hba) && (host->clk_scale_up))
+ /* Release pm_qos/clk if in scale-up mode during suspend */
+ if (ufshcd_is_clkscaling_supported(hba) && (host->clk_scale_up)) {
ufshcd_pm_qos_update(hba, false);
+ _ufs_mtk_clk_scale(hba, false);
+ }
return 0;
fail:
@@ -1804,9 +1806,11 @@ static int ufs_mtk_resume(struct ufs_hba *hba, enum ufs_pm_op pm_op)
if (err)
goto fail;
- /* Request pm_qos if in scale-up mode after resume */
- if (ufshcd_is_clkscaling_supported(hba) && (host->clk_scale_up))
+ /* Request pm_qos/clk if in scale-up mode after resume */
+ if (ufshcd_is_clkscaling_supported(hba) && (host->clk_scale_up)) {
ufshcd_pm_qos_update(hba, true);
+ _ufs_mtk_clk_scale(hba, true);
+ }
if (ufshcd_is_link_hibern8(hba)) {
err = ufs_mtk_link_set_hpm(hba);
--
2.45.2
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 3/8] ufs: host: mediatek: Handle clock scaling for high gear in PM flow
2025-09-24 9:43 [PATCH v2 0/8] Enhance UFS Mediatek Driver peter.wang
2025-09-24 9:43 ` [PATCH v2 1/8] ufs: host: mediatek: Correct clock scaling with PM QoS flow peter.wang
2025-09-24 9:43 ` [PATCH v2 2/8] ufs: host: mediatek: Adjust clock scaling for PM flow peter.wang
@ 2025-09-24 9:43 ` peter.wang
2025-09-24 9:43 ` [PATCH v2 4/8] ufs: host: mediatek: Adjust sync length for FASTAUTO mode peter.wang
` (7 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: peter.wang @ 2025-09-24 9:43 UTC (permalink / raw)
To: linux-scsi, martin.petersen
Cc: wsd_upstream, linux-mediatek, peter.wang, chun-hung.wu,
alice.chao, cc.chou, chaotian.jing, jiajie.hao, yi-fan.peng,
qilin.tan, lin.gui, tun-yu.yu, eddie.huang, naomi.chu, ed.tsai,
bvanassche
From: Peter Wang <peter.wang@mediatek.com>
Add clock scaling down for power management flow in the UFS
Mediatek driver. If clock scaling is disabled and fixed in
high gear, ensure the clock scales down during suspend and
scales up again after resume to support high gear.
This adjustment maintains proper power management.
Signed-off-by: Peter Wang <peter.wang@mediatek.com>
---
drivers/ufs/host/ufs-mediatek.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/ufs/host/ufs-mediatek.c b/drivers/ufs/host/ufs-mediatek.c
index 0622b7b32e51..1dcc0c7c9f9b 100644
--- a/drivers/ufs/host/ufs-mediatek.c
+++ b/drivers/ufs/host/ufs-mediatek.c
@@ -1778,6 +1778,9 @@ static int ufs_mtk_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op,
if (ufshcd_is_clkscaling_supported(hba) && (host->clk_scale_up)) {
ufshcd_pm_qos_update(hba, false);
_ufs_mtk_clk_scale(hba, false);
+ } else if ((!ufshcd_is_clkscaling_supported(hba) &&
+ hba->pwr_info.gear_rx >= UFS_HS_G5)) {
+ _ufs_mtk_clk_scale(hba, false);
}
return 0;
@@ -1810,6 +1813,9 @@ static int ufs_mtk_resume(struct ufs_hba *hba, enum ufs_pm_op pm_op)
if (ufshcd_is_clkscaling_supported(hba) && (host->clk_scale_up)) {
ufshcd_pm_qos_update(hba, true);
_ufs_mtk_clk_scale(hba, true);
+ } else if ((!ufshcd_is_clkscaling_supported(hba) &&
+ hba->pwr_info.gear_rx >= UFS_HS_G5)) {
+ _ufs_mtk_clk_scale(hba, true);
}
if (ufshcd_is_link_hibern8(hba)) {
--
2.45.2
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 4/8] ufs: host: mediatek: Adjust sync length for FASTAUTO mode
2025-09-24 9:43 [PATCH v2 0/8] Enhance UFS Mediatek Driver peter.wang
` (2 preceding siblings ...)
2025-09-24 9:43 ` [PATCH v2 3/8] ufs: host: mediatek: Handle clock scaling for high gear in " peter.wang
@ 2025-09-24 9:43 ` peter.wang
2025-09-24 21:56 ` Bart Van Assche
2025-09-24 9:43 ` [PATCH v2 5/8] ufs: host: mediatek: Fix shutdown/suspend race condition peter.wang
` (6 subsequent siblings)
10 siblings, 1 reply; 15+ messages in thread
From: peter.wang @ 2025-09-24 9:43 UTC (permalink / raw)
To: linux-scsi, martin.petersen
Cc: wsd_upstream, linux-mediatek, peter.wang, chun-hung.wu,
alice.chao, cc.chou, chaotian.jing, jiajie.hao, yi-fan.peng,
qilin.tan, lin.gui, tun-yu.yu, eddie.huang, naomi.chu, ed.tsai,
bvanassche
From: Peter Wang <peter.wang@mediatek.com>
Set the sync length for FASTAUTO G1 mode in the UFS Mediatek
driver. This ensures the sync length meets minimum values
for high-speed gears, improving stability during power mode
changes.
Signed-off-by: Peter Wang <peter.wang@mediatek.com>
---
drivers/ufs/host/ufs-mediatek.c | 32 ++++++++++++++++++++++++++++++++
include/ufs/unipro.h | 7 ++++++-
2 files changed, 38 insertions(+), 1 deletion(-)
diff --git a/drivers/ufs/host/ufs-mediatek.c b/drivers/ufs/host/ufs-mediatek.c
index 1dcc0c7c9f9b..2a69b4cede22 100644
--- a/drivers/ufs/host/ufs-mediatek.c
+++ b/drivers/ufs/host/ufs-mediatek.c
@@ -1332,6 +1332,36 @@ static bool ufs_mtk_pmc_via_fastauto(struct ufs_hba *hba,
return true;
}
+static void ufs_mtk_adjust_sync_length(struct ufs_hba *hba)
+{
+ int i;
+ u32 value;
+ u32 cnt, att, min;
+ struct attr_min {
+ u32 attr;
+ u32 min_value;
+ } pa_min_sync_length[] = {
+ {PA_TXHSG1SYNCLENGTH, 0x48},
+ {PA_TXHSG2SYNCLENGTH, 0x48},
+ {PA_TXHSG3SYNCLENGTH, 0x48},
+ {PA_TXHSG4SYNCLENGTH, 0x48},
+ {PA_TXHSG5SYNCLENGTH, 0x48}
+ };
+
+ cnt = sizeof(pa_min_sync_length) / sizeof(struct attr_min);
+ for (i = 0; i < cnt; i++) {
+ att = pa_min_sync_length[i].attr;
+ min = pa_min_sync_length[i].min_value;
+ ufshcd_dme_get(hba, UIC_ARG_MIB(att), &value);
+ if (value < min)
+ ufshcd_dme_set(hba, UIC_ARG_MIB(att), min);
+
+ ufshcd_dme_peer_get(hba, UIC_ARG_MIB(att), &value);
+ if (value < min)
+ ufshcd_dme_peer_set(hba, UIC_ARG_MIB(att), min);
+ }
+}
+
static int ufs_mtk_pre_pwr_change(struct ufs_hba *hba,
const struct ufs_pa_layer_attr *dev_max_params,
struct ufs_pa_layer_attr *dev_req_params)
@@ -1355,6 +1385,8 @@ static int ufs_mtk_pre_pwr_change(struct ufs_hba *hba,
}
if (ufs_mtk_pmc_via_fastauto(hba, dev_req_params)) {
+ ufs_mtk_adjust_sync_length(hba);
+
ufshcd_dme_set(hba, UIC_ARG_MIB(PA_TXTERMINATION), true);
ufshcd_dme_set(hba, UIC_ARG_MIB(PA_TXGEAR), UFS_HS_G1);
diff --git a/include/ufs/unipro.h b/include/ufs/unipro.h
index 360e1245fb40..498ec9028b3c 100644
--- a/include/ufs/unipro.h
+++ b/include/ufs/unipro.h
@@ -111,6 +111,9 @@
#define PA_TXLINKSTARTUPHS 0x1544
#define PA_AVAILRXDATALANES 0x1540
#define PA_MINRXTRAILINGCLOCKS 0x1543
+#define PA_TXHSG1SYNCLENGTH 0x1552
+#define PA_TXHSG2SYNCLENGTH 0x1554
+#define PA_TXHSG3SYNCLENGTH 0x1556
#define PA_LOCAL_TX_LCC_ENABLE 0x155E
#define PA_ACTIVETXDATALANES 0x1560
#define PA_CONNECTEDTXDATALANES 0x1561
@@ -160,7 +163,9 @@
#define PA_PACPFRAMECOUNT 0x15C0
#define PA_PACPERRORCOUNT 0x15C1
#define PA_PHYTESTCONTROL 0x15C2
-#define PA_TXHSADAPTTYPE 0x15D4
+#define PA_TXHSG4SYNCLENGTH 0x15D0
+#define PA_TXHSADAPTTYPE 0x15D4
+#define PA_TXHSG5SYNCLENGTH 0x15D6
/* Adpat type for PA_TXHSADAPTTYPE attribute */
#define PA_REFRESH_ADAPT 0x00
--
2.45.2
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 5/8] ufs: host: mediatek: Fix shutdown/suspend race condition
2025-09-24 9:43 [PATCH v2 0/8] Enhance UFS Mediatek Driver peter.wang
` (3 preceding siblings ...)
2025-09-24 9:43 ` [PATCH v2 4/8] ufs: host: mediatek: Adjust sync length for FASTAUTO mode peter.wang
@ 2025-09-24 9:43 ` peter.wang
2025-09-24 9:43 ` [PATCH v2 6/8] ufs: host: mediatek: Remove duplicate function peter.wang
` (5 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: peter.wang @ 2025-09-24 9:43 UTC (permalink / raw)
To: linux-scsi, martin.petersen
Cc: wsd_upstream, linux-mediatek, peter.wang, chun-hung.wu,
alice.chao, cc.chou, chaotian.jing, jiajie.hao, yi-fan.peng,
qilin.tan, lin.gui, tun-yu.yu, eddie.huang, naomi.chu, ed.tsai,
bvanassche
From: Peter Wang <peter.wang@mediatek.com>
Address a race condition between shutdown and suspend
operations in the UFS Mediatek driver. Before entering
suspend, check if a shutdown is in progress to prevent
conflicts and ensure system stability.
Signed-off-by: Peter Wang <peter.wang@mediatek.com>
---
drivers/ufs/host/ufs-mediatek.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/ufs/host/ufs-mediatek.c b/drivers/ufs/host/ufs-mediatek.c
index 2a69b4cede22..c00e62adbbda 100644
--- a/drivers/ufs/host/ufs-mediatek.c
+++ b/drivers/ufs/host/ufs-mediatek.c
@@ -2425,6 +2425,11 @@ static int ufs_mtk_system_suspend(struct device *dev)
struct arm_smccc_res res;
int ret;
+ if (hba->shutting_down) {
+ ret = -EBUSY;
+ goto out;
+ }
+
ret = ufshcd_system_suspend(dev);
if (ret)
goto out;
--
2.45.2
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 6/8] ufs: host: mediatek: Remove duplicate function
2025-09-24 9:43 [PATCH v2 0/8] Enhance UFS Mediatek Driver peter.wang
` (4 preceding siblings ...)
2025-09-24 9:43 ` [PATCH v2 5/8] ufs: host: mediatek: Fix shutdown/suspend race condition peter.wang
@ 2025-09-24 9:43 ` peter.wang
2025-09-24 9:43 ` [PATCH v2 7/8] ufs: host: mediatek: Add support for new platform with MMIO_OTSD_CTR peter.wang
` (4 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: peter.wang @ 2025-09-24 9:43 UTC (permalink / raw)
To: linux-scsi, martin.petersen
Cc: wsd_upstream, linux-mediatek, peter.wang, chun-hung.wu,
alice.chao, cc.chou, chaotian.jing, jiajie.hao, yi-fan.peng,
qilin.tan, lin.gui, tun-yu.yu, eddie.huang, naomi.chu, ed.tsai,
bvanassche
From: Peter Wang <peter.wang@mediatek.com>
Remove the duplicate ufs_mtk_us_to_ahit function in the UFS
Mediatek driver and export the existing ufshcd_us_to_ahit
function for shared use. This change reduces redundancy
and maintains consistency across the codebase.
Signed-off-by: Peter Wang <peter.wang@mediatek.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
---
drivers/ufs/core/ufs-sysfs.c | 3 ++-
drivers/ufs/host/ufs-mediatek.c | 14 +-------------
include/ufs/ufshcd.h | 1 +
3 files changed, 4 insertions(+), 14 deletions(-)
diff --git a/drivers/ufs/core/ufs-sysfs.c b/drivers/ufs/core/ufs-sysfs.c
index 4bd7d491e3c5..0fb236ce7f4c 100644
--- a/drivers/ufs/core/ufs-sysfs.c
+++ b/drivers/ufs/core/ufs-sysfs.c
@@ -235,7 +235,7 @@ static int ufshcd_ahit_to_us(u32 ahit)
}
/* Convert microseconds to Auto-Hibernate Idle Timer register value */
-static u32 ufshcd_us_to_ahit(unsigned int timer)
+u32 ufshcd_us_to_ahit(unsigned int timer)
{
unsigned int scale;
@@ -245,6 +245,7 @@ static u32 ufshcd_us_to_ahit(unsigned int timer)
return FIELD_PREP(UFSHCI_AHIBERN8_TIMER_MASK, timer) |
FIELD_PREP(UFSHCI_AHIBERN8_SCALE_MASK, scale);
}
+EXPORT_SYMBOL_GPL(ufshcd_us_to_ahit);
static int ufshcd_read_hci_reg(struct ufs_hba *hba, u32 *val, unsigned int reg)
{
diff --git a/drivers/ufs/host/ufs-mediatek.c b/drivers/ufs/host/ufs-mediatek.c
index c00e62adbbda..3e54154d5547 100644
--- a/drivers/ufs/host/ufs-mediatek.c
+++ b/drivers/ufs/host/ufs-mediatek.c
@@ -1109,18 +1109,6 @@ static void ufs_mtk_setup_clk_gating(struct ufs_hba *hba)
}
}
-/* Convert microseconds to Auto-Hibernate Idle Timer register value */
-static u32 ufs_mtk_us_to_ahit(unsigned int timer)
-{
- unsigned int scale;
-
- for (scale = 0; timer > UFSHCI_AHIBERN8_TIMER_MASK; ++scale)
- timer /= UFSHCI_AHIBERN8_SCALE_FACTOR;
-
- return FIELD_PREP(UFSHCI_AHIBERN8_TIMER_MASK, timer) |
- FIELD_PREP(UFSHCI_AHIBERN8_SCALE_MASK, scale);
-}
-
static void ufs_mtk_fix_ahit(struct ufs_hba *hba)
{
unsigned int us;
@@ -1143,7 +1131,7 @@ static void ufs_mtk_fix_ahit(struct ufs_hba *hba)
break;
}
- hba->ahit = ufs_mtk_us_to_ahit(us);
+ hba->ahit = ufshcd_us_to_ahit(us);
}
ufs_mtk_setup_clk_gating(hba);
diff --git a/include/ufs/ufshcd.h b/include/ufs/ufshcd.h
index 53b837b024ce..ff0143502413 100644
--- a/include/ufs/ufshcd.h
+++ b/include/ufs/ufshcd.h
@@ -1484,5 +1484,6 @@ int ufshcd_update_ee_control(struct ufs_hba *hba, u16 *mask,
const u16 *other_mask, u16 set, u16 clr);
void ufshcd_force_error_recovery(struct ufs_hba *hba);
void ufshcd_pm_qos_update(struct ufs_hba *hba, bool on);
+u32 ufshcd_us_to_ahit(unsigned int timer);
#endif /* End of Header */
--
2.45.2
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 7/8] ufs: host: mediatek: Add support for new platform with MMIO_OTSD_CTR
2025-09-24 9:43 [PATCH v2 0/8] Enhance UFS Mediatek Driver peter.wang
` (5 preceding siblings ...)
2025-09-24 9:43 ` [PATCH v2 6/8] ufs: host: mediatek: Remove duplicate function peter.wang
@ 2025-09-24 9:43 ` peter.wang
2025-09-24 9:43 ` [PATCH v2 8/8] ufs: host: mediatek: Support new feature for MT6991 peter.wang
` (3 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: peter.wang @ 2025-09-24 9:43 UTC (permalink / raw)
To: linux-scsi, martin.petersen
Cc: wsd_upstream, linux-mediatek, peter.wang, chun-hung.wu,
alice.chao, cc.chou, chaotian.jing, jiajie.hao, yi-fan.peng,
qilin.tan, lin.gui, tun-yu.yu, eddie.huang, naomi.chu, ed.tsai,
bvanassche
From: Peter Wang <peter.wang@mediatek.com>
Introduce support for a new UFS Mediatek platform by adding
the REG_UFS_UFS_MMIO_OTSD_CTRL register. This update includes
checks for legacy platforms and uses the new register to
replace debug selection and handle specific operations.
The changes ensure compatibility across different hardware
versions and prevent potential issues with debug usage on
newer platforms.
Additional updates include error logging improvements
during link setup for newer and legacy platforms, ensuring
proper event logging and debugging.
Signed-off-by: Peter Wang <peter.wang@mediatek.com>
---
drivers/ufs/host/ufs-mediatek.c | 42 +++++++++++++++++++++++++++------
drivers/ufs/host/ufs-mediatek.h | 1 +
2 files changed, 36 insertions(+), 7 deletions(-)
diff --git a/drivers/ufs/host/ufs-mediatek.c b/drivers/ufs/host/ufs-mediatek.c
index 3e54154d5547..8498e95e263a 100644
--- a/drivers/ufs/host/ufs-mediatek.c
+++ b/drivers/ufs/host/ufs-mediatek.c
@@ -280,6 +280,9 @@ static int ufs_mtk_hce_enable_notify(struct ufs_hba *hba,
ufshcd_readl(hba, REG_UFS_XOUFS_CTRL) | 0x80,
REG_UFS_XOUFS_CTRL);
+ if (host->legacy_ip_ver)
+ return 0;
+
/* DDR_EN setting */
if (host->ip_ver >= IP_VER_MT6989) {
ufshcd_rmwl(hba, UFS_MASK(0x7FFF, 8),
@@ -405,7 +408,7 @@ static void ufs_mtk_dbg_sel(struct ufs_hba *hba)
{
struct ufs_mtk_host *host = ufshcd_get_variant(hba);
- if (((host->ip_ver >> 16) & 0xFF) >= 0x36) {
+ if (!host->legacy_ip_ver && host->ip_ver >= IP_VER_MT6983) {
ufshcd_writel(hba, 0x820820, REG_UFS_DEBUG_SEL);
ufshcd_writel(hba, 0x0, REG_UFS_DEBUG_SEL_B0);
ufshcd_writel(hba, 0x55555555, REG_UFS_DEBUG_SEL_B1);
@@ -422,6 +425,7 @@ static int ufs_mtk_wait_idle_state(struct ufs_hba *hba,
u64 timeout, time_checked;
u32 val, sm;
bool wait_idle;
+ struct ufs_mtk_host *host = ufshcd_get_variant(hba);
/* cannot use plain ktime_get() in suspend */
timeout = ktime_get_mono_fast_ns() + retry_ms * 1000000UL;
@@ -432,8 +436,13 @@ static int ufs_mtk_wait_idle_state(struct ufs_hba *hba,
do {
time_checked = ktime_get_mono_fast_ns();
- ufs_mtk_dbg_sel(hba);
- val = ufshcd_readl(hba, REG_UFS_PROBE);
+ if (host->legacy_ip_ver || host->ip_ver < IP_VER_MT6899) {
+ ufs_mtk_dbg_sel(hba);
+ val = ufshcd_readl(hba, REG_UFS_PROBE);
+ } else {
+ val = ufshcd_readl(hba, REG_UFS_UFS_MMIO_OTSD_CTRL);
+ val = val >> 16;
+ }
sm = val & 0x1f;
@@ -465,13 +474,20 @@ static int ufs_mtk_wait_link_state(struct ufs_hba *hba, u32 state,
{
ktime_t timeout, time_checked;
u32 val;
+ struct ufs_mtk_host *host = ufshcd_get_variant(hba);
timeout = ktime_add_ms(ktime_get(), max_wait_ms);
do {
time_checked = ktime_get();
- ufs_mtk_dbg_sel(hba);
- val = ufshcd_readl(hba, REG_UFS_PROBE);
- val = val >> 28;
+
+ if (host->legacy_ip_ver || host->ip_ver < IP_VER_MT6899) {
+ ufs_mtk_dbg_sel(hba);
+ val = ufshcd_readl(hba, REG_UFS_PROBE);
+ val = val >> 28;
+ } else {
+ val = ufshcd_readl(hba, REG_UFS_UFS_MMIO_OTSD_CTRL);
+ val = val >> 24;
+ }
if (val == state)
return 0;
@@ -1639,14 +1655,26 @@ static int ufs_mtk_device_reset(struct ufs_hba *hba)
static int ufs_mtk_link_set_hpm(struct ufs_hba *hba)
{
int err;
+ u32 val;
+ struct ufs_mtk_host *host = ufshcd_get_variant(hba);
err = ufshcd_hba_enable(hba);
if (err)
return err;
err = ufs_mtk_unipro_set_lpm(hba, false);
- if (err)
+ if (err) {
+ if (host->ip_ver < IP_VER_MT6899) {
+ ufs_mtk_dbg_sel(hba);
+ val = ufshcd_readl(hba, REG_UFS_PROBE);
+ } else {
+ val = ufshcd_readl(hba, REG_UFS_UFS_MMIO_OTSD_CTRL);
+ }
+ ufshcd_update_evt_hist(hba, UFS_EVT_RESUME_ERR, (u32)val);
+ val = ufshcd_readl(hba, REG_INTERRUPT_STATUS);
+ ufshcd_update_evt_hist(hba, UFS_EVT_RESUME_ERR, (u32)val);
return err;
+ }
err = ufshcd_uic_hibern8_exit(hba);
if (err)
diff --git a/drivers/ufs/host/ufs-mediatek.h b/drivers/ufs/host/ufs-mediatek.h
index dfbf78bd8664..f96fd032371d 100644
--- a/drivers/ufs/host/ufs-mediatek.h
+++ b/drivers/ufs/host/ufs-mediatek.h
@@ -28,6 +28,7 @@
*/
#define REG_UFS_XOUFS_CTRL 0x140
#define REG_UFS_REFCLK_CTRL 0x144
+#define REG_UFS_UFS_MMIO_OTSD_CTRL 0x14C
#define REG_UFS_MMIO_OPT_CTRL_0 0x160
#define REG_UFS_EXTREG 0x2100
#define REG_UFS_MPHYCTRL 0x2200
--
2.45.2
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 8/8] ufs: host: mediatek: Support new feature for MT6991
2025-09-24 9:43 [PATCH v2 0/8] Enhance UFS Mediatek Driver peter.wang
` (6 preceding siblings ...)
2025-09-24 9:43 ` [PATCH v2 7/8] ufs: host: mediatek: Add support for new platform with MMIO_OTSD_CTR peter.wang
@ 2025-09-24 9:43 ` peter.wang
2025-09-30 12:54 ` [PATCH v2 0/8] Enhance UFS Mediatek Driver Chun-Hung Wu (巫駿宏)
` (2 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: peter.wang @ 2025-09-24 9:43 UTC (permalink / raw)
To: linux-scsi, martin.petersen
Cc: wsd_upstream, linux-mediatek, peter.wang, chun-hung.wu,
alice.chao, cc.chou, chaotian.jing, jiajie.hao, yi-fan.peng,
qilin.tan, lin.gui, tun-yu.yu, eddie.huang, naomi.chu, ed.tsai,
bvanassche
From: Naomi Chu <naomi.chu@mediatek.com>
Add support for the MT6991 platform by enabling MRTT settings
and random performance improvements. These enhancements aim
to optimize performance and efficiency on the MT6991 hardware.
Enable multi-Round Trip Time (MRTT) for improved data handling.
Enable random performance improvement features to boost
overall system responsiveness.
Signed-off-by: Peter Wang <peter.wang@mediatek.com>
Signed-off-by: Naomi Chu <naomi.chu@mediatek.com>
Reviewed-by: Peter Wang <peter.wang@mediatek.com>
---
drivers/ufs/host/ufs-mediatek.c | 6 ++++++
drivers/ufs/host/ufs-mediatek.h | 3 +++
2 files changed, 9 insertions(+)
diff --git a/drivers/ufs/host/ufs-mediatek.c b/drivers/ufs/host/ufs-mediatek.c
index 8498e95e263a..eee56f5aed30 100644
--- a/drivers/ufs/host/ufs-mediatek.c
+++ b/drivers/ufs/host/ufs-mediatek.c
@@ -289,6 +289,12 @@ static int ufs_mtk_hce_enable_notify(struct ufs_hba *hba,
0x453000, REG_UFS_MMIO_OPT_CTRL_0);
}
+ if (host->ip_ver >= IP_VER_MT6991_A0) {
+ /* Enable multi-rtt */
+ ufshcd_rmwl(hba, MRTT_EN, MRTT_EN, REG_UFS_MMIO_OPT_CTRL_0);
+ /* Enable random performance improvement */
+ ufshcd_rmwl(hba, RDN_PFM_IMPV_DIS, 0, REG_UFS_MMIO_OPT_CTRL_0);
+ }
}
return 0;
diff --git a/drivers/ufs/host/ufs-mediatek.h b/drivers/ufs/host/ufs-mediatek.h
index f96fd032371d..9747277f11e8 100644
--- a/drivers/ufs/host/ufs-mediatek.h
+++ b/drivers/ufs/host/ufs-mediatek.h
@@ -20,6 +20,9 @@
#define MCQ_MULTI_INTR_EN BIT(2)
#define MCQ_CMB_INTR_EN BIT(3)
#define MCQ_AH8 BIT(4)
+#define MON_EN BIT(5)
+#define MRTT_EN BIT(25)
+#define RDN_PFM_IMPV_DIS BIT(28)
#define MCQ_INTR_EN_MSK (MCQ_MULTI_INTR_EN | MCQ_CMB_INTR_EN)
--
2.45.2
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH v2 1/8] ufs: host: mediatek: Correct clock scaling with PM QoS flow
2025-09-24 9:43 ` [PATCH v2 1/8] ufs: host: mediatek: Correct clock scaling with PM QoS flow peter.wang
@ 2025-09-24 21:56 ` Bart Van Assche
0 siblings, 0 replies; 15+ messages in thread
From: Bart Van Assche @ 2025-09-24 21:56 UTC (permalink / raw)
To: peter.wang, linux-scsi, martin.petersen
Cc: wsd_upstream, linux-mediatek, chun-hung.wu, alice.chao, cc.chou,
chaotian.jing, jiajie.hao, yi-fan.peng, qilin.tan, lin.gui,
tun-yu.yu, eddie.huang, naomi.chu, ed.tsai
On 9/24/25 2:43 AM, peter.wang@mediatek.com wrote:
> Correct clock scaling with PM QoS during suspend and resume.
> Ensure PM QoS is released during suspend if scaling up and
> re-applied after resume. This prevents performance issues
> and maintains proper power management.
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 4/8] ufs: host: mediatek: Adjust sync length for FASTAUTO mode
2025-09-24 9:43 ` [PATCH v2 4/8] ufs: host: mediatek: Adjust sync length for FASTAUTO mode peter.wang
@ 2025-09-24 21:56 ` Bart Van Assche
0 siblings, 0 replies; 15+ messages in thread
From: Bart Van Assche @ 2025-09-24 21:56 UTC (permalink / raw)
To: peter.wang, linux-scsi, martin.petersen
Cc: wsd_upstream, linux-mediatek, chun-hung.wu, alice.chao, cc.chou,
chaotian.jing, jiajie.hao, yi-fan.peng, qilin.tan, lin.gui,
tun-yu.yu, eddie.huang, naomi.chu, ed.tsai
On 9/24/25 2:43 AM, peter.wang@mediatek.com wrote:
> Set the sync length for FASTAUTO G1 mode in the UFS Mediatek
> driver. This ensures the sync length meets minimum values
> for high-speed gears, improving stability during power mode
> changes.
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 0/8] Enhance UFS Mediatek Driver
2025-09-24 9:43 [PATCH v2 0/8] Enhance UFS Mediatek Driver peter.wang
` (7 preceding siblings ...)
2025-09-24 9:43 ` [PATCH v2 8/8] ufs: host: mediatek: Support new feature for MT6991 peter.wang
@ 2025-09-30 12:54 ` Chun-Hung Wu (巫駿宏)
2025-10-08 7:31 ` Peter Wang (王信友)
2025-10-22 1:56 ` Martin K. Petersen
10 siblings, 0 replies; 15+ messages in thread
From: Chun-Hung Wu (巫駿宏) @ 2025-09-30 12:54 UTC (permalink / raw)
To: linux-scsi@vger.kernel.org, Peter Wang (王信友),
martin.petersen@oracle.com
Cc: bvanassche@acm.org, Alice Chao (趙珮均),
CC Chou (周志杰),
Eddie Huang (黃智傑),
Ed Tsai (蔡宗軒), wsd_upstream,
Chaotian Jing (井朝天),
Lin Gui (桂林),
Yi-fan Peng (彭羿凡),
Qilin Tan (谭麒麟),
linux-mediatek@lists.infradead.org,
Jiajie Hao (郝加节),
Tun-yu Yu (游敦聿),
Naomi Chu (朱詠田)
On Wed, 2025-09-24 at 17:43 +0800, peter.wang@mediatek.com wrote:
> From: Peter Wang <peter.wang@mediatek.com>
>
> Improves the UFS Mediatek driver by correcting clock scaling
> with PM QoS, and adjusting power management flows. It addresses
> shutdown/suspend race conditions, and removes redundant
> functions. Support for new platforms is added with the
> MMIO_OTSD_CTRL register, and MT6991 performance is optimized
> with MRTT and random improvements. These changes collectively
> enhance driver performance, stability, and compatibility.
>
> Changes since v1:
> 1. Remove two patches that will be fixed in UFS core.
> ufs: host: mediatek: Fix runtime suspend error deadlock
> ufs: host: mediatek: Enable interrupts for MCQ mode
> 2. Use hba->shutting_down instead of ufshcd_is_user_access_allowed
>
> Peter Wang (7):
> ufs: host: mediatek: Correct clock scaling with PM QoS flow
> ufs: host: mediatek: Adjust clock scaling for PM flow
> ufs: host: mediatek: Handle clock scaling for high gear in PM flow
> ufs: host: mediatek: Adjust sync length for FASTAUTO mode
> ufs: host: mediatek: Fix shutdown/suspend race condition
> ufs: host: mediatek: Remove duplicate function
> ufs: host: mediatek: Add support for new platform with
> MMIO_OTSD_CTR
>
> Naomi Chu (1):
> ufs: host: mediatek: Support new feature for MT6991
>
> drivers/ufs/core/ufs-sysfs.c | 3 +-
> drivers/ufs/core/ufshcd.c | 3 +-
> drivers/ufs/host/ufs-mediatek.c | 119 ++++++++++++++++++++++++++----
> --
> drivers/ufs/host/ufs-mediatek.h | 4 ++
> include/ufs/ufshcd.h | 2 +
> include/ufs/unipro.h | 7 +-
> 6 files changed, 115 insertions(+), 23 deletions(-)
>
Acked-by: Chun-Hung Wu <chun-hung.wu@mediatek.com>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 0/8] Enhance UFS Mediatek Driver
2025-09-24 9:43 [PATCH v2 0/8] Enhance UFS Mediatek Driver peter.wang
` (8 preceding siblings ...)
2025-09-30 12:54 ` [PATCH v2 0/8] Enhance UFS Mediatek Driver Chun-Hung Wu (巫駿宏)
@ 2025-10-08 7:31 ` Peter Wang (王信友)
2025-10-08 16:15 ` Bart Van Assche
2025-10-22 1:56 ` Martin K. Petersen
10 siblings, 1 reply; 15+ messages in thread
From: Peter Wang (王信友) @ 2025-10-08 7:31 UTC (permalink / raw)
To: linux-scsi@vger.kernel.org, martin.petersen@oracle.com
Cc: bvanassche@acm.org, Alice Chao (趙珮均),
CC Chou (周志杰),
Eddie Huang (黃智傑),
Ed Tsai (蔡宗軒), wsd_upstream,
Chaotian Jing (井朝天),
Chun-Hung Wu (巫駿宏),
Yi-fan Peng (彭羿凡),
Qilin Tan (谭麒麟),
linux-mediatek@lists.infradead.org,
Jiajie Hao (郝加节), Lin Gui (桂林),
Naomi Chu (朱詠田),
Tun-yu Yu (游敦聿)
On Wed, 2025-09-24 at 17:43 +0800, peter.wang@mediatek.com wrote:
> From: Peter Wang <peter.wang@mediatek.com>
>
> Improves the UFS Mediatek driver by correcting clock scaling
> with PM QoS, and adjusting power management flows. It addresses
> shutdown/suspend race conditions, and removes redundant
> functions. Support for new platforms is added with the
> MMIO_OTSD_CTRL register, and MT6991 performance is optimized
> with MRTT and random improvements. These changes collectively
> enhance driver performance, stability, and compatibility.
>
> Changes since v1:
> 1. Remove two patches that will be fixed in UFS core.
> ufs: host: mediatek: Fix runtime suspend error deadlock
> ufs: host: mediatek: Enable interrupts for MCQ mode
> 2. Use hba->shutting_down instead of ufshcd_is_user_access_allowed
>
> Peter Wang (7):
> ufs: host: mediatek: Correct clock scaling with PM QoS flow
> ufs: host: mediatek: Adjust clock scaling for PM flow
> ufs: host: mediatek: Handle clock scaling for high gear in PM flow
> ufs: host: mediatek: Adjust sync length for FASTAUTO mode
> ufs: host: mediatek: Fix shutdown/suspend race condition
> ufs: host: mediatek: Remove duplicate function
> ufs: host: mediatek: Add support for new platform with
> MMIO_OTSD_CTR
>
> Naomi Chu (1):
> ufs: host: mediatek: Support new feature for MT6991
>
> drivers/ufs/core/ufs-sysfs.c | 3 +-
> drivers/ufs/core/ufshcd.c | 3 +-
> drivers/ufs/host/ufs-mediatek.c | 119 ++++++++++++++++++++++++++----
> --
> drivers/ufs/host/ufs-mediatek.h | 4 ++
> include/ufs/ufshcd.h | 2 +
> include/ufs/unipro.h | 7 +-
> 6 files changed, 115 insertions(+), 23 deletions(-)
>
Hi Martin,
Just a gentle ping to consider merging this patch series.
Thanks.
Peter
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 0/8] Enhance UFS Mediatek Driver
2025-10-08 7:31 ` Peter Wang (王信友)
@ 2025-10-08 16:15 ` Bart Van Assche
0 siblings, 0 replies; 15+ messages in thread
From: Bart Van Assche @ 2025-10-08 16:15 UTC (permalink / raw)
To: Peter Wang (王信友), linux-scsi@vger.kernel.org,
martin.petersen@oracle.com
Cc: Alice Chao (趙珮均),
CC Chou (周志杰),
Eddie Huang (黃智傑),
Ed Tsai (蔡宗軒), wsd_upstream,
Chaotian Jing (井朝天),
Chun-Hung Wu (巫駿宏),
Yi-fan Peng (彭羿凡),
Qilin Tan (谭麒麟),
linux-mediatek@lists.infradead.org,
Jiajie Hao (郝加节), Lin Gui (桂林),
Naomi Chu (朱詠田),
Tun-yu Yu (游敦聿)
On 10/8/25 12:31 AM, Peter Wang (王信友) wrote:
> Just a gentle ping to consider merging this patch series.
We are in the middle of the merge window. Please rebase, retest and
repost this patch series after the merge window has closed (next
Monday?).
Thanks,
Bart.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 0/8] Enhance UFS Mediatek Driver
2025-09-24 9:43 [PATCH v2 0/8] Enhance UFS Mediatek Driver peter.wang
` (9 preceding siblings ...)
2025-10-08 7:31 ` Peter Wang (王信友)
@ 2025-10-22 1:56 ` Martin K. Petersen
10 siblings, 0 replies; 15+ messages in thread
From: Martin K. Petersen @ 2025-10-22 1:56 UTC (permalink / raw)
To: peter.wang
Cc: linux-scsi, martin.petersen, wsd_upstream, linux-mediatek,
chun-hung.wu, alice.chao, cc.chou, chaotian.jing, jiajie.hao,
yi-fan.peng, qilin.tan, lin.gui, tun-yu.yu, eddie.huang,
naomi.chu, ed.tsai, bvanassche
Peter,
> Improves the UFS Mediatek driver by correcting clock scaling with PM
> QoS, and adjusting power management flows. It addresses
> shutdown/suspend race conditions, and removes redundant functions.
> Support for new platforms is added with the MMIO_OTSD_CTRL register,
> and MT6991 performance is optimized with MRTT and random improvements.
> These changes collectively enhance driver performance, stability, and
> compatibility.
Applied to 6.19/scsi-staging, thanks!
--
Martin K. Petersen
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2025-10-22 1:57 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-24 9:43 [PATCH v2 0/8] Enhance UFS Mediatek Driver peter.wang
2025-09-24 9:43 ` [PATCH v2 1/8] ufs: host: mediatek: Correct clock scaling with PM QoS flow peter.wang
2025-09-24 21:56 ` Bart Van Assche
2025-09-24 9:43 ` [PATCH v2 2/8] ufs: host: mediatek: Adjust clock scaling for PM flow peter.wang
2025-09-24 9:43 ` [PATCH v2 3/8] ufs: host: mediatek: Handle clock scaling for high gear in " peter.wang
2025-09-24 9:43 ` [PATCH v2 4/8] ufs: host: mediatek: Adjust sync length for FASTAUTO mode peter.wang
2025-09-24 21:56 ` Bart Van Assche
2025-09-24 9:43 ` [PATCH v2 5/8] ufs: host: mediatek: Fix shutdown/suspend race condition peter.wang
2025-09-24 9:43 ` [PATCH v2 6/8] ufs: host: mediatek: Remove duplicate function peter.wang
2025-09-24 9:43 ` [PATCH v2 7/8] ufs: host: mediatek: Add support for new platform with MMIO_OTSD_CTR peter.wang
2025-09-24 9:43 ` [PATCH v2 8/8] ufs: host: mediatek: Support new feature for MT6991 peter.wang
2025-09-30 12:54 ` [PATCH v2 0/8] Enhance UFS Mediatek Driver Chun-Hung Wu (巫駿宏)
2025-10-08 7:31 ` Peter Wang (王信友)
2025-10-08 16:15 ` Bart Van Assche
2025-10-22 1:56 ` Martin K. Petersen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox