Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/iwn/if_iwn.c
Show First 20 Lines • Show All 4,339 Lines • ▼ Show 20 Lines | #endif | ||||
} | } | ||||
if ((r1 & (IWN_INT_FH_RX | IWN_INT_SW_RX | IWN_INT_RX_PERIODIC)) || | if ((r1 & (IWN_INT_FH_RX | IWN_INT_SW_RX | IWN_INT_RX_PERIODIC)) || | ||||
(r2 & IWN_FH_INT_RX)) { | (r2 & IWN_FH_INT_RX)) { | ||||
if (sc->sc_flags & IWN_FLAG_USE_ICT) { | if (sc->sc_flags & IWN_FLAG_USE_ICT) { | ||||
if (r1 & (IWN_INT_FH_RX | IWN_INT_SW_RX)) | if (r1 & (IWN_INT_FH_RX | IWN_INT_SW_RX)) | ||||
IWN_WRITE(sc, IWN_FH_INT, IWN_FH_INT_RX); | IWN_WRITE(sc, IWN_FH_INT, IWN_FH_INT_RX); | ||||
IWN_WRITE_1(sc, IWN_INT_PERIODIC, | IWN_WRITE_1(sc, IWN_INT_PERIODIC, | ||||
IWN_INT_PERIODIC_DIS); | IWN_INT_PERIODIC_DIS); | ||||
iwn_notif_intr(sc); | NET_EPOCH_WRAP(iwn_notif_intr, (sc)); | ||||
if (r1 & (IWN_INT_FH_RX | IWN_INT_SW_RX)) { | if (r1 & (IWN_INT_FH_RX | IWN_INT_SW_RX)) { | ||||
IWN_WRITE_1(sc, IWN_INT_PERIODIC, | IWN_WRITE_1(sc, IWN_INT_PERIODIC, | ||||
IWN_INT_PERIODIC_ENA); | IWN_INT_PERIODIC_ENA); | ||||
} | } | ||||
} else | } else | ||||
iwn_notif_intr(sc); | NET_EPOCH_WRAP(iwn_notif_intr, (sc)); | ||||
} | } | ||||
if ((r1 & IWN_INT_FH_TX) || (r2 & IWN_FH_INT_TX)) { | if ((r1 & IWN_INT_FH_TX) || (r2 & IWN_FH_INT_TX)) { | ||||
if (sc->sc_flags & IWN_FLAG_USE_ICT) | if (sc->sc_flags & IWN_FLAG_USE_ICT) | ||||
IWN_WRITE(sc, IWN_FH_INT, IWN_FH_INT_TX); | IWN_WRITE(sc, IWN_FH_INT, IWN_FH_INT_TX); | ||||
wakeup(sc); /* FH DMA transfer completed. */ | wakeup(sc); /* FH DMA transfer completed. */ | ||||
} | } | ||||
▲ Show 20 Lines • Show All 4,872 Lines • Show Last 20 Lines |