There are two implementation of WMI beacon template wmi cmd.
Remove redundant code by converging WMI beacon template
cmd implementation.
Change-Id: Icc9e1f5326c3197a7994ed10ea1ef6386edc7efd
CRs-Fixed: 2061681
Reduce log level in RSSI_BREACH_MONITOR_CONFIG_CMDID to avoid
excessive logging on console.
Change-Id: Ifcafbe64ac6c4c3fdc43abdf1822ebe0261de1b1
CRs-Fixed: 2061307
Added support for wmi_service_chan_load_info which is newly
added in wmi service bitmap.
Change-Id: I95905ac95c5305f8f84ec512ecf1859955704193
CRs-Fixed: 2057719
For Network Listen Offload and Perfered Network Offload, the fast scan
period is multiplied by scan_backoff_multiplier after max cycles have
occurred. Expose scan_backoff_multiplier to consumers of the WMI API,
so this parameter can be configured.
Change-Id: I478fb61cd096d3496205f4ff556e180dabf99b77
CRs-Fixed: 2035201
Fix to update same enum wmi_scan_event_type types in switch statement
of extract_vdev_scan_ev_param_tlv()
Change-Id: I4817e57f2a9f309581392faadc1640c05d7fcf2b
CRs-Fixed: 2049514
Regulatory component needs to listen to vdev messages in order to track
whether a master mode vdev is getting created or destroyed. It is also
used to kick-start the state machine. Also re-run the state machine when
user-space country code is set.
Change-Id: I5112396314a936f84dad2f0e07329f9cb237aa78
CRs-Fixed: 2048784
Add support to send 11d scan start and stop commands to FW and
process the 11d new country update event from FW.
Change-Id: I5c1588cfb5af672cdb5738784de1bd0b83bdbe77
CRs-Fixed: 2048784
pdev_id is required to get the pdev object from utf event. Extract
pdev_id from the seg info within utf event's data stream.
Change-Id: Id8d3263a7f33d234c7cb43c99a0a44f28df5724d
CRs-Fixed: 2055128
Recently, FW changes were implemented to support WMI resource config for
multi-radio. As part of this, the TBTT offset and SWBA events were modified
to support increase in the number of vdevs per SOC.
Brief description of the changes with respect to TBTT offset
------------------------------------------------------------
Converged FW will send extended TBTT offset event when the number of vdevs
configured is greater than 32 and will continue to send normal TBTT offset
event when the number of vdevs configured is less than 32. Legacy FW will
continue to send vdev map and tbttoffset list array as part of the TBTT
event.
Extraction API is added to extract the number of vdevs configured for both
legacy and converged FW. Number of vdevs is sent directly by the FW for
extended TBTT offset event but sent as vdev map for the normal TBTT offset
event. In order to handle normal TBTT offset event, extraction API for
normal TBTT event adds logic to convert vdev map into the number of vdevs
configured.
Extraction APIs are added to extract vdev id and tbttoffset information per
vdev that are configured. The vdev id information is sent as vdev map and
tbttoffset list as an array for normal TBTT event and as an array of
structures containing vdev id and tbttoffset in the case of extended TBTT
event. In order to support normal TBTT event based on num vdevs, extraction
API for normal TBTT eventadds logic to determine the vdev id from vdev map
based on the index(running through 1 to total number of vdevs) passed from
the driver.
Brief description of the changes with respect to SWBA
-----------------------------------------------------
Converged FW will send additional information num vdevs and vdev id
embedded in tim info and p2p noa TLVs for SWBA event. Legacy FW will
continue to send vdev map and array of tim info and p2p noa desciptors.
Extraction APIs is added to extract the number of vdevs configured for both
legacy and converged FW. Number of vdevs is sent directly by the FW for
SWBA event in the case of converged FW and as a vdev map in the legacy FW.
In order to handle legacy FW, extraction API for non-TLV adds logic
to convert vdev map into number of vdevs configured.
Extraction APIs are modified to extract newly embedded vdev id information
in tim info and p2p noa descriptors. The vdev id information is sent as
vdev map for legacy. In order to handle legacy FW, extraction API for
non-TLV adds logic to determing the vdev id from vdev map based on the
index (running through 1 to total number of vdevs) passed from the driver.
Change-Id: Ibf84adbb1c526321ec031d5539aff66dcbd1315b
CRs-Fixed: 2053628
Program the DMA ring configuration to firmware using
WMI_OEM_DMA_RING_CFG_REQ_CMDID.
Change-Id: I99e5b3a369d7eeee1d1fe41782285ed54cdb82cf
CRs-Fixed: 2053958
The WMI API exposes the broadcast hardware filter. Modify the WMI API
to expose all of the supported modes of the hardware filter.
Change-Id: I185b149f4d1ad38692d8ff5810acd52bf84565b2
CRs-Fixed: 2040419
Add PMO changes to configure and clear default packet filters
over suspend and resume
Change-Id: I1f3fab170d2669865da8ba09673df6ec8e755b31
CRs-Fixed: 2034458
Changes added to support multiradio feature.
Included pdev_id and/or vdev_id in required ATF specific WMI data
structures. All ATF commands will be sent with pdev_id and/or vdev_id.
Change-Id: I723a9a6e4a67a417d4aa2b392285dc4afa590a21
CRs-Fixed: 2052786
Currently we are dereferencing hw caps without validation which
may cause kernel panic.
Add changes to validate hw caps before dereferencing.
Change-Id: I642dd4c0db872c4cf3bdff7e5fbccbacc82f307d
CRs-Fixed: 2049122
pdev_id in FW starts from one. Zero is reserved for Soc. But host uses
pdev_id starting from zero. Make WMI changes to take care of this
difference and always provide and accept pdev_id starting from zero at
WMI. Use 0xFF for SoC on host.
Change-Id: I49f481e54bbaeea9359753bc7d3da9092fc9559a
CRs-Fixed: 2045125
For dynamic master channel list, compute per pdev current channel
list as well. Provide API for user to register callback to be called
whenever current channel list for a pdev changes.
CRs-Fixed: 2012415
Change-Id: Ie86a719306178a1c3579c2b534a52a12ec3e0b1d
TLV header is incorrectly set for coex config command due to wrong
TLV length passed to the set TLV header API.
Fix issue by setting TLV header passing correct TLV length.
Change-Id: Ica3e2468d26bdaed26cade048f4d440c067ad929
CRs-Fixed: 2037499
1. Add multi radio support for thermal throttling
2. Add TLV WMI support for thermal throttling
Change-Id: I2cdbf9a4acdd9346c0fe3dd24c510885cc8fef8e
CRs-Fixed: 2041264
Add support in utils layer to extract pdev id from vdev id using object
manager APIs.
Use the API to extract pdev id from vdev id received through the
chan info event handler for lithium based chipsets.
CRs-Fixed: 2043869
Change-Id: Ibf1f1f91d505d53219ca9a2f5d94beb8553edfe3
Update enums in WMI service enums that got introduced in the latest
FW headers.
Change-Id: I46f70ff5eb41aee15f8cac784cc85201a3362fca
CRs-Fixed: 2045146
When a new master channel list is created, populate master chan list to all
pdevs. Do not make any assumption on availability of pdevs. Make other
stability and initialization fixes. Also add extra fields to data
structures.
Change-Id: I0a59c41e9425435f6069807a3c5de0b389d8fa5e
CRs-Fixed: 2002892
Antenna gain is per regulatory structure. However we need it in
per channel during transmission. Firmware sends antenna gain per
regulatory rule. Host copies it to per channel structure.
Change-Id: Ia163f46facec03ccd450994acbeb28d1e9f2a111
CRs-Fixed: 2002892
WMI_PDEV_SEND_BCN_CMDID WMI is used to send Beacon from host.
Implement this API for TLV target to send beacon from host
when beacon offload is disabled.
Change-Id: I0b01fb4be349d032622a43a43224680946ecfcd3
CRs-Fixed: 2038176
Add support in WMI layer to configure coex config command for
lithium based chipsets
CRs-Fixed: 2037499
Change-Id: Ib83407524bd3b5cdad28f73a6ccc36d4a0271779
WDS peer event is not supported on lithium based targets. Remove the
population of WDS peer event in TLV.
Change-Id: Ie31e543eb7be40787ab19afec7830178807190ac
CRs-Fixed: 2035040
Requirement is to get CCA from frmware when connection fails due to
assoc/auth/probe response timeout. These are common changes to get
CCA from firmware.
Change-Id: I062343ed065d7b0c38b9e3b24ecfa9851b9b1537
CRs-Fixed: 2031843
Host support for Static and Dynamic chain mask selection.
parse new TLVs from ext service ready,copy tables to
wlan_objmgr_soc object.
CRs-Fixed: 2016643.
Change-Id: Ia4735eb4c7774c381df01f56696e8c86fc6c56ab
Enable WMI_ROAM_SCAN_MODE_FLAG_REPORT_STATUS flag so that firmware
sends status for the Roam Scan Offload[RSO] STOP command.
Change-Id: I2758103e8ca3c49c0fecd3323b619542dbbabf0c
CRs-Fixed: 1111809
Make the following TLV WMI layer changes related to 160/80+80 MHz
functionality:
- While forming the VDEV start/restart command, if the request from
the upper layer indicates the dfs_set_cfreq2 flag, then enable the
WMI_CHAN_FLAG_DFS_CFREQ2 channel flag. This is needed in order to
enable radar event reporting for the secondary 80 MHz segment.
Make this change only in the WIN specific implementation of
copy_channel_info(). If required for MCL, to be handled separately.
- Move the 'peer_bw_rxnss_override' member in
'struct peer_assoc_params' to outside the '#ifndef CONFIG_MCL'
section so that it is available both on MCL and WIN. Since
in MCL code peer_assoc_params is initialized to all zeros and
peer_bw_rxnss_override is not set anywhere later, this should
have no side effects.
- While forming the PEER assoc completion command, populate the
peer_bw_rxnss_override field as per the corresponding parameter
sent by the upper layer. This is required for providing override
values of Rx NSS for bandwidths higher than 80 MHz.
Testing:
- Tested on QCA8074 that the WMI_CHAN_FLAG_DFS_CFREQ2 channel flag
is being set in the VDEV start command if the secondary 80 MHz
lies on DFS channels (tried VHT160 and VHT80_80)
- Tested on QCA8074 AP and STA that the peer_bw_rxnss_override
value is being set in the PEER assoc completion command to
indicate Rx NSS value 2, when NSS value 4 is used for <=80 MHz
(tried VHT160 and VHT80_80). Also tested ping.
Change-Id: Ic45d80567eeed3707f76e513f772ce4da71d6ee0
CRs-Fixed: 2022037
Update correct format specifiers in ll_stats_get_req. req_id is an
unsigned integer, use %u instead of %d.
Change-Id: I06a1b571954dcf7392e41901bda51aeea99731de
CRs-Fixed: 2018087
Handle failure scenario for qdf_nbuf_map() API by freeing
allocated memory, returning failure/error etc.
Change-Id: I493fb063c8f57e38525e2dc1701a6e972d2ec0e6
CRs-Fixed: 2028524
Extraction APIs for few WMI events were implemented, for which the
TLV event ids need to be populated.
Populate TLV event ids for the following events -
WMI_PDEV_CHANNEL_HOPPING_EVENTID
WMI_PDEV_TPC_EVENTID
WMI_WDS_PEER_EVENTID
WMI_PEER_STA_PS_STATECHG_EVENTID
WMI_INST_RSSI_STATS_EVENTID
Change-Id: I3defb120b9bd5a2fa3fdad1b84d201727c0b3f30
CRs-Fixed: 1115239
Converged FW has few left-over WIN specfic WMI CMDs that need to be
implemented in TLV method.
WMI CMDs implemented through this change -
WMI_PDEV_SET_QUIET_MODE_CMDID
WMI_PEER_MCAST_GROUP_CMDID
WMI_VDEV_SPECTRAL_SCAN_CONFIGURE_CMDID
WMI_VDEV_SPECTRAL_SCAN_ENABLE_CMDID
WMI_PEER_BWF_REQUEST_CMDID
WMI_PDEV_QVIT_CMDID
WMI_PDEV_SET_WMM_PARAMS_CMDID
Change-Id: Ia2ae3d2e56608fd4c51754ae2c78f2b9912d7172
CRs-Fixed: 1115239
Fix the population of tx power. Also fix the WMI TLV processing
for regulatory channel list event. Also make sure correct
range enums are calculated for pdev range.
Change-Id: Iec9559c0ab4b2b5e52d0b0a3eb4a0e8d038dc791
CRs-Fixed: 2002892