qcacmn: disable all apps CE irqs except wake_irq in bus suspend

In Moselle, currently CE interrupts are not disabled from apps
side during ipci bus suspend, so adding changes to disable all
the CE interrupts except wake_irq during bus suspend and do the
symmetric inverse operation during bus resume, also drain all
the pending FW diag logs from copy engine.

Change-Id: Ib54fc6660fd81aff18787b0b699f3a6cd2d7803d
CRs-Fixed: 2879752
This commit is contained in:
Vevek Venkatesan
2021-02-19 02:41:47 +05:30
committed by snandini
parent 4adab0e0a9
commit 17660198d7
7 changed files with 205 additions and 12 deletions

View File

@@ -1306,6 +1306,28 @@ int hif_apps_enable_irq_wake(struct hif_opaque_softc *hif_ctx);
*/
int hif_apps_disable_irq_wake(struct hif_opaque_softc *hif_ctx);
/**
* hif_apps_enable_irqs_except_wake_irq() - Enables all irqs except wake_irq
* @hif_ctx: an opaque HIF handle to use
*
* As opposed to the standard hif_irq_enable, this function always applies to
* the APPS side kernel interrupt handling.
*
* Return: errno
*/
int hif_apps_enable_irqs_except_wake_irq(struct hif_opaque_softc *hif_ctx);
/**
* hif_apps_disable_irqs_except_wake_irq() - Disables all irqs except wake_irq
* @hif_ctx: an opaque HIF handle to use
*
* As opposed to the standard hif_irq_disable, this function always applies to
* the APPS side kernel interrupt handling.
*
* Return: errno
*/
int hif_apps_disable_irqs_except_wake_irq(struct hif_opaque_softc *hif_ctx);
#ifdef FEATURE_RUNTIME_PM
int hif_pre_runtime_suspend(struct hif_opaque_softc *hif_ctx);
void hif_pre_runtime_resume(struct hif_opaque_softc *hif_ctx);