void ath10k_ce_per_engine_service_any(struct ath10k *ar) { int ce_id; u32 intr_summary; intr_summary = CE_INTERRUPT_SUMMARY(ar); for (ce_id = 0; intr_summary && (ce_id < CE_COUNT); ce_id++) { if (intr_summary & (1 << ce_id)) intr_summary &= ~(1 << ce_id); else /* no intr pending on this CE */ continue; ath10k_ce_per_engine_service(ar, ce_id); } }
void ath10k_ce_per_engine_service_any(struct ath10k *ar) { struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); int ce_id, ret; u32 intr_summary; ret = ath10k_pci_wake(ar); if (ret) return; intr_summary = CE_INTERRUPT_SUMMARY(ar); for (ce_id = 0; intr_summary && (ce_id < ar_pci->ce_count); ce_id++) { if (intr_summary & (1 << ce_id)) intr_summary &= ~(1 << ce_id); else /* no intr pending on this CE */ continue; ath10k_ce_per_engine_service(ar, ce_id); } ath10k_pci_sleep(ar); }