|
@@ -172,7 +172,7 @@ static int hif_ce_srng_msi_free_irq(struct hif_softc *scn)
|
|
|
hif_debug("%s: (ce_id %d, msi_data %d, irq %d)", __func__,
|
|
|
ce_id, msi_data, irq);
|
|
|
|
|
|
- free_irq(irq, &ce_sc->tasklets[ce_id]);
|
|
|
+ pfrm_free_irq(scn->qdf_dev->dev, irq, &ce_sc->tasklets[ce_id]);
|
|
|
}
|
|
|
|
|
|
return ret;
|
|
@@ -196,7 +196,8 @@ static void hif_ipci_deconfigure_grp_irq(struct hif_softc *scn)
|
|
|
hif_ext_group->irq_requested = false;
|
|
|
for (j = 0; j < hif_ext_group->numirq; j++) {
|
|
|
irq = hif_ext_group->os_irq[j];
|
|
|
- free_irq(irq, hif_ext_group);
|
|
|
+ pfrm_free_irq(scn->qdf_dev->dev,
|
|
|
+ irq, hif_ext_group);
|
|
|
}
|
|
|
hif_ext_group->numirq = 0;
|
|
|
}
|
|
@@ -216,13 +217,6 @@ void hif_ipci_nointrs(struct hif_softc *scn)
|
|
|
hif_ipci_deconfigure_grp_irq(scn);
|
|
|
|
|
|
ret = hif_ce_srng_msi_free_irq(scn);
|
|
|
- if (ret != -EINVAL) {
|
|
|
- /* ce irqs freed in hif_ce_srng_msi_free_irq */
|
|
|
-
|
|
|
- if (scn->wake_irq)
|
|
|
- free_irq(scn->wake_irq, scn);
|
|
|
- scn->wake_irq = 0;
|
|
|
- }
|
|
|
|
|
|
scn->request_irq_done = false;
|
|
|
}
|
|
@@ -293,15 +287,11 @@ int hif_ipci_bus_suspend_noirq(struct hif_softc *scn)
|
|
|
if (hif_can_suspend_link(GET_HIF_OPAQUE_HDL(scn)))
|
|
|
qdf_atomic_set(&scn->link_suspended, 1);
|
|
|
|
|
|
- hif_apps_wake_irq_enable(GET_HIF_OPAQUE_HDL(scn));
|
|
|
-
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
int hif_ipci_bus_resume_noirq(struct hif_softc *scn)
|
|
|
{
|
|
|
- hif_apps_wake_irq_disable(GET_HIF_OPAQUE_HDL(scn));
|
|
|
-
|
|
|
if (hif_can_suspend_link(GET_HIF_OPAQUE_HDL(scn)))
|
|
|
qdf_atomic_set(&scn->link_suspended, 0);
|
|
|
|
|
@@ -428,10 +418,11 @@ static int hif_ce_msi_configure_irq(struct hif_softc *scn)
|
|
|
continue;
|
|
|
|
|
|
ipci_sc->ce_msi_irq_num[ce_id] = irq;
|
|
|
- ret = request_irq(irq, hif_ce_interrupt_handler,
|
|
|
- IRQF_SHARED,
|
|
|
- ce_name[ce_id],
|
|
|
- &ce_sc->tasklets[ce_id]);
|
|
|
+ ret = pfrm_request_irq(scn->qdf_dev->dev,
|
|
|
+ irq, hif_ce_interrupt_handler,
|
|
|
+ IRQF_SHARED,
|
|
|
+ ce_name[ce_id],
|
|
|
+ &ce_sc->tasklets[ce_id]);
|
|
|
if (ret)
|
|
|
goto free_irq;
|
|
|
}
|
|
@@ -446,7 +437,7 @@ free_irq:
|
|
|
ce_id--;
|
|
|
msi_data = (ce_id % msi_data_count) + msi_irq_start;
|
|
|
irq = pld_get_msi_irq(scn->qdf_dev->dev, msi_data);
|
|
|
- free_irq(irq, &ce_sc->tasklets[ce_id]);
|
|
|
+ pfrm_free_irq(scn->qdf_dev->dev, irq, &ce_sc->tasklets[ce_id]);
|
|
|
}
|
|
|
|
|
|
return ret;
|
|
@@ -502,11 +493,11 @@ int hif_ipci_configure_grp_irq(struct hif_softc *scn,
|
|
|
|
|
|
hif_info("request_irq = %d for grp %d",
|
|
|
irq, hif_ext_group->grp_id);
|
|
|
- ret = request_irq(irq,
|
|
|
- hif_ext_group_interrupt_handler,
|
|
|
- IRQF_SHARED | IRQF_NO_SUSPEND,
|
|
|
- "wlan_EXT_GRP",
|
|
|
- hif_ext_group);
|
|
|
+ ret = pfrm_request_irq(scn->qdf_dev->dev, irq,
|
|
|
+ hif_ext_group_interrupt_handler,
|
|
|
+ IRQF_SHARED | IRQF_NO_SUSPEND,
|
|
|
+ "wlan_EXT_GRP",
|
|
|
+ hif_ext_group);
|
|
|
if (ret) {
|
|
|
HIF_ERROR("%s: request_irq failed ret = %d",
|
|
|
__func__, ret);
|
|
@@ -620,7 +611,6 @@ QDF_STATUS hif_ipci_enable_bus(struct hif_softc *ol_sc,
|
|
|
struct hif_ipci_softc *sc = HIF_GET_IPCI_SOFTC(ol_sc);
|
|
|
struct hif_opaque_softc *hif_hdl = GET_HIF_OPAQUE_HDL(ol_sc);
|
|
|
uint16_t revision_id = 0;
|
|
|
- struct pci_dev *pdev = bdev;
|
|
|
struct hif_target_info *tgt_info;
|
|
|
int device_id = QCA6750_DEVICE_ID;
|
|
|
|
|
@@ -635,8 +625,6 @@ QDF_STATUS hif_ipci_enable_bus(struct hif_softc *ol_sc,
|
|
|
sc->hif_ipci_get_soc_info(sc, dev);
|
|
|
HIF_TRACE("%s: hif_enable_pci done", __func__);
|
|
|
|
|
|
- device_disable_async_suspend(&pdev->dev);
|
|
|
-
|
|
|
ret = hif_get_device_type(device_id, revision_id,
|
|
|
&hif_type, &target_type);
|
|
|
if (ret < 0) {
|