Commit Graph

39 Commits

Author SHA1 Message Date
Ganesh Kondabattini
2a8c7b0c6d qcacmn: Refactor the code to update the conc_system_pref
Refactor the code to dynamically change the conc_system_pref.
Whenever user changes conc_system_pref from application,
driver is overwriting the conc_system_pref which is getting
populated from ini file. Once it is overwritten there is no way
to get the configured value for this setting. So add a new
variable to hold the value of conc_system_pref without disturbing
default value read from ini file.

CRs-Fixed: 2082073
Change-Id: Icfb245c7a8872885332ec222780c911d08521d46
2017-09-25 13:21:42 -07:00
Ganesh Kondabattini
6c0554aac7 qcacmn: Initialize SAP mandatory chan list
Initialize SAP mandatory chan list.

Change-Id: I126d67da1bfe8426cd3a7b031e97aba907e6155a
CRs-Fixed: 2089122
2017-09-15 11:19:59 -07:00
Tushnim Bhattacharyya
c5348955ec qcacmn: Fix logic to force SCC in SAP+STA concurrency
If SAP is up & STA is coming up next(or vice versa) on a different
channel causing MCC, move SAP to cause SCC or DBS. This logic is
enabled only if gWlanMccToSccSwitchMode is set to
QDF_MCC_TO_SCC_SWITCH_FORCE_WITHOUT_DISCONNECTION or
QDF_MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNEL.

Change-Id: I16615d828a285762133ee3533339320ef119b3d3
CRs-Fixed: 2063060
2017-09-02 04:19:15 -07:00
Tushnim Bhattacharyya
5e026735cb qcacmn: Add logic to force SCC in SAP+STA concurrency with ACS
If STA is up & SAP is comings up on a ACS derived channel causing MCC,
move SAP to the other band if DBS is supported. This logic is enabled
only if gWlanMccToSccSwitchMode is set to
QDF_MCC_TO_SCC_SWITCH_FORCE_WITHOUT_DISCONNECTION.

Change-Id: I48d809f83921292f51ca1735bff4c4d6dd339975
CRs-Fixed: 2063060
2017-09-02 04:19:09 -07:00
Tushnim Bhattacharyya
a2c3b62a86 qcacmn: Add logic to force SCC in SAP+STA concurrency - Part 2
If STA is up on a a DFS or passive or LTE unsafe channel & SAP is
comings up that causes MCC, move SAP to the other band if DBS
is supported. This logic is enabled only if gWlanMccToSccSwitchMode
is set to QDF_MCC_TO_SCC_SWITCH_FORCE_WITHOUT_DISCONNECTION.

Change-Id: I5d393a21301f3fa838f7cf38620fb1d57ae1d57a
CRs-Fixed: 2063060
2017-09-02 04:19:06 -07:00
Tushnim Bhattacharyya
08a833946d qcacmn: Add logic to force SCC in SAP+STA concurrency
If SAP is up & STA comes up or moves to a DFS or passive or LTE
unsafe channel that causes MCC, move SAP to the other band if DBS
is supported. This logic is enabled only if gWlanMccToSccSwitchMode
is non zero.

Change-Id: I56f78dfaedec31c4c41aea6ac8c66261c9ad4c91
CRs-Fixed: 2063060
2017-09-02 04:19:03 -07:00
Tushnim Bhattacharyya
05328bb022 qcacmn: Save the unsafe channels in policy manager
Save the list of unsafe channels in policy manager to be used on PCL.

Change-Id: Ibb705830e878d1cc03dfbc76e49c169d2febd75d
CRs-Fixed: 2095290
2017-08-29 20:56:02 -07:00
Tushnim Bhattacharyya
ecc6e108b1 qcacmn: Expand the use of gDualMacFeatureDisable INI
Few OEMs want DBS to be disabled for connections while
keeping DBS scan enabled.
Few OEMs want advance DBS scan features to be disabled.
Provide different value to gDualMacFeatureDisable INI item
to achive the goal.

Change-Id: Iddf5df23575a2f907bb8dbd0c37e03ff4ebbdea8
CRs-Fixed: 2068779
2017-08-22 08:40:53 -07:00
bings
ffe5ca51ed qcacmn: Fix connection information deleting and restoring
Currently only one connection information corresponding to the
provided mode is deleted and restored, which causes channel
selecting failure in DFS testing with AP+AP concurrency mode.
When radar is found in AP+AP concurrency mode, a new valid channel
should be selected. Before selecting the channel, all existing
connection information of SAP mode should be deleted, otherwise
no valid channel can be selected.

