diff mbox series

ath10k: Register shutdown handler

Message ID 1593193981-30161-1-git-send-email-pillair@codeaurora.org (mailing list archive)
State Accepted
Commit caf275463d37e1359d1767d774052cbca60a4854
Delegated to: Kalle Valo
Headers show
Series ath10k: Register shutdown handler | expand

Commit Message

Rakesh Pillai June 26, 2020, 5:53 p.m. UTC
As a part of device shutdown the smmu driver will be
stopped and henceforth any IOVA address translation
will not be done. The wlan driver, being one of the
smmu driver consumer, should stop all the dma related
activity as a part of shutdown, and thereby ensuring
that no dma activity is done once the smmu driver
shuts down.

During the device shutdown, the smmu calls shutdown
for all its consumers in order to indicate them to
stop all their dma activities.

Register the shutdown handler to stop the wlan
driver and avoid any dma operations.

Tested-on: WCN3990 hw1.0 SNOC WLAN.HL.3.1-01040-QCAHLSWMTPLZ-1

Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
---
 drivers/net/wireless/ath/ath10k/snoc.c | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Kalle Valo Aug. 18, 2020, 9:49 a.m. UTC | #1
Rakesh Pillai <pillair@codeaurora.org> wrote:

> As a part of device shutdown the smmu driver will be
> stopped and henceforth any IOVA address translation
> will not be done. The wlan driver, being one of the
> smmu driver consumer, should stop all the dma related
> activity as a part of shutdown, and thereby ensuring
> that no dma activity is done once the smmu driver
> shuts down.
> 
> During the device shutdown, the smmu calls shutdown
> for all its consumers in order to indicate them to
> stop all their dma activities.
> 
> Register the shutdown handler to stop the wlan
> driver and avoid any dma operations.
> 
> Tested-on: WCN3990 hw1.0 SNOC WLAN.HL.3.1-01040-QCAHLSWMTPLZ-1
> 
> Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>

Patch applied to ath-next branch of ath.git, thanks.

caf275463d37 ath10k: Register shutdown handler
diff mbox series

Patch

diff --git a/drivers/net/wireless/ath/ath10k/snoc.c b/drivers/net/wireless/ath/ath10k/snoc.c
index 354d49b..645ed5f 100644
--- a/drivers/net/wireless/ath/ath10k/snoc.c
+++ b/drivers/net/wireless/ath/ath10k/snoc.c
@@ -1772,9 +1772,18 @@  static int ath10k_snoc_remove(struct platform_device *pdev)
 	return 0;
 }
 
+static void ath10k_snoc_shutdown(struct platform_device *pdev)
+{
+	struct ath10k *ar = platform_get_drvdata(pdev);
+
+	ath10k_dbg(ar, ATH10K_DBG_SNOC, "snoc shutdown\n");
+	ath10k_snoc_remove(pdev);
+}
+
 static struct platform_driver ath10k_snoc_driver = {
 	.probe  = ath10k_snoc_probe,
 	.remove = ath10k_snoc_remove,
+	.shutdown =  ath10k_snoc_shutdown,
 	.driver = {
 		.name   = "ath10k_snoc",
 		.of_match_table = ath10k_snoc_dt_match,