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

Commit 17e8cec8 authored by Marc Yang's avatar Marc Yang Committed by John W. Linville
Browse files

mwifiex: CPU mips optimization with NO_PKT_PRIO_TID



If we go through the entire for loop in
mwifiex_wmm_get_highest_priolist_ptr() and don't find any packets,
set highest_queued_prio to NO_PKT_PRIO_TID (< LOW_PRIO_TID).

Signed-off-by: default avatarMarc Yang <yangyang@marvell.com>
Signed-off-by: default avatarBing Zhao <bzhao@marvell.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 93968147
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -202,6 +202,7 @@ struct mwifiex_tid_tbl {
#define WMM_HIGHEST_PRIORITY		7
#define HIGH_PRIO_TID				7
#define LOW_PRIO_TID				0
#define NO_PKT_PRIO_TID				(-1)

struct mwifiex_wmm_desc {
	struct mwifiex_tid_tbl tid_tbl_ptr[MAX_NUM_TID];
+6 −0
Original line number Diff line number Diff line
@@ -946,6 +946,12 @@ mwifiex_wmm_get_highest_priolist_ptr(struct mwifiex_adapter *adapter,
				} while (ptr != head);
			}

			/* No packet at any TID for this priv. Mark as such
			 * to skip checking TIDs for this priv (until pkt is
			 * added).
			 */
			atomic_set(hqp, NO_PKT_PRIO_TID);

			/* Get next bss priority node */
			bssprio_node = list_first_entry(&bssprio_node->list,
						struct mwifiex_bss_prio_node,