qcacmn: Support for RF path selection

Includes changes:
1. Save frequency values from EXT and EXT2 events to psoc object
- wireless_modes, low/high 2 GHz chan and low/high 5 GHz chan from EXT event
- wireless_modes_ext, similar frequency range fields with _ext from EXT2
event. Frequency range fields with _ext are non-zero when a radio supports
overlapping frequency. Eg.Radio that supports 5 GHz full and 5 GHz high band will
have low/high 5 GHz fields populated with primary band values in EXT event and
low/high 5 GHz fields are populated in EXT2 event with secondary band
values. These values are stored in tgt info for later use.
2. Modify regulatory APIs to get and set the wireless modes in reg
component
3. Retrieve frequency fields from EXT2 event

Change-Id: I49ebcc7ee7b26bd115f37abc8cb5b6fa5a415eda
CRs-Fixed: 3576551
This commit is contained in:
Manoj Ekbote
2023-08-07 21:07:32 -07:00
zatwierdzone przez Rahul Choudhary
rodzic d1d1770bd9
commit b9322f12bd
10 zmienionych plików z 187 dodań i 16 usunięć

Wyświetl plik

@@ -115,6 +115,8 @@
#define WLAN_PDEV_FEXT_WIFI_RADAR_ENABLE 0x00000200
/* Scan blanking support enabled.valid only for scan radio supported pdevs */
#define WLAN_PDEV_FEXT_SCAN_BLANKING_EN 0x00000400
/* Overlapping frequency support */
#define WLAN_PDEV_FEXT_OVERLAPPING_FREQ 0x00000800
/* PDEV op flags */
/* Enable htrate for wep and tkip */

Wyświetl plik

@@ -470,10 +470,18 @@ struct wlan_psoc_host_hal_reg_capabilities_ext {
* from service ready ext2 event.
* @phy_id: phy id starts with 0
* @wireless_modes_ext: REGDMN MODE, see REGDMN_MODE_ enum
* @low_2ghz_chan_ext: 2 GHz channel low
* @high_2ghz_chan_ext: 2 GHz channel High
* @low_5ghz_chan_ext: 5 GHz channel low
* @high_5ghz_chan_ext: 5 GHz channel High
*/
struct wlan_psoc_host_hal_reg_capabilities_ext2 {
uint32_t phy_id;
uint64_t wireless_modes_ext;
uint32_t low_2ghz_chan_ext;
uint32_t high_2ghz_chan_ext;
uint32_t low_5ghz_chan_ext;
uint32_t high_5ghz_chan_ext;
};
/*