Commit 80b21006 authored by Asutosh Das's avatar Asutosh Das Committed by Martin K. Petersen

scsi: ufs-qcom: Override devfreq parameters

Override devfreq parameters for power-performance trade-off.

Link: https://lore.kernel.org/r/b6875729b6072134985c9113a820cf60a2af22e7.1585160616.git.asutoshd@codeaurora.orgAcked-by: default avatarAvri Altman <Avri.Altman@wdc.com>
Signed-off-by: default avatarAsutosh Das <asutoshd@codeaurora.org>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 2c75f9a5
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include <linux/phy/phy.h> #include <linux/phy/phy.h>
#include <linux/gpio/consumer.h> #include <linux/gpio/consumer.h>
#include <linux/reset-controller.h> #include <linux/reset-controller.h>
#include <linux/devfreq.h>
#include "ufshcd.h" #include "ufshcd.h"
#include "ufshcd-pltfrm.h" #include "ufshcd-pltfrm.h"
...@@ -1689,6 +1690,29 @@ static void ufs_qcom_device_reset(struct ufs_hba *hba) ...@@ -1689,6 +1690,29 @@ static void ufs_qcom_device_reset(struct ufs_hba *hba)
usleep_range(10, 15); usleep_range(10, 15);
} }
#if IS_ENABLED(CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND)
static void ufs_qcom_config_scaling_param(struct ufs_hba *hba,
struct devfreq_dev_profile *p,
void *data)
{
static struct devfreq_simple_ondemand_data *d;
if (!data)
return;
d = (struct devfreq_simple_ondemand_data *)data;
p->polling_ms = 60;
d->upthreshold = 70;
d->downdifferential = 5;
}
#else
static void ufs_qcom_config_scaling_param(struct ufs_hba *hba,
struct devfreq_dev_profile *p,
void *data)
{
}
#endif
/** /**
* struct ufs_hba_qcom_vops - UFS QCOM specific variant operations * struct ufs_hba_qcom_vops - UFS QCOM specific variant operations
* *
...@@ -1710,6 +1734,7 @@ static const struct ufs_hba_variant_ops ufs_hba_qcom_vops = { ...@@ -1710,6 +1734,7 @@ static const struct ufs_hba_variant_ops ufs_hba_qcom_vops = {
.resume = ufs_qcom_resume, .resume = ufs_qcom_resume,
.dbg_register_dump = ufs_qcom_dump_dbg_regs, .dbg_register_dump = ufs_qcom_dump_dbg_regs,
.device_reset = ufs_qcom_device_reset, .device_reset = ufs_qcom_device_reset,
.config_scaling_param = ufs_qcom_config_scaling_param,
}; };
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment