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

Commit 07b12946 authored by Maheswara Sarma's avatar Maheswara Sarma
Browse files

Revert "qcacld-3.0: revert Disable TX_AGGREGATION_SIZE ini for HSP"

This reverts commit I54541cd282eda6606e75fa347989624a0e0fef01.

Change-Id: If21f225e87ca5b968f782e56904b796249c349bc
parent 1a1ca8f3
Loading
Loading
Loading
Loading
+20 −2
Original line number Diff line number Diff line
@@ -752,7 +752,8 @@ static void mlme_init_ht_cap_in_cfg(struct wlan_objmgr_psoc *psoc,
		cfg_get(psoc, CFG_SHORT_SLOT_TIME_ENABLED);
}

static void mlme_init_qos_cfg(struct wlan_objmgr_psoc *psoc,
#ifdef TX_AGGREGATION_SIZE_ENABLE
static void mlme_init_tx_aggregation_size(struct wlan_objmgr_psoc *psoc,
					  struct wlan_mlme_qos *qos_aggr_params)
{
	qos_aggr_params->tx_aggregation_size =
@@ -765,6 +766,23 @@ static void mlme_init_qos_cfg(struct wlan_objmgr_psoc *psoc,
				cfg_get(psoc, CFG_TX_AGGREGATION_SIZEVI);
	qos_aggr_params->tx_aggregation_size_vo =
				cfg_get(psoc, CFG_TX_AGGREGATION_SIZEVO);
}
#else
static void mlme_init_tx_aggregation_size(struct wlan_objmgr_psoc *psoc,
					  struct wlan_mlme_qos *qos_aggr_params)
{
	qos_aggr_params->tx_aggregation_size = 0;
	qos_aggr_params->tx_aggregation_size_be = 0;
	qos_aggr_params->tx_aggregation_size_bk = 0;
	qos_aggr_params->tx_aggregation_size_vi = 0;
	qos_aggr_params->tx_aggregation_size_vo = 0;
}
#endif

static void mlme_init_qos_cfg(struct wlan_objmgr_psoc *psoc,
			      struct wlan_mlme_qos *qos_aggr_params)
{
	mlme_init_tx_aggregation_size(psoc, qos_aggr_params);
	qos_aggr_params->rx_aggregation_size =
				cfg_get(psoc, CFG_RX_AGGREGATION_SIZE);
	qos_aggr_params->tx_aggr_sw_retry_threshold_be =
+13 −5
Original line number Diff line number Diff line
@@ -26,11 +26,13 @@

#if defined(QCA_WIFI_QCA6290) || defined(QCA_WIFI_QCA6390) || \
	defined(QCA_WIFI_QCA6490) || defined(QCA_WIFI_QCA6750)

#define ADDBA_TXAGGR_SIZE 256
#else
#define ADDBA_TXAGGR_SIZE 64
#endif

#ifdef TX_AGGREGATION_SIZE_ENABLE
/*
 * <ini>
 * gTxAggregationSize - Gives an option to configure Tx aggregation size
@@ -170,6 +172,16 @@
			CFG_VALUE_OR_DEFAULT, \
			"Tx Aggregation size value for VO")

#define CFG_QOS_TX_AGGREGATION \
	CFG(CFG_TX_AGGREGATION_SIZE) \
	CFG(CFG_TX_AGGREGATION_SIZEBE) \
	CFG(CFG_TX_AGGREGATION_SIZEBK) \
	CFG(CFG_TX_AGGREGATION_SIZEVI) \
	CFG(CFG_TX_AGGREGATION_SIZEVO)
#else
#define CFG_QOS_TX_AGGREGATION
#endif

/*
 * <ini>
 * gRxAggregationSize - Gives an option to configure Rx aggregation size
@@ -525,12 +537,8 @@
			"Enable UAPSD for SAP")

#define CFG_QOS_ALL \
	CFG_QOS_TX_AGGREGATION \
	CFG(CFG_SAP_MAX_INACTIVITY_OVERRIDE) \
	CFG(CFG_TX_AGGREGATION_SIZE) \
	CFG(CFG_TX_AGGREGATION_SIZEBE) \
	CFG(CFG_TX_AGGREGATION_SIZEBK) \
	CFG(CFG_TX_AGGREGATION_SIZEVI) \
	CFG(CFG_TX_AGGREGATION_SIZEVO) \
	CFG(CFG_RX_AGGREGATION_SIZE) \
	CFG(CFG_TX_AGGR_SW_RETRY_BE) \
	CFG(CFG_TX_AGGR_SW_RETRY_BK) \
+3 −0
Original line number Diff line number Diff line
CONFIG_TX_AGGREGATION_SIZE_ENABLE := y

CONFIG_HANDLE_RX_REROUTE_ERR := y

ifeq ($(CONFIG_CNSS_QCA6290), y)
@@ -50,6 +52,7 @@ ifeq ($(CONFIG_CNSS_QCA6490), y)
	CONFIG_GENERIC_SHADOW_REGISTER_ACCESS_ENABLE :=y
	CONFIG_WLAN_TWT_SAP_STA_COUNT := y
	CONFIG_WLAN_TWT_SAP_PDEV_COUNT := y
	CONFIG_TX_AGGREGATION_SIZE_ENABLE := n
	CONFIG_DUMP_REO_QUEUE_INFO_IN_DDR :=y
endif

+54 −0
Original line number Diff line number Diff line
@@ -7646,6 +7646,7 @@ static int hdd_config_access_policy(struct hdd_adapter *adapter,
	return qdf_status_to_os_return(status);
}
#ifdef TX_AGGREGATION_SIZE_ENABLE
static int hdd_config_mpdu_aggregation(struct hdd_adapter *adapter,
				       struct nlattr *tb[])
{
@@ -7723,6 +7724,59 @@ static int hdd_config_msdu_aggregation(struct hdd_adapter *adapter,
	return qdf_status_to_os_return(status);
}
#else
static int hdd_config_mpdu_aggregation(struct hdd_adapter *adapter,
				       struct nlattr *tb[])
{
	struct nlattr *rx_attr =
		tb[QCA_WLAN_VENDOR_ATTR_CONFIG_RX_MPDU_AGGREGATION];
	uint8_t rx_size;
	QDF_STATUS status;
	if (!rx_attr)
		return 0;
	rx_size = nla_get_u8(rx_attr);
	if (!cfg_in_range(CFG_RX_AGGREGATION_SIZE, rx_size)) {
		hdd_err("RX %d MPDU aggr size not in range",
			rx_size);
		return -EINVAL;
	}
	status = wma_set_tx_rx_aggr_size(adapter->vdev_id,
					 0,
					 rx_size,
					 WMI_VDEV_CUSTOM_AGGR_TYPE_AMPDU);
	return qdf_status_to_os_return(status);
}
static int hdd_config_msdu_aggregation(struct hdd_adapter *adapter,
				       struct nlattr *tb[])
{
	struct nlattr *rx_attr =
		tb[QCA_WLAN_VENDOR_ATTR_CONFIG_RX_MSDU_AGGREGATION];
	uint8_t rx_size;
	QDF_STATUS status;
	if (!rx_attr)
		return 0;
	rx_size = nla_get_u8(rx_attr);
	if (!cfg_in_range(CFG_RX_AGGREGATION_SIZE, rx_size)) {
		hdd_err("RX %d MPDU aggr size not in range",
			rx_size);
		return -EINVAL;
	}
	status = wma_set_tx_rx_aggr_size(adapter->vdev_id,
					 0,
					 rx_size,
					 WMI_VDEV_CUSTOM_AGGR_TYPE_AMSDU);
	return qdf_status_to_os_return(status);
}
#endif
static QDF_STATUS
hdd_populate_vdev_chains(struct wlan_mlme_nss_chains *nss_chains_cfg,
+5 −1
Original line number Diff line number Diff line
@@ -4029,6 +4029,9 @@ QDF_STATUS wma_set_tx_rx_aggr_size(uint8_t vdev_id,
	/* bit 2 (aggr_type): TX Aggregation Type (0=A-MPDU, 1=A-MSDU) */
	if (aggr_type == WMI_VDEV_CUSTOM_AGGR_TYPE_AMSDU)
		cmd->enable_bitmap |= 0x04;
	/* bit 3 (tx_aggr_size_disable):  If set tx_aggr_size is invalid */
	if (rx_size == 0)
		cmd->enable_bitmap |= (0x1 << 3);

	cmd->enable_bitmap |= (0x1 << 6);

@@ -4092,6 +4095,7 @@ QDF_STATUS wma_set_tx_rx_aggr_size_per_ac(WMA_HANDLE handle,
		cmd->rx_aggr_size = qos_aggr->rx_aggregation_size;
		cmd->tx_aggr_size = tx_aggr_size[queue_num];
		/* bit 5: tx_ac_enable, if set, ac bitmap is valid. */
		if (cmd->rx_aggr_size != 0)
			cmd->enable_bitmap = 0x20 | queue_num;
		/* bit 2 (aggr_type): TX Aggregation Type (0=A-MPDU, 1=A-MSDU) */
		if (aggr_type == WMI_VDEV_CUSTOM_AGGR_TYPE_AMSDU)