From 9fd46d70d97979f29a093ad716d4413f70cb73fd Mon Sep 17 00:00:00 2001 From: Mohammed Siddiq Date: Mon, 14 Sep 2020 13:57:45 +0530 Subject: [PATCH 1/2] cnss2: change to enable self recovery Change to enable self recovery if the param cnss-enable-self-recovery is present in the dt node. Change-Id: I4c88153a161054162e99182a0ea89041d8960b3b Signed-off-by: Mohammed Siddiq --- drivers/net/wireless/cnss2/main.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/wireless/cnss2/main.c b/drivers/net/wireless/cnss2/main.c index 029a6cd09dfe..1c3bc5865a7d 100644 --- a/drivers/net/wireless/cnss2/main.c +++ b/drivers/net/wireless/cnss2/main.c @@ -1115,6 +1115,7 @@ static int cnss_do_recovery(struct cnss_plat_data *plat_priv, return 0; self_recovery: + cnss_pr_dbg("Going for self recovery\n"); cnss_bus_dev_shutdown(plat_priv); cnss_bus_dev_powerup(plat_priv); @@ -2621,6 +2622,11 @@ static void cnss_init_control_params(struct cnss_plat_data *plat_priv) plat_priv->cbc_enabled = of_property_read_bool(plat_priv->plat_dev->dev.of_node, "qcom,wlan-cbc-enabled"); + + if (of_property_read_bool(plat_priv->plat_dev->dev.of_node, + "cnss-enable-self-recovery")) + plat_priv->ctrl_params.quirks |= BIT(LINK_DOWN_SELF_RECOVERY); + plat_priv->ctrl_params.mhi_timeout = CNSS_MHI_TIMEOUT_DEFAULT; plat_priv->ctrl_params.mhi_m2_timeout = CNSS_MHI_M2_TIMEOUT_DEFAULT; plat_priv->ctrl_params.qmi_timeout = CNSS_QMI_TIMEOUT_DEFAULT; From aabb9a2b6519e4a307617409fc95b92331f7459e Mon Sep 17 00:00:00 2001 From: Mohammed Siddiq Date: Fri, 18 Sep 2020 15:32:35 +0530 Subject: [PATCH 2/2] cnss2: Change to add prints on link down callback Change to add prints on link down callback. Change-Id: I7cfe38fa2185f97b4c0c2b784c143cd1acc4cca5 Signed-off-by: Mohammed Siddiq --- drivers/net/wireless/cnss2/pci.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/cnss2/pci.c b/drivers/net/wireless/cnss2/pci.c index 1553f1500b69..eed3a4905520 100644 --- a/drivers/net/wireless/cnss2/pci.c +++ b/drivers/net/wireless/cnss2/pci.c @@ -368,7 +368,8 @@ int cnss_pci_check_link_status(struct cnss_pci_data *pci_priv) u16 device_id; if (pci_priv->pci_link_state == PCI_LINK_DOWN) { - cnss_pr_dbg("%ps: PCIe link is suspended\n", (void *)_RET_IP_); + cnss_pr_dbg("%ps: PCIe link is in suspend state\n", + (void *)_RET_IP_); return -EACCES; } @@ -898,7 +899,7 @@ int cnss_pci_prevent_l1(struct device *dev) } if (pci_priv->pci_link_state == PCI_LINK_DOWN) { - cnss_pr_dbg("PCIe link is suspended\n"); + cnss_pr_dbg("PCIe link is in suspend state\n"); return -EIO; } @@ -922,7 +923,7 @@ void cnss_pci_allow_l1(struct device *dev) } if (pci_priv->pci_link_state == PCI_LINK_DOWN) { - cnss_pr_dbg("PCIe link is suspended\n"); + cnss_pr_dbg("PCIe link is in suspend state\n"); return; } @@ -2448,6 +2449,7 @@ static void cnss_pci_event_cb(struct msm_pcie_notify *notify) switch (notify->event) { case MSM_PCIE_EVENT_LINKDOWN: + cnss_pr_dbg("PCI link down event callback\n"); cnss_pci_handle_linkdown(pci_priv); break; case MSM_PCIE_EVENT_WAKEUP: