diff --git a/drivers/net/wireless/cnss2/pci.c b/drivers/net/wireless/cnss2/pci.c index 5054a0dd78f6..8bd5cfab2345 100644 --- a/drivers/net/wireless/cnss2/pci.c +++ b/drivers/net/wireless/cnss2/pci.c @@ -804,6 +804,22 @@ out: return ret; } +int cnss_pci_prevent_l1(struct device *dev) +{ + struct pci_dev *pci_dev = to_pci_dev(dev); + + return msm_pcie_prevent_l1(pci_dev); +} +EXPORT_SYMBOL(cnss_pci_prevent_l1); + +void cnss_pci_allow_l1(struct device *dev) +{ + struct pci_dev *pci_dev = to_pci_dev(dev); + + msm_pcie_allow_l1(pci_dev); +} +EXPORT_SYMBOL(cnss_pci_allow_l1); + int cnss_pci_link_down(struct device *dev) { unsigned long flags; diff --git a/include/net/cnss2.h b/include/net/cnss2.h index ee6cbb7894b7..78143ea5a701 100644 --- a/include/net/cnss2.h +++ b/include/net/cnss2.h @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: GPL-2.0-only */ -/* Copyright (c) 2016-2019, The Linux Foundation. All rights reserved. */ +/* Copyright (c) 2016-2020, The Linux Foundation. All rights reserved. */ #ifndef _NET_CNSS2_H #define _NET_CNSS2_H @@ -158,6 +158,8 @@ enum cnss_recovery_reason { extern int cnss_wlan_register_driver(struct cnss_wlan_driver *driver); extern void cnss_wlan_unregister_driver(struct cnss_wlan_driver *driver); extern void cnss_device_crashed(struct device *dev); +extern int cnss_pci_prevent_l1(struct device *dev); +extern void cnss_pci_allow_l1(struct device *dev); extern int cnss_pci_link_down(struct device *dev); extern int cnss_pci_is_device_down(struct device *dev); extern void cnss_schedule_recovery(struct device *dev,