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

Commit 02216642 authored by Kiran Kumar Lokere's avatar Kiran Kumar Lokere Committed by Akash Patel
Browse files

qcacld-3.0: Remove the cb_mode usage in channel bonding

Remove the CB mode usage in channel bonding since the center
center frequency is calculated using channel width and channel
number.

Change-Id: Ie9685a833750bf3b69cce40c5d9587fb9b232047
CRs-Fixed: 962174
parent dad871f5
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1094,5 +1094,7 @@ int32_t cds_get_country_from_alpha2(uint8_t *alpha2);
void cds_fill_send_ctl_info_to_fw(struct regulatory *reg, uint32_t modesAvail,
				  uint32_t modeSelect);
void cds_set_wma_dfs_region(struct regulatory *reg);
void cds_set_ch_params(uint8_t ch, uint32_t phy_mode,
		chan_params_t *ch_params);

#endif /* REGULATORY_H */
+24 −0
Original line number Diff line number Diff line
@@ -1458,3 +1458,27 @@ CDF_STATUS cds_set_reg_domain(void *client_ctxt, v_REGDOMAIN_t reg_domain)

	return CDF_STATUS_SUCCESS;
}

/**
 * cds_set_ch_params() - set channel parameters
 * @ch: channel
 * @phy_mode: physical mode
 * @ch_param: channel parameters will be returned
 *
 * Return: None
 */
void cds_set_ch_params(uint8_t ch, uint32_t phy_mode,
		chan_params_t *ch_params)
{
	tHalHandle *hal_ctx = cds_get_context(CDF_MODULE_ID_PE);
	if (!hal_ctx) {
		CDF_TRACE(CDF_MODULE_ID_CDF, CDF_TRACE_LEVEL_ERROR,
			("Invalid hal_ctx pointer"));
		return;
	}
	/*
	 * TODO: remove SME call and move the SME set channel
	 * param functionality to CDS.
	 */
	sme_set_ch_params(hal_ctx, phy_mode, ch, 0, ch_params);
}
+33 −3
Original line number Diff line number Diff line
@@ -287,6 +287,36 @@ struct rrm_config_param {
	uint8_t max_randn_interval;
	uint8_t rm_capability[RMENABLEDCAP_MAX_LEN];
};
/**
 * typedef ch_width - channel width
 * @CH_WIDTH_20MHZ: channel width 20 MHz
 * @CH_WIDTH_40MHZ: channel width 40 MHz
 * @CH_WIDTH_80MHZ: channel width 80MHz
 * @CH_WIDTH_160MHZ: channel width 160 MHz
 * @CH_WIDTH_80P80MHZ: channel width 160MHz(80+80)
 */
typedef enum ch_width {
	CH_WIDTH_20MHZ = 0,
	CH_WIDTH_40MHZ = 1,
	CH_WIDTH_80MHZ = 2,
	CH_WIDTH_160MHZ = 3,
	CH_WIDTH_80P80MHZ = 4
} phy_ch_width;

/**
 * struct ch_params_s
 *
 * @ch_width: channel width
 * @sec_ch_offset: secondary channel offset
 * @center_freq_seg0: center freq for segment 0
 * @center_freq_seg1: center freq for segment 1
 */
typedef struct ch_params_s {
	enum ch_width ch_width;
	uint8_t sec_ch_offset;
	uint8_t center_freq_seg0;
	uint8_t center_freq_seg1;
} chan_params_t;

/* each station added has a rate mode which specifies the sta attributes */
typedef enum eStaRateMode {
@@ -3790,8 +3820,8 @@ typedef struct sSirChanChangeRequest {
	uint16_t messageType;
	uint16_t messageLen;
	uint8_t targetChannel;
	uint8_t cbMode;
	uint8_t channel_width;
	uint8_t sec_ch_offset;
	phy_ch_width ch_width;
	uint8_t center_freq_seg_0;
	uint8_t center_freq_seg_1;
	uint8_t bssid[CDF_MAC_ADDR_SIZE];
@@ -3872,7 +3902,7 @@ typedef struct sSirDfsCsaIeRequest {
	uint8_t targetChannel;
	uint8_t csaIeRequired;
	uint8_t bssid[CDF_MAC_ADDR_SIZE];
	uint8_t ch_bandwidth;
	struct ch_params_s ch_params;
} tSirDfsCsaIeRequest, *tpSirDfsCsaIeRequest;

/* Indication from lower layer indicating the completion of first beacon send
+1 −1
Original line number Diff line number Diff line
@@ -71,7 +71,7 @@ typedef enum {
	PHY_CHANNEL_BONDING_STATE_MAX = 11
} ePhyChanBondState;

#define MAX_BONDED_CHANNELS 4
#define MAX_BONDED_CHANNELS 8

typedef enum {
	MCC = 0,
+1 −0
Original line number Diff line number Diff line
@@ -512,6 +512,7 @@ typedef struct sLimChannelSwitchInfo {
	uint8_t primaryChannel;
	uint8_t ch_center_freq_seg0;
	uint8_t ch_center_freq_seg1;
	uint8_t sec_ch_offset;
	phy_ch_width ch_width;
	int8_t switchCount;
	uint32_t switchTimeoutValue;
Loading