Lines Matching +full:queue +full:- +full:rx
1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
3 * Copyright (C) 2005-2014, 2018-2021 Intel Corporation
4 * Copyright (C) 2013-2014 Intel Mobile Communications GmbH
12 #include "iwl-dbg-tlv.h"
23 * DOC: Operational mode - what is it ?
39 * 1) The driver layer (iwl-drv.c) chooses the op_mode based on the
41 * 2) The driver layer starts the op_mode (ops->start)
48 * struct iwl_op_mode_ops - op_mode specific operations
55 * out *iff* the opmode will never run on hardware with multi-queue capability.
61 * @rx: Rx notification to the op_mode. rxb is the Rx buffer itself. Cmd is the
62 * HCMD this Rx responds to. Can't sleep.
63 * @rx_rss: data queue RX notification to the op_mode, for (data) notifications
64 * received on the RSS queue(s). The queue parameter indicates which of the
65 * RSS queues received this frame; it will always be non-zero.
67 * @queue_full: notifies that a HW queue is full.
69 * @queue_not_full: notifies that a HW queue is not full any more.
80 * @cmd_queue_full: Called when the command queue gets full. Must be atomic and
93 void (*rx)(struct iwl_op_mode *op_mode, struct napi_struct *napi, member
96 struct iwl_rx_cmd_buffer *rxb, unsigned int queue);
97 void (*queue_full)(struct iwl_op_mode *op_mode, int queue);
98 void (*queue_not_full)(struct iwl_op_mode *op_mode, int queue);
114 * struct iwl_op_mode - operational mode
128 op_mode->ops->stop(op_mode); in iwl_op_mode_stop()
135 return op_mode->ops->rx(op_mode, napi, rxb); in iwl_op_mode_rx()
141 unsigned int queue) in iwl_op_mode_rx_rss() argument
143 op_mode->ops->rx_rss(op_mode, napi, rxb, queue); in iwl_op_mode_rx_rss()
147 int queue) in iwl_op_mode_queue_full() argument
149 op_mode->ops->queue_full(op_mode, queue); in iwl_op_mode_queue_full()
153 int queue) in iwl_op_mode_queue_not_full() argument
155 op_mode->ops->queue_not_full(op_mode, queue); in iwl_op_mode_queue_not_full()
162 return op_mode->ops->hw_rf_kill(op_mode, state); in iwl_op_mode_hw_rf_kill()
170 op_mode->ops->free_skb(op_mode, skb); in iwl_op_mode_free_skb()
175 op_mode->ops->nic_error(op_mode, sync); in iwl_op_mode_nic_error()
180 op_mode->ops->cmd_queue_full(op_mode); in iwl_op_mode_cmd_queue_full()
186 op_mode->ops->nic_config(op_mode); in iwl_op_mode_nic_config()
192 op_mode->ops->wimax_active(op_mode); in iwl_op_mode_wimax_active()
199 if (!op_mode || !op_mode->ops || !op_mode->ops->time_point) in iwl_op_mode_time_point()
201 op_mode->ops->time_point(op_mode, tp_id, tp_data); in iwl_op_mode_time_point()