All the connection information corresponding to the provided mode
should be deleted and restored.

Change-Id: Id363dbb2c31485fefcd6915696060923063079bb
CRs-Fixed: 2079597
2017-08-16 03:27:29 -07:00
Nitesh Shah
c26d3bdbb3 qcacmn: Validate mode and vdev while decrementing session
The function policy_mgr_decr_active_session() decrements mode
and then remove the session from the pm_conn_connection_info
table after validating vdev.

This change adds a check to validate if the session is present
with specific mode and vdev_id, and then decrement the session.
If not present, then return without doing any change.

Change-Id: If53d7fc9356b2c3bb72b22b228103389396910ce
CRs-Fixed: 2057599
2017-06-15 03:55:01 -07:00
Tushnim Bhattacharyya
ee5e70ec85 qcacmn: Restart SAP with CSA/ECSA when gWlanMccToSccSwitchMod=3
Restart SAP with CSA/ECSA when ini variable gWlanMccToSccSwitchMod=3.
Currently ini variable setting gWlanMccToSccSwitchMod=2 was
causing SAP to restart with CSA.
Change-Id: I9a4b68cd154fa63325d146510832c2410f2dc244
CRs-Fixed: 2058567
2017-06-14 03:21:22 -07:00
Krunal Soni
2ff84bd4de Revert "qcacmn: Provide Rx LDPC support for 2G STA"
This reverts change-id: Ib0183fea06619056c61e297d3fcfd82d91775dcd.

CRs-Fixed: 2046542
Change-Id: I558d2d78683133fbd8ab97260aa484a997bd3e7e
2017-06-12 12:41:42 -07:00
Nitesh Shah
df19983a64 qcacmn: Provide Rx LDPC support for 2G STA
Currently Rx LDPC is disabled for STA(2G) connection due to
PHY-B hardware limitation. PHY-A can still support RxLDPC, so
make changes such a way that when ever STA is on 2G band and
current hardware mode is non-dbs then enable the Rx LDPC and if
STA is on 2G band and current hardware mode is dbs then disable the
RX LDPC.

Change-Id: Ib0183fea06619056c61e297d3fcfd82d91775dcd
CRs-Fixed: 2046542
2017-06-08 11:34:40 -07:00
Ajit Pal Singh
c0af3e87c6 qcacmn: Add vdev-mlme caps MASK for restrict_offchannel
Adds new vdev-mlme caps mask WLAN_VDEV_C_RESTRICT_OFFCHAN for
tracking restrict offchannel setting.
When this bit is set any operations which can cause the AP/GO
to leave the operating channel are avoided.

Also reads vdev-mlme caps:WLAN_VDEV_C_RESTRICT_OFFCHAN in function
policy_mgr_is_dnsc_set() to determine if Do_Not_Switch_Channel
is enabled.
Moves declaration of policy_mgr_is_dnsc_set() to
wlan_policy_mgr_api.h so that it can be used outside of policy manager.

Change-Id: I53013af5f4c72917f862630e63333951ec75ce8c
CRs-Fixed: 2050999
2017-06-05 11:41:36 -07:00
Vikrampal
7e4d4c2699 qcacmn: Handle multiple H/w DBS modes
Host handling enhanced in case of F/w advertising multiple DBS H/w modes

Change-Id: I90dfd9360df60be126dbfa8add30d38aeb6f7bf1
CRs-Fixed: 2048301
2017-05-26 06:20:28 -07:00
Kabilan Kannan
5125d0f518 qcacmn: Fix TDLS set state cmd sequence for roaming
Firmware expects TDLS set state cmd before vdev stop, but
the cmd is going out of sequence during roaming and induce
crash in the system.
Send the TDLS set state cmd with correct sequence.

Change-Id: Ie106b8a8cebaa7f107c9eff67dda924b231162da
CRs-Fixed: 2048036
2017-05-17 21:07:33 -07:00
Tushnim Bhattacharyya
6fb01f70f4 qcacmn: Move the lock initialization to module open for policy manager
Move the lock initialization to module open from module enable for policy
manager.

