summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYue Ma <yuem@qca.qualcomm.com>2015-06-16 18:42:13 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2015-06-25 00:58:44 -0700
commit6c88017658fa4af91c380e6794492b2b6865f31a (patch)
treeed6683e36696003e0987a4dee3bb18f1febdf92b
parent21ff36ca60eae7e5ef47dba3f19c3638819e99d4 (diff)
qca_cld: Print PCIe debug information if PCIe link down happens
If PCIe link down is detected by WLAN host driver, dump PCIe PHY and PARF registers for debug purpose. Change-Id: Icad11823f18cf5ffbe41a9780259c07562eef0fc CRs-fixed: 854541
-rw-r--r--CORE/SERVICES/HIF/PCIe/hif_pci.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/CORE/SERVICES/HIF/PCIe/hif_pci.c b/CORE/SERVICES/HIF/PCIe/hif_pci.c
index 2c8c71374ef6..db55abff2e2f 100644
--- a/CORE/SERVICES/HIF/PCIe/hif_pci.c
+++ b/CORE/SERVICES/HIF/PCIe/hif_pci.c
@@ -60,6 +60,9 @@
#endif
#include <vos_getBin.h>
#include "epping_main.h"
+#ifdef CONFIG_PCI_MSM
+#include <linux/msm_pcie.h>
+#endif
/* use credit flow control over HTC */
unsigned int htc_credit_flow = 1;
@@ -2716,6 +2719,15 @@ static DECLARE_WORK(recovery_work, recovery_work_handler);
extern void HIFdebug(void);
+#ifdef CONFIG_PCI_MSM
+static inline void hif_msm_pcie_debug_info(struct hif_pci_softc *sc)
+{
+ msm_pcie_debug_info(sc->pdev, 13, 1, 0, 0, 0);
+ msm_pcie_debug_info(sc->pdev, 13, 2, 0, 0, 0);
+}
+#else
+static inline void hif_msm_pcie_debug_info(struct hif_pci_softc *sc) {};
+#endif
/*
* For now, we use simple on-demand sleep/wake.
* Some possible improvements:
@@ -2838,6 +2850,7 @@ HIFTargetSleepStateAdjust(A_target_id_t targid,
+ RTC_STATE_ADDRESS));
printk("%s:error, can't wakeup target\n", __func__);
+ hif_msm_pcie_debug_info(sc);
sc->recovery = true;
vos_set_logp_in_progress(VOS_MODULE_ID_VOSS, TRUE);
#ifdef CONFIG_CNSS