diff options
| author | Yue Ma <yuem@qca.qualcomm.com> | 2015-06-16 18:42:13 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2015-06-25 00:58:44 -0700 |
| commit | 6c88017658fa4af91c380e6794492b2b6865f31a (patch) | |
| tree | ed6683e36696003e0987a4dee3bb18f1febdf92b | |
| parent | 21ff36ca60eae7e5ef47dba3f19c3638819e99d4 (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.c | 13 |
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 |
