Lines Matching refs:kr
1235 static __inline void nm_kr_put(struct netmap_kring *kr) in nm_kr_put() argument
1237 NM_ATOMIC_CLEAR(&kr->nr_busy); in nm_kr_put()
1259 static __inline int nm_kr_tryget(struct netmap_kring *kr, int can_sleep, int *perr) in nm_kr_tryget() argument
1266 stopped = kr->nkr_stopped; in nm_kr_tryget()
1270 busy = NM_ATOMIC_TEST_AND_SET(&kr->nr_busy); in nm_kr_tryget()
1275 stopped = kr->nkr_stopped; in nm_kr_tryget()
1280 if (unlikely(nm_iszombie(kr->na))) { in nm_kr_tryget()
1289 nm_kr_put(kr); in nm_kr_tryget()
1303 tsleep(kr, 0, "NM_KR_TRYGET", 4); in nm_kr_tryget()
1312 static __inline void nm_kr_stop(struct netmap_kring *kr, int stopped) in nm_kr_stop() argument
1314 kr->nkr_stopped = stopped; in nm_kr_stop()
1315 while (NM_ATOMIC_TEST_AND_SET(&kr->nr_busy)) in nm_kr_stop()
1316 tsleep(kr, 0, "NM_KR_GET", 4); in nm_kr_stop()
1320 static __inline void nm_kr_start(struct netmap_kring *kr) in nm_kr_start() argument
1322 kr->nkr_stopped = 0; in nm_kr_start()
1323 nm_kr_put(kr); in nm_kr_start()
1903 netmap_idx_n2k(struct netmap_kring *kr, int idx) in netmap_idx_n2k() argument
1905 int n = kr->nkr_num_slots; in netmap_idx_n2k()
1907 if (likely(kr->nkr_hwofs == 0)) { in netmap_idx_n2k()
1911 idx += kr->nkr_hwofs; in netmap_idx_n2k()
1922 netmap_idx_k2n(struct netmap_kring *kr, int idx) in netmap_idx_k2n() argument
1924 int n = kr->nkr_num_slots; in netmap_idx_k2n()
1926 if (likely(kr->nkr_hwofs == 0)) { in netmap_idx_k2n()
1930 idx -= kr->nkr_hwofs; in netmap_idx_k2n()