Extract/Save the Hw mode ID and Mac0 band info
to hw mode list.
This helps to identify the 2x2 5G + 1x1 2G and
2x2 2G + 1x1 5G.
Change-Id: I0682337b1a80c1b502c3307e0847aaa99479d2d3
CRs-Fixed: 2256152
The driver stops the oppurtunitistic timer for DBS, when
the start AP requests come, which results in HW mode stuck
in DBS if the next vdev start request comes on the same MAC
This further results in NSS = 1 for the MAC, hence throughput
decreases.
Fix is to set hw mode to single MAC in case the STA/SAP comes up
in the band/channel
Change-Id: I8ec4282c78594ee7e133a1e7768fa230bb2e8180
CRs-Fixed: 2273443
Add support for Short Range Devices 25 mW max power
channels in ETSI regulatory domain.
Add Short Range Devices 25 mW max power channels only
if DSRC feature is disabled.
Provide service apis to check SRD and DSRC channels.
Change-Id: Ib2a1d7cf191d07319cb29038ad60130f5cbe7f16
CRs-Fixed: 2264790
Standalone SAP is not allowed on lte-coex channel if STA+SAP SCC
enabled on lte-coex channel. So move the SAP to a safe channel
once STA disconnected.
Change-Id: I00682f5bbb3da772e3e26ccd8d08183be28cc9ec
CRs-Fixed: 2265263
Standalone SAP is not allowed on DFS channel if STA+SAP SCC enabled
on DFS channel. So move the SAP to a non DFS channel as soon as STA
gets disconnect.
CRs-Fixed: 2269249
Change-Id: I27d018739f53997641a7113cfc7c844e02bd7e29
Add enum QDF_MCC_TO_SCC_WITH_PREFERRED_BAND(6) for this.
If ini gWlanMccToSccSwitchMode is selected to
QDF_MCC_TO_SCC_WITH_PREFERRED_BAND(6) then following will be the
behaviour of STA+SAP concurrency.
1. If second interface(SAP/STA) comes in same band as
first interface(STA/SAP) respectively then force SCC
irrespective of channel.
2. If second interface(SAP/STA) comes in other band as
first interface(STA/SAP) then dont force SCC allow
interband MCC or DBS based on DBS capability.
Allow interband MCC but not intraband MCC.
Change-Id: I91d41b4b0306ed4e362b5bcab9538f5fd5feea7d
CRs-Fixed: 2260677
If STA+SAP is doing SCC & g_sta_sap_scc_on_lte_coex_chan is set,
don't move SAP to a different channel when LTE channel avoidance
event comes.
Change-Id: I3dfdbb6d59769a8ff9b3b2e6d828feee94630569
CRs-Fixed: 2268993
On STA connection, mode change event is sent to
userspace after association is completed. This causes
delay in processing of M1 frame at supplicant due to
latency associated with nl80211_get_wiphy_index
function as part of processing mode change vendor event.
Fix is to send mode change event for STA after key
is added.
Change-Id: Id403bfdd26ed3a47449ba3f2967f4b4322ad5da6
CRs-Fixed: 2260483
When sta+sap scc enabled on dfs channel then SAP cannot operate on
DFS channel in standalone mode. If STA+SAP are operating in SCC mode
on a DFS channel and STA gets disconnected from reference AP then driver
schedules a workqueue to move the SAP from DFS channel to user configured
channel. At this time if STA again connects to reference AP within few ms
then driver again schedules one more workqueue to move the SAP to STA's
channel. Sometimes the second workqueue may fail to switch the channel
if first one is not yet completed. So added event variable to schedule
second workqueue only when first one is complete.
CRs-Fixed: 2267005
Change-Id: Ia6ce4b6264c35f6d2c809e2a3f65f535e930874e
If MCC to SCC switch is enabled, SAP is active and CSA
received for STA interface, then ignore the CSA if channel
is DFS/disabled.
CRs-Fixed: 2263037
Change-Id: I98b8d957766358ea86cc9f50339725cf4bf0038b
When STA's join req times out on current BSS, SME issues next BSS
internally without checking HW mode for new channel
For example, STA tries to connect SSID="abc",
BSSID="a1:a2:a3:a4:a5:a6", channel=36 and lets say it fails. It
should try few more times to same BSSID and after that it will try
next bss. Lets say next BSS it found has, SSID="abc",
BSSID="b1:b2:b3:b4:b5:b6", channel=1 then it needs to check whether
hardware mode change is required for channel=1. If driver fails in
checking hardware mode then following check will prevent the bad
situation.
CRs-Fixed: 2261129
Change-Id: Ie31ac5b8b90c6e63122148647ad333fccfbf9dbf
Allow the SAP to move from DFS channel to another DFS channel in
STA+SAP SCC concurrency scenario.
CRs-Fixed: 2263031
Change-Id: I3d1f5e57415ed39a30125d4565bb768926dff4c9
In some use cases of QDF_ARRAY_SIZE macro, the argument passing
to it is a pointer instead of array which leads to getting
incorrect array size.
Current implementation of updating main arrays pcl_list_org and
weight_list_org is inefficient. So, update the main arrays directly,
instead of copying the data to local arrays and again updating the
main arrays.
Change-Id: I9a4a7fa813412fd000ce55d2a958e49ab1b02ed5
CRs-Fixed: 2262231
Currently, PCL list is populated without checking channel select logic
ini. Check for channel select logic ini before selecting the second
connection pcl table.
Change-Id: I5a64d4ff43a7dcc2c70eac75b51d5f87de2903bb
CRs-FIxed: 2237403
If STA is already connected on DFS channel and SAP is going to start
on the same channel then skip the CAC for SAP.
If STA and SAP sessions are already operating on same DFS channel,
then ignore radar indication received on SAP interface.
CRs-Fixed: 2262494
Change-Id: Ife0ab6979a07c8773001a43f5a30c9a555dab37a
When Force SCC and STA+SAP SCC on LTE coex channel are enabled:
1. When STA on LTE coex channel, start SAP, select STA
channel.
2. When SAP on, connect STA on LTE coex channel, then switch
SAP channel to STA channel.
Change-Id: I7864e0ab2655c3bee95154ea4dedfb60fe8689e4
CRs-Fixed: 2261226
Restrict the force SCC logic for STA+SAP only unless ini is set for
QDF_MCC_TO_SCC_SWITCH_FORCE_PREFERRED_WITHOUT_DISCONNECTION.
Change-Id: If2c4c285b92ea5eba69679561c32875cff5f7b08
CRs-Fixed: 2261717
Current lithim_dp flow pool created in wma_vdev_start, wma_vdev_start
is called for same vdev multiple times for vdev. This leads to creation
of multiple flow pools for each vdev. Instead create from policy_manager
when session become active.
Register flow pool create/delete callbacks with policy manager.
So that lithium_dp vdev flow pools are created/deleted when vdev
become active/not-active.
Change-Id: Iaf6aaece47c79c7e6f7745feaee35a6bc5cd1297
CRs-Fixed: 2231601
Check capability of dbs, mcc and scc on single band when enable
AP+AP, then same driver code can support different chip and
firmware.
Add wmi_service_dual_beacon_on_single_mac_(mcc/scc)_support
Change-Id: I505747122504b2a89813e7bdfcd27dc07539f39e
CRs-Fixed: 2214237
While calling sme_pdev_set_pcl() API, driver is passing the argument
by value. The size of the argument is 280 bytes which is not good
design.
Pass the argument by reference instead of passing it by value to make
design simple.
CRs-Fixed: 2238293
Change-Id: I92849fb125fe864c1c7c7977bce392a7bcfe4121
Previously change "qcacmn: Use enum QDF_OPMODE", Change-Id
Ic6f663dac11a100f168b2626c7c0fbcaccbfca4f, replaced all instances of
tQDF_ADAPTER_MODE to QDF_OPMODE in the qca-wifi-host-cmn
project. However since tQDF_ADAPTER_MODE was originally defined in a
common project, and not all references to it could be immediately
removed, a legacy definition was left with the expectation that it
would be removed when all references to it had been
updated. Unfortunately new instances of using tQDF_ADAPTER_MODE have
been subsequently added to the project, so replace them with
QDF_OPMODE.
Change-Id: I71cead84151cc0411f7cc5cc13a87a281e7502c0
CRs-Fixed: 2245249
Use channel and vdev_id array while calling
policy_mgr_get_mode_specific_conn_info.
Change-Id: I64579e2b1af0eca47af5292d456367d059a461f5
CRs-Fixed: 2238386
Remove duplicate structs wmi_dual_mac_config and sir_dual_mac_config
and use policy_mgr_dual_mac_config.
Change-Id: I6da6539f519ec46ee274ba3f3ae042e5fd9c25d2
CRs-Fixed: 2191031
Few variables are left uninitialized and they are being used
with some random value.
Fix by initializing to default value.
CRs-Fixed: 2232791
Change-Id: I3351cae52c58e963601d53376f42ca8ebf0d3b9a
Add API to get NAPI instance from NAPI ID. Handle to NAPI is required
for Rx processing via GRO.
Change-Id: I15535827a03953231670d4138235c4876b16e045
CRs-Fixed: 2062180
Issue is under AP-AP MCC config, mcc event is not sent from wlan
to IPA driver. mcc mode is decided with the help of connection
table. But for AP mode, mcc mode is checked and updated before
connection table is updated by adding the SAP vdev entry.
Fix is to make ipa mcc mode check and notification when connection
table is updated.
Change-Id: I1ba3fcb874b014f05cebd8af90530b9aa54980a2
CRs-Fixed: 2214351
When DBS is disabled in WLAN INI file(e.g. on some platforms
where RM chipset is attached), the policy manager will keep
posting a verbose message saying 'DBS is disabled from ini'.
This isn't exhibiting much useful information, and may cause
watchdog bark when SnS stress is running.
Suppress the verbose log by lowering it's debug level.
Change-Id: Ie8d5a1784940f483cc671da43f734851c0b5adb6
CRs-Fixed: 2214201
Add ENABLE_DBS_CXN_AND_DISABLE_DBS_SCAN option for the ini
gDualMacFeatureDisable. To enable DBS support for the
connection and disable DBS support for the scan.
Change-Id: I05c613467195fffac98e79b7e4a2991471ac1d80
CRs-Fixed: 2207820
Remove redundant DBS HW mode request from
pm_next_action_two_connection_dbs_2x2_table. For 2x2 DBS HW even for first
connection if it is on 2.4G, DBS will get requested. Hence no need to
request again for second connection on the other band.
Change-Id: I17db8de5ed7a60f556cc8eeed59bbbfe0d63e795
CRs-Fixed: 2199420
Add support for HW mode info vendor command which sends
mac id, band, interface id and frequency information for
each MAC provided by driver to userspace.
Change-Id: If1112d29b8781cf5ba0480c84feeb772142f2c0e
CRs-Fixed: 2185559
Set hw mode to DBS or single MAC for STA+STA and STA+P2P
concurrencies based on channel_select_logic_conc ini.
Change-Id: I46ba4d5cd8f5cda71d0c00be2b612bc851eb5ba4
CRs-Fixed: 2189848
Add ini to select DBS or inter-band MCC channel selection logic
for STA+STA and STA+P2P connections.
Change-Id: I7cfde9592ec210b0a8c812171d2bc6f005e17fb2
CRs-Fixed: 2189845
If force SCC is enabled and there is a STA connection, trim the
ACS channel list on the band on which STA connection is present.
Change-Id: Ibd580a7afdcdfc5fb4398ada547565e229d59c70
CRs-Fixed: 2193720
When start sap+sap with acs concurrently, the first sap usually
choose dfs channel, the second sap will be failed to start.
when check multiple beaconing sessions it only checks in_use sap for
pm_conc_connection_lis which means bss started sap while it has no
started sap at that time, so the second sap can't follow the first sap's
dfs channel and start failed according to current code flow.
Fix is to use no_of_open_sessions to check multiple beaconing sessions.
CRs-Fixed: 2170567
Change-Id: Iada737dffcd826aaff3873b81355018d53485948
For the AP+AP SCC LTE-Coex case, when channel avoidance event
is reported, the channel switch request for SAP will be blocked
by policy manager if the target channel is different with the
operating channel of the existing SAP due to the SCC policy.
Need to update the logic to give higher priority to the channel
avoidance request.
Change-Id: Ie42bab50c1fa92e4e8df9f1b0ce8b8f4f09551b5
CRs-Fixed: 2176250
While populating preferred channel list array, length
has not been checked against QDF_MAX_NUM_CHAN which
is size of PCL.
Fix it by checking indices and length against QDF_MAX_NUM_CHAN
CRs-Fixed: 2169424
Change-Id: I8c4d050bfc7040fba052eb42b32a91302a0a0ecb
Current opportunistic timer chooses session id as 0 up on expiry
which creates the issue when session id 0 doesn't exist.
Fix the situation by dynamically choosing existing session id to
complete the action.
CRs-Fixed: 2166667
Change-Id: I2e1da2ba0078381a5e91decd32d32b8ad77cec19