Lines Matching refs:scn

50 void hif_snoc_disable_isr(struct hif_softc *scn)  in hif_snoc_disable_isr()  argument
52 hif_exec_kill(&scn->osc); in hif_snoc_disable_isr()
53 hif_nointrs(scn); in hif_snoc_disable_isr()
54 ce_tasklet_kill(scn); in hif_snoc_disable_isr()
55 qdf_atomic_set(&scn->active_tasklet_cnt, 0); in hif_snoc_disable_isr()
56 qdf_atomic_set(&scn->active_grp_tasklet_cnt, 0); in hif_snoc_disable_isr()
70 struct hif_softc *scn = HIF_GET_SOFTC(hif_ctx); in hif_snoc_dump_registers() local
72 status = hif_dump_ce_registers(scn); in hif_snoc_dump_registers()
105 void hif_snoc_close(struct hif_softc *scn) in hif_snoc_close() argument
107 hif_ce_close(scn); in hif_snoc_close()
131 static QDF_STATUS hif_snoc_get_soc_info(struct hif_softc *scn) in hif_snoc_get_soc_info() argument
138 ret = pld_get_soc_info(scn->qdf_dev->dev, &soc_info); in hif_snoc_get_soc_info()
144 scn->mem = soc_info.v_addr; in hif_snoc_get_soc_info()
145 scn->mem_pa = soc_info.p_addr; in hif_snoc_get_soc_info()
147 scn->target_info.soc_version = soc_info.soc_id; in hif_snoc_get_soc_info()
148 scn->target_info.target_version = soc_info.soc_id; in hif_snoc_get_soc_info()
149 scn->target_info.target_revision = 0; in hif_snoc_get_soc_info()
159 int hif_snoc_bus_configure(struct hif_softc *scn) in hif_snoc_bus_configure() argument
164 ret = hif_snoc_get_soc_info(scn); in hif_snoc_bus_configure()
168 hif_ce_prepare_config(scn); in hif_snoc_bus_configure()
170 ret = hif_wlan_enable(scn); in hif_snoc_bus_configure()
176 ret = hif_config_ce(scn); in hif_snoc_bus_configure()
180 ret = hif_get_wake_ce_id(scn, &wake_ce_id); in hif_snoc_bus_configure()
184 scn->wake_irq = pld_get_irq(scn->qdf_dev->dev, wake_ce_id); in hif_snoc_bus_configure()
185 scn->wake_irq_type = HIF_PM_CE_WAKE; in hif_snoc_bus_configure()
188 wake_ce_id, scn->wake_irq); in hif_snoc_bus_configure()
193 hif_unconfig_ce(scn); in hif_snoc_bus_configure()
196 hif_wlan_disable(scn); in hif_snoc_bus_configure()
321 void hif_snoc_disable_bus(struct hif_softc *scn) in hif_snoc_disable_bus() argument
325 hif_vote_link_down(GET_HIF_OPAQUE_HDL(scn)); in hif_snoc_disable_bus()
327 ret = qdf_device_init_wakeup(scn->qdf_dev, false); in hif_snoc_disable_bus()
340 void hif_snoc_nointrs(struct hif_softc *scn) in hif_snoc_nointrs() argument
342 struct HIF_CE_state *hif_state = HIF_GET_CE_STATE(scn); in hif_snoc_nointrs()
344 scn->free_irq_done = true; in hif_snoc_nointrs()
355 void hif_snoc_irq_enable(struct hif_softc *scn, in hif_snoc_irq_enable() argument
358 ce_enable_irq_in_individual_register(scn, ce_id); in hif_snoc_irq_enable()
368 void hif_snoc_irq_disable(struct hif_softc *scn, int ce_id) in hif_snoc_irq_disable() argument
370 ce_disable_irq_in_individual_register(scn, ce_id); in hif_snoc_irq_disable()
385 QDF_STATUS hif_snoc_setup_wakeup_sources(struct hif_softc *scn, bool enable) in hif_snoc_setup_wakeup_sources() argument
390 ret = enable_irq_wake(scn->wake_irq); in hif_snoc_setup_wakeup_sources()
392 ret = disable_irq_wake(scn->wake_irq); in hif_snoc_setup_wakeup_sources()
413 int hif_snoc_bus_suspend(struct hif_softc *scn) in hif_snoc_bus_suspend() argument
415 if (hif_snoc_setup_wakeup_sources(scn, true) != QDF_STATUS_SUCCESS) in hif_snoc_bus_suspend()
429 int hif_snoc_bus_resume(struct hif_softc *scn) in hif_snoc_bus_resume() argument
431 if (hif_snoc_setup_wakeup_sources(scn, false) != QDF_STATUS_SUCCESS) in hif_snoc_bus_resume()
446 int hif_snoc_bus_suspend_noirq(struct hif_softc *scn) in hif_snoc_bus_suspend_noirq() argument
448 if (hif_drain_tasklets(scn) != 0) in hif_snoc_bus_suspend_noirq()
453 int hif_snoc_map_ce_to_irq(struct hif_softc *scn, int ce_id) in hif_snoc_map_ce_to_irq() argument
455 return pld_get_irq(scn->qdf_dev->dev, ce_id); in hif_snoc_map_ce_to_irq()
466 bool hif_is_target_register_access_allowed(struct hif_softc *scn) in hif_is_target_register_access_allowed() argument
468 if (hif_is_recovery_in_progress(scn)) in hif_is_target_register_access_allowed()
469 return hif_is_target_ready(scn); in hif_is_target_register_access_allowed()
480 bool hif_snoc_needs_bmi(struct hif_softc *scn) in hif_snoc_needs_bmi() argument
486 static void hif_snoc_ce_dp_irq_set_affinity_hint(struct hif_softc *scn) in hif_snoc_ce_dp_irq_set_affinity_hint() argument
509 for (ce_id = 0; ce_id < scn->ce_count; ce_id++) { in hif_snoc_ce_dp_irq_set_affinity_hint()
510 ce_state = scn->ce_id_to_state[ce_id]; in hif_snoc_ce_dp_irq_set_affinity_hint()
515 irq = pld_get_irq(scn->qdf_dev->dev, ce_id); in hif_snoc_ce_dp_irq_set_affinity_hint()
516 ret = hif_affinity_mgr_set_ce_irq_affinity(scn, irq, ce_id, in hif_snoc_ce_dp_irq_set_affinity_hint()
527 void hif_snoc_configure_irq_affinity(struct hif_softc *scn) in hif_snoc_configure_irq_affinity() argument
529 if (scn->hif_config.enable_ce_dp_irq_affine) in hif_snoc_configure_irq_affinity()
530 hif_snoc_ce_dp_irq_set_affinity_hint(scn); in hif_snoc_configure_irq_affinity()