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

Commit 810e76a2 authored by Linux Build Service Account's avatar Linux Build Service Account
Browse files

Merge 5d97da49 on remote branch

Change-Id: I40a8470d4cbde14dcfb7a2e91eba847416904a47
parents 049f256b 5d97da49
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
/*
 * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
 * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. 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
@@ -299,7 +300,6 @@ tgt_mc_cp_stats_prepare_raw_peer_rssi(struct wlan_objmgr_psoc *psoc,
	}

end:
	if (ev.peer_stats)
	get_peer_rssi_cb(&ev, last_req->cookie);

	ucfg_mc_cp_stats_free_stats_resources(&ev);
+13 −1
Original line number Diff line number Diff line
/*
 * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
 * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
 * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. 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
@@ -3221,4 +3221,16 @@ QDF_STATUS
wlan_mlme_get_tx_retry_multiplier(struct wlan_objmgr_psoc *psoc,
				  uint32_t *tx_retry_multiplier);

/**
 * wlan_mlme_get_channel_bonding_5ghz  - Get the channel bonding
 * val for 5ghz freq
 * @psoc: pointer to psoc object
 * @value: pointer to the value which will be filled for the caller
 *
 * Return: QDF Status
 */
QDF_STATUS
wlan_mlme_get_channel_bonding_5ghz(struct wlan_objmgr_psoc *psoc,
				   uint32_t *value);

#endif /* _WLAN_MLME_API_H_ */
+16 −0
Original line number Diff line number Diff line
@@ -4990,3 +4990,19 @@ wlan_mlme_get_tx_retry_multiplier(struct wlan_objmgr_psoc *psoc,
	*tx_retry_multiplier = mlme_obj->cfg.gen.tx_retry_multiplier;
	return QDF_STATUS_SUCCESS;
}

QDF_STATUS
wlan_mlme_get_channel_bonding_5ghz(struct wlan_objmgr_psoc *psoc,
				   uint32_t *value)
{
	struct wlan_mlme_psoc_ext_obj *mlme_obj;

	mlme_obj = mlme_get_psoc_ext_obj(psoc);
	if (!mlme_obj) {
		*value = cfg_default(CFG_CHANNEL_BONDING_MODE_5GHZ);
		return QDF_STATUS_E_INVAL;
	}

	*value = mlme_obj->cfg.feature_flags.channel_bonding_mode_5ghz;
	return QDF_STATUS_SUCCESS;
}
+1 −10
Original line number Diff line number Diff line
@@ -1642,16 +1642,7 @@ QDF_STATUS
ucfg_mlme_get_channel_bonding_5ghz(struct wlan_objmgr_psoc *psoc,
				   uint32_t *value)
{
	struct wlan_mlme_psoc_ext_obj *mlme_obj;

	mlme_obj = mlme_get_psoc_ext_obj(psoc);
	if (!mlme_obj) {
		*value = cfg_default(CFG_CHANNEL_BONDING_MODE_5GHZ);
		return QDF_STATUS_E_INVAL;
	}
	*value = mlme_obj->cfg.feature_flags.channel_bonding_mode_5ghz;

	return QDF_STATUS_SUCCESS;
	return wlan_mlme_get_channel_bonding_5ghz(psoc, value);
}

QDF_STATUS
+10 −8
Original line number Diff line number Diff line
/*
 * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
 * Copyright (c) 2022 Qualcomm Innovation Center, Inc. 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 above
@@ -737,10 +738,10 @@ dp_fisa_rx_delete_flow(struct dp_rx_fst *fisa_hdl,
	sw_ft_entry->is_flow_tcp = elem->is_tcp_flow;
	sw_ft_entry->is_flow_udp = elem->is_udp_flow;

	dp_rx_fisa_release_ft_lock(fisa_hdl, reo_id);

	fisa_hdl->add_flow_count++;
	fisa_hdl->del_flow_count++;

	dp_rx_fisa_release_ft_lock(fisa_hdl, reo_id);
}

/**
@@ -1645,7 +1646,6 @@ static int dp_add_nbuf_to_fisa_flow(struct dp_rx_fst *fisa_hdl,
	hal_soc_handle_t hal_soc_hdl = fisa_hdl->soc_hdl->hal_soc;
	uint32_t hal_aggr_count;
	uint8_t napi_id = QDF_NBUF_CB_RX_CTX_ID(nbuf);
	uint8_t reo_id = fisa_flow->napi_id;
	uint32_t fse_metadata;

	dump_tlvs(hal_soc_hdl, rx_tlv_hdr, QDF_TRACE_LEVEL_INFO_HIGH);
@@ -1653,6 +1653,7 @@ static int dp_add_nbuf_to_fisa_flow(struct dp_rx_fst *fisa_hdl,
		      nbuf, qdf_nbuf_next(nbuf), qdf_nbuf_data(nbuf), nbuf->len,
		      nbuf->data_len);

	dp_rx_fisa_acquire_ft_lock(fisa_hdl, napi_id);
	/* Packets of the flow are arriving on a different REO than
	 * the one configured.
	 */
@@ -1660,13 +1661,16 @@ static int dp_add_nbuf_to_fisa_flow(struct dp_rx_fst *fisa_hdl,
		fse_metadata =
			hal_rx_msdu_fse_metadata_get(hal_soc_hdl, rx_tlv_hdr);
		if (fisa_hdl->del_flow_count &&
		    fse_metadata != fisa_flow->metadata)
		    fse_metadata != fisa_flow->metadata) {
			dp_rx_fisa_release_ft_lock(fisa_hdl, napi_id);
			return FISA_AGGR_NOT_ELIGIBLE;
		}

		dp_err("REO id mismatch flow: %pK napi_id: %u nbuf: %pK reo_id: %u",
		       fisa_flow, fisa_flow->napi_id, nbuf, napi_id);
		DP_STATS_INC(fisa_hdl, reo_mismatch, 1);
		QDF_BUG(0);
		dp_rx_fisa_release_ft_lock(fisa_hdl, napi_id);
		return FISA_AGGR_NOT_ELIGIBLE;
	}

@@ -1678,8 +1682,6 @@ static int dp_add_nbuf_to_fisa_flow(struct dp_rx_fst *fisa_hdl,
	hal_aggr_count = hal_rx_get_fisa_flow_agg_count(hal_soc_hdl,
							rx_tlv_hdr);

	dp_rx_fisa_acquire_ft_lock(fisa_hdl, reo_id);

	if (!flow_aggr_cont) {
		/* Start of new aggregation for the flow
		 * Flush previous aggregates for this flow
@@ -1785,14 +1787,14 @@ static int dp_add_nbuf_to_fisa_flow(struct dp_rx_fst *fisa_hdl,
		dp_rx_fisa_aggr_tcp(fisa_hdl, fisa_flow, nbuf);
	}

	dp_rx_fisa_release_ft_lock(fisa_hdl, reo_id);
	dp_rx_fisa_release_ft_lock(fisa_hdl, napi_id);
	fisa_flow->last_accessed_ts = qdf_get_log_timestamp();

	return FISA_AGGR_DONE;

invalid_fisa_assist:
	/* Not eligible aggregation deliver frame without FISA */
	dp_rx_fisa_release_ft_lock(fisa_hdl, reo_id);
	dp_rx_fisa_release_ft_lock(fisa_hdl, napi_id);
	return FISA_AGGR_NOT_ELIGIBLE;
}

Loading