Lines Matching refs:txq_pcpu
958 static void mvpp2_txq_inc_get(struct mvpp2_txq_pcpu *txq_pcpu) in mvpp2_txq_inc_get() argument
960 txq_pcpu->txq_get_index++; in mvpp2_txq_inc_get()
961 if (txq_pcpu->txq_get_index == txq_pcpu->size) in mvpp2_txq_inc_get()
962 txq_pcpu->txq_get_index = 0; in mvpp2_txq_inc_get()
965 static void mvpp2_txq_inc_put(struct mvpp2_txq_pcpu *txq_pcpu, in mvpp2_txq_inc_put() argument
968 txq_pcpu->tx_skb[txq_pcpu->txq_put_index] = skb; in mvpp2_txq_inc_put()
969 txq_pcpu->txq_put_index++; in mvpp2_txq_inc_put()
970 if (txq_pcpu->txq_put_index == txq_pcpu->size) in mvpp2_txq_inc_put()
971 txq_pcpu->txq_put_index = 0; in mvpp2_txq_inc_put()
4200 struct mvpp2_txq_pcpu *txq_pcpu, in mvpp2_txq_reserved_desc_num_proc() argument
4205 if (txq_pcpu->reserved_num >= num) in mvpp2_txq_reserved_desc_num_proc()
4222 req = max(MVPP2_CPU_DESC_CHUNK, num - txq_pcpu->reserved_num); in mvpp2_txq_reserved_desc_num_proc()
4229 txq_pcpu->reserved_num += mvpp2_txq_alloc_reserved_desc(priv, txq, req); in mvpp2_txq_reserved_desc_num_proc()
4232 if (txq_pcpu->reserved_num < num) in mvpp2_txq_reserved_desc_num_proc()
4405 struct mvpp2_txq_pcpu *txq_pcpu, int num) in mvpp2_txq_bufs_free() argument
4411 txq_pcpu->txq_get_index; in mvpp2_txq_bufs_free()
4412 struct sk_buff *skb = txq_pcpu->tx_skb[txq_pcpu->txq_get_index]; in mvpp2_txq_bufs_free()
4414 mvpp2_txq_inc_get(txq_pcpu); in mvpp2_txq_bufs_free()
4443 struct mvpp2_txq_pcpu *txq_pcpu) in mvpp2_txq_done() argument
4448 if (txq_pcpu->cpu != smp_processor_id()) in mvpp2_txq_done()
4454 mvpp2_txq_bufs_free(port, txq, txq_pcpu, tx_done); in mvpp2_txq_done()
4456 txq_pcpu->count -= tx_done; in mvpp2_txq_done()
4459 if (txq_pcpu->size - txq_pcpu->count >= MAX_SKB_FRAGS + 1) in mvpp2_txq_done()
4590 struct mvpp2_txq_pcpu *txq_pcpu; in mvpp2_txq_init() local
4647 txq_pcpu = per_cpu_ptr(txq->pcpu, cpu); in mvpp2_txq_init()
4648 txq_pcpu->size = txq->size; in mvpp2_txq_init()
4649 txq_pcpu->tx_skb = kmalloc(txq_pcpu->size * in mvpp2_txq_init()
4650 sizeof(*txq_pcpu->tx_skb), in mvpp2_txq_init()
4652 if (!txq_pcpu->tx_skb) { in mvpp2_txq_init()
4659 txq_pcpu->count = 0; in mvpp2_txq_init()
4660 txq_pcpu->reserved_num = 0; in mvpp2_txq_init()
4661 txq_pcpu->txq_put_index = 0; in mvpp2_txq_init()
4662 txq_pcpu->txq_get_index = 0; in mvpp2_txq_init()
4672 struct mvpp2_txq_pcpu *txq_pcpu; in mvpp2_txq_deinit() local
4676 txq_pcpu = per_cpu_ptr(txq->pcpu, cpu); in mvpp2_txq_deinit()
4677 kfree(txq_pcpu->tx_skb); in mvpp2_txq_deinit()
4702 struct mvpp2_txq_pcpu *txq_pcpu; in mvpp2_txq_clean() local
4732 txq_pcpu = per_cpu_ptr(txq->pcpu, cpu); in mvpp2_txq_clean()
4735 mvpp2_txq_bufs_free(port, txq, txq_pcpu, txq_pcpu->count); in mvpp2_txq_clean()
4738 txq_pcpu->count = 0; in mvpp2_txq_clean()
4739 txq_pcpu->txq_put_index = 0; in mvpp2_txq_clean()
4740 txq_pcpu->txq_get_index = 0; in mvpp2_txq_clean()
5120 struct mvpp2_txq_pcpu *txq_pcpu = this_cpu_ptr(txq->pcpu); in mvpp2_tx_frag_process() local
5147 mvpp2_txq_inc_put(txq_pcpu, skb); in mvpp2_tx_frag_process()
5151 mvpp2_txq_inc_put(txq_pcpu, NULL); in mvpp2_tx_frag_process()
5174 struct mvpp2_txq_pcpu *txq_pcpu; in mvpp2_tx() local
5183 txq_pcpu = this_cpu_ptr(txq->pcpu); in mvpp2_tx()
5191 txq_pcpu, frags)) { in mvpp2_tx()
5217 mvpp2_txq_inc_put(txq_pcpu, skb); in mvpp2_tx()
5222 mvpp2_txq_inc_put(txq_pcpu, NULL); in mvpp2_tx()
5232 txq_pcpu->reserved_num -= frags; in mvpp2_tx()
5233 txq_pcpu->count += frags; in mvpp2_tx()
5240 if (txq_pcpu->size - txq_pcpu->count < MAX_SKB_FRAGS + 1) { in mvpp2_tx()
5303 struct mvpp2_txq_pcpu *txq_pcpu = this_cpu_ptr(txq->pcpu); in mvpp2_txq_done_percpu() local
5305 if (txq_pcpu->count) in mvpp2_txq_done_percpu()
5306 mvpp2_txq_done(port, txq, txq_pcpu); in mvpp2_txq_done_percpu()
5924 struct mvpp2_txq_pcpu *txq_pcpu; in mvpp2_port_init() local
5960 txq_pcpu = per_cpu_ptr(txq->pcpu, cpu); in mvpp2_port_init()
5961 txq_pcpu->cpu = cpu; in mvpp2_port_init()