qcacmn: Add ini keys for WRR tx scheduler tuning

qcacld-2.0 to qcacmn propagation

Add below four keys to allow user to tune WRR TX scheduler params.
Each key is mapping to one AC defined in data path module through
OL_TX_SCHED_WRR_ADV_CAT_CFG_SPEC.
	gEnableTxSchedWrrBE
	gEnableTxSchedWrrBK
	gEnableTxSchedWrrVI
	gEnableTxSchedWrrVO

Change-Id: I5c34b604297d83673ea065243cc58c3f2180ff3e
CRs-Fixed: 1020141
This commit is contained in:
gbian
2017-01-24 14:22:13 +08:00
committed by qcabuildsw
parent 44c01fde2f
commit 630ed5a9bc

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2016 The Linux Foundation. All rights reserved.
* Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -21,6 +21,8 @@
#include <sir_types.h>
#include <htt.h>
#define TX_WMM_AC_NUM 4
#define OL_TXQ_PAUSE_REASON_FW (1 << 0)
#define OL_TXQ_PAUSE_REASON_PEER_UNAUTHORIZED (1 << 1)
#define OL_TXQ_PAUSE_REASON_TX_ABORT (1 << 2)
@@ -203,6 +205,30 @@ struct ol_txrx_desc_type {
uint8_t is_wapi_supported;
};
/**
* struct ol_tx_sched_wrr_ac_specs_t - the wrr ac specs params structure
* @wrr_skip_weight: map to ol_tx_sched_wrr_adv_category_info_t.specs.
* wrr_skip_weight
* @credit_threshold: map to ol_tx_sched_wrr_adv_category_info_t.specs.
* credit_threshold
* @send_limit: map to ol_tx_sched_wrr_adv_category_info_t.specs.
* send_limit
* @credit_reserve: map to ol_tx_sched_wrr_adv_category_info_t.specs.
* credit_reserve
* @discard_weight: map to ol_tx_sched_wrr_adv_category_info_t.specs.
* discard_weight
*
* This structure is for wrr ac specs params set from user, it will update
* its content corresponding to the ol_tx_sched_wrr_adv_category_info_t.specs.
*/
struct ol_tx_sched_wrr_ac_specs_t {
int wrr_skip_weight;
uint32_t credit_threshold;
uint16_t send_limit;
int credit_reserve;
int discard_weight;
};
/**
* struct txrx_pdev_cfg_param_t - configuration information
* passed to the data path
@@ -231,6 +257,8 @@ struct txrx_pdev_cfg_param_t {
/* Start queue offset in percentage */
uint32_t tx_flow_start_queue_offset;
#endif
struct ol_tx_sched_wrr_ac_specs_t ac_specs[TX_WMM_AC_NUM];
};
/**