From 4a70bdb237260e0e3b91ac18885d18184e85ff2f Mon Sep 17 00:00:00 2001 From: Mohammed Siddiq Date: Fri, 27 Nov 2020 14:05:33 +0530 Subject: [PATCH] cnss2: Add api to get pci reg dump for hang data Add a cnss wrapper api to get pci reg dump for hang data. Change-Id: Ic1e7b676b6999d8aa7f168625dd27fa7b9aa7746 Signed-off-by: Mohammed Siddiq --- drivers/net/wireless/cnss2/pci.c | 15 +++++++++++++++ include/net/cnss2.h | 3 +++ 2 files changed, 18 insertions(+) diff --git a/drivers/net/wireless/cnss2/pci.c b/drivers/net/wireless/cnss2/pci.c index b513eb677a56..cdd18f752c18 100644 --- a/drivers/net/wireless/cnss2/pci.c +++ b/drivers/net/wireless/cnss2/pci.c @@ -1258,6 +1258,21 @@ int cnss_pci_link_down(struct device *dev) } EXPORT_SYMBOL(cnss_pci_link_down); +int cnss_pci_get_reg_dump(struct device *dev, uint8_t *buffer, uint32_t len) +{ + struct pci_dev *pci_dev = to_pci_dev(dev); + + if (!pci_dev) { + cnss_pr_err("pci_dev is NULL\n"); + return -EINVAL; + } + + cnss_pr_dbg("Get pci reg dump for hang data\n"); + + return msm_pcie_reg_dump(pci_dev, buffer, len); +} +EXPORT_SYMBOL(cnss_pci_get_reg_dump); + int cnss_pcie_is_device_down(struct cnss_pci_data *pci_priv) { struct cnss_plat_data *plat_priv; diff --git a/include/net/cnss2.h b/include/net/cnss2.h index 8758febdfd78..cf05c0b13529 100644 --- a/include/net/cnss2.h +++ b/include/net/cnss2.h @@ -239,4 +239,7 @@ extern int cnss_athdiag_write(struct device *dev, uint32_t offset, uint8_t *input); extern int cnss_set_fw_log_mode(struct device *dev, uint8_t fw_log_mode); extern int cnss_set_pcie_gen_speed(struct device *dev, u8 pcie_gen_speed); +extern int cnss_pci_get_reg_dump(struct device *dev, uint8_t *buffer, + uint32_t len); + #endif /* _NET_CNSS2_H */