Lines Matching refs:state

73  * struct ef4_loopback_state - persistent state during a loopback selftest
291 struct ef4_loopback_state *state = efx->loopback_selftest;
298 if ((state == NULL) || state->flush)
301 payload = &state->payload;
306 if (state->offload_csum)
363 atomic_inc(&state->rx_good);
368 if (atomic_read(&state->rx_bad) == 0) {
374 &state->payload.packet, EF4_LOOPBACK_PAYLOAD_LEN,
378 atomic_inc(&state->rx_bad);
384 struct ef4_loopback_state *state = efx->loopback_selftest;
386 struct ef4_loopback_payload *payload = &state->payload;
412 /* Fill out remaining state members */
413 atomic_set(&state->rx_good, 0);
414 atomic_set(&state->rx_bad, 0);
421 struct ef4_loopback_state *state = efx->loopback_selftest;
428 for (i = 0; i < state->packet_count; i++) {
431 skb = alloc_skb(sizeof(state->payload), GFP_KERNEL);
434 state->skbs[i] = skb;
439 payload = skb_put(skb, sizeof(state->payload));
440 memcpy(payload, &state->payload, sizeof(state->payload));
459 i + 1, state->packet_count,
473 struct ef4_loopback_state *state = efx->loopback_selftest;
475 return atomic_read(&state->rx_good) == state->packet_count;
482 struct ef4_loopback_state *state = efx->loopback_selftest;
491 for (i = 0; i < state->packet_count; i++) {
492 skb = state->skbs[i];
501 rx_good = atomic_read(&state->rx_good);
502 rx_bad = atomic_read(&state->rx_bad);
503 if (tx_done != state->packet_count) {
510 tx_queue->queue, tx_done, state->packet_count,
517 if (rx_good != state->packet_count) {
521 tx_queue->queue, rx_good, state->packet_count,
528 lb_tests->tx_sent[tx_queue->queue] += state->packet_count;
541 struct ef4_loopback_state *state = efx->loopback_selftest;
546 state->packet_count = efx->txq_entries / 3;
547 state->packet_count = min(1 << (i << 2), state->packet_count);
548 state->skbs = kcalloc(state->packet_count,
549 sizeof(state->skbs[0]), GFP_KERNEL);
550 if (!state->skbs)
552 state->flush = false;
557 state->packet_count);
571 kfree(state->skbs);
584 state->packet_count);
629 struct ef4_loopback_state *state;
636 * all received packets will be dropped. Mark the state as
638 state = kzalloc(sizeof(*state), GFP_KERNEL);
639 if (state == NULL)
642 state->flush = true;
643 efx->loopback_selftest = state;
651 state->flush = true;
673 state->offload_csum = (tx_queue->queue &
684 state->flush = true;
687 kfree(state);
772 /* restore the PHY to the previous state */