scsi: ufs: ufs-mediatek: Migrate to UFSHCD generic CPU latency PM QoS support
authorMaramaina Naresh <quic_mnaresh@quicinc.com>
Tue, 19 Dec 2023 12:37:06 +0000 (18:07 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 24 Jan 2024 02:00:02 +0000 (21:00 -0500)
The PM QoS feature found in the MediaTek UFS driver was moved to the UFSHCD
core. Hence remove it from MediaTek UFS driver as it is redundant now.

Reviewed-by: Peter Wang <peter.wang@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Maramaina Naresh <quic_mnaresh@quicinc.com>
Link: https://lore.kernel.org/r/20231219123706.6463-3-quic_mnaresh@quicinc.com
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/ufs/host/ufs-mediatek.c
drivers/ufs/host/ufs-mediatek.h

index 776bca4f70c8829c1962b3e71639367fadb30dcf..f43eb945e011ed5b73499b5fb7effa22dae9ff3a 100644 (file)
@@ -17,7 +17,6 @@
 #include <linux/of_platform.h>
 #include <linux/phy/phy.h>
 #include <linux/platform_device.h>
-#include <linux/pm_qos.h>
 #include <linux/regulator/consumer.h>
 #include <linux/reset.h>
 #include <linux/soc/mediatek/mtk_sip_svc.h>
@@ -626,21 +625,9 @@ static void ufs_mtk_init_host_caps(struct ufs_hba *hba)
        dev_info(hba->dev, "caps: 0x%x", host->caps);
 }
 
-static void ufs_mtk_boost_pm_qos(struct ufs_hba *hba, bool boost)
-{
-       struct ufs_mtk_host *host = ufshcd_get_variant(hba);
-
-       if (!host || !host->pm_qos_init)
-               return;
-
-       cpu_latency_qos_update_request(&host->pm_qos_req,
-                                      boost ? 0 : PM_QOS_DEFAULT_VALUE);
-}
-
 static void ufs_mtk_scale_perf(struct ufs_hba *hba, bool scale_up)
 {
        ufs_mtk_boost_crypt(hba, scale_up);
-       ufs_mtk_boost_pm_qos(hba, scale_up);
 }
 
 static void ufs_mtk_pwr_ctrl(struct ufs_hba *hba, bool on)
@@ -959,10 +946,6 @@ static int ufs_mtk_init(struct ufs_hba *hba)
 
        host->ip_ver = ufshcd_readl(hba, REG_UFS_MTK_IP_VER);
 
-       /* Initialize pm-qos request */
-       cpu_latency_qos_add_request(&host->pm_qos_req, PM_QOS_DEFAULT_VALUE);
-       host->pm_qos_init = true;
-
        goto out;
 
 out_variant_clear:
index f76e80d91729c80d0837c5608a8041acea1696a8..38eab95b0f798f2b90416bfd437ad233e1eb7fd8 100644 (file)
@@ -7,7 +7,6 @@
 #define _UFS_MEDIATEK_H
 
 #include <linux/bitops.h>
-#include <linux/pm_qos.h>
 #include <linux/soc/mediatek/mtk_sip_svc.h>
 
 /*
@@ -167,7 +166,6 @@ struct ufs_mtk_mcq_intr_info {
 
 struct ufs_mtk_host {
        struct phy *mphy;
-       struct pm_qos_request pm_qos_req;
        struct regulator *reg_va09;
        struct reset_control *hci_reset;
        struct reset_control *unipro_reset;
@@ -178,7 +176,6 @@ struct ufs_mtk_host {
        struct ufs_mtk_hw_ver hw_ver;
        enum ufs_mtk_host_caps caps;
        bool mphy_powered_on;
-       bool pm_qos_init;
        bool unipro_lpm;
        bool ref_clk_enabled;
        u16 ref_clk_ungating_wait_us;