qcacmn: Bypass hif apps irqs handle for single MSI case
Regarding to the platform suspend, generally the hif_bus_suspend() will disable the CE irqs, however the irq is shared in the single MSI case, so the MHI irq is disabled as well which cause no MHI ring event notified in the following pci bus suspend. The fix is to bypass hif apps irqs handle for single MSI case during suspend-resume stage. Change-Id: I4f9068900e85fe57c2a82d841846b3fff6da0696 CRs-Fixed: 3549884
This commit is contained in:
@@ -476,6 +476,9 @@ int hif_apps_irqs_disable(struct hif_opaque_softc *hif_ctx)
|
||||
if (!scn)
|
||||
return -EINVAL;
|
||||
|
||||
if (pld_is_one_msi(scn->qdf_dev->dev))
|
||||
return 0;
|
||||
|
||||
/* if the wake_irq is shared, don't disable it twice */
|
||||
for (i = 0; i < scn->ce_count; ++i) {
|
||||
int irq = scn->bus_ops.hif_map_ce_to_irq(scn, i);
|
||||
@@ -497,6 +500,9 @@ int hif_apps_irqs_enable(struct hif_opaque_softc *hif_ctx)
|
||||
if (!scn)
|
||||
return -EINVAL;
|
||||
|
||||
if (pld_is_one_msi(scn->qdf_dev->dev))
|
||||
return 0;
|
||||
|
||||
/* if the wake_irq is shared, don't enable it twice */
|
||||
for (i = 0; i < scn->ce_count; ++i) {
|
||||
int irq = scn->bus_ops.hif_map_ce_to_irq(scn, i);
|
||||
|
مرجع در شماره جدید
Block a user