scsi: ufs: use an enum for host capabilities
authorStanley Chu <stanley.chu@mediatek.com>
Wed, 18 Mar 2020 10:40:11 +0000 (18:40 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 27 Mar 2020 02:07:12 +0000 (22:07 -0400)
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>
drivers/scsi/ufs/ufshcd.h

index d45a044..91a47ea 100644 (file)
@@ -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;