Lines Matching refs:budget
129 int cpsw_tx_mq_poll(struct napi_struct *napi_tx, int budget)
143 if (unlikely(txv->budget > budget - num_tx))
144 cur_budget = budget - num_tx;
146 cur_budget = txv->budget;
149 if (num_tx >= budget)
153 if (num_tx < budget) {
161 int cpsw_tx_poll(struct napi_struct *napi_tx, int budget)
166 num_tx = cpdma_chan_process(cpsw->txv[0].ch, budget);
167 if (num_tx < budget) {
179 int cpsw_rx_mq_poll(struct napi_struct *napi_rx, int budget)
193 if (unlikely(rxv->budget > budget - num_rx))
194 cur_budget = budget - num_rx;
196 cur_budget = rxv->budget;
199 if (num_rx >= budget)
203 if (num_rx < budget) {
211 int cpsw_rx_poll(struct napi_struct *napi_rx, int budget)
216 num_rx = cpdma_chan_process(cpsw->rxv[0].ch, budget);
217 if (num_rx < budget) {
351 int budget, bigest_rate_ch = 0;
389 /* split tx weight/budget */
390 budget = CPSW_POLL_WEIGHT;
394 txv[i].budget = (ch_rate * CPSW_POLL_WEIGHT) / max_rate;
395 if (!txv[i].budget)
396 txv[i].budget++;
407 txv[i].budget = ch_budget;
413 budget -= txv[i].budget;
416 if (budget)
417 txv[bigest_rate_ch].budget += budget;
419 /* split rx budget */
420 budget = CPSW_POLL_WEIGHT;
421 ch_budget = budget / cpsw->rx_ch_num;
423 cpsw->rxv[i].budget = ch_budget;
424 budget -= ch_budget;
427 if (budget)
428 cpsw->rxv[0].budget += budget;