Symbol: fq
block/blk-flush.c
100
return blk_mq_map_queue(REQ_OP_FLUSH, ctx)->fq;
block/blk-flush.c
149
struct blk_flush_queue *fq,
block/blk-flush.c
153
struct list_head *pending = &fq->flush_queue[fq->flush_pending_idx];
block/blk-flush.c
170
fq->flush_pending_since = jiffies;
block/blk-flush.c
175
fq->flush_data_in_flight++;
block/blk-flush.c
198
blk_kick_flush(q, fq, cmd_flags);
block/blk-flush.c
209
struct blk_flush_queue *fq = blk_get_flush_queue(flush_rq->mq_ctx);
block/blk-flush.c
212
spin_lock_irqsave(&fq->mq_flush_lock, flags);
block/blk-flush.c
215
fq->rq_status = error;
block/blk-flush.c
216
spin_unlock_irqrestore(&fq->mq_flush_lock, flags);
block/blk-flush.c
227
if (fq->rq_status != BLK_STS_OK) {
block/blk-flush.c
228
error = fq->rq_status;
block/blk-flush.c
229
fq->rq_status = BLK_STS_OK;
block/blk-flush.c
239
running = &fq->flush_queue[fq->flush_running_idx];
block/blk-flush.c
240
BUG_ON(fq->flush_pending_idx == fq->flush_running_idx);
block/blk-flush.c
243
fq->flush_running_idx ^= 1;
block/blk-flush.c
251
blk_flush_complete_seq(rq, fq, seq, error);
block/blk-flush.c
254
spin_unlock_irqrestore(&fq->mq_flush_lock, flags);
block/blk-flush.c
276
static void blk_kick_flush(struct request_queue *q, struct blk_flush_queue *fq,
block/blk-flush.c
279
struct list_head *pending = &fq->flush_queue[fq->flush_pending_idx];
block/blk-flush.c
282
struct request *flush_rq = fq->flush_rq;
block/blk-flush.c
285
if (fq->flush_pending_idx != fq->flush_running_idx || list_empty(pending))
block/blk-flush.c
289
if (fq->flush_data_in_flight &&
block/blk-flush.c
291
fq->flush_pending_since + FLUSH_PENDING_TIMEOUT))
block/blk-flush.c
298
fq->flush_pending_idx ^= 1;
block/blk-flush.c
346
struct blk_flush_queue *fq = blk_get_flush_queue(ctx);
block/blk-flush.c
357
spin_lock_irqsave(&fq->mq_flush_lock, flags);
block/blk-flush.c
358
fq->flush_data_in_flight--;
block/blk-flush.c
364
blk_flush_complete_seq(rq, fq, REQ_FSEQ_DATA, error);
block/blk-flush.c
365
spin_unlock_irqrestore(&fq->mq_flush_lock, flags);
block/blk-flush.c
387
struct blk_flush_queue *fq = blk_get_flush_queue(rq->mq_ctx);
block/blk-flush.c
446
spin_lock_irq(&fq->mq_flush_lock);
block/blk-flush.c
447
fq->flush_data_in_flight++;
block/blk-flush.c
448
spin_unlock_irq(&fq->mq_flush_lock);
block/blk-flush.c
456
spin_lock_irq(&fq->mq_flush_lock);
block/blk-flush.c
457
blk_flush_complete_seq(rq, fq, REQ_FSEQ_ACTIONS & ~policy, 0);
block/blk-flush.c
458
spin_unlock_irq(&fq->mq_flush_lock);
block/blk-flush.c
482
struct blk_flush_queue *fq;
block/blk-flush.c
485
fq = kzalloc_node(sizeof(*fq), flags, node);
block/blk-flush.c
486
if (!fq)
block/blk-flush.c
489
spin_lock_init(&fq->mq_flush_lock);
block/blk-flush.c
492
fq->flush_rq = kzalloc_node(rq_sz, flags, node);
block/blk-flush.c
493
if (!fq->flush_rq)
block/blk-flush.c
496
INIT_LIST_HEAD(&fq->flush_queue[0]);
block/blk-flush.c
497
INIT_LIST_HEAD(&fq->flush_queue[1]);
block/blk-flush.c
499
return fq;
block/blk-flush.c
502
kfree(fq);
block/blk-flush.c
507
void blk_free_flush_queue(struct blk_flush_queue *fq)
block/blk-flush.c
510
if (!fq)
block/blk-flush.c
513
kfree(fq->flush_rq);
block/blk-flush.c
514
kfree(fq);
block/blk-flush.c
538
lockdep_set_class(&hctx->fq->mq_flush_lock, key);
block/blk-flush.c
95
struct blk_flush_queue *fq, blk_opf_t flags);
block/blk-mq.c
3935
struct blk_flush_queue *fq =
block/blk-mq.c
3938
blk_free_flush_queue(fq);
block/blk-mq.c
3946
struct request *flush_rq = hctx->fq->flush_rq;
block/blk-mq.c
3960
call_srcu(&set->tags_srcu, &hctx->fq->rcu_head,
block/blk-mq.c
3962
hctx->fq = NULL;
block/blk-mq.c
3989
hctx->fq = blk_alloc_flush_queue(hctx->numa_node, set->cmd_size, gfp);
block/blk-mq.c
3990
if (!hctx->fq)
block/blk-mq.c
4001
if (blk_mq_init_request(set, hctx->fq->flush_rq, hctx_idx,
block/blk-mq.c
4011
blk_free_flush_queue(hctx->fq);
block/blk-mq.c
4012
hctx->fq = NULL;
drivers/crypto/caam/qi.c
142
static void caam_fq_ern_cb(struct qman_portal *qm, struct qman_fq *fq,
drivers/crypto/caam/qi.c
225
static int empty_retired_fq(struct device *qidev, struct qman_fq *fq)
drivers/crypto/caam/qi.c
229
ret = qman_volatile_dequeue(fq, QMAN_VOLATILE_FLAG_WAIT_INT |
drivers/crypto/caam/qi.c
234
dev_err(qidev, "Volatile dequeue fail for FQ: %u\n", fq->fqid);
drivers/crypto/caam/qi.c
243
} while (fq->flags & QMAN_FQ_STATE_NE);
drivers/crypto/caam/qi.c
248
static int kill_fq(struct device *qidev, struct qman_fq *fq)
drivers/crypto/caam/qi.c
253
ret = qman_retire_fq(fq, &flags);
drivers/crypto/caam/qi.c
267
} while (fq->state != qman_fq_state_retired);
drivers/crypto/caam/qi.c
269
WARN_ON(fq->flags & QMAN_FQ_STATE_BLOCKOOS);
drivers/crypto/caam/qi.c
270
WARN_ON(fq->flags & QMAN_FQ_STATE_ORL);
drivers/crypto/caam/qi.c
274
if (fq->flags & QMAN_FQ_STATE_NE) {
drivers/crypto/caam/qi.c
275
ret = empty_retired_fq(qidev, fq);
drivers/crypto/caam/qi.c
278
fq->fqid);
drivers/crypto/caam/qi.c
283
ret = qman_oos_fq(fq);
drivers/crypto/caam/qi.c
285
dev_err(qidev, "OOS of FQID: %u failed\n", fq->fqid);
drivers/crypto/caam/qi.c
287
qman_destroy_fq(fq);
drivers/crypto/caam/qi.c
288
kfree(fq);
drivers/crypto/caam/qi.c
293
static int empty_caam_fq(struct qman_fq *fq, struct caam_drv_ctx *drv_ctx)
drivers/crypto/caam/qi.c
301
ret = qman_query_fq_np(fq, &np);
drivers/crypto/caam/qi.c
321
refcount_read(&drv_ctx->refcnt), fq->fqid);
drivers/crypto/caam/qi.c
619
struct qman_fq *fq;
drivers/crypto/caam/qi.c
622
fq = kzalloc_obj(*fq);
drivers/crypto/caam/qi.c
623
if (!fq)
drivers/crypto/caam/qi.c
626
fq->cb.dqrr = caam_rsp_fq_dqrr_cb;
drivers/crypto/caam/qi.c
629
QMAN_FQ_FLAG_DYNAMIC_FQID, fq);
drivers/crypto/caam/qi.c
632
kfree(fq);
drivers/crypto/caam/qi.c
648
ret = qman_init_fq(fq, QMAN_INITFQ_FLAG_SCHED, &opts);
drivers/crypto/caam/qi.c
651
kfree(fq);
drivers/crypto/caam/qi.c
655
per_cpu(pcpu_qipriv.rsp_fq, cpu) = fq;
drivers/crypto/caam/qi.c
657
dev_dbg(qidev, "Allocated response FQ %u for CPU %u", fq->fqid, cpu);
drivers/iommu/dma-iommu.c
122
#define fq_ring_for_each(i, fq) \
drivers/iommu/dma-iommu.c
123
for ((i) = (fq)->head; (i) != (fq)->tail; (i) = ((i) + 1) & (fq)->mod_mask)
drivers/iommu/dma-iommu.c
125
static inline bool fq_full(struct iova_fq *fq)
drivers/iommu/dma-iommu.c
127
assert_spin_locked(&fq->lock);
drivers/iommu/dma-iommu.c
128
return (((fq->tail + 1) & fq->mod_mask) == fq->head);
drivers/iommu/dma-iommu.c
131
static inline unsigned int fq_ring_add(struct iova_fq *fq)
drivers/iommu/dma-iommu.c
133
unsigned int idx = fq->tail;
drivers/iommu/dma-iommu.c
135
assert_spin_locked(&fq->lock);
drivers/iommu/dma-iommu.c
137
fq->tail = (idx + 1) & fq->mod_mask;
drivers/iommu/dma-iommu.c
142
static void fq_ring_free_locked(struct iommu_dma_cookie *cookie, struct iova_fq *fq)
drivers/iommu/dma-iommu.c
147
assert_spin_locked(&fq->lock);
drivers/iommu/dma-iommu.c
149
fq_ring_for_each(idx, fq) {
drivers/iommu/dma-iommu.c
151
if (fq->entries[idx].counter >= counter)
drivers/iommu/dma-iommu.c
154
iommu_put_pages_list(&fq->entries[idx].freelist);
drivers/iommu/dma-iommu.c
156
fq->entries[idx].iova_pfn,
drivers/iommu/dma-iommu.c
157
fq->entries[idx].pages);
drivers/iommu/dma-iommu.c
159
fq->entries[idx].freelist =
drivers/iommu/dma-iommu.c
160
IOMMU_PAGES_LIST_INIT(fq->entries[idx].freelist);
drivers/iommu/dma-iommu.c
161
fq->head = (fq->head + 1) & fq->mod_mask;
drivers/iommu/dma-iommu.c
165
static void fq_ring_free(struct iommu_dma_cookie *cookie, struct iova_fq *fq)
drivers/iommu/dma-iommu.c
169
spin_lock_irqsave(&fq->lock, flags);
drivers/iommu/dma-iommu.c
170
fq_ring_free_locked(cookie, fq);
drivers/iommu/dma-iommu.c
171
spin_unlock_irqrestore(&fq->lock, flags);
drivers/iommu/dma-iommu.c
202
struct iova_fq *fq;
drivers/iommu/dma-iommu.c
216
fq = cookie->single_fq;
drivers/iommu/dma-iommu.c
218
fq = raw_cpu_ptr(cookie->percpu_fq);
drivers/iommu/dma-iommu.c
220
spin_lock_irqsave(&fq->lock, flags);
drivers/iommu/dma-iommu.c
227
fq_ring_free_locked(cookie, fq);
drivers/iommu/dma-iommu.c
229
if (fq_full(fq)) {
drivers/iommu/dma-iommu.c
231
fq_ring_free_locked(cookie, fq);
drivers/iommu/dma-iommu.c
234
idx = fq_ring_add(fq);
drivers/iommu/dma-iommu.c
236
fq->entries[idx].iova_pfn = pfn;
drivers/iommu/dma-iommu.c
237
fq->entries[idx].pages = pages;
drivers/iommu/dma-iommu.c
238
fq->entries[idx].counter = atomic64_read(&cookie->fq_flush_start_cnt);
drivers/iommu/dma-iommu.c
239
iommu_pages_list_splice(freelist, &fq->entries[idx].freelist);
drivers/iommu/dma-iommu.c
241
spin_unlock_irqrestore(&fq->lock, flags);
drivers/iommu/dma-iommu.c
250
static void iommu_dma_free_fq_single(struct iova_fq *fq)
drivers/iommu/dma-iommu.c
254
fq_ring_for_each(idx, fq)
drivers/iommu/dma-iommu.c
255
iommu_put_pages_list(&fq->entries[idx].freelist);
drivers/iommu/dma-iommu.c
256
vfree(fq);
drivers/iommu/dma-iommu.c
265
struct iova_fq *fq = per_cpu_ptr(percpu_fq, cpu);
drivers/iommu/dma-iommu.c
267
fq_ring_for_each(idx, fq)
drivers/iommu/dma-iommu.c
268
iommu_put_pages_list(&fq->entries[idx].freelist);
drivers/iommu/dma-iommu.c
286
static void iommu_dma_init_one_fq(struct iova_fq *fq, size_t fq_size)
drivers/iommu/dma-iommu.c
290
fq->head = 0;
drivers/iommu/dma-iommu.c
291
fq->tail = 0;
drivers/iommu/dma-iommu.c
292
fq->mod_mask = fq_size - 1;
drivers/iommu/dma-iommu.c
294
spin_lock_init(&fq->lock);
drivers/iommu/dma-iommu.c
297
fq->entries[i].freelist =
drivers/iommu/dma-iommu.c
298
IOMMU_PAGES_LIST_INIT(fq->entries[i].freelist);
drivers/media/i2c/hi846.c
1974
s64 fq;
drivers/media/i2c/hi846.c
2006
fq = hi846_check_link_freqs(hi846, &bus_cfg);
drivers/media/i2c/hi846.c
2007
if (fq) {
drivers/media/i2c/hi846.c
2008
dev_err(dev, "Link frequency of %lld is not supported\n", fq);
drivers/media/i2c/imx290.c
1519
s64 fq;
drivers/media/i2c/imx290.c
1556
fq = imx290_check_link_freqs(imx290, &ep);
drivers/media/i2c/imx290.c
1557
if (fq) {
drivers/media/i2c/imx290.c
1559
fq);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
1030
struct qman_fq *fq;
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
1047
fq = &dpaa_fq->fq_base;
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
1153
err = qman_init_fq(fq, QMAN_INITFQ_FLAG_SCHED, &initfq);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
1156
qman_fq_fqid(fq), err);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
1157
qman_destroy_fq(fq);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
1162
dpaa_fq->fqid = qman_fq_fqid(fq);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
1186
static int dpaa_fq_free_entry(struct device *dev, struct qman_fq *fq)
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
1194
dpaa_fq = container_of(fq, struct dpaa_fq, fq_base);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
1198
err = qman_retire_fq(fq, NULL);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
1201
qman_fq_fqid(fq), err);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
1203
error = qman_oos_fq(fq);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
1206
qman_fq_fqid(fq), error);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
1217
qman_destroy_fq(fq);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
2490
struct qman_fq *fq,
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
2494
struct dpaa_fq *dpaa_fq = container_of(fq, struct dpaa_fq, fq_base);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
2512
dpaa_rx_error(net_dev, priv, percpu_priv, &dq->fd, fq->fqid);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
2680
struct qman_fq *fq,
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
2706
dpaa_fq = container_of(fq, struct dpaa_fq, fq_base);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
2716
trace_dpaa_rx_fd(net_dev, fq, &dq->fd);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
2839
struct qman_fq *fq,
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
2847
net_dev = ((struct dpaa_fq *)fq)->net_dev;
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
2855
dpaa_tx_error(net_dev, priv, percpu_priv, &dq->fd, fq->fqid);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
2861
struct qman_fq *fq,
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
2869
net_dev = ((struct dpaa_fq *)fq)->net_dev;
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
2873
trace_dpaa_tx_conf_fd(net_dev, fq, &dq->fd);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
2880
dpaa_tx_conf(net_dev, priv, percpu_priv, &dq->fd, fq->fqid);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
2886
struct qman_fq *fq,
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
2895
net_dev = ((struct dpaa_fq *)fq)->net_dev;
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
652
static inline void dpaa_assign_wq(struct dpaa_fq *fq, int idx)
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
654
switch (fq->fq_type) {
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
657
fq->wq = 1;
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
661
fq->wq = 5;
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
665
fq->wq = 6;
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
671
fq->wq = 6;
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
675
fq->wq = 2;
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
679
fq->wq = 1;
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
683
fq->wq = 0;
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
692
fq->fq_type, fq->fqid);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
925
struct dpaa_fq *fq,
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
928
fq->fq_base = *template;
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
929
fq->net_dev = priv->net_dev;
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
931
fq->flags = QMAN_FQ_FLAG_NO_ENQUEUE;
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
932
fq->channel = priv->channel;
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
936
struct dpaa_fq *fq,
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
940
fq->fq_base = *template;
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
941
fq->net_dev = priv->net_dev;
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
944
fq->flags = QMAN_FQ_FLAG_TO_DCPORTAL;
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
945
fq->channel = (u16)fman_port_get_qman_channel_id(port);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
947
fq->flags = QMAN_FQ_FLAG_NO_MODIFY;
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
957
struct dpaa_fq *fq;
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
972
list_for_each_entry(fq, &priv->dpaa_fq_list, list) {
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
973
switch (fq->fq_type) {
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
975
dpaa_setup_ingress(priv, fq, &fq_cbs->rx_defq);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
978
dpaa_setup_ingress(priv, fq, &fq_cbs->rx_errq);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
983
dpaa_setup_ingress(priv, fq, &fq_cbs->rx_defq);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
984
fq->channel = channels[portal_cnt++ % num_portals];
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
987
dpaa_setup_egress(priv, fq, tx_port,
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
989
priv->egress_fqs[egress_cnt++] = &fq->fq_base;
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
992
priv->conf_fqs[conf_cnt++] = &fq->fq_base;
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
995
dpaa_setup_ingress(priv, fq, &fq_cbs->tx_defq);
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
998
dpaa_setup_ingress(priv, fq, &fq_cbs->tx_errq);
drivers/net/ethernet/freescale/dpaa/dpaa_eth_sysfs.c
33
struct dpaa_fq *fq;
drivers/net/ethernet/freescale/dpaa/dpaa_eth_sysfs.c
39
list_for_each_entry_safe(fq, tmp, &priv->dpaa_fq_list, list) {
drivers/net/ethernet/freescale/dpaa/dpaa_eth_sysfs.c
40
switch (fq->fq_type) {
drivers/net/ethernet/freescale/dpaa/dpaa_eth_sysfs.c
66
if (prev && (abs(fq->fqid - prev->fqid) != 1 ||
drivers/net/ethernet/freescale/dpaa/dpaa_eth_sysfs.c
77
if (prev && abs(fq->fqid - prev->fqid) == 1 &&
drivers/net/ethernet/freescale/dpaa/dpaa_eth_sysfs.c
79
last_fqid = fq->fqid;
drivers/net/ethernet/freescale/dpaa/dpaa_eth_sysfs.c
81
first_fqid = fq->fqid;
drivers/net/ethernet/freescale/dpaa/dpaa_eth_sysfs.c
82
last_fqid = fq->fqid;
drivers/net/ethernet/freescale/dpaa/dpaa_eth_sysfs.c
85
prev = fq;
drivers/net/ethernet/freescale/dpaa/dpaa_eth_trace.h
101
TP_ARGS(netdev, fq, fd)
drivers/net/ethernet/freescale/dpaa/dpaa_eth_trace.h
32
struct qman_fq *fq,
drivers/net/ethernet/freescale/dpaa/dpaa_eth_trace.h
36
TP_ARGS(netdev, fq, fd),
drivers/net/ethernet/freescale/dpaa/dpaa_eth_trace.h
54
__entry->fqid = fq->fqid;
drivers/net/ethernet/freescale/dpaa/dpaa_eth_trace.h
78
struct qman_fq *fq,
drivers/net/ethernet/freescale/dpaa/dpaa_eth_trace.h
81
TP_ARGS(netdev, fq, fd)
drivers/net/ethernet/freescale/dpaa/dpaa_eth_trace.h
88
struct qman_fq *fq,
drivers/net/ethernet/freescale/dpaa/dpaa_eth_trace.h
91
TP_ARGS(netdev, fq, fd)
drivers/net/ethernet/freescale/dpaa/dpaa_eth_trace.h
98
struct qman_fq *fq,
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-debugfs.c
47
static char *fq_type_to_str(struct dpaa2_eth_fq *fq)
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-debugfs.c
49
switch (fq->type) {
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-debugfs.c
62
struct dpaa2_eth_fq *fq;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-debugfs.c
71
fq = &priv->fq[i];
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-debugfs.c
72
err = dpaa2_io_query_fq_count(NULL, fq->fqid, &fcnt, &bcnt);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-debugfs.c
77
if (!fq->stats.frames && !fcnt)
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-debugfs.c
81
fq->fqid,
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-debugfs.c
82
fq->target_cpu,
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-debugfs.c
83
fq->tc,
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-debugfs.c
84
fq_type_to_str(fq),
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-debugfs.c
85
fq->stats.frames,
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
1120
struct dpaa2_eth_fq *fq,
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
1216
fq->dq_frames++;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
1217
fq->dq_bytes += fd_len;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
1403
struct dpaa2_eth_fq *fq;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
1482
fq = &priv->fq[queue_mapping];
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
1491
err = priv->enqueue(priv, fq, &fd[total_enqueued],
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
1505
dpaa2_eth_free_tx_fd(priv, NULL, fq, fd, false);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
1581
struct dpaa2_eth_fq *fq)
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
1598
dpaa2_eth_free_tx_fd(priv, ch, fq, fd, true);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
1946
struct dpaa2_eth_fq *fq, *txc_fq = NULL;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
1979
store_cleaned = dpaa2_eth_consume_frames(ch, &fq);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
1982
if (fq->type == DPAA2_RX_FQ) {
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
1984
flowid = fq->flowid;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
1988
txc_fq = fq;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2042
dpaa2_eth_xdp_tx_flush(priv, ch, &priv->fq[flowid]);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2073
struct dpaa2_eth_fq *fq;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2089
fq = &priv->fq[i];
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2090
if (fq->type != DPAA2_RX_FQ)
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2094
fq->tc, fq->flowid, &td);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2230
struct dpaa2_eth_fq *fq;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2235
fq = &priv->fq[i];
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2236
err = dpaa2_io_query_fq_count(NULL, fq->fqid, &fcnt, &bcnt);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2869
struct dpaa2_eth_fq *fq;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2879
fq = &priv->fq[smp_processor_id()];
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2880
xdp_redirect_fds = &fq->xdp_redirect_fds;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2894
enqueued = dpaa2_eth_xdp_flush(priv, fq, xdp_redirect_fds);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2908
struct dpaa2_eth_fq *fq;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2922
fq = &priv->fq[i % num_queues];
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2925
cpumask_set_cpu(fq->target_cpu, xps_mask);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3310
struct dpaa2_eth_fq *fq;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3321
fq = &priv->fq[i];
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3322
switch (fq->type) {
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3325
fq->target_cpu = rx_cpu;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3331
fq->target_cpu = txc_cpu;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3337
dev_err(dev, "Unknown FQ type: %d\n", fq->type);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3339
fq->channel = dpaa2_eth_get_affine_channel(priv, fq->target_cpu);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
335
struct dpaa2_eth_fq *fq,
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3354
priv->fq[priv->num_fqs].type = DPAA2_TX_CONF_FQ;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3355
priv->fq[priv->num_fqs].consume = dpaa2_eth_tx_conf;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3356
priv->fq[priv->num_fqs++].flowid = (u16)i;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3361
priv->fq[priv->num_fqs].type = DPAA2_RX_FQ;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3362
priv->fq[priv->num_fqs].consume = dpaa2_eth_rx;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3363
priv->fq[priv->num_fqs].tc = (u8)j;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3364
priv->fq[priv->num_fqs++].flowid = (u16)i;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3369
priv->fq[priv->num_fqs].type = DPAA2_RX_ERR_FQ;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3370
priv->fq[priv->num_fqs++].consume = dpaa2_eth_rx_err;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
350
err = priv->enqueue(priv, fq, &fds[total_enqueued],
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3577
struct dpaa2_eth_fq *fq,
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3584
err = dpaa2_io_service_enqueue_qd(fq->channel->dpio,
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3586
fq->tx_qdbin, fd);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3593
struct dpaa2_eth_fq *fq,
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3600
err = dpaa2_io_service_enqueue_multiple_fq(fq->channel->dpio,
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3601
fq->tx_fqid[prio],
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
365
struct dpaa2_eth_fq *fq)
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3651
struct dpaa2_eth_fq *fq;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3663
fq = &priv->fq[i];
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3664
if (fq->type != DPAA2_TX_CONF_FQ)
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3668
DPNI_QUEUE_TX, j, fq->flowid,
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3673
fq->tx_fqid[j] = qid.fqid;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3674
if (fq->tx_fqid[j] == 0)
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
374
enqueued = dpaa2_eth_xdp_flush(priv, fq, &fq->xdp_tx_fds);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
378
fds = fq->xdp_tx_fds.fds;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
383
for (i = enqueued; i < fq->xdp_tx_fds.num; i++) {
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
388
fq->xdp_tx_fds.num = 0;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3896
struct dpaa2_eth_fq *fq)
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3904
DPNI_QUEUE_RX, fq->tc, fq->flowid, &queue, &qid);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3910
fq->fqid = qid.fqid;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3912
queue.destination.id = fq->channel->dpcon_id;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3915
queue.user_context = (u64)(uintptr_t)fq;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3917
DPNI_QUEUE_RX, fq->tc, fq->flowid,
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3927
if (fq->tc > 0)
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3930
err = xdp_rxq_info_reg(&fq->channel->xdp_rxq, priv->net_dev,
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3931
fq->flowid, 0);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3937
err = xdp_rxq_info_reg_mem_model(&fq->channel->xdp_rxq,
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3941
xdp_rxq_info_unreg(&fq->channel->xdp_rxq);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3949
struct dpaa2_eth_fq *fq)
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3958
DPNI_QUEUE_TX, i, fq->flowid,
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3964
fq->tx_fqid[i] = qid.fqid;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3968
fq->tx_qdbin = qid.qdbin;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3971
DPNI_QUEUE_TX_CONFIRM, 0, fq->flowid,
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3978
fq->fqid = qid.fqid;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
398
struct dpaa2_eth_fq *fq;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3980
queue.destination.id = fq->channel->dpcon_id;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3983
queue.user_context = (u64)(uintptr_t)fq;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3985
DPNI_QUEUE_TX_CONFIRM, 0, fq->flowid,
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
3997
struct dpaa2_eth_fq *fq)
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
4012
fq->fqid = qid.fqid;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
4014
q.destination.id = fq->channel->dpcon_id;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
4017
q.user_context = (u64)(uintptr_t)fq;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
415
fq = &priv->fq[queue_id];
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
416
dest_fd = &fq->xdp_tx_fds.fds[fq->xdp_tx_fds.num++];
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
419
if (fq->xdp_tx_fds.num < DEV_MAP_BULK_SIZE)
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
422
dpaa2_eth_xdp_tx_flush(priv, ch, fq);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
4420
switch (priv->fq[i].type) {
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
4422
err = dpaa2_eth_setup_rx_flow(priv, &priv->fq[i]);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
4425
err = dpaa2_eth_setup_tx_flow(priv, &priv->fq[i]);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
4428
err = setup_rx_err_flow(priv, &priv->fq[i]);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
4431
dev_err(dev, "Invalid FQ type %d\n", priv->fq[i].type);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
4449
if (priv->fq[i].type == DPAA2_RX_FQ &&
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
4450
xdp_rxq_info_is_reg(&priv->fq[i].channel->xdp_rxq))
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
4451
xdp_rxq_info_unreg(&priv->fq[i].channel->xdp_rxq);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
4851
if (priv->fq[i].type == DPAA2_RX_FQ &&
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
4852
xdp_rxq_info_is_reg(&priv->fq[i].channel->xdp_rxq))
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
4853
xdp_rxq_info_unreg(&priv->fq[i].channel->xdp_rxq);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
538
struct dpaa2_eth_fq *fq,
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
568
skb_record_rx_queue(skb, fq->flowid);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
581
struct dpaa2_eth_fq *fq)
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
608
xdp_act = dpaa2_eth_run_xdp(priv, ch, fq, (struct dpaa2_fd *)fd, vaddr);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
640
dpaa2_eth_receive_skb(priv, ch, fd, vaddr, fq, percpu_stats, skb);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
658
struct dpaa2_eth_fq *fq __always_unused)
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
714
struct dpaa2_eth_fq *fq = NULL;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
737
fq = (struct dpaa2_eth_fq *)(uintptr_t)dpaa2_dq_fqd_ctx(dq);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
739
fq->consume(priv, ch, fd, fq);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
747
fq->stats.frames += cleaned;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
755
*src = fq;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
455
struct dpaa2_eth_fq *fq);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
553
struct dpaa2_eth_fq fq[DPAA2_ETH_MAX_QUEUES];
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
555
struct dpaa2_eth_fq *fq,
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
823
struct dpaa2_eth_fq *fq,
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
830
struct dpaa2_eth_fq *fq);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h
851
struct dpaa2_eth_fq *fq,
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
308
err = dpaa2_io_query_fq_count(NULL, priv->fq[j].fqid,
drivers/net/ethernet/freescale/dpaa2/dpaa2-ethtool.c
315
if (priv->fq[j].type == DPAA2_TX_CONF_FQ) {
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2482
static void dpaa2_switch_tx_conf(struct dpaa2_switch_fq *fq,
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2485
dpaa2_switch_free_fd(fq->ethsw, fd);
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2488
static void dpaa2_switch_rx(struct dpaa2_switch_fq *fq,
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2492
struct ethsw_core *ethsw = fq->ethsw;
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2581
ethsw->fq[i].fqid = ctrl_if_attr.rx_fqid;
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2582
ethsw->fq[i].ethsw = ethsw;
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2583
ethsw->fq[i++].type = DPSW_QUEUE_RX;
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2585
ethsw->fq[i].fqid = ctrl_if_attr.tx_err_conf_fqid;
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2586
ethsw->fq[i].ethsw = ethsw;
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2587
ethsw->fq[i++].type = DPSW_QUEUE_TX_ERR_CONF;
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2815
ethsw->fq[i].store =
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2818
if (!ethsw->fq[i].store) {
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2821
dpaa2_io_store_destroy(ethsw->fq[i].store);
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2834
dpaa2_io_store_destroy(ethsw->fq[i].store);
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2837
static int dpaa2_switch_pull_fq(struct dpaa2_switch_fq *fq)
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2845
err = dpaa2_io_service_pull_fq(NULL, fq->fqid, fq->store);
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2850
dev_err(fq->ethsw->dev, "dpaa2_io_service_pull err %d", err);
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2856
static int dpaa2_switch_store_consume(struct dpaa2_switch_fq *fq)
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2858
struct ethsw_core *ethsw = fq->ethsw;
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2865
dq = dpaa2_io_store_next(fq->store, &is_last);
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2875
if (fq->type == DPSW_QUEUE_RX)
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2876
dpaa2_switch_rx(fq, dpaa2_dq_fd(dq));
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2878
dpaa2_switch_tx_conf(fq, dpaa2_dq_fd(dq));
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2890
struct dpaa2_switch_fq *fq;
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2893
fq = container_of(napi, struct dpaa2_switch_fq, napi);
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2896
err = dpaa2_switch_pull_fq(fq);
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2901
dpaa2_switch_refill_bp(fq->ethsw);
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2903
store_cleaned = dpaa2_switch_store_consume(fq);
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2918
err = dpaa2_io_service_rearm(NULL, &fq->nctx);
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2930
struct dpaa2_switch_fq *fq;
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2932
fq = container_of(nctx, struct dpaa2_switch_fq, nctx);
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2934
napi_schedule(&fq->napi);
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2944
nctx = &ethsw->fq[i].nctx;
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2951
nctx->id = ethsw->fq[i].fqid;
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2969
ethsw->fq[i].type,
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2981
dpaa2_io_service_deregister(NULL, &ethsw->fq[j].nctx,
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
2992
dpaa2_io_service_deregister(NULL, &ethsw->fq[i].nctx,
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
3346
netif_napi_del(&ethsw->fq[i].napi);
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
3499
netif_napi_add(ethsw->ports[0]->netdev, &ethsw->fq[i].napi,
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
712
napi_enable(&ethsw->fq[i].napi);
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
728
napi_disable(&ethsw->fq[i].napi);
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.h
184
struct dpaa2_switch_fq fq[DPAA2_SWITCH_RX_NUM_FQS];
drivers/net/ethernet/freescale/dpaa2/dpaa2-xsk.c
106
struct dpaa2_eth_fq *fq)
drivers/net/ethernet/freescale/dpaa2/dpaa2-xsk.c
127
xdp_act = dpaa2_xsk_run_xdp(priv, ch, fq, (struct dpaa2_fd *)fd, vaddr);
drivers/net/ethernet/freescale/dpaa2/dpaa2-xsk.c
143
dpaa2_eth_receive_skb(priv, ch, fd, vaddr, fq, percpu_stats, skb);
drivers/net/ethernet/freescale/dpaa2/dpaa2-xsk.c
17
struct dpaa2_eth_fq *fq;
drivers/net/ethernet/freescale/dpaa2/dpaa2-xsk.c
21
fq = &priv->fq[i];
drivers/net/ethernet/freescale/dpaa2/dpaa2-xsk.c
23
if (fq->type != type)
drivers/net/ethernet/freescale/dpaa2/dpaa2-xsk.c
25
if (fq->channel != ch)
drivers/net/ethernet/freescale/dpaa2/dpaa2-xsk.c
28
fq->consume = consume;
drivers/net/ethernet/freescale/dpaa2/dpaa2-xsk.c
399
struct dpaa2_eth_fq *fq;
drivers/net/ethernet/freescale/dpaa2/dpaa2-xsk.c
408
fq = &priv->fq[ch->nctx.desired_cpu];
drivers/net/ethernet/freescale/dpaa2/dpaa2-xsk.c
431
err = priv->enqueue(priv, fq, &fds[total_enqueued], 0,
drivers/net/ethernet/freescale/dpaa2/dpaa2-xsk.c
447
dpaa2_eth_free_tx_fd(priv, ch, fq, &fds[i], false);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
744
struct libeth_fq fq = {
drivers/net/ethernet/intel/iavf/iavf_txrx.c
757
libeth_rx_fq_destroy(&fq);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
770
struct libeth_fq fq = {
drivers/net/ethernet/intel/iavf/iavf_txrx.c
777
ret = libeth_rx_fq_create(&fq, &rx_ring->q_vector->napi);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
781
rx_ring->pp = fq.pp;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
782
rx_ring->rx_fqes = fq.fqes;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
783
rx_ring->truesize = fq.truesize;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
784
rx_ring->rx_buf_len = fq.buf_len;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
791
rx_ring->desc = dma_alloc_coherent(fq.pp->p.dev, rx_ring->size,
drivers/net/ethernet/intel/iavf/iavf_txrx.c
795
dev_info(fq.pp->p.dev, "Unable to allocate memory for the Rx descriptor ring, size=%d\n",
drivers/net/ethernet/intel/iavf/iavf_txrx.c
806
libeth_rx_fq_destroy(&fq);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
861
const struct libeth_fq_fp fq = {
drivers/net/ethernet/intel/iavf/iavf_txrx.c
879
addr = libeth_rx_alloc(&fq, ntu);
drivers/net/ethernet/intel/ice/ice_base.c
609
struct libeth_fq fq = {
drivers/net/ethernet/intel/ice/ice_base.c
618
err = libeth_rx_fq_create(&fq, &rq->q_vector->napi);
drivers/net/ethernet/intel/ice/ice_base.c
622
rq->pp = fq.pp;
drivers/net/ethernet/intel/ice/ice_base.c
623
rq->rx_fqes = fq.fqes;
drivers/net/ethernet/intel/ice/ice_base.c
624
rq->truesize = fq.truesize;
drivers/net/ethernet/intel/ice/ice_base.c
625
rq->rx_buf_len = fq.buf_len;
drivers/net/ethernet/intel/ice/ice_base.c
627
if (!fq.hsplit)
drivers/net/ethernet/intel/ice/ice_base.c
630
fq = (struct libeth_fq){
drivers/net/ethernet/intel/ice/ice_base.c
637
err = libeth_rx_fq_create(&fq, &rq->q_vector->napi);
drivers/net/ethernet/intel/ice/ice_base.c
641
rq->hdr_pp = fq.pp;
drivers/net/ethernet/intel/ice/ice_base.c
642
rq->hdr_fqes = fq.fqes;
drivers/net/ethernet/intel/ice/ice_base.c
643
rq->hdr_truesize = fq.truesize;
drivers/net/ethernet/intel/ice/ice_base.c
644
rq->rx_hdr_len = fq.buf_len;
drivers/net/ethernet/intel/ice/ice_txrx.c
514
struct libeth_fq fq = {
drivers/net/ethernet/intel/ice/ice_txrx.c
519
libeth_rx_fq_destroy(&fq);
drivers/net/ethernet/intel/ice/ice_txrx.c
526
fq.fqes = rq->hdr_fqes;
drivers/net/ethernet/intel/ice/ice_txrx.c
527
fq.pp = rq->hdr_pp;
drivers/net/ethernet/intel/ice/ice_txrx.c
529
libeth_rx_fq_destroy(&fq);
drivers/net/ethernet/intel/ice/ice_txrx.c
833
const struct libeth_fq_fp fq = {
drivers/net/ethernet/intel/ice/ice_txrx.c
852
addr = libeth_rx_alloc(&fq, ntu);
drivers/net/ethernet/intel/ice/ice_txrx.c
870
libeth_rx_recycle_slow(fq.fqes[ntu].netmem);
drivers/net/ethernet/intel/idpf/idpf_singleq_txrx.c
895
const struct libeth_fq_fp fq = {
drivers/net/ethernet/intel/idpf/idpf_singleq_txrx.c
911
addr = libeth_rx_alloc(&fq, nta);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
364
struct libeth_fq fq = {
drivers/net/ethernet/intel/idpf/idpf_txrx.c
3659
struct libeth_fq_fp fq = {
drivers/net/ethernet/intel/idpf/idpf_txrx.c
3667
addr = libeth_rx_alloc(&fq, buf_id);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
3677
fq.pp = bufq->hdr_pp;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
3678
fq.fqes = bufq->hdr_buf;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
3679
fq.truesize = bufq->hdr_truesize;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
3681
addr = libeth_rx_alloc(&fq, buf_id);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
372
libeth_rx_fq_destroy(&fq);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
383
struct libeth_fq fq = {
drivers/net/ethernet/intel/idpf/idpf_txrx.c
404
libeth_rx_fq_destroy(&fq);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
415
struct libeth_fq fq = {
drivers/net/ethernet/intel/idpf/idpf_txrx.c
426
libeth_rx_fq_destroy(&fq);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
555
struct libeth_fq fq = {
drivers/net/ethernet/intel/idpf/idpf_txrx.c
563
ret = libeth_rx_fq_create(&fq, &bufq->q_vector->napi);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
567
bufq->hdr_pp = fq.pp;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
568
bufq->hdr_buf = fq.fqes;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
569
bufq->hdr_truesize = fq.truesize;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
570
bufq->rx_hbuf_size = fq.buf_len;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
608
struct libeth_fq_fp fq = {
drivers/net/ethernet/intel/idpf/idpf_txrx.c
617
fq.pp = bufq->hdr_pp;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
618
fq.fqes = bufq->hdr_buf;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
619
fq.truesize = bufq->hdr_truesize;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
621
addr = libeth_rx_alloc(&fq, buf_id);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
628
fq.pp = bufq->pp;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
629
fq.fqes = bufq->buf;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
630
fq.truesize = bufq->truesize;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
632
addr = libeth_rx_alloc(&fq, buf_id);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
697
struct libeth_fq fq = {
drivers/net/ethernet/intel/idpf/idpf_txrx.c
705
ret = libeth_rx_fq_create(&fq, &rxq->q_vector->napi);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
709
rxq->pp = fq.pp;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
710
rxq->rx_buf = fq.fqes;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
711
rxq->truesize = fq.truesize;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
712
rxq->rx_buf_size = fq.buf_len;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
754
struct libeth_fq fq = {
drivers/net/ethernet/intel/idpf/idpf_txrx.c
768
ret = libeth_rx_fq_create(&fq, &bufq->q_vector->napi);
drivers/net/ethernet/intel/idpf/idpf_txrx.c
772
bufq->pp = fq.pp;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
773
bufq->buf = fq.fqes;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
774
bufq->truesize = fq.truesize;
drivers/net/ethernet/intel/idpf/idpf_txrx.c
775
bufq->rx_buf_size = fq.buf_len;
drivers/net/ethernet/intel/idpf/xsk.c
342
static void idpf_xskfqe_init(const struct libeth_xskfq_fp *fq, u32 i)
drivers/net/ethernet/intel/idpf/xsk.c
344
struct virtchnl2_splitq_rx_buf_desc *desc = fq->descs;
drivers/net/ethernet/intel/idpf/xsk.c
352
desc->pkt_addr = cpu_to_le64(libeth_xsk_buff_xdp_get_dma(fq->fqes[i]));
drivers/net/ethernet/intel/idpf/xsk.c
357
struct libeth_xskfq_fp fq = {
drivers/net/ethernet/intel/idpf/xsk.c
366
done = libeth_xskfqe_alloc(&fq, count, idpf_xskfqe_init);
drivers/net/ethernet/intel/idpf/xsk.c
367
writel(fq.ntu, bufq->tail);
drivers/net/ethernet/intel/idpf/xsk.c
369
bufq->next_to_use = fq.ntu;
drivers/net/ethernet/intel/idpf/xsk.c
391
struct libeth_xskfq fq = {
drivers/net/ethernet/intel/idpf/xsk.c
398
ret = libeth_xskfq_create(&fq);
drivers/net/ethernet/intel/idpf/xsk.c
402
bufq->xsk_buf = fq.fqes;
drivers/net/ethernet/intel/idpf/xsk.c
403
bufq->pending = fq.pending;
drivers/net/ethernet/intel/idpf/xsk.c
404
bufq->thresh = fq.thresh;
drivers/net/ethernet/intel/idpf/xsk.c
405
bufq->rx_buf_size = fq.buf_len;
drivers/net/ethernet/intel/idpf/xsk.c
406
bufq->truesize = fq.truesize;
drivers/net/ethernet/intel/idpf/xsk.c
423
struct libeth_xskfq fq = {
drivers/net/ethernet/intel/idpf/xsk.c
427
libeth_xskfq_destroy(&fq);
drivers/net/ethernet/intel/idpf/xsk.c
429
bufq->rx_buf_size = fq.buf_len;
drivers/net/ethernet/intel/idpf/xsk.c
430
bufq->thresh = fq.thresh;
drivers/net/ethernet/intel/idpf/xsk.c
431
bufq->pending = fq.pending;
drivers/net/ethernet/intel/libeth/rx.c
116
static bool libeth_rx_page_pool_params_zc(struct libeth_fq *fq,
drivers/net/ethernet/intel/libeth/rx.c
124
switch (fq->type) {
drivers/net/ethernet/intel/libeth/rx.c
129
mtu = fq->truesize;
drivers/net/ethernet/intel/libeth/rx.c
136
max = min(rounddown_pow_of_two(fq->buf_len ? : U32_MAX),
drivers/net/ethernet/intel/libeth/rx.c
139
fq->buf_len = clamp(mtu, LIBETH_RX_BUF_STRIDE, max);
drivers/net/ethernet/intel/libeth/rx.c
140
fq->truesize = fq->buf_len;
drivers/net/ethernet/intel/libeth/rx.c
152
int libeth_rx_fq_create(struct libeth_fq *fq, struct napi_struct *napi)
drivers/net/ethernet/intel/libeth/rx.c
157
.pool_size = fq->count,
drivers/net/ethernet/intel/libeth/rx.c
158
.nid = fq->nid,
drivers/net/ethernet/intel/libeth/rx.c
167
pp.dma_dir = fq->xdp ? DMA_BIDIRECTIONAL : DMA_FROM_DEVICE;
drivers/net/ethernet/intel/libeth/rx.c
169
if (!fq->hsplit)
drivers/net/ethernet/intel/libeth/rx.c
170
ret = libeth_rx_page_pool_params(fq, &pp);
drivers/net/ethernet/intel/libeth/rx.c
172
ret = libeth_rx_page_pool_params_zc(fq, &pp);
drivers/net/ethernet/intel/libeth/rx.c
180
fqes = kvcalloc_node(fq->count, sizeof(*fqes), GFP_KERNEL, fq->nid);
drivers/net/ethernet/intel/libeth/rx.c
190
fq->fqes = fqes;
drivers/net/ethernet/intel/libeth/rx.c
191
fq->pp = pool;
drivers/net/ethernet/intel/libeth/rx.c
208
void libeth_rx_fq_destroy(struct libeth_fq *fq)
drivers/net/ethernet/intel/libeth/rx.c
210
xdp_unreg_page_pool(fq->pp);
drivers/net/ethernet/intel/libeth/rx.c
211
kvfree(fq->fqes);
drivers/net/ethernet/intel/libeth/rx.c
212
page_pool_destroy(fq->pp);
drivers/net/ethernet/intel/libeth/rx.c
72
static bool libeth_rx_page_pool_params(struct libeth_fq *fq,
drivers/net/ethernet/intel/libeth/rx.c
75
pp->offset = fq->xdp ? LIBETH_XDP_HEADROOM : LIBETH_SKB_HEADROOM;
drivers/net/ethernet/intel/libeth/rx.c
80
switch (fq->type) {
drivers/net/ethernet/intel/libeth/rx.c
82
fq->buf_len = libeth_rx_hw_len_mtu(pp, fq->buf_len);
drivers/net/ethernet/intel/libeth/rx.c
85
fq->buf_len = libeth_rx_hw_len_truesize(pp, fq->buf_len,
drivers/net/ethernet/intel/libeth/rx.c
86
fq->truesize);
drivers/net/ethernet/intel/libeth/rx.c
89
fq->buf_len = ALIGN(LIBETH_MAX_HEAD, LIBETH_RX_BUF_STRIDE);
drivers/net/ethernet/intel/libeth/rx.c
96
fq->truesize = roundup_pow_of_two(SKB_HEAD_ALIGN(pp->offset +
drivers/net/ethernet/intel/libeth/rx.c
97
fq->buf_len));
drivers/net/ethernet/intel/libeth/xsk.c
160
int libeth_xskfq_create(struct libeth_xskfq *fq)
drivers/net/ethernet/intel/libeth/xsk.c
162
fq->fqes = kvcalloc_node(fq->count, sizeof(*fq->fqes), GFP_KERNEL,
drivers/net/ethernet/intel/libeth/xsk.c
163
fq->nid);
drivers/net/ethernet/intel/libeth/xsk.c
164
if (!fq->fqes)
drivers/net/ethernet/intel/libeth/xsk.c
167
fq->pending = fq->count;
drivers/net/ethernet/intel/libeth/xsk.c
168
fq->thresh = libeth_xdp_queue_threshold(fq->count);
drivers/net/ethernet/intel/libeth/xsk.c
169
fq->buf_len = xsk_pool_get_rx_frame_size(fq->pool);
drivers/net/ethernet/intel/libeth/xsk.c
170
fq->truesize = xsk_pool_get_rx_frag_step(fq->pool);
drivers/net/ethernet/intel/libeth/xsk.c
182
void libeth_xskfq_destroy(struct libeth_xskfq *fq)
drivers/net/ethernet/intel/libeth/xsk.c
184
fq->buf_len = 0;
drivers/net/ethernet/intel/libeth/xsk.c
185
fq->thresh = 0;
drivers/net/ethernet/intel/libeth/xsk.c
186
fq->pending = 0;
drivers/net/ethernet/intel/libeth/xsk.c
188
kvfree(fq->fqes);
drivers/net/ethernet/marvell/mvpp2/mvpp2.h
799
#define MSS_RXQ_TRESH_REG(q, fq) (MSS_RXQ_TRESH_BASE + (((q) + (fq)) \
drivers/net/ethernet/marvell/mvpp2/mvpp2.h
828
#define MSS_RXQ_ASS_Q_BASE(q, fq) ((((q) + (fq)) % MSS_RXQ_ASS_PER_REG) \
drivers/net/ethernet/marvell/mvpp2/mvpp2.h
830
#define MSS_RXQ_ASS_PQ_BASE(q, fq) ((((q) + (fq)) / MSS_RXQ_ASS_PER_REG) \
drivers/net/ethernet/marvell/mvpp2/mvpp2.h
832
#define MSS_RXQ_ASS_REG(q, fq) (MSS_RXQ_ASS_BASE + MSS_RXQ_ASS_PQ_BASE(q, fq))
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
799
int fq = port->first_rxq;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
817
mvpp2_cm3_write(port->priv, MSS_RXQ_TRESH_REG(q, fq), val);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
819
val = mvpp2_cm3_read(port->priv, MSS_RXQ_ASS_REG(q, fq));
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
821
val &= ~(MSS_RXQ_ASS_PORTID_MASK << MSS_RXQ_ASS_Q_BASE(q, fq));
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
822
val |= (port->id << MSS_RXQ_ASS_Q_BASE(q, fq));
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
823
val &= ~(MSS_RXQ_ASS_HOSTID_MASK << (MSS_RXQ_ASS_Q_BASE(q, fq)
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
841
val |= (host_id << (MSS_RXQ_ASS_Q_BASE(q, fq)
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
844
mvpp2_cm3_write(port->priv, MSS_RXQ_ASS_REG(q, fq), val);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
861
int fq = port->first_rxq;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
878
mvpp2_cm3_write(port->priv, MSS_RXQ_TRESH_REG(q, fq), val);
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
880
val = mvpp2_cm3_read(port->priv, MSS_RXQ_ASS_REG(q, fq));
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
882
val &= ~(MSS_RXQ_ASS_PORTID_MASK << MSS_RXQ_ASS_Q_BASE(q, fq));
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
884
val &= ~(MSS_RXQ_ASS_HOSTID_MASK << (MSS_RXQ_ASS_Q_BASE(q, fq)
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
887
mvpp2_cm3_write(port->priv, MSS_RXQ_ASS_REG(q, fq), val);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
3469
u8 di0, dq0, ei, eq, fi, fq;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
3487
wlc_lcnphy_get_radio_loft(pi, &ei, &eq, &fi, &fq);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
3492
wlc_lcnphy_get_radio_loft(pi, &ei, &eq, &fi, &fq);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c
3494
cc.im = (u16) fq;
drivers/soc/fsl/qbman/qman.c
1121
struct qman_fq *fq;
drivers/soc/fsl/qbman/qman.c
1127
fq = fq_table[idx];
drivers/soc/fsl/qbman/qman.c
1128
DPAA_ASSERT(!fq || idx == fq->idx);
drivers/soc/fsl/qbman/qman.c
1130
return fq;
drivers/soc/fsl/qbman/qman.c
1151
static u32 fq_to_tag(struct qman_fq *fq)
drivers/soc/fsl/qbman/qman.c
1154
return fq->idx;
drivers/soc/fsl/qbman/qman.c
1156
return (u32)fq;
drivers/soc/fsl/qbman/qman.c
1425
static inline void fq_state_change(struct qman_portal *p, struct qman_fq *fq,
drivers/soc/fsl/qbman/qman.c
1430
DPAA_ASSERT(fq_isset(fq, QMAN_FQ_STATE_ORL));
drivers/soc/fsl/qbman/qman.c
1431
fq_clear(fq, QMAN_FQ_STATE_ORL);
drivers/soc/fsl/qbman/qman.c
1434
DPAA_ASSERT(fq->state == qman_fq_state_parked ||
drivers/soc/fsl/qbman/qman.c
1435
fq->state == qman_fq_state_sched);
drivers/soc/fsl/qbman/qman.c
1436
DPAA_ASSERT(fq_isset(fq, QMAN_FQ_STATE_CHANGING));
drivers/soc/fsl/qbman/qman.c
1437
fq_clear(fq, QMAN_FQ_STATE_CHANGING);
drivers/soc/fsl/qbman/qman.c
1438
if (msg->fq.fqs & QM_MR_FQS_NOTEMPTY)
drivers/soc/fsl/qbman/qman.c
1439
fq_set(fq, QMAN_FQ_STATE_NE);
drivers/soc/fsl/qbman/qman.c
1440
if (msg->fq.fqs & QM_MR_FQS_ORLPRESENT)
drivers/soc/fsl/qbman/qman.c
1441
fq_set(fq, QMAN_FQ_STATE_ORL);
drivers/soc/fsl/qbman/qman.c
1442
fq->state = qman_fq_state_retired;
drivers/soc/fsl/qbman/qman.c
1445
DPAA_ASSERT(fq->state == qman_fq_state_sched);
drivers/soc/fsl/qbman/qman.c
1446
DPAA_ASSERT(fq_isclear(fq, QMAN_FQ_STATE_CHANGING));
drivers/soc/fsl/qbman/qman.c
1447
fq->state = qman_fq_state_parked;
drivers/soc/fsl/qbman/qman.c
1491
struct qman_fq *fq;
drivers/soc/fsl/qbman/qman.c
1512
fq = fqid_to_fq(qm_fqid_get(&msg->fq));
drivers/soc/fsl/qbman/qman.c
1513
if (WARN_ON(!fq))
drivers/soc/fsl/qbman/qman.c
1515
fq_state_change(p, fq, msg, verb);
drivers/soc/fsl/qbman/qman.c
1516
if (fq->cb.fqs)
drivers/soc/fsl/qbman/qman.c
1517
fq->cb.fqs(p, fq, msg);
drivers/soc/fsl/qbman/qman.c
1521
fq = tag_to_fq(be32_to_cpu(msg->fq.context_b));
drivers/soc/fsl/qbman/qman.c
1522
fq_state_change(p, fq, msg, verb);
drivers/soc/fsl/qbman/qman.c
1523
if (fq->cb.fqs)
drivers/soc/fsl/qbman/qman.c
1524
fq->cb.fqs(p, fq, msg);
drivers/soc/fsl/qbman/qman.c
1535
fq = tag_to_fq(be32_to_cpu(msg->ern.tag));
drivers/soc/fsl/qbman/qman.c
1536
fq->cb.ern(p, fq, msg);
drivers/soc/fsl/qbman/qman.c
1574
static noinline void clear_vdqcr(struct qman_portal *p, struct qman_fq *fq)
drivers/soc/fsl/qbman/qman.c
1577
fq_clear(fq, QMAN_FQ_STATE_VDQCR);
drivers/soc/fsl/qbman/qman.c
1611
struct qman_fq *fq;
drivers/soc/fsl/qbman/qman.c
1627
fq = p->vdqcr_owned;
drivers/soc/fsl/qbman/qman.c
1635
fq_clear(fq, QMAN_FQ_STATE_NE);
drivers/soc/fsl/qbman/qman.c
1642
res = fq->cb.dqrr(p, fq, dq, sched_napi);
drivers/soc/fsl/qbman/qman.c
1647
clear_vdqcr(p, fq);
drivers/soc/fsl/qbman/qman.c
1650
fq = tag_to_fq(be32_to_cpu(dq->context_b));
drivers/soc/fsl/qbman/qman.c
1652
res = fq->cb.dqrr(p, fq, dq, sched_napi);
drivers/soc/fsl/qbman/qman.c
1798
int qman_create_fq(u32 fqid, u32 flags, struct qman_fq *fq)
drivers/soc/fsl/qbman/qman.c
1806
fq->fqid = fqid;
drivers/soc/fsl/qbman/qman.c
1807
fq->flags = flags;
drivers/soc/fsl/qbman/qman.c
1808
fq->state = qman_fq_state_oos;
drivers/soc/fsl/qbman/qman.c
1809
fq->cgr_groupid = 0;
drivers/soc/fsl/qbman/qman.c
1817
fq->idx = fqid * 2;
drivers/soc/fsl/qbman/qman.c
1819
fq->idx++;
drivers/soc/fsl/qbman/qman.c
1821
WARN_ON(fq_table[fq->idx]);
drivers/soc/fsl/qbman/qman.c
1822
fq_table[fq->idx] = fq;
drivers/soc/fsl/qbman/qman.c
1828
void qman_destroy_fq(struct qman_fq *fq)
drivers/soc/fsl/qbman/qman.c
1836
switch (fq->state) {
drivers/soc/fsl/qbman/qman.c
1844
if (fq_isset(fq, QMAN_FQ_FLAG_DYNAMIC_FQID)) {
drivers/soc/fsl/qbman/qman.c
1845
leaked = qman_shutdown_fq(fq->fqid);
drivers/soc/fsl/qbman/qman.c
1847
pr_debug("FQID %d leaked\n", fq->fqid);
drivers/soc/fsl/qbman/qman.c
1850
DPAA_ASSERT(fq_table[fq->idx]);
drivers/soc/fsl/qbman/qman.c
1851
fq_table[fq->idx] = NULL;
drivers/soc/fsl/qbman/qman.c
1853
if (fq_isset(fq, QMAN_FQ_FLAG_DYNAMIC_FQID) && !leaked) {
drivers/soc/fsl/qbman/qman.c
1860
gen_pool_free(qm_fqalloc, fq->fqid | DPAA_GENALLOC_OFF, 1);
drivers/soc/fsl/qbman/qman.c
1870
u32 qman_fq_fqid(struct qman_fq *fq)
drivers/soc/fsl/qbman/qman.c
1872
return fq->fqid;
drivers/soc/fsl/qbman/qman.c
1876
int qman_init_fq(struct qman_fq *fq, u32 flags, struct qm_mcc_initfq *opts)
drivers/soc/fsl/qbman/qman.c
1887
if (fq->state != qman_fq_state_oos &&
drivers/soc/fsl/qbman/qman.c
1888
fq->state != qman_fq_state_parked)
drivers/soc/fsl/qbman/qman.c
1891
if (fq_isset(fq, QMAN_FQ_FLAG_NO_MODIFY))
drivers/soc/fsl/qbman/qman.c
1901
if (fq_isset(fq, QMAN_FQ_STATE_CHANGING) ||
drivers/soc/fsl/qbman/qman.c
1902
(fq->state != qman_fq_state_oos &&
drivers/soc/fsl/qbman/qman.c
1903
fq->state != qman_fq_state_parked)) {
drivers/soc/fsl/qbman/qman.c
1910
qm_fqid_set(&mcc->fq, fq->fqid);
drivers/soc/fsl/qbman/qman.c
1917
if (fq_isclear(fq, QMAN_FQ_FLAG_TO_DCPORTAL)) {
drivers/soc/fsl/qbman/qman.c
1921
mcc->initfq.fqd.context_b = cpu_to_be32(fq_to_tag(fq));
drivers/soc/fsl/qbman/qman.c
1935
phys_fq = dma_map_single(p->config->dev, fq,
drivers/soc/fsl/qbman/qman.c
1936
sizeof(*fq), DMA_TO_DEVICE);
drivers/soc/fsl/qbman/qman.c
1973
fq_set(fq, QMAN_FQ_STATE_CGR_EN);
drivers/soc/fsl/qbman/qman.c
1975
fq_clear(fq, QMAN_FQ_STATE_CGR_EN);
drivers/soc/fsl/qbman/qman.c
1978
fq->cgr_groupid = opts->fqd.cgid;
drivers/soc/fsl/qbman/qman.c
1980
fq->state = (flags & QMAN_INITFQ_FLAG_SCHED) ?
drivers/soc/fsl/qbman/qman.c
1989
int qman_schedule_fq(struct qman_fq *fq)
drivers/soc/fsl/qbman/qman.c
1996
if (fq->state != qman_fq_state_parked)
drivers/soc/fsl/qbman/qman.c
1999
if (fq_isset(fq, QMAN_FQ_FLAG_NO_MODIFY))
drivers/soc/fsl/qbman/qman.c
2004
if (fq_isset(fq, QMAN_FQ_STATE_CHANGING) ||
drivers/soc/fsl/qbman/qman.c
2005
fq->state != qman_fq_state_parked) {
drivers/soc/fsl/qbman/qman.c
2010
qm_fqid_set(&mcc->fq, fq->fqid);
drivers/soc/fsl/qbman/qman.c
2023
fq->state = qman_fq_state_sched;
drivers/soc/fsl/qbman/qman.c
2030
int qman_retire_fq(struct qman_fq *fq, u32 *flags)
drivers/soc/fsl/qbman/qman.c
2038
if (fq->state != qman_fq_state_parked &&
drivers/soc/fsl/qbman/qman.c
2039
fq->state != qman_fq_state_sched)
drivers/soc/fsl/qbman/qman.c
2042
if (fq_isset(fq, QMAN_FQ_FLAG_NO_MODIFY))
drivers/soc/fsl/qbman/qman.c
2046
if (fq_isset(fq, QMAN_FQ_STATE_CHANGING) ||
drivers/soc/fsl/qbman/qman.c
2047
fq->state == qman_fq_state_retired ||
drivers/soc/fsl/qbman/qman.c
2048
fq->state == qman_fq_state_oos) {
drivers/soc/fsl/qbman/qman.c
2053
qm_fqid_set(&mcc->fq, fq->fqid);
drivers/soc/fsl/qbman/qman.c
2076
fq_set(fq, QMAN_FQ_STATE_NE);
drivers/soc/fsl/qbman/qman.c
2078
fq_set(fq, QMAN_FQ_STATE_ORL);
drivers/soc/fsl/qbman/qman.c
2080
*flags = fq->flags;
drivers/soc/fsl/qbman/qman.c
2081
fq->state = qman_fq_state_retired;
drivers/soc/fsl/qbman/qman.c
2082
if (fq->cb.fqs) {
drivers/soc/fsl/qbman/qman.c
2095
msg.fq.fqs = mcr->alterfq.fqs;
drivers/soc/fsl/qbman/qman.c
2096
qm_fqid_set(&msg.fq, fq->fqid);
drivers/soc/fsl/qbman/qman.c
2097
msg.fq.context_b = cpu_to_be32(fq_to_tag(fq));
drivers/soc/fsl/qbman/qman.c
2098
fq->cb.fqs(p, fq, &msg);
drivers/soc/fsl/qbman/qman.c
2102
fq_set(fq, QMAN_FQ_STATE_CHANGING);
drivers/soc/fsl/qbman/qman.c
2112
int qman_oos_fq(struct qman_fq *fq)
drivers/soc/fsl/qbman/qman.c
2119
if (fq->state != qman_fq_state_retired)
drivers/soc/fsl/qbman/qman.c
2122
if (fq_isset(fq, QMAN_FQ_FLAG_NO_MODIFY))
drivers/soc/fsl/qbman/qman.c
2126
if (fq_isset(fq, QMAN_FQ_STATE_BLOCKOOS) ||
drivers/soc/fsl/qbman/qman.c
2127
fq->state != qman_fq_state_retired) {
drivers/soc/fsl/qbman/qman.c
2132
qm_fqid_set(&mcc->fq, fq->fqid);
drivers/soc/fsl/qbman/qman.c
2143
fq->state = qman_fq_state_oos;
drivers/soc/fsl/qbman/qman.c
2150
int qman_query_fq(struct qman_fq *fq, struct qm_fqd *fqd)
drivers/soc/fsl/qbman/qman.c
2158
qm_fqid_set(&mcc->fq, fq->fqid);
drivers/soc/fsl/qbman/qman.c
2175
int qman_query_fq_np(struct qman_fq *fq, struct qm_mcr_queryfq_np *np)
drivers/soc/fsl/qbman/qman.c
2183
qm_fqid_set(&mcc->fq, fq->fqid);
drivers/soc/fsl/qbman/qman.c
2246
static int set_p_vdqcr(struct qman_portal *p, struct qman_fq *fq, u32 vdqcr)
drivers/soc/fsl/qbman/qman.c
2254
if (fq_isset(fq, QMAN_FQ_STATE_VDQCR))
drivers/soc/fsl/qbman/qman.c
2257
fq_set(fq, QMAN_FQ_STATE_VDQCR);
drivers/soc/fsl/qbman/qman.c
2258
p->vdqcr_owned = fq;
drivers/soc/fsl/qbman/qman.c
2266
static int set_vdqcr(struct qman_portal **p, struct qman_fq *fq, u32 vdqcr)
drivers/soc/fsl/qbman/qman.c
2271
ret = set_p_vdqcr(*p, fq, vdqcr);
drivers/soc/fsl/qbman/qman.c
2276
static int wait_vdqcr_start(struct qman_portal **p, struct qman_fq *fq,
drivers/soc/fsl/qbman/qman.c
2283
!set_vdqcr(p, fq, vdqcr));
drivers/soc/fsl/qbman/qman.c
2285
wait_event(affine_queue, !set_vdqcr(p, fq, vdqcr));
drivers/soc/fsl/qbman/qman.c
2289
int qman_volatile_dequeue(struct qman_fq *fq, u32 flags, u32 vdqcr)
drivers/soc/fsl/qbman/qman.c
2294
if (fq->state != qman_fq_state_parked &&
drivers/soc/fsl/qbman/qman.c
2295
fq->state != qman_fq_state_retired)
drivers/soc/fsl/qbman/qman.c
2299
if (fq_isset(fq, QMAN_FQ_STATE_VDQCR))
drivers/soc/fsl/qbman/qman.c
2301
vdqcr = (vdqcr & ~QM_VDQCR_FQID_MASK) | fq->fqid;
drivers/soc/fsl/qbman/qman.c
2303
ret = wait_vdqcr_start(&p, fq, vdqcr, flags);
drivers/soc/fsl/qbman/qman.c
2305
ret = set_vdqcr(&p, fq, vdqcr);
drivers/soc/fsl/qbman/qman.c
2318
!fq_isset(fq, QMAN_FQ_STATE_VDQCR));
drivers/soc/fsl/qbman/qman.c
2321
!fq_isset(fq, QMAN_FQ_STATE_VDQCR));
drivers/soc/fsl/qbman/qman.c
2335
int qman_enqueue(struct qman_fq *fq, const struct qm_fd *fd)
drivers/soc/fsl/qbman/qman.c
2365
qm_fqid_set(eq, fq->fqid);
drivers/soc/fsl/qbman/qman.c
2366
eq->tag = cpu_to_be32(fq_to_tag(fq));
drivers/soc/fsl/qbman/qman.c
268
struct qm_mcc_fq fq;
drivers/soc/fsl/qbman/qman.c
2707
qm_fqid_set(&mcc->fq, fqid);
drivers/soc/fsl/qbman/qman.c
2722
qm_fqid_set(&mcc->fq, fqid);
drivers/soc/fsl/qbman/qman.c
2753
qm_fqid_set(&mcc->fq, fqid);
drivers/soc/fsl/qbman/qman.c
2850
qm_fqid_set(&mcc->fq, fqid);
drivers/soc/fsl/qbman/qman.c
2870
qm_fqid_set(&mcc->fq, fqid);
drivers/soc/fsl/qbman/qman.c
2967
struct qman_fq fq = {
drivers/soc/fsl/qbman/qman.c
2975
err = qman_query_fq_np(&fq, &np);
drivers/soc/fsl/qbman/qman.c
2985
err = qman_query_fq(&fq, &fqd);
drivers/soc/fsl/qbman/qman.c
2990
err = qman_shutdown_fq(fq.fqid);
drivers/soc/fsl/qbman/qman.c
3000
fq.fqid++;
drivers/soc/fsl/qbman/qman.c
3025
struct qman_fq fq = {
drivers/soc/fsl/qbman/qman.c
3033
err = qman_query_fq_np(&fq, &np);
drivers/soc/fsl/qbman/qman.c
3043
err = qman_query_fq(&fq, &fqd);
drivers/soc/fsl/qbman/qman.c
3049
cgrid, fq.fqid);
drivers/soc/fsl/qbman/qman.c
3054
fq.fqid++;
drivers/soc/fsl/qbman/qman.c
957
static inline void fq_set(struct qman_fq *fq, u32 mask)
drivers/soc/fsl/qbman/qman.c
959
fq->flags |= mask;
drivers/soc/fsl/qbman/qman.c
962
static inline void fq_clear(struct qman_fq *fq, u32 mask)
drivers/soc/fsl/qbman/qman.c
964
fq->flags &= ~mask;
drivers/soc/fsl/qbman/qman.c
967
static inline int fq_isset(struct qman_fq *fq, u32 mask)
drivers/soc/fsl/qbman/qman.c
969
return fq->flags & mask;
drivers/soc/fsl/qbman/qman.c
972
static inline int fq_isclear(struct qman_fq *fq, u32 mask)
drivers/soc/fsl/qbman/qman.c
974
return !(fq->flags & mask);
drivers/soc/fsl/qbman/qman_priv.h
216
int qman_query_fq(struct qman_fq *fq, struct qm_fqd *fqd);
drivers/soc/fsl/qbman/qman_test_api.c
106
static int do_enqueues(struct qman_fq *fq)
drivers/soc/fsl/qbman/qman_test_api.c
112
if (qman_enqueue(fq, &fd)) {
drivers/soc/fsl/qbman/qman_test_api.c
126
struct qman_fq *fq = &fq_base;
drivers/soc/fsl/qbman/qman_test_api.c
133
err = qman_create_fq(0, FQ_FLAGS, fq);
drivers/soc/fsl/qbman/qman_test_api.c
138
err = qman_init_fq(fq, QMAN_INITFQ_FLAG_LOCAL, NULL);
drivers/soc/fsl/qbman/qman_test_api.c
144
err = do_enqueues(fq);
drivers/soc/fsl/qbman/qman_test_api.c
149
err = qman_volatile_dequeue(fq, VDQCR_FLAGS, frmcnt);
drivers/soc/fsl/qbman/qman_test_api.c
154
err = do_enqueues(fq);
drivers/soc/fsl/qbman/qman_test_api.c
159
err = qman_volatile_dequeue(fq, VDQCR_FLAGS, frmcnt);
drivers/soc/fsl/qbman/qman_test_api.c
167
err = qman_volatile_dequeue(fq, VDQCR_FLAGS, frmcnt);
drivers/soc/fsl/qbman/qman_test_api.c
173
err = do_enqueues(fq);
drivers/soc/fsl/qbman/qman_test_api.c
177
err = qman_schedule_fq(fq);
drivers/soc/fsl/qbman/qman_test_api.c
185
err = qman_retire_fq(fq, &flags);
drivers/soc/fsl/qbman/qman_test_api.c
196
err = qman_oos_fq(fq);
drivers/soc/fsl/qbman/qman_test_api.c
201
qman_destroy_fq(fq);
drivers/soc/fsl/qbman/qman_test_api.c
211
struct qman_fq *fq,
drivers/soc/fsl/qbman/qman_test_api.c
227
static void cb_ern(struct qman_portal *p, struct qman_fq *fq,
drivers/soc/fsl/qbman/qman_test_api.c
234
static void cb_fqs(struct qman_portal *p, struct qman_fq *fq,
drivers/soc/fsl/qbman/qman_test_stash.c
275
struct qman_fq *fq,
drivers/soc/fsl/qbman/qman_test_stash.c
279
struct hp_handler *handler = (struct hp_handler *)fq;
drivers/soc/fsl/qbman/qman_test_stash.c
294
struct qman_fq *fq,
drivers/soc/fsl/qbman/qman_test_stash.c
298
struct hp_handler *handler = (struct hp_handler *)fq;
fs/afs/dir_edit.c
113
struct folio_queue *fq;
fs/afs/dir_edit.c
131
fq = iter->fq;
fs/afs/dir_edit.c
132
if (!fq)
fs/afs/dir_edit.c
133
fq = dvnode->directory;
fs/afs/dir_edit.c
136
for (; fq; fq = fq->next) {
fs/afs/dir_edit.c
137
for (int s = iter->fq_slot; s < folioq_count(fq); s++) {
fs/afs/dir_edit.c
138
size_t fsize = folioq_folio_size(fq, s);
fs/afs/dir_edit.c
142
folio = folioq_folio(fq, s);
fs/afs/dir_edit.c
145
iter->fq = fq;
fs/afs/dir_edit.c
156
iter->fq = NULL;
fs/afs/dir_search.c
102
iter->fq = fq;
fs/afs/dir_search.c
114
iter->fq = NULL;
fs/afs/dir_search.c
69
struct folio_queue *fq = iter->fq;
fs/afs/dir_search.c
86
if (!fq || blpos < fpos) {
fs/afs/dir_search.c
87
fq = dvnode->directory;
fs/afs/dir_search.c
93
for (; fq; fq = fq->next) {
fs/afs/dir_search.c
94
for (; slot < folioq_count(fq); slot++) {
fs/afs/dir_search.c
95
size_t fsize = folioq_folio_size(fq, slot);
fs/afs/dir_search.c
99
folio = folioq_folio(fq, slot);
fs/afs/internal.h
994
struct folio_queue *fq;
fs/netfs/misc.c
100
kfree(fq);
fs/netfs/misc.c
78
void netfs_free_folioq_buffer(struct folio_queue *fq)
fs/netfs/misc.c
85
for (; fq; fq = next) {
fs/netfs/misc.c
86
for (int slot = 0; slot < folioq_count(fq); slot++) {
fs/netfs/misc.c
87
struct folio *folio = folioq_folio(fq, slot);
fs/netfs/misc.c
90
!folioq_is_marked(fq, slot))
fs/netfs/misc.c
99
next = fq->next;
fs/netfs/rolling_buffer.c
109
smp_store_release(&head->next, fq);
fs/netfs/rolling_buffer.c
120
struct folio_queue *fq;
fs/netfs/rolling_buffer.c
128
fq = roll->head;
fs/netfs/rolling_buffer.c
129
vec = (struct page **)fq->vec.folios;
fs/netfs/rolling_buffer.c
130
nr = __readahead_batch(ractl, vec + folio_batch_count(&fq->vec),
fs/netfs/rolling_buffer.c
131
folio_batch_space(&fq->vec));
fs/netfs/rolling_buffer.c
132
ix = fq->vec.nr;
fs/netfs/rolling_buffer.c
134
fq->vec.nr = to;
fs/netfs/rolling_buffer.c
136
struct folio *folio = folioq_folio(fq, ix);
fs/netfs/rolling_buffer.c
139
fq->orders[ix] = order;
fs/netfs/rolling_buffer.c
28
struct folio_queue *fq;
fs/netfs/rolling_buffer.c
30
fq = kmalloc_obj(*fq, gfp);
fs/netfs/rolling_buffer.c
31
if (fq) {
fs/netfs/rolling_buffer.c
33
folioq_init(fq, rreq_id);
fs/netfs/rolling_buffer.c
34
fq->debug_id = atomic_inc_return(&debug_ids);
fs/netfs/rolling_buffer.c
35
trace_netfs_folioq(fq, trace);
fs/netfs/rolling_buffer.c
37
return fq;
fs/netfs/rolling_buffer.c
65
struct folio_queue *fq;
fs/netfs/rolling_buffer.c
67
fq = netfs_folioq_alloc(rreq_id, GFP_NOFS, netfs_trace_folioq_rollbuf_init);
fs/netfs/rolling_buffer.c
68
if (!fq)
fs/netfs/rolling_buffer.c
71
roll->head = fq;
fs/netfs/rolling_buffer.c
72
roll->tail = fq;
fs/netfs/rolling_buffer.c
73
iov_iter_folio_queue(&roll->iter, direction, fq, 0, 0, 0);
fs/netfs/rolling_buffer.c
82
struct folio_queue *fq, *head = roll->head;
fs/netfs/rolling_buffer.c
87
fq = netfs_folioq_alloc(head->rreq_id, GFP_NOFS, netfs_trace_folioq_make_space);
fs/netfs/rolling_buffer.c
88
if (!fq)
fs/netfs/rolling_buffer.c
90
fq->prev = head;
fs/netfs/rolling_buffer.c
92
roll->head = fq;
fs/netfs/rolling_buffer.c
99
roll->iter.folioq = fq;
fs/netfs/write_issue.c
842
struct folio_queue *fq;
fs/netfs/write_issue.c
868
for (fq = (struct folio_queue *)iter->folioq; fq; fq = fq->next) {
fs/netfs/write_issue.c
869
for (int slot = 0; slot < folioq_count(fq); slot++) {
fs/netfs/write_issue.c
870
struct folio *folio = folioq_folio(fq, slot);
fs/netfs/write_issue.c
871
size_t part = umin(folioq_folio_size(fq, slot), size);
include/linux/blk-mq.h
371
struct blk_flush_queue *fq;
include/linux/blkdev.h
600
struct blk_flush_queue *fq;
include/linux/netfs.h
465
void netfs_free_folioq_buffer(struct folio_queue *fq);
include/net/fq.h
89
typedef void fq_skb_free_t(struct fq *,
include/net/fq.h
95
typedef bool fq_skb_filter_t(struct fq *,
include/net/fq_impl.h
111
flow->deficit += fq->quantum;
include/net/fq_impl.h
117
skb = dequeue_func(fq, tin, flow);
include/net/fq_impl.h
137
static u32 fq_flow_idx(struct fq *fq, struct sk_buff *skb)
include/net/fq_impl.h
141
return reciprocal_scale(hash, fq->flows_cnt);
include/net/fq_impl.h
144
static struct fq_flow *fq_flow_classify(struct fq *fq,
include/net/fq_impl.h
150
lockdep_assert_held(&fq->lock);
include/net/fq_impl.h
152
flow = &fq->flows[idx];
include/net/fq_impl.h
156
fq->collisions++;
include/net/fq_impl.h
16
__fq_adjust_removal(struct fq *fq, struct fq_flow *flow, unsigned int packets,
include/net/fq_impl.h
165
static struct fq_flow *fq_find_fattest_flow(struct fq *fq)
include/net/fq_impl.h
172
for_each_set_bit(i, fq->flows_bitmap, fq->flows_cnt) {
include/net/fq_impl.h
173
struct fq_flow *cur = &fq->flows[i];
include/net/fq_impl.h
184
list_for_each_entry(tin, &fq->tin_backlog, tin_list) {
include/net/fq_impl.h
197
static void fq_tin_enqueue(struct fq *fq,
include/net/fq_impl.h
206
lockdep_assert_held(&fq->lock);
include/net/fq_impl.h
208
flow = fq_flow_classify(fq, tin, idx, skb);
include/net/fq_impl.h
212
__set_bit(idx, fq->flows_bitmap);
include/net/fq_impl.h
214
list_add(&tin->tin_list, &fq->tin_backlog);
include/net/fq_impl.h
223
fq->memory_usage += skb->truesize;
include/net/fq_impl.h
224
fq->backlog++;
include/net/fq_impl.h
229
flow->deficit = fq->quantum;
include/net/fq_impl.h
234
oom = (fq->memory_usage > fq->memory_limit);
include/net/fq_impl.h
235
while (fq->backlog > fq->limit || oom) {
include/net/fq_impl.h
236
flow = fq_find_fattest_flow(fq);
include/net/fq_impl.h
240
if (!fq_flow_drop(fq, flow, free_func))
include/net/fq_impl.h
244
fq->overlimit++;
include/net/fq_impl.h
246
fq->overmemory++;
include/net/fq_impl.h
247
oom = (fq->memory_usage > fq->memory_limit);
include/net/fq_impl.h
25
fq->backlog -= packets;
include/net/fq_impl.h
252
static void fq_flow_filter(struct fq *fq,
include/net/fq_impl.h
26
fq->memory_usage -= truesize;
include/net/fq_impl.h
261
lockdep_assert_held(&fq->lock);
include/net/fq_impl.h
264
if (!filter_func(fq, tin, flow, skb, filter_data))
include/net/fq_impl.h
268
fq_adjust_removal(fq, flow, skb);
include/net/fq_impl.h
269
free_func(fq, tin, flow, skb);
include/net/fq_impl.h
273
static void fq_tin_filter(struct fq *fq,
include/net/fq_impl.h
281
lockdep_assert_held(&fq->lock);
include/net/fq_impl.h
284
fq_flow_filter(fq, flow, filter_func, filter_data, free_func);
include/net/fq_impl.h
286
fq_flow_filter(fq, flow, filter_func, filter_data, free_func);
include/net/fq_impl.h
289
static void fq_flow_reset(struct fq *fq,
include/net/fq_impl.h
296
while ((skb = fq_flow_dequeue(fq, flow)))
include/net/fq_impl.h
297
free_func(fq, tin, flow, skb);
include/net/fq_impl.h
311
static void fq_tin_reset(struct fq *fq,
include/net/fq_impl.h
327
fq_flow_reset(fq, flow, free_func);
include/net/fq_impl.h
349
static int fq_init(struct fq *fq, int flows_cnt)
include/net/fq_impl.h
353
memset(fq, 0, sizeof(fq[0]));
include/net/fq_impl.h
354
spin_lock_init(&fq->lock);
include/net/fq_impl.h
355
INIT_LIST_HEAD(&fq->tin_backlog);
include/net/fq_impl.h
356
fq->flows_cnt = max_t(u32, flows_cnt, 1);
include/net/fq_impl.h
357
fq->quantum = 300;
include/net/fq_impl.h
358
fq->limit = 8192;
include/net/fq_impl.h
359
fq->memory_limit = 16 << 20; /* 16 MBytes */
include/net/fq_impl.h
36
idx = flow - fq->flows;
include/net/fq_impl.h
361
fq->flows = kvzalloc_objs(fq->flows[0], fq->flows_cnt);
include/net/fq_impl.h
362
if (!fq->flows)
include/net/fq_impl.h
365
fq->flows_bitmap = bitmap_zalloc(fq->flows_cnt, GFP_KERNEL);
include/net/fq_impl.h
366
if (!fq->flows_bitmap) {
include/net/fq_impl.h
367
kvfree(fq->flows);
include/net/fq_impl.h
368
fq->flows = NULL;
include/net/fq_impl.h
37
__clear_bit(idx, fq->flows_bitmap);
include/net/fq_impl.h
372
for (i = 0; i < fq->flows_cnt; i++)
include/net/fq_impl.h
373
fq_flow_init(&fq->flows[i]);
include/net/fq_impl.h
378
static void fq_reset(struct fq *fq,
include/net/fq_impl.h
383
for (i = 0; i < fq->flows_cnt; i++)
include/net/fq_impl.h
384
fq_flow_reset(fq, &fq->flows[i], free_func);
include/net/fq_impl.h
386
kvfree(fq->flows);
include/net/fq_impl.h
387
fq->flows = NULL;
include/net/fq_impl.h
389
bitmap_free(fq->flows_bitmap);
include/net/fq_impl.h
390
fq->flows_bitmap = NULL;
include/net/fq_impl.h
40
static void fq_adjust_removal(struct fq *fq,
include/net/fq_impl.h
44
__fq_adjust_removal(fq, flow, 1, skb->len, skb->truesize);
include/net/fq_impl.h
47
static struct sk_buff *fq_flow_dequeue(struct fq *fq,
include/net/fq_impl.h
52
lockdep_assert_held(&fq->lock);
include/net/fq_impl.h
58
fq_adjust_removal(fq, flow, skb);
include/net/fq_impl.h
63
static int fq_flow_drop(struct fq *fq, struct fq_flow *flow,
include/net/fq_impl.h
71
lockdep_assert_held(&fq->lock);
include/net/fq_impl.h
82
free_func(fq, tin, flow, skb);
include/net/fq_impl.h
85
__fq_adjust_removal(fq, flow, packets, bytes, truesize);
include/net/fq_impl.h
90
static struct sk_buff *fq_tin_dequeue(struct fq *fq,
include/net/fq_impl.h
98
lockdep_assert_held(&fq->lock);
include/net/ipv6_frag.h
101
head = inet_frag_pull_head(&fq->q);
include/net/ipv6_frag.h
106
spin_unlock(&fq->q.lock);
include/net/ipv6_frag.h
113
spin_unlock(&fq->q.lock);
include/net/ipv6_frag.h
116
inet_frag_putn(&fq->q, refs);
include/net/ipv6_frag.h
34
struct frag_queue *fq = container_of(q, struct frag_queue, q);
include/net/ipv6_frag.h
38
fq->ecn = 0;
include/net/ipv6_frag.h
49
const struct inet_frag_queue *fq = data;
include/net/ipv6_frag.h
51
return jhash2((const u32 *)&fq->key.v6,
include/net/ipv6_frag.h
59
const struct inet_frag_queue *fq = ptr;
include/net/ipv6_frag.h
61
return !!memcmp(&fq->key, key, sizeof(*key));
include/net/ipv6_frag.h
65
ip6frag_expire_frag_queue(struct net *net, struct frag_queue *fq)
include/net/ipv6_frag.h
72
spin_lock(&fq->q.lock);
include/net/ipv6_frag.h
74
if (fq->q.flags & INET_FRAG_COMPLETE)
include/net/ipv6_frag.h
77
fq->q.flags |= INET_FRAG_DROP;
include/net/ipv6_frag.h
78
inet_frag_kill(&fq->q, &refs);
include/net/ipv6_frag.h
81
if (READ_ONCE(fq->q.fqdir->dead)) {
include/net/ipv6_frag.h
82
inet_frag_queue_flush(&fq->q, 0);
include/net/ipv6_frag.h
86
dev = dev_get_by_index_rcu(net, fq->iif);
include/net/ipv6_frag.h
94
if (!(fq->q.flags & INET_FRAG_FIRST_IN))
include/net/libeth/rx.h
104
static inline dma_addr_t libeth_rx_alloc(const struct libeth_fq_fp *fq, u32 i)
include/net/libeth/rx.h
106
struct libeth_fqe *buf = &fq->fqes[i];
include/net/libeth/rx.h
108
buf->truesize = fq->truesize;
include/net/libeth/rx.h
109
buf->netmem = page_pool_dev_alloc_netmem(fq->pp, &buf->offset,
include/net/libeth/rx.h
115
fq->pp->p.offset;
include/net/libeth/rx.h
93
int libeth_rx_fq_create(struct libeth_fq *fq, struct napi_struct *napi);
include/net/libeth/rx.h
94
void libeth_rx_fq_destroy(struct libeth_fq *fq);
include/net/libeth/xsk.h
623
int libeth_xskfq_create(struct libeth_xskfq *fq);
include/net/libeth/xsk.h
624
void libeth_xskfq_destroy(struct libeth_xskfq *fq);
include/net/libeth/xsk.h
645
libeth_xskfqe_alloc(struct libeth_xskfq_fp *fq, u32 n,
include/net/libeth/xsk.h
646
void (*fill)(const struct libeth_xskfq_fp *fq, u32 i))
include/net/libeth/xsk.h
651
this = fq->count - fq->ntu;
include/net/libeth/xsk.h
656
xskb = (typeof(xskb))&fq->fqes[fq->ntu];
include/net/libeth/xsk.h
657
ret = xsk_buff_alloc_batch(fq->pool, xskb, this);
include/net/libeth/xsk.h
659
for (u32 i = 0, ntu = fq->ntu; likely(i < ret); i++)
include/net/libeth/xsk.h
660
fill(fq, ntu + i);
include/net/libeth/xsk.h
663
fq->ntu += ret;
include/net/libeth/xsk.h
665
if (likely(fq->ntu < fq->count) || unlikely(ret < this))
include/net/libeth/xsk.h
668
fq->ntu = 0;
include/net/xsk_buff_pool.h
64
struct xsk_queue *fq ____cacheline_aligned_in_smp;
include/soc/fsl/qman.h
300
} __packed fq; /* FQRN/FQRNI/FQRL/FQPN */
include/trace/events/netfs.h
767
TP_PROTO(const struct folio_queue *fq,
include/trace/events/netfs.h
770
TP_ARGS(fq, trace),
include/trace/events/netfs.h
779
__entry->rreq = fq ? fq->rreq_id : 0;
include/trace/events/netfs.h
780
__entry->id = fq ? fq->debug_id : 0;
net/ieee802154/6lowpan/reassembly.c
100
if (fq->q.flags & INET_FRAG_COMPLETE)
net/ieee802154/6lowpan/reassembly.c
111
if (end < fq->q.len ||
net/ieee802154/6lowpan/reassembly.c
112
((fq->q.flags & INET_FRAG_LAST_IN) && end != fq->q.len))
net/ieee802154/6lowpan/reassembly.c
114
fq->q.flags |= INET_FRAG_LAST_IN;
net/ieee802154/6lowpan/reassembly.c
115
fq->q.len = end;
net/ieee802154/6lowpan/reassembly.c
117
if (end > fq->q.len) {
net/ieee802154/6lowpan/reassembly.c
119
if (fq->q.flags & INET_FRAG_LAST_IN)
net/ieee802154/6lowpan/reassembly.c
121
fq->q.len = end;
net/ieee802154/6lowpan/reassembly.c
130
prev_tail = fq->q.fragments_tail;
net/ieee802154/6lowpan/reassembly.c
131
err = inet_frag_queue_insert(&fq->q, skb, offset, end);
net/ieee802154/6lowpan/reassembly.c
135
fq->q.stamp = skb->tstamp;
net/ieee802154/6lowpan/reassembly.c
136
fq->q.tstamp_type = skb->tstamp_type;
net/ieee802154/6lowpan/reassembly.c
138
fq->q.flags |= INET_FRAG_FIRST_IN;
net/ieee802154/6lowpan/reassembly.c
140
fq->q.meat += skb->len;
net/ieee802154/6lowpan/reassembly.c
141
add_frag_mem_limit(fq->q.fqdir, skb->truesize);
net/ieee802154/6lowpan/reassembly.c
143
if (fq->q.flags == (INET_FRAG_FIRST_IN | INET_FRAG_LAST_IN) &&
net/ieee802154/6lowpan/reassembly.c
144
fq->q.meat == fq->q.len) {
net/ieee802154/6lowpan/reassembly.c
149
res = lowpan_frag_reasm(fq, skb, prev_tail, ldev, refs);
net/ieee802154/6lowpan/reassembly.c
167
static int lowpan_frag_reasm(struct lowpan_frag_queue *fq, struct sk_buff *skb,
net/ieee802154/6lowpan/reassembly.c
173
inet_frag_kill(&fq->q, refs);
net/ieee802154/6lowpan/reassembly.c
175
reasm_data = inet_frag_reasm_prepare(&fq->q, skb, prev_tail);
net/ieee802154/6lowpan/reassembly.c
178
inet_frag_reasm_finish(&fq->q, skb, reasm_data, false);
net/ieee802154/6lowpan/reassembly.c
181
skb->tstamp = fq->q.stamp;
net/ieee802154/6lowpan/reassembly.c
182
fq->q.rb_fragments = RB_ROOT;
net/ieee802154/6lowpan/reassembly.c
183
fq->q.fragments_tail = NULL;
net/ieee802154/6lowpan/reassembly.c
184
fq->q.last_run_head = NULL;
net/ieee802154/6lowpan/reassembly.c
283
struct lowpan_frag_queue *fq;
net/ieee802154/6lowpan/reassembly.c
308
fq = fq_find(net, cb, &hdr.source, &hdr.dest);
net/ieee802154/6lowpan/reassembly.c
309
if (fq != NULL) {
net/ieee802154/6lowpan/reassembly.c
312
spin_lock(&fq->q.lock);
net/ieee802154/6lowpan/reassembly.c
313
ret = lowpan_frag_queue(fq, skb, frag_type, &refs);
net/ieee802154/6lowpan/reassembly.c
314
spin_unlock(&fq->q.lock);
net/ieee802154/6lowpan/reassembly.c
317
inet_frag_putn(&fq->q, refs);
net/ieee802154/6lowpan/reassembly.c
33
static int lowpan_frag_reasm(struct lowpan_frag_queue *fq, struct sk_buff *skb,
net/ieee802154/6lowpan/reassembly.c
48
struct frag_queue *fq;
net/ieee802154/6lowpan/reassembly.c
501
const struct inet_frag_queue *fq = data;
net/ieee802154/6lowpan/reassembly.c
503
return jhash2((const u32 *)&fq->key,
net/ieee802154/6lowpan/reassembly.c
51
fq = container_of(frag, struct frag_queue, q);
net/ieee802154/6lowpan/reassembly.c
510
const struct inet_frag_queue *fq = ptr;
net/ieee802154/6lowpan/reassembly.c
512
return !!memcmp(&fq->key, key, sizeof(*key));
net/ieee802154/6lowpan/reassembly.c
53
spin_lock(&fq->q.lock);
net/ieee802154/6lowpan/reassembly.c
55
if (fq->q.flags & INET_FRAG_COMPLETE)
net/ieee802154/6lowpan/reassembly.c
58
inet_frag_kill(&fq->q, &refs);
net/ieee802154/6lowpan/reassembly.c
60
spin_unlock(&fq->q.lock);
net/ieee802154/6lowpan/reassembly.c
61
inet_frag_putn(&fq->q, refs);
net/ieee802154/6lowpan/reassembly.c
86
static int lowpan_frag_queue(struct lowpan_frag_queue *fq,
net/ipv4/inet_fragment.c
131
struct inet_frag_queue *fq = ptr;
net/ipv4/inet_fragment.c
134
count = timer_delete_sync(&fq->timer) ? 1 : 0;
net/ipv4/inet_fragment.c
136
spin_lock_bh(&fq->lock);
net/ipv4/inet_fragment.c
137
fq->flags |= INET_FRAG_DROP;
net/ipv4/inet_fragment.c
138
if (!(fq->flags & INET_FRAG_COMPLETE)) {
net/ipv4/inet_fragment.c
139
fq->flags |= INET_FRAG_COMPLETE;
net/ipv4/inet_fragment.c
141
} else if (fq->flags & INET_FRAG_HASH_DEAD) {
net/ipv4/inet_fragment.c
144
spin_unlock_bh(&fq->lock);
net/ipv4/inet_fragment.c
146
inet_frag_putn(fq, count);
net/ipv4/inet_fragment.c
221
struct inet_frag_queue *fq;
net/ipv4/inet_fragment.c
237
while ((fq = rhashtable_walk_next(&hti))) {
net/ipv4/inet_fragment.c
238
if (IS_ERR(fq)) {
net/ipv4/inet_fragment.c
239
if (PTR_ERR(fq) != -EAGAIN)
net/ipv4/inet_fragment.c
243
spin_lock_bh(&fq->lock);
net/ipv4/inet_fragment.c
244
if (!(fq->flags & INET_FRAG_COMPLETE))
net/ipv4/inet_fragment.c
245
inet_frag_queue_flush(fq, 0);
net/ipv4/inet_fragment.c
246
spin_unlock_bh(&fq->lock);
net/ipv4/inet_fragment.c
261
void inet_frag_kill(struct inet_frag_queue *fq, int *refs)
net/ipv4/inet_fragment.c
263
if (timer_delete(&fq->timer))
net/ipv4/inet_fragment.c
266
if (!(fq->flags & INET_FRAG_COMPLETE)) {
net/ipv4/inet_fragment.c
267
struct fqdir *fqdir = fq->fqdir;
net/ipv4/inet_fragment.c
269
fq->flags |= INET_FRAG_COMPLETE;
net/ipv4/inet_fragment.c
277
rhashtable_remove_fast(&fqdir->rhashtable, &fq->node,
net/ipv4/inet_fragment.c
281
fq->flags |= INET_FRAG_HASH_DEAD;
net/ipv4/inet_fragment.c
419
struct inet_frag_queue *fq = NULL, *prev;
net/ipv4/inet_fragment.c
426
fq = inet_frag_create(fqdir, key, &prev);
net/ipv4/inet_fragment.c
428
fq = prev;
net/ipv4/inet_fragment.c
429
return fq;
net/ipv4/ip_fragment.c
714
const struct inet_frag_queue *fq = data;
net/ipv4/ip_fragment.c
716
return jhash2((const u32 *)&fq->key.v4,
net/ipv4/ip_fragment.c
723
const struct inet_frag_queue *fq = ptr;
net/ipv4/ip_fragment.c
725
return !!memcmp(&fq->key, key, sizeof(*key));
net/ipv6/netfilter/nf_conntrack_reasm.c
125
static int nf_ct_frag6_reasm(struct frag_queue *fq, struct sk_buff *skb,
net/ipv6/netfilter/nf_conntrack_reasm.c
137
struct frag_queue *fq;
net/ipv6/netfilter/nf_conntrack_reasm.c
139
fq = container_of(frag, struct frag_queue, q);
net/ipv6/netfilter/nf_conntrack_reasm.c
141
ip6frag_expire_frag_queue(fq->q.fqdir->net, fq);
net/ipv6/netfilter/nf_conntrack_reasm.c
170
static int nf_ct_frag6_queue(struct frag_queue *fq, struct sk_buff *skb,
net/ipv6/netfilter/nf_conntrack_reasm.c
180
if (fq->q.flags & INET_FRAG_COMPLETE) {
net/ipv6/netfilter/nf_conntrack_reasm.c
210
if (end < fq->q.len ||
net/ipv6/netfilter/nf_conntrack_reasm.c
211
((fq->q.flags & INET_FRAG_LAST_IN) && end != fq->q.len)) {
net/ipv6/netfilter/nf_conntrack_reasm.c
215
fq->q.flags |= INET_FRAG_LAST_IN;
net/ipv6/netfilter/nf_conntrack_reasm.c
216
fq->q.len = end;
net/ipv6/netfilter/nf_conntrack_reasm.c
226
inet_frag_kill(&fq->q, refs);
net/ipv6/netfilter/nf_conntrack_reasm.c
229
if (end > fq->q.len) {
net/ipv6/netfilter/nf_conntrack_reasm.c
231
if (fq->q.flags & INET_FRAG_LAST_IN) {
net/ipv6/netfilter/nf_conntrack_reasm.c
235
fq->q.len = end;
net/ipv6/netfilter/nf_conntrack_reasm.c
257
prev = fq->q.fragments_tail;
net/ipv6/netfilter/nf_conntrack_reasm.c
258
err = inet_frag_queue_insert(&fq->q, skb, offset, end);
net/ipv6/netfilter/nf_conntrack_reasm.c
269
fq->iif = dev->ifindex;
net/ipv6/netfilter/nf_conntrack_reasm.c
271
fq->q.stamp = skb->tstamp;
net/ipv6/netfilter/nf_conntrack_reasm.c
272
fq->q.tstamp_type = skb->tstamp_type;
net/ipv6/netfilter/nf_conntrack_reasm.c
273
fq->q.meat += skb->len;
net/ipv6/netfilter/nf_conntrack_reasm.c
274
fq->ecn |= ecn;
net/ipv6/netfilter/nf_conntrack_reasm.c
275
if (payload_len > fq->q.max_size)
net/ipv6/netfilter/nf_conntrack_reasm.c
276
fq->q.max_size = payload_len;
net/ipv6/netfilter/nf_conntrack_reasm.c
277
add_frag_mem_limit(fq->q.fqdir, skb->truesize);
net/ipv6/netfilter/nf_conntrack_reasm.c
283
fq->nhoffset = nhoff;
net/ipv6/netfilter/nf_conntrack_reasm.c
284
fq->q.flags |= INET_FRAG_FIRST_IN;
net/ipv6/netfilter/nf_conntrack_reasm.c
287
if (fq->q.flags == (INET_FRAG_FIRST_IN | INET_FRAG_LAST_IN) &&
net/ipv6/netfilter/nf_conntrack_reasm.c
288
fq->q.meat == fq->q.len) {
net/ipv6/netfilter/nf_conntrack_reasm.c
292
err = nf_ct_frag6_reasm(fq, skb, prev, dev, refs);
net/ipv6/netfilter/nf_conntrack_reasm.c
306
inet_frag_kill(&fq->q, refs);
net/ipv6/netfilter/nf_conntrack_reasm.c
319
static int nf_ct_frag6_reasm(struct frag_queue *fq, struct sk_buff *skb,
net/ipv6/netfilter/nf_conntrack_reasm.c
327
inet_frag_kill(&fq->q, refs);
net/ipv6/netfilter/nf_conntrack_reasm.c
329
ecn = ip_frag_ecn_table[fq->ecn];
net/ipv6/netfilter/nf_conntrack_reasm.c
333
reasm_data = inet_frag_reasm_prepare(&fq->q, skb, prev_tail);
net/ipv6/netfilter/nf_conntrack_reasm.c
338
sizeof(struct ipv6hdr) + fq->q.len -
net/ipv6/netfilter/nf_conntrack_reasm.c
348
skb_network_header(skb)[fq->nhoffset] = skb_transport_header(skb)[0];
net/ipv6/netfilter/nf_conntrack_reasm.c
357
inet_frag_reasm_finish(&fq->q, skb, reasm_data, false);
net/ipv6/netfilter/nf_conntrack_reasm.c
363
IP6CB(skb)->frag_max_size = sizeof(struct ipv6hdr) + fq->q.max_size;
net/ipv6/netfilter/nf_conntrack_reasm.c
372
fq->q.rb_fragments = RB_ROOT;
net/ipv6/netfilter/nf_conntrack_reasm.c
373
fq->q.fragments_tail = NULL;
net/ipv6/netfilter/nf_conntrack_reasm.c
374
fq->q.last_run_head = NULL;
net/ipv6/netfilter/nf_conntrack_reasm.c
379
inet_frag_kill(&fq->q, refs);
net/ipv6/netfilter/nf_conntrack_reasm.c
452
struct frag_queue *fq;
net/ipv6/netfilter/nf_conntrack_reasm.c
482
fq = fq_find(net, fhdr->identification, user, hdr,
net/ipv6/netfilter/nf_conntrack_reasm.c
484
if (fq == NULL) {
net/ipv6/netfilter/nf_conntrack_reasm.c
490
spin_lock_bh(&fq->q.lock);
net/ipv6/netfilter/nf_conntrack_reasm.c
492
ret = nf_ct_frag6_queue(fq, skb, fhdr, nhoff, &refs);
net/ipv6/netfilter/nf_conntrack_reasm.c
498
spin_unlock_bh(&fq->q.lock);
net/ipv6/netfilter/nf_conntrack_reasm.c
500
inet_frag_putn(&fq->q, refs);
net/ipv6/reassembly.c
108
struct frag_queue *fq, struct sk_buff *skb,
net/ipv6/reassembly.c
121
if (fq->q.flags & INET_FRAG_COMPLETE) {
net/ipv6/reassembly.c
136
inet_frag_kill(&fq->q, refs);
net/ipv6/reassembly.c
155
if (end < fq->q.len ||
net/ipv6/reassembly.c
156
((fq->q.flags & INET_FRAG_LAST_IN) && end != fq->q.len))
net/ipv6/reassembly.c
158
fq->q.flags |= INET_FRAG_LAST_IN;
net/ipv6/reassembly.c
159
fq->q.len = end;
net/ipv6/reassembly.c
169
inet_frag_kill(&fq->q, refs);
net/ipv6/reassembly.c
173
if (end > fq->q.len) {
net/ipv6/reassembly.c
175
if (fq->q.flags & INET_FRAG_LAST_IN)
net/ipv6/reassembly.c
177
fq->q.len = end;
net/ipv6/reassembly.c
198
prev_tail = fq->q.fragments_tail;
net/ipv6/reassembly.c
199
err = inet_frag_queue_insert(&fq->q, skb, offset, end);
net/ipv6/reassembly.c
204
fq->iif = dev->ifindex;
net/ipv6/reassembly.c
206
fq->q.stamp = skb->tstamp;
net/ipv6/reassembly.c
207
fq->q.tstamp_type = skb->tstamp_type;
net/ipv6/reassembly.c
208
fq->q.meat += skb->len;
net/ipv6/reassembly.c
209
fq->ecn |= ecn;
net/ipv6/reassembly.c
210
add_frag_mem_limit(fq->q.fqdir, skb->truesize);
net/ipv6/reassembly.c
213
if (fragsize > fq->q.max_size)
net/ipv6/reassembly.c
214
fq->q.max_size = fragsize;
net/ipv6/reassembly.c
220
fq->nhoffset = nhoff;
net/ipv6/reassembly.c
221
fq->q.flags |= INET_FRAG_FIRST_IN;
net/ipv6/reassembly.c
224
if (fq->q.flags == (INET_FRAG_FIRST_IN | INET_FRAG_LAST_IN) &&
net/ipv6/reassembly.c
225
fq->q.meat == fq->q.len) {
net/ipv6/reassembly.c
229
err = ip6_frag_reasm(fq, skb, prev_tail, dev, idev, refs);
net/ipv6/reassembly.c
246
inet_frag_kill(&fq->q, refs);
net/ipv6/reassembly.c
260
static int ip6_frag_reasm(struct frag_queue *fq, struct sk_buff *skb,
net/ipv6/reassembly.c
264
struct net *net = fq->q.fqdir->net;
net/ipv6/reassembly.c
270
inet_frag_kill(&fq->q, refs);
net/ipv6/reassembly.c
272
ecn = ip_frag_ecn_table[fq->ecn];
net/ipv6/reassembly.c
276
reasm_data = inet_frag_reasm_prepare(&fq->q, skb, prev_tail);
net/ipv6/reassembly.c
281
sizeof(struct ipv6hdr) + fq->q.len -
net/ipv6/reassembly.c
288
nhoff = fq->nhoffset;
net/ipv6/reassembly.c
298
inet_frag_reasm_finish(&fq->q, skb, reasm_data, true);
net/ipv6/reassembly.c
305
IP6CB(skb)->frag_max_size = fq->q.max_size;
net/ipv6/reassembly.c
312
fq->q.rb_fragments = RB_ROOT;
net/ipv6/reassembly.c
313
fq->q.fragments_tail = NULL;
net/ipv6/reassembly.c
314
fq->q.last_run_head = NULL;
net/ipv6/reassembly.c
324
inet_frag_kill(&fq->q, refs);
net/ipv6/reassembly.c
334
struct frag_queue *fq;
net/ipv6/reassembly.c
383
fq = fq_find(net, fhdr->identification, hdr, iif);
net/ipv6/reassembly.c
384
if (fq) {
net/ipv6/reassembly.c
388
spin_lock(&fq->q.lock);
net/ipv6/reassembly.c
390
fq->iif = iif;
net/ipv6/reassembly.c
391
ret = ip6_frag_queue(net, fq, skb, fhdr, IP6CB(skb)->nhoff,
net/ipv6/reassembly.c
394
spin_unlock(&fq->q.lock);
net/ipv6/reassembly.c
396
inet_frag_putn(&fq->q, refs);
net/ipv6/reassembly.c
70
static int ip6_frag_reasm(struct frag_queue *fq, struct sk_buff *skb,
net/ipv6/reassembly.c
77
struct frag_queue *fq;
net/ipv6/reassembly.c
79
fq = container_of(frag, struct frag_queue, q);
net/ipv6/reassembly.c
81
ip6frag_expire_frag_queue(fq->q.fqdir->net, fq);
net/mac80211/agg-tx.c
186
struct fq *fq;
net/mac80211/agg-tx.c
194
fq = &sdata->local->fq;
net/mac80211/agg-tx.c
197
spin_lock_bh(&fq->lock);
net/mac80211/agg-tx.c
199
spin_unlock_bh(&fq->lock);
net/mac80211/cfg.c
5391
spin_lock_bh(&local->fq.lock);
net/mac80211/cfg.c
5408
txqstats->backlog_packets = local->fq.backlog;
net/mac80211/cfg.c
5409
txqstats->backlog_bytes = local->fq.memory_usage;
net/mac80211/cfg.c
5410
txqstats->overlimit = local->fq.overlimit;
net/mac80211/cfg.c
5411
txqstats->overmemory = local->fq.overmemory;
net/mac80211/cfg.c
5412
txqstats->collisions = local->fq.collisions;
net/mac80211/cfg.c
5413
txqstats->max_flows = local->fq.flows_cnt;
net/mac80211/cfg.c
5417
spin_unlock_bh(&local->fq.lock);
net/mac80211/debugfs.c
100
fq->overlimit,
net/mac80211/debugfs.c
101
fq->collisions,
net/mac80211/debugfs.c
102
fq->memory_usage,
net/mac80211/debugfs.c
103
fq->memory_limit,
net/mac80211/debugfs.c
104
fq->limit,
net/mac80211/debugfs.c
105
fq->quantum);
net/mac80211/debugfs.c
107
spin_unlock_bh(&local->fq.lock);
net/mac80211/debugfs.c
132
if (sscanf(buf, "fq_limit %u", &local->fq.limit) == 1)
net/mac80211/debugfs.c
134
else if (sscanf(buf, "fq_memory_limit %u", &local->fq.memory_limit) == 1)
net/mac80211/debugfs.c
136
else if (sscanf(buf, "fq_quantum %u", &local->fq.quantum) == 1)
net/mac80211/debugfs.c
80
struct fq *fq = &local->fq;
net/mac80211/debugfs.c
84
spin_lock_bh(&local->fq.lock);
net/mac80211/debugfs.c
97
fq->flows_cnt,
net/mac80211/debugfs.c
98
fq->backlog,
net/mac80211/debugfs.c
99
fq->overmemory,
net/mac80211/debugfs_netdev.c
628
spin_lock_bh(&local->fq.lock);
net/mac80211/debugfs_netdev.c
645
spin_unlock_bh(&local->fq.lock);
net/mac80211/debugfs_sta.c
150
spin_lock_bh(&local->fq.lock);
net/mac80211/debugfs_sta.c
180
spin_unlock_bh(&local->fq.lock);
net/mac80211/ht.c
368
struct fq *fq = &sdata->local->fq;
net/mac80211/ht.c
370
spin_lock_bh(&fq->lock);
net/mac80211/ht.c
380
spin_unlock_bh(&fq->lock);
net/mac80211/ht.c
392
spin_unlock_bh(&fq->lock);
net/mac80211/ieee80211_i.h
1454
struct fq fq;
net/mac80211/sta_info.c
2718
spin_lock_bh(&local->fq.lock);
net/mac80211/sta_info.c
2724
spin_unlock_bh(&local->fq.lock);
net/mac80211/tx.c
1374
struct fq *fq;
net/mac80211/tx.c
1379
fq = &local->fq;
net/mac80211/tx.c
1384
flow = &fq->flows[cvars - local->cvars];
net/mac80211/tx.c
1386
return fq_flow_dequeue(fq, flow);
net/mac80211/tx.c
1403
static struct sk_buff *fq_tin_dequeue_func(struct fq *fq,
net/mac80211/tx.c
1413
local = container_of(fq, struct ieee80211_local, fq);
net/mac80211/tx.c
1421
cvars = &local->cvars[flow - fq->flows];
net/mac80211/tx.c
1434
static void fq_skb_free_func(struct fq *fq,
net/mac80211/tx.c
1441
local = container_of(fq, struct ieee80211_local, fq);
net/mac80211/tx.c
1449
struct fq *fq = &local->fq;
net/mac80211/tx.c
1455
spin_lock_bh(&fq->lock);
net/mac80211/tx.c
1467
flow_idx = fq_flow_idx(fq, skb);
net/mac80211/tx.c
1468
fq_tin_enqueue(fq, tin, flow_idx, skb,
net/mac80211/tx.c
1471
spin_unlock_bh(&fq->lock);
net/mac80211/tx.c
1474
static bool fq_vlan_filter_func(struct fq *fq, struct fq_tin *tin,
net/mac80211/tx.c
1486
struct fq *fq = &local->fq;
net/mac80211/tx.c
1502
spin_lock_bh(&fq->lock);
net/mac80211/tx.c
1503
fq_tin_filter(fq, tin, fq_vlan_filter_func, &sdata->vif,
net/mac80211/tx.c
1505
spin_unlock_bh(&fq->lock);
net/mac80211/tx.c
1558
struct fq *fq = &local->fq;
net/mac80211/tx.c
1561
spin_lock_bh(&fq->lock);
net/mac80211/tx.c
1562
fq_tin_reset(fq, tin, fq_skb_free_func);
net/mac80211/tx.c
1564
spin_unlock_bh(&fq->lock);
net/mac80211/tx.c
1574
local->fq.limit = local->hw.wiphy->txq_limit;
net/mac80211/tx.c
1576
local->hw.wiphy->txq_limit = local->fq.limit;
net/mac80211/tx.c
1579
local->fq.memory_limit = local->hw.wiphy->txq_memory_limit;
net/mac80211/tx.c
1581
local->hw.wiphy->txq_memory_limit = local->fq.memory_limit;
net/mac80211/tx.c
1584
local->fq.quantum = local->hw.wiphy->txq_quantum;
net/mac80211/tx.c
1586
local->hw.wiphy->txq_quantum = local->fq.quantum;
net/mac80211/tx.c
1591
struct fq *fq = &local->fq;
net/mac80211/tx.c
1597
ret = fq_init(fq, 4096);
net/mac80211/tx.c
1616
fq->memory_limit = 4 << 20; /* 4 Mbytes */
net/mac80211/tx.c
1623
local->cvars = kvzalloc_objs(local->cvars[0], fq->flows_cnt);
net/mac80211/tx.c
1625
spin_lock_bh(&fq->lock);
net/mac80211/tx.c
1626
fq_reset(fq, fq_skb_free_func);
net/mac80211/tx.c
1627
spin_unlock_bh(&fq->lock);
net/mac80211/tx.c
1631
for (i = 0; i < fq->flows_cnt; i++)
net/mac80211/tx.c
1641
struct fq *fq = &local->fq;
net/mac80211/tx.c
1646
spin_lock_bh(&fq->lock);
net/mac80211/tx.c
1647
fq_reset(fq, fq_skb_free_func);
net/mac80211/tx.c
1648
spin_unlock_bh(&fq->lock);
net/mac80211/tx.c
3472
struct fq *fq = &local->fq;
net/mac80211/tx.c
3519
flow_idx = fq_flow_idx(fq, skb);
net/mac80211/tx.c
3521
spin_lock_bh(&fq->lock);
net/mac80211/tx.c
3528
flow = fq_flow_classify(fq, tin, flow_idx, skb);
net/mac80211/tx.c
3600
fq->memory_usage += head->truesize - orig_truesize;
net/mac80211/tx.c
3606
spin_unlock_bh(&fq->lock);
net/mac80211/tx.c
3882
struct fq *fq = &local->fq;
net/mac80211/tx.c
3908
spin_lock_bh(&fq->lock);
net/mac80211/tx.c
3922
skb = fq_tin_dequeue(fq, tin, fq_tin_dequeue_func);
net/mac80211/tx.c
3928
spin_unlock_bh(&fq->lock);
net/mac80211/tx.c
4010
spin_lock_bh(&fq->lock);
net/mac80211/tx.c
4012
spin_unlock_bh(&fq->lock);
net/mac80211/tx.c
4076
spin_unlock_bh(&fq->lock);
net/mac80211/util.c
329
struct fq *fq = &local->fq;
net/mac80211/util.c
336
spin_lock(&fq->lock);
net/mac80211/util.c
364
spin_unlock(&fq->lock);
net/mac80211/util.c
366
spin_lock(&fq->lock);
net/mac80211/util.c
388
spin_unlock(&fq->lock);
net/mac80211/util.c
396
spin_unlock(&fq->lock);
net/xdp/xsk.c
1770
xs->pool ? xskq_nb_queue_empty_descs(xs->pool->fq) : 0;
net/xdp/xsk.c
1884
READ_ONCE(xs->pool->fq);
net/xdp/xsk.c
433
__xskq_cons_release(xs->pool->fq);
net/xdp/xsk.c
56
pool->fq->ring->flags |= XDP_RING_NEED_WAKEUP;
net/xdp/xsk.c
83
pool->fq->ring->flags &= ~XDP_RING_NEED_WAKEUP;
net/xdp/xsk_buff_pool.c
309
if (pool->fq) {
net/xdp/xsk_buff_pool.c
310
xskq_destroy(pool->fq);
net/xdp/xsk_buff_pool.c
311
pool->fq = NULL;
net/xdp/xsk_buff_pool.c
557
if (!xskq_cons_peek_addr_unchecked(pool->fq, &addr)) {
net/xdp/xsk_buff_pool.c
558
pool->fq->queue_empty_descs++;
net/xdp/xsk_buff_pool.c
565
pool->fq->invalid_descs++;
net/xdp/xsk_buff_pool.c
566
xskq_cons_release(pool->fq);
net/xdp/xsk_buff_pool.c
574
xskq_cons_release(pool->fq);
net/xdp/xsk_buff_pool.c
610
max = xskq_cons_nb_entries(pool->fq, max);
net/xdp/xsk_buff_pool.c
612
cached_cons = pool->fq->cached_cons;
net/xdp/xsk_buff_pool.c
620
__xskq_cons_read_addr_unchecked(pool->fq, cached_cons++, &addr);
net/xdp/xsk_buff_pool.c
625
pool->fq->invalid_descs++;
net/xdp/xsk_buff_pool.c
636
xskq_cons_release_n(pool->fq, max);
net/xdp/xsk_buff_pool.c
696
pool->fq->queue_empty_descs++;
net/xdp/xsk_buff_pool.c
710
avail_count = xskq_cons_nb_entries(pool->fq, req_count);
net/xdp/xsk_buff_pool.c
712
pool->fq->queue_empty_descs++;
net/xdp/xsk_buff_pool.c
98
pool->fq = xs->fq_tmp;
net/xdp/xsk_diag.c
70
if (!err && pool && pool->fq)
net/xdp/xsk_diag.c
71
err = xsk_diag_put_ring(pool->fq,
net/xdp/xsk_diag.c
86
du.n_fill_ring_empty = xs->pool ? xskq_nb_queue_empty_descs(xs->pool->fq) : 0;
tools/testing/selftests/bpf/prog_tests/test_xsk.c
1023
ret = xsk_ring_prod__reserve(&umem->fq, rcvd, &idx_fq);
tools/testing/selftests/bpf/prog_tests/test_xsk.c
1025
if (xsk_ring_prod__needs_wakeup(&umem->fq)) {
tools/testing/selftests/bpf/prog_tests/test_xsk.c
1030
ret = xsk_ring_prod__reserve(&umem->fq, rcvd, &idx_fq);
tools/testing/selftests/bpf/prog_tests/test_xsk.c
1063
*xsk_ring_prod__fill_addr(&umem->fq, idx_fq++) = orig;
tools/testing/selftests/bpf/prog_tests/test_xsk.c
1084
xsk_ring_prod__cancel(&umem->fq, nb_frags);
tools/testing/selftests/bpf/prog_tests/test_xsk.c
1092
xsk_ring_prod__submit(&umem->fq, frags_processed);
tools/testing/selftests/bpf/prog_tests/test_xsk.c
1538
ret = xsk_ring_prod__reserve(&umem->fq, buffers_to_fill, &idx);
tools/testing/selftests/bpf/prog_tests/test_xsk.c
1558
*xsk_ring_prod__fill_addr(&umem->fq, idx++) = addr;
tools/testing/selftests/bpf/prog_tests/test_xsk.c
1563
xsk_ring_prod__submit(&umem->fq, filled);
tools/testing/selftests/bpf/prog_tests/test_xsk.c
1564
xsk_ring_prod__cancel(&umem->fq, buffers_to_fill - filled);
tools/testing/selftests/bpf/prog_tests/test_xsk.c
99
&umem->fq, &umem->cq, &cfg);
tools/testing/selftests/bpf/prog_tests/test_xsk.h
102
struct xsk_ring_prod fq;
tools/testing/selftests/bpf/progs/bpf_qdisc_fq.c
744
struct Qdisc_ops fq = {