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

Commit 445e8204 authored by Linux Build Service Account's avatar Linux Build Service Account
Browse files

Merge d0f8b3fe on remote branch

Change-Id: I498278c75cab4f732820d55ce64f88a2eb4b4326
parents bc1a92d0 d0f8b3fe
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -1483,6 +1483,9 @@ static QDF_STATUS dp_rx_defrag(struct dp_peer *peer, unsigned tid,
	struct dp_soc *soc = vdev->pdev->soc;
	uint8_t status = 0;

	if (!cur)
		return QDF_STATUS_E_DEFRAG_ERROR;

	hdr_space = dp_rx_defrag_hdrsize(soc, cur);
	index = hal_rx_msdu_is_wlan_mcast(cur) ?
		dp_sec_mcast : dp_sec_ucast;
@@ -1853,9 +1856,11 @@ dp_rx_defrag_store_fragment(struct dp_soc *soc,
	 * If the earlier sequence was dropped, this will be the fresh start.
	 * Else, continue with next fragment in a given sequence
	 */
	qdf_spin_lock_bh(&rx_tid->tid_lock);
	status = dp_rx_defrag_fraglist_insert(peer, tid, &rx_reorder_array_elem->head,
			&rx_reorder_array_elem->tail, frag,
			&all_frag_present);
	qdf_spin_unlock_bh(&rx_tid->tid_lock);

	/*
	 * Currently, we can have only 6 MSDUs per-MPDU, if the current
@@ -1909,6 +1914,7 @@ dp_rx_defrag_store_fragment(struct dp_soc *soc,
		  "All fragments received for sequence: %d", rxseq);

	/* Process the fragments */
	qdf_spin_lock_bh(&rx_tid->tid_lock);
	status = dp_rx_defrag(peer, tid, rx_reorder_array_elem->head,
		rx_reorder_array_elem->tail);
	if (QDF_IS_STATUS_ERROR(status)) {
@@ -1927,12 +1933,14 @@ dp_rx_defrag_store_fragment(struct dp_soc *soc,
					"%s: Failed to return link desc",
					__func__);
		dp_rx_defrag_cleanup(peer, tid);
		qdf_spin_unlock_bh(&rx_tid->tid_lock);
		goto end;
	}

	/* Re-inject the fragments back to REO for further processing */
	status = dp_rx_defrag_reo_reinject(peer, tid,
			rx_reorder_array_elem->head);
	qdf_spin_unlock_bh(&rx_tid->tid_lock);
	if (QDF_IS_STATUS_SUCCESS(status)) {
		rx_reorder_array_elem->head = NULL;
		rx_reorder_array_elem->tail = NULL;
+32 −0
Original line number Diff line number Diff line
@@ -8640,6 +8640,34 @@ enum qca_wlan_twt_setup_state {
 * This parameter is used for
 * 1. TWT SET Request and Response
 * 2. TWT GET Response
 *
 * @QCA_WLAN_VENDOR_ATTR_TWT_SETUP_BCAST_ID: Optional (u8)
 * This attribute is used to configure Broadcast TWT ID.
 * The Broadcast TWT ID indicates a specific Broadcast TWT for which the
 * transmitting STA is providing TWT parameters. The allowed values are 0 to 31.
 * This parameter is used for
 * 1. TWT SET Request
 * 2. TWT TERMINATE Request
 *
 * @QCA_WLAN_VENDOR_ATTR_TWT_SETUP_BCAST_RECOMMENDATION: Optional (u8)
 * This attribute is used to configure Broadcast TWT recommendation.
 * The Broadcast TWT Recommendation subfield contains a value that indicates
 * recommendations on the types of frames that are transmitted by TWT
 * scheduled STAs and scheduling AP during the broadcast TWT SP.
 * The allowed values are 0 - 3.
 * This parameter is used for
 * 1. TWT SET Request
 *
 * @QCA_WLAN_VENDOR_ATTR_TWT_SETUP_BCAST_PERSISTENCE: Optional (u8)
 * This attribute is used to configure Broadcast TWT Persistence.
 * The Broadcast TWT Persistence subfield indicates the number of
 * TBTTs during which the Broadcast TWT SPs corresponding to this
 * broadcast TWT Parameter set are present. The number of beacon intervals
 * during which the Broadcast TWT SPs are present is equal to the value in the
 * Broadcast TWT Persistence subfield plus 1 except that the value 255
 * indicates that the Broadcast TWT SPs are present until explicitly terminated.
 * This parameter is used for
 * 1. TWT SET Request
 */
enum qca_wlan_vendor_attr_twt_setup {
	QCA_WLAN_VENDOR_ATTR_TWT_SETUP_INVALID = 0,
@@ -8669,6 +8697,10 @@ enum qca_wlan_vendor_attr_twt_setup {
	QCA_WLAN_VENDOR_ATTR_TWT_SETUP_STATE = 20,
	QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_INTVL2_MANTISSA = 21,

	QCA_WLAN_VENDOR_ATTR_TWT_SETUP_BCAST_ID = 22,
	QCA_WLAN_VENDOR_ATTR_TWT_SETUP_BCAST_RECOMMENDATION = 23,
	QCA_WLAN_VENDOR_ATTR_TWT_SETUP_BCAST_PERSISTENCE = 24,

	/* keep last */
	QCA_WLAN_VENDOR_ATTR_TWT_SETUP_AFTER_LAST,
	QCA_WLAN_VENDOR_ATTR_TWT_SETUP_MAX =
+2 −0
Original line number Diff line number Diff line
@@ -302,6 +302,7 @@ struct extscan_def_config {
 * @skip_dfs_chan_in_p2p_search: Skip DFS channels in p2p search.
 * @use_wake_lock_in_user_scan: if wake lock will be acquired during user scan
 * @active_dwell_2g: default active dwell time for 2G channels, if it's not zero
 * @min_dwell_time_6g: default min dwell time for 6G channels
 * @active_dwell_6g: default active dwell time for 6G channels
 * @passive_dwell_6g: default passive dwell time for 6G channels
 * @active_dwell_time_6g_conc: default concurrent active dwell time for 6G
@@ -391,6 +392,7 @@ struct scan_default_params {
	bool skip_dfs_chan_in_p2p_search;
	bool use_wake_lock_in_user_scan;
	uint32_t active_dwell_2g;
	uint32_t min_dwell_time_6g;
	uint32_t active_dwell_6g;
	uint32_t passive_dwell_6g;
	uint32_t active_dwell_time_6g_conc;
+37 −3
Original line number Diff line number Diff line
@@ -179,6 +179,32 @@ enum scan_mode_6ghz {
		0, 10000, PLATFORM_VALUE(80, 0),\
		CFG_VALUE_OR_DEFAULT, "active dwell time for 2G channels")

/*
 * <ini>
 * min_channel_time_6g - Set min dwell time for 6G channels scan
 * @Min: 5
 * @Max: 60
 * @Default: 25
 *
 * This ini is used to set minimum time in msecs spent in 6G channels scan.
 * Firmware will park on the 6G channel for this duration and if no FILS
 * discovery, Beacon, Probe resp is received it will move to new channel after
 * this duration. If found , it will wait for "active_max_channel_time_6g"
 * duration
 *
 * Related: active_max_channel_time_6g
 *
 * Supported Feature: Scan
 *
 * Usage: External
 *
 * </ini>
 */
 #define CFG_MIN_6G_CHANNEL_TIME CFG_INI_UINT(\
		"min_dwell_time_6g",\
		5, 60, 25,\
		CFG_VALUE_OR_DEFAULT, "min dwell time for 6G channels")

/*
 * <ini>
 * active_max_channel_time_6g - Set max time for active 6G channel scan
@@ -191,6 +217,8 @@ enum scan_mode_6ghz {
 *
 * Related: None
 *
 * Supported Feature: Scan
 *
 * Usage: External
 *
 * </ini>
@@ -198,7 +226,7 @@ enum scan_mode_6ghz {
#define CFG_ACTIVE_MAX_6G_CHANNEL_TIME CFG_INI_UINT(\
		"active_max_channel_time_6g",\
		0, 10000, 40,\
		CFG_VALUE_OR_DEFAULT, "active dwell time for 6G channels")
		CFG_VALUE_OR_DEFAULT, "max active dwell time for 6G channels")

/*
 * <ini>
@@ -209,9 +237,10 @@ enum scan_mode_6ghz {
 *
 * This ini is used to set maximum time in msecs spent in passive 6G chan scan
 *
 *
 * Related: None
 *
 * Supported Feature: Scan
 *
 * Usage: External
 *
 * </ini>
@@ -219,7 +248,7 @@ enum scan_mode_6ghz {
#define CFG_PASSIVE_MAX_6G_CHANNEL_TIME CFG_INI_UINT(\
		"passive_max_channel_time_6g",\
		0, 10000, 30,\
		CFG_VALUE_OR_DEFAULT, "passive dwell time for 6G channels")
		CFG_VALUE_OR_DEFAULT, "max passive dwell time for 6G channels")

/*
 * <ini>
@@ -234,6 +263,8 @@ enum scan_mode_6ghz {
 *
 * Related: None
 *
 * Supported Feature: Scan
 *
 * Usage: External
 *
 * </ini>
@@ -256,6 +287,8 @@ enum scan_mode_6ghz {
 *
 * Related: None
 *
 * Supported Feature: Scan
 *
 * Usage: External
 *
 * </ini>
@@ -1389,6 +1422,7 @@ enum scan_mode_6ghz {
	CFG(CFG_INITIAL_NO_DFS_SCAN) \
	CFG(CFG_ACTIVE_MAX_2G_CHANNEL_TIME) \
	CFG(CFG_PASSIVE_MAX_CHANNEL_TIME) \
	CFG(CFG_MIN_6G_CHANNEL_TIME) \
	CFG(CFG_ACTIVE_MAX_6G_CHANNEL_TIME) \
	CFG(CFG_PASSIVE_MAX_6G_CHANNEL_TIME) \
	CFG(CFG_ACTIVE_MAX_6G_CHANNEL_TIME_CONC) \
+2 −0
Original line number Diff line number Diff line
@@ -892,6 +892,7 @@ enum scan_request_type {
 * @dwell_time_active: active dwell time
 * @dwell_time_active_2g: active dwell time for 2G channels, if it's not zero
 * @dwell_time_passive: passive dwell time
 * @min_dwell_time_6g: 6Ghz min dwell time
 * @dwell_time_active_6g: 6Ghz active dwell time
 * @dwell_time_passive_6g: 6Ghz passive dwell time
 * @min_rest_time: min rest time
@@ -977,6 +978,7 @@ struct scan_req_params {
	uint32_t dwell_time_active;
	uint32_t dwell_time_active_2g;
	uint32_t dwell_time_passive;
	uint32_t min_dwell_time_6g;
	uint32_t dwell_time_active_6g;
	uint32_t dwell_time_passive_6g;
	uint32_t min_rest_time;
Loading