/* * Copyright (c) 2014 Redpine Signals Inc. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include "rsi_mgmt.h" #include "rsi_common.h" #include "rsi_hal.h" #include "rsi_coex.h" /** * rsi_determine_min_weight_queue() - This function determines the queue with * the min weight. * @common: Pointer to the driver private structure. * * Return: q_num: Corresponding queue number. */ static u8 rsi_determine_min_weight_queue(struct rsi_common *common) { … } /** * rsi_recalculate_weights() - This function recalculates the weights * corresponding to each queue. * @common: Pointer to the driver private structure. * * Return: recontend_queue bool variable */ static bool rsi_recalculate_weights(struct rsi_common *common) { … } /** * rsi_get_num_pkts_dequeue() - This function determines the number of * packets to be dequeued based on the number * of bytes calculated using txop. * * @common: Pointer to the driver private structure. * @q_num: the queue from which pkts have to be dequeued * * Return: pkt_num: Number of pkts to be dequeued. */ static u32 rsi_get_num_pkts_dequeue(struct rsi_common *common, u8 q_num) { … } /** * rsi_core_determine_hal_queue() - This function determines the queue from * which packet has to be dequeued. * @common: Pointer to the driver private structure. * * Return: q_num: Corresponding queue number on success. */ static u8 rsi_core_determine_hal_queue(struct rsi_common *common) { … } /** * rsi_core_queue_pkt() - This functions enqueues the packet to the queue * specified by the queue number. * @common: Pointer to the driver private structure. * @skb: Pointer to the socket buffer structure. * * Return: None. */ static void rsi_core_queue_pkt(struct rsi_common *common, struct sk_buff *skb) { … } /** * rsi_core_dequeue_pkt() - This functions dequeues the packet from the queue * specified by the queue number. * @common: Pointer to the driver private structure. * @q_num: Queue number. * * Return: Pointer to sk_buff structure. */ static struct sk_buff *rsi_core_dequeue_pkt(struct rsi_common *common, u8 q_num) { … } /** * rsi_core_qos_processor() - This function is used to determine the wmm queue * based on the backoff procedure. Data packets are * dequeued from the selected hal queue and sent to * the below layers. * @common: Pointer to the driver private structure. * * Return: None. */ void rsi_core_qos_processor(struct rsi_common *common) { … } struct rsi_sta *rsi_find_sta(struct rsi_common *common, u8 *mac_addr) { … } struct ieee80211_vif *rsi_get_vif(struct rsi_hw *adapter, u8 *mac) { … } /** * rsi_core_xmit() - This function transmits the packets received from mac80211 * @common: Pointer to the driver private structure. * @skb: Pointer to the socket buffer structure. * * Return: None. */ void rsi_core_xmit(struct rsi_common *common, struct sk_buff *skb) { … }