Lines Matching refs:tpr
6682 static int tg3_alloc_rx_data(struct tg3 *tp, struct tg3_rx_prodring_set *tpr,
6695 desc = &tpr->rx_std[dest_idx];
6696 map = &tpr->rx_std_buffers[dest_idx];
6702 desc = &tpr->rx_jmb[dest_idx].std;
6703 map = &tpr->rx_jmb_buffers[dest_idx];
6829 struct tg3_rx_prodring_set *tpr = &tnapi->prodring;
6839 std_prod_idx = tpr->rx_std_prod_idx;
6840 jmb_prod_idx = tpr->rx_jmb_prod_idx;
6871 tg3_recycle_rx(tnapi, tpr, opaque_key,
6895 skb_size = tg3_alloc_rx_data(tp, tpr, opaque_key,
6917 tg3_recycle_rx(tnapi, tpr, opaque_key,
6969 tpr->rx_std_prod_idx = std_prod_idx &
6972 tpr->rx_std_prod_idx);
6997 tpr->rx_std_prod_idx = std_prod_idx &
7000 tpr->rx_std_prod_idx);
7003 tpr->rx_jmb_prod_idx = jmb_prod_idx &
7006 tpr->rx_jmb_prod_idx);
7014 tpr->rx_std_prod_idx = std_prod_idx & tp->rx_std_ring_mask;
7015 tpr->rx_jmb_prod_idx = jmb_prod_idx & tp->rx_jmb_ring_mask;
8347 struct tg3_rx_prodring_set *tpr)
8351 if (tpr != &tp->napi[0].prodring) {
8352 for (i = tpr->rx_std_cons_idx; i != tpr->rx_std_prod_idx;
8354 tg3_rx_data_free(tp, &tpr->rx_std_buffers[i],
8358 for (i = tpr->rx_jmb_cons_idx;
8359 i != tpr->rx_jmb_prod_idx;
8361 tg3_rx_data_free(tp, &tpr->rx_jmb_buffers[i],
8370 tg3_rx_data_free(tp, &tpr->rx_std_buffers[i],
8375 tg3_rx_data_free(tp, &tpr->rx_jmb_buffers[i],
8388 struct tg3_rx_prodring_set *tpr)
8392 tpr->rx_std_cons_idx = 0;
8393 tpr->rx_std_prod_idx = 0;
8394 tpr->rx_jmb_cons_idx = 0;
8395 tpr->rx_jmb_prod_idx = 0;
8397 if (tpr != &tp->napi[0].prodring) {
8398 memset(&tpr->rx_std_buffers[0], 0,
8400 if (tpr->rx_jmb_buffers)
8401 memset(&tpr->rx_jmb_buffers[0], 0,
8407 memset(tpr->rx_std, 0, TG3_RX_STD_RING_BYTES(tp));
8422 rxd = &tpr->rx_std[i];
8433 if (tg3_alloc_rx_data(tp, tpr, RXD_OPAQUE_RING_STD, i,
8449 memset(tpr->rx_jmb, 0, TG3_RX_JMB_RING_BYTES(tp));
8457 rxd = &tpr->rx_jmb[i].std;
8468 if (tg3_alloc_rx_data(tp, tpr, RXD_OPAQUE_RING_JUMBO, i,
8485 tg3_rx_prodring_free(tp, tpr);
8490 struct tg3_rx_prodring_set *tpr)
8492 kfree(tpr->rx_std_buffers);
8493 tpr->rx_std_buffers = NULL;
8494 kfree(tpr->rx_jmb_buffers);
8495 tpr->rx_jmb_buffers = NULL;
8496 if (tpr->rx_std) {
8498 tpr->rx_std, tpr->rx_std_mapping);
8499 tpr->rx_std = NULL;
8501 if (tpr->rx_jmb) {
8503 tpr->rx_jmb, tpr->rx_jmb_mapping);
8504 tpr->rx_jmb = NULL;
8509 struct tg3_rx_prodring_set *tpr)
8511 tpr->rx_std_buffers = kzalloc(TG3_RX_STD_BUFF_RING_SIZE(tp),
8513 if (!tpr->rx_std_buffers)
8516 tpr->rx_std = dma_alloc_coherent(&tp->pdev->dev,
8518 &tpr->rx_std_mapping,
8520 if (!tpr->rx_std)
8524 tpr->rx_jmb_buffers = kzalloc(TG3_RX_JMB_BUFF_RING_SIZE(tp),
8526 if (!tpr->rx_jmb_buffers)
8529 tpr->rx_jmb = dma_alloc_coherent(&tp->pdev->dev,
8531 &tpr->rx_jmb_mapping,
8533 if (!tpr->rx_jmb)
8540 tg3_rx_prodring_fini(tp, tpr);
9886 struct tg3_rx_prodring_set *tpr = &tp->napi[0].prodring;
10199 ((u64) tpr->rx_std_mapping >> 32));
10201 ((u64) tpr->rx_std_mapping & 0xffffffff));
10219 ((u64) tpr->rx_jmb_mapping >> 32));
10221 ((u64) tpr->rx_jmb_mapping & 0xffffffff));
10247 tpr->rx_std_prod_idx = tp->rx_pending;
10248 tw32_rx_mbox(TG3_RX_STD_PROD_IDX_REG, tpr->rx_std_prod_idx);
10250 tpr->rx_jmb_prod_idx =
10252 tw32_rx_mbox(TG3_RX_JMB_PROD_IDX_REG, tpr->rx_jmb_prod_idx);
13475 struct tg3_rx_prodring_set *tpr = &tp->napi[0].prodring;
13645 rx_data = tpr->rx_std_buffers[desc_idx].data;
13646 map = dma_unmap_addr(&tpr->rx_std_buffers[desc_idx],
13649 rx_data = tpr->rx_jmb_buffers[desc_idx].data;
13650 map = dma_unmap_addr(&tpr->rx_jmb_buffers[desc_idx],