Change-Id: I44716537dcb3f559c1c27401bb579239c98a9f02
CRs-Fixed: 2009818
2017-05-09 19:05:45 -07:00
Nitesh Shah
3ab43844f0 qcacmn: Get channel properly from conc_connection_list table
The channel information is obtained from the conc_connetion_list
table using the index equal to the session_id. But the session in
conc_connection_list table is not kept in the increasing order of
session_id. Thus, the wrong channel information can be obtained.

Thus, the fix is to obtain the channel information from the
conc_connection_list table corresponding to the index whose
vdev_id matches the session_id.

Change-Id: If289ea7c0567b892dba495b878540f9cb5df5668
CRs-Fixed: 2039474
2017-05-05 04:31:29 -07:00
Vikrampal
31eb12c1b2 qcacmn: Modify H/w DBS cap check and fetch NSS
Modify API policy_mgr_is_hw_dbs_2x2_capable() to check H/w DBS
capability and check if downgrading needed while entering DBS.

Define a new API policy_mgr_get_hw_dbs_nss() to get NSS
information of both MAC0 and MAC1.

Change-Id: If24817017f675e45197d060cd75317aa381256de
CRs-Fixed: 2037487
2017-04-30 18:20:38 +05:30
Ajit Pal Singh
c65575e543 qcacmn: Add API to check Do Not Break Stream eligibility
1) Adds new policy mgr API 'policy_mgr_is_chan_ok_for_dnbs' to check
if a channel is OK for "Do Not Break Stream".
It means that if Do_Not_Switch_Channel is set for AP/GO vdev,
the channel passed should be either the AP/GO channel or a channel
from the other band.
2) Adds a new function policy_mgr_get_mode_specific_conn_info() to get
the mode specific connection count.

Change-Id: I4da6f7d56d01b01761a5f3557b8acbb84226a6fd
CRs-Fixed: 2037302
2017-04-28 01:18:55 -07:00
Tushnim Bhattacharyya
d7655cae83 qcacmn: Add missing ini configurations to policy manager
Add missing ini configurations to be used in policy manager.

Change-Id: Id94c017f3c96ef0376028d124b11fd48ee24fe7e
CRs-Fixed: 2009818
2017-04-27 23:59:22 -07:00
Kabilan Kannan
c81d3750b0 qcacmn: Add sta connect/disconnect in TDLS UMAC component
Add sta connection and disconnection event related
methods into TDLS component

Change-Id: I1309792cf68df87b1ecf5a7686ac645ac21d1c7c
CRs-Fixed: 2034220
2017-04-20 00:04:49 -07:00
Tushnim Bhattacharyya
d187078c65 qcacmn: Fix checkpatch warning in policy manager component
Fix checkpatch warning in policy manager component.

Change-Id: Ibef1681f3dc8e17b0d1d7bcde0d7dbea5526eedf
CRs-Fixed: 2009818
2017-04-04 20:07:23 -07:00
Archana Ramachandran
658a48de2d qcacmn: Fix SME callback for policy manager component
Fix SME callback for policy manager component

Change-Id: If5c7256fb689e4cdb053aa5012deacac221261f9
CRs-Fixed: 2019994
2017-03-28 22:42:28 -07:00
Tushnim Bhattacharyya
68f709d4a0 qcacmn: Add 2x2 chain configuration in policy manager
Add 2x2 chain configuration in policy manager that is coming from
user space.

Change-Id: I8c9c54a1e63810327dc4252bc5320f34965ea4ca
CRs-Fixed: 2009818
2017-03-23 22:40:45 -07:00
Tushnim Bhattacharyya
7051ad0768 qcacmn: Fix DBS & HW mode configurations for policy manager
Fix DBS configuration & HW mode initialization for policy manager as
part of policy manager restructuring.

Change-Id: I0c0ef7797b3251454d86f5980c6e243985075216
CRs-Fixed: 2009818
2017-03-23 17:58:12 -07:00
Archana Ramachandran
6199b64eec qcacmn: Remove legacy dependency from Policy Manager Part 7
Remove legacy dependency from Policy Manager component Part 7

Change-Id: Ied83a92118b8ff2ff1a387a052033aaa97bfbbe0
CRs-Fixed: 2019994
2017-03-23 10:33:50 -07:00
Archana Ramachandran
631fd9f12b qcacmn: Policy manager component HDD callback changes
Policy manager component HDD callback changes

Change-Id: Ib2226a88b27abfff12104c8430245fe384978b9f
CRs-Fixed: 2019994
2017-03-23 02:35:39 -07:00
Archana Ramachandran
3d9b5cf89d qcacmn: Save user configurations in policy manager component
Update policy manager user configuration with INI parameters.

Change-Id: I2e13bec2a1e99c9aee9e66d3e90a1275cf87ccfa
CRs-Fixed: 2019994
2017-03-23 02:35:37 -07:00
Archana Ramachandran
544ce17b54 qcacmn: Remove legacy dependency from Policy Manager Part 6
Remove legacy dependency from Policy Manager component Part 6

Change-Id: I5136d82c2b30ba71df8c48165c4bc4b560aaee39
CRs-Fixed: 2019994
2017-03-18 15:31:18 -07:00
Archana Ramachandran
266613f3d9 qcacmn: Remove legacy dependency from Policy Manager Part 5
Remove legacy dependency from Policy Manager component Part 5

Change-Id: I942e376eea4b370af5d0cd882b0beaa58012c48f
CRs-Fixed: 2019994
2017-03-18 15:15:45 -07:00
Archana Ramachandran
107d378bcb qcacmn: Remove legacy dependency from Policy Manager Part 4
Remove legacy dependency from Policy Manager component Part 4

Change-Id: I9b96a03031c27b87c9e74a3df512f6032051bd85
CRs-Fixed: 2019994
2017-03-16 15:22:52 -07:00
Archana Ramachandran
0edce259a3 qcacmn: Remove legacy dependency from Policy Manager Part 3
Remove legacy dependency from Policy Manager component Part 3

Change-Id: I63f6330e0b4b172d8f78f3e93131e9fba3121f09
CRs-Fixed: 2019994
2017-03-16 15:22:51 -07:00
Archana Ramachandran
8e3ee3676f qcacmn: Remove legacy dependency from Policy Manager Part 2
Remove legacy dependency from Policy Manager component Part 2

Change-Id: I26216e9b7fa0f75f144b5d8ef88be31fcb4224b5
CRs-Fixed: 2019994
2017-03-16 09:16:44 -07:00
Archana Ramachandran
7abbf5680c qcacmn: Remove legacy dependency from Policy Manager Part 1
Remove legacy dependency from Policy Manager component Part 1

Change-Id: I87a44714c02ed37923ce4a4c4818d2aef8bc6e2f
CRs-Fixed: 2019994
2017-03-15 21:52:15 -07:00
Tushnim Bhattacharyya
ab48861007 qcacmn: Move PCL weight macros to api header file
Move PCL weight macros to API header file.

Change-Id: I3183dd8301cd971475d492791df89cd77af2943f
CRs-Fixed: 2009818
2017-03-15 00:24:56 -07:00
Tushnim Bhattacharyya
86af550319 qcacmn: Rename utility function in policy manager component
Rename utility function is_scan_simultaneous_capable in policy
manager component from wma.

Change-Id: I8f9ad162c491dca7b32290fd224fce40d192fd23
CRs-Fixed: 2009818
2017-03-13 17:30:19 -07:00
Tushnim Bhattacharyya
e9c1e42ffa qcacmn: Avoid new connection while HW mode change is issued
In the case of concurrency, when the session decrements, the
opportunistic timer is started. After a while, when the
opportunistic time is expired, and the hw mode change for SMM
is issued, and the same time new interface comes up, then the
new connection forms MCC with the existing connection instead
of forming DBS.
The change is to avoid the race condition to form MCC instead of
DBS.

Change-Id: I33ad8a76bdca2f17b09c0d2f072b46cba8d376f8
CRs-Fixed: 2009818
2017-03-13 13:22:11 -07:00
Tushnim Bhattacharyya
6a8f07ff7a qcacmn: restructure policy manager component
Initial changes to move policy manager to host common. Also
restructure the functionalities.

CRs-Fixed: 2009818
Change-Id: I163fe1f92be07dc4bc6380d889e26ce5d75e5671
2017-03-02 22:49:27 -08:00