mfld-pmu: [REVERT ME] Option to choose between HSI and Standby on CVT platform throug...
authorYouvedeep Singh <youvedeep.singh@intel.com>
Wed, 4 Apr 2012 15:48:05 +0000 (21:18 +0530)
committerbuildbot <buildbot@intel.com>
Thu, 5 Apr 2012 17:00:39 +0000 (10:00 -0700)
BZ: 30308

Currently HSI Modem 7060(BZ# 28529) is having a issue on CVT Platform and
it will not go to Low Power Mode. Standby will not work if HSI is enabled.
So HSI and Standby can be mutually exclusive.
So This patch provides the option to choose between Standby/HSI based on enable_stadby 1/0.
HSI Bug is Trached seprately through 28529.

Change-Id: I50c78dffa692eee6df0f599e7fc4247c65ff7254
Signed-off-by: Youvedeep Singh <youvedeep.singh@intel.com>
Reviewed-on: http://android.intel.com:8080/42234
Reviewed-by: Mansoor, Illyas <illyas.mansoor@intel.com>
Reviewed-by: Gross, Mark <mark.gross@intel.com>
Reviewed-by: Cuesta, FernandX <fernandx.cuesta@intel.com>
Tested-by: Cuesta, FernandX <fernandx.cuesta@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
arch/x86/platform/intel-mid/mfld-pmu.c
drivers/hsi/controllers/intel_mid_hsi.c
include/linux/hsi/intel_mid_hsi.h

index 3d4018b..13632c3 100644 (file)
@@ -125,6 +125,16 @@ static inline void clear_d0ix_stats(void)
 }
 /* Accessor functions for pci_devs end */
 
+/* FIXME::Currently HSI Modem 7060 (BZ# 28529) is having a issue and
+ * it will not go to Low Power State on CVT. So Standby will not work
+ * if HSI is enabled.
+ * We can choose between Standby/HSI based on enable_stadby 1/0.
+*/
+#ifdef CONFIG_BOARD_CTP
+unsigned int enable_standby __read_mostly;
+module_param(enable_standby, uint, 0000);
+#endif
+
 /*
  * APIs to communicate with pci root,
  * Returns zero on sucess.
index 3777c7e..e1ff2d6 100644 (file)
@@ -3454,6 +3454,15 @@ static struct pci_driver intel_hsi_driver = {
  */
 static int __init intel_hsi_init(void)
 {
+/* FIXME:: Do not register HSI Driver if cmdline parameter enable_stadby is 1
+ * on CVT Platform. Currently HSI Modem 7060(BZ# 28529) is having a issue and
+ * it will not go to Low Power Mode, so Standby will not work if HSI is enabled.
+ * So we can choose between Standby/HSI based on enable_stadby 1/0.
+*/
+#ifdef CONFIG_BOARD_CTP
+       if (enable_standby)
+               return -EBUSY;
+#endif
        pr_info("init Intel HSI controller driver\n");
        return pci_register_driver(&intel_hsi_driver);
 }
index 5b101d4..679997c 100644 (file)
@@ -57,4 +57,11 @@ struct hsi_mid_platform_data {
        int     gpio_fcdp_rb;
 };
 
+/* FIXME::Flag declration to avoid register of HSI Driver
+ * to enable Standby on CVT Platform
+ */
+#ifdef CONFIG_BOARD_CTP
+extern unsigned int enable_standby;
+#endif
+
 #endif /* __INTEL_MID_HSI_H__ */