Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/neta/if_mvneta.c
Show First 20 Lines • Show All 2,954 Lines • ▼ Show 20 Lines | mvneta_rx(struct mvneta_softc *sc, int q, int count) | ||||
npkt = MVNETA_PRXS_GET_ODC(prxs); | npkt = MVNETA_PRXS_GET_ODC(prxs); | ||||
if (__predict_false(npkt == 0)) | if (__predict_false(npkt == 0)) | ||||
goto out; | goto out; | ||||
if (count > 0 && npkt > count) { | if (count > 0 && npkt > count) { | ||||
more = 1; | more = 1; | ||||
npkt = count; | npkt = count; | ||||
} | } | ||||
mvneta_rx_queue(sc, q, npkt); | NET_EPOCH_WRAP(mvneta_rx_queue, (sc, q, npkt)); | ||||
out: | out: | ||||
mvneta_rx_unlockq(sc, q); | mvneta_rx_unlockq(sc, q); | ||||
return more; | return more; | ||||
} | } | ||||
/* | /* | ||||
* Helper routine for updating PRXSU register of a given queue. | * Helper routine for updating PRXSU register of a given queue. | ||||
* Handles number of processed descriptors bigger than maximum acceptable value. | * Handles number of processed descriptors bigger than maximum acceptable value. | ||||
▲ Show 20 Lines • Show All 641 Lines • Show Last 20 Lines |