scsi: ufs: use an enum for host capabilities
Use an enum to specify the host capabilities instead of #defines inside the structure definition. Link: https://lore.kernel.org/r/20200318104016.28049-3-stanley.chu@mediatek.com Reviewed-by: Avri Altman <avri.altman@wdc.com> Reviewed-by: Can Guo <cang@codeaurora.org> Reviewed-by: Bean Huo <beanhuo@micron.com> Reviewed-by: Asutosh Das <asutoshd@codeaurora.org> Signed-off-by: Stanley Chu <stanley.chu@mediatek.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
ba0320fbb8
commit
c2014682d0
|
@ -512,6 +512,43 @@ enum ufshcd_quirks {
|
|||
UFSHCD_QUIRK_BROKEN_UFS_HCI_VERSION = 1 << 5,
|
||||
};
|
||||
|
||||
enum ufshcd_caps {
|
||||
/* Allow dynamic clk gating */
|
||||
UFSHCD_CAP_CLK_GATING = 1 << 0,
|
||||
|
||||
/* Allow hiberb8 with clk gating */
|
||||
UFSHCD_CAP_HIBERN8_WITH_CLK_GATING = 1 << 1,
|
||||
|
||||
/* Allow dynamic clk scaling */
|
||||
UFSHCD_CAP_CLK_SCALING = 1 << 2,
|
||||
|
||||
/* Allow auto bkops to enabled during runtime suspend */
|
||||
UFSHCD_CAP_AUTO_BKOPS_SUSPEND = 1 << 3,
|
||||
|
||||
/*
|
||||
* This capability allows host controller driver to use the UFS HCI's
|
||||
* interrupt aggregation capability.
|
||||
* CAUTION: Enabling this might reduce overall UFS throughput.
|
||||
*/
|
||||
UFSHCD_CAP_INTR_AGGR = 1 << 4,
|
||||
|
||||
/*
|
||||
* This capability allows the device auto-bkops to be always enabled
|
||||
* except during suspend (both runtime and suspend).
|
||||
* Enabling this capability means that device will always be allowed
|
||||
* to do background operation when it's active but it might degrade
|
||||
* the performance of ongoing read/write operations.
|
||||
*/
|
||||
UFSHCD_CAP_KEEP_AUTO_BKOPS_ENABLED_EXCEPT_SUSPEND = 1 << 5,
|
||||
|
||||
/*
|
||||
* This capability allows host controller driver to automatically
|
||||
* enable runtime power management by itself instead of waiting
|
||||
* for userspace to control the power management.
|
||||
*/
|
||||
UFSHCD_CAP_RPM_AUTOSUSPEND = 1 << 6,
|
||||
};
|
||||
|
||||
/**
|
||||
* struct ufs_hba - per adapter private structure
|
||||
* @mmio_base: UFSHCI base register address
|
||||
|
@ -669,34 +706,6 @@ struct ufs_hba {
|
|||
struct ufs_clk_gating clk_gating;
|
||||
/* Control to enable/disable host capabilities */
|
||||
u32 caps;
|
||||
/* Allow dynamic clk gating */
|
||||
#define UFSHCD_CAP_CLK_GATING (1 << 0)
|
||||
/* Allow hiberb8 with clk gating */
|
||||
#define UFSHCD_CAP_HIBERN8_WITH_CLK_GATING (1 << 1)
|
||||
/* Allow dynamic clk scaling */
|
||||
#define UFSHCD_CAP_CLK_SCALING (1 << 2)
|
||||
/* Allow auto bkops to enabled during runtime suspend */
|
||||
#define UFSHCD_CAP_AUTO_BKOPS_SUSPEND (1 << 3)
|
||||
/*
|
||||
* This capability allows host controller driver to use the UFS HCI's
|
||||
* interrupt aggregation capability.
|
||||
* CAUTION: Enabling this might reduce overall UFS throughput.
|
||||
*/
|
||||
#define UFSHCD_CAP_INTR_AGGR (1 << 4)
|
||||
/*
|
||||
* This capability allows the device auto-bkops to be always enabled
|
||||
* except during suspend (both runtime and suspend).
|
||||
* Enabling this capability means that device will always be allowed
|
||||
* to do background operation when it's active but it might degrade
|
||||
* the performance of ongoing read/write operations.
|
||||
*/
|
||||
#define UFSHCD_CAP_KEEP_AUTO_BKOPS_ENABLED_EXCEPT_SUSPEND (1 << 5)
|
||||
/*
|
||||
* This capability allows host controller driver to automatically
|
||||
* enable runtime power management by itself instead of waiting
|
||||
* for userspace to control the power management.
|
||||
*/
|
||||
#define UFSHCD_CAP_RPM_AUTOSUSPEND (1 << 6)
|
||||
|
||||
struct devfreq *devfreq;
|
||||
struct ufs_clk_scaling clk_scaling;
|
||||
|
|
Loading…
Reference in New Issue