Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 22995b24 authored by Lennert Buytenhek's avatar Lennert Buytenhek Committed by John W. Linville
Browse files

mwl8k: clarify WME transmit queue 0/1 swizzling

parent 3d76e82c
Loading
Loading
Loading
Loading
+6 −20
Original line number Diff line number Diff line
@@ -84,12 +84,6 @@ MODULE_DEVICE_TABLE(pci, mwl8k_table);
				 MWL8K_A2H_INT_RX_READY | \
				 MWL8K_A2H_INT_TX_DONE)

/* WME stream classes */
#define WME_AC_BE	0		/* best effort */
#define WME_AC_BK	1		/* background */
#define WME_AC_VI	2		/* video */
#define WME_AC_VO	3		/* voice */

#define MWL8K_RX_QUEUES		1
#define MWL8K_TX_QUEUES		4

@@ -968,24 +962,10 @@ static int rxq_process(struct ieee80211_hw *hw, int index, int limit)
 * Packet transmission.
 */

/* Transmit queue assignment.  */
enum {
	MWL8K_WME_AC_BK	= 0,		/* background access */
	MWL8K_WME_AC_BE	= 1,		/* best effort access */
	MWL8K_WME_AC_VI	= 2,		/* video access */
	MWL8K_WME_AC_VO	= 3,		/* voice access */
};

/* Transmit packet ACK policy */
#define MWL8K_TXD_ACK_POLICY_NORMAL		0
#define MWL8K_TXD_ACK_POLICY_BLOCKACK		3

#define GET_TXQ(_ac) (\
		((_ac) == WME_AC_VO) ? MWL8K_WME_AC_VO : \
		((_ac) == WME_AC_VI) ? MWL8K_WME_AC_VI : \
		((_ac) == WME_AC_BK) ? MWL8K_WME_AC_BK : \
		MWL8K_WME_AC_BE)

#define MWL8K_TXD_STATUS_OK			0x00000001
#define MWL8K_TXD_STATUS_OK_RETRY		0x00000002
#define MWL8K_TXD_STATUS_OK_MORE_RETRY		0x00000004
@@ -2069,6 +2049,12 @@ mwl8k_set_edca_params(struct ieee80211_hw *hw, __u8 qnum,
	if (cmd == NULL)
		return -ENOMEM;

	/*
	 * Queues 0 (BE) and 1 (BK) are swapped in hardware for
	 * this call.
	 */
	qnum ^= !(qnum >> 1);

	cmd->header.code = cpu_to_le16(MWL8K_CMD_SET_EDCA_PARAMS);
	cmd->header.length = cpu_to_le16(sizeof(*cmd));
	cmd->action = cpu_to_le16(MWL8K_SET_EDCA_ALL);