Commit Graph

48 Commits

Author SHA1 Message Date
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
Nitesh Shah
6bc3f98983 qcacmn: Avoid race condition while modifying connection list
In case of STA-AP case, new thread is created to call the func
policy_mgr_check_sta_ap_concurrent_ch_intf() that calls
policy_mgr_get_pcl_for_existing_conn() that modifies
pm_conc_connection_list table. The mc_thread calls
policy_mgr_get_valid_chan_weights() that also modifies
pm_conc_connection_list table. But the race condition is
created that mess up the pm_conc_connection_list table.

This race condition also leads to the scenario where the STA
connection to the AP is not updated properly . This shall lead
to the improper PCL update for a STA+SAP concurrency and thus
the channel switch fails.

The fix is to protect the whole sequence of the function
policy_mgr_check_sta_ap_concurrent_ch_intf() with mutex to avoid
race condition.

Change-Id: Ibb6d804afa70ef45d99e7ec9fc7fecc4993c7621
CRs-Fixed: 2047765
2017-05-26 19:20:46 -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
Tushnim Bhattacharyya
9647e35f73 qcacmn: Filter PCL with NOL
Filter the PCL with NOL before providing to the requester to avoid
including radar channels in PCL.

Change-Id: I915572f6653a6c9c98cb525c03570543cfc86e12
CRs-Fixed: 2009818
2017-05-01 13:45:13 -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
Tushnim Bhattacharyya
590c40f63b qcacmn: Fix memory leak at policy manager initialization
Fix memory leak in policy manager init/deinit sequence.

Change-Id: I3c1728f2becb16b415f532acf657c7c29dc76122
CRs-Fixed: 2009818
2017-04-27 23:59:21 -07:00
Tushnim Bhattacharyya
fe5117036d qcacmn: Fix next action status in policy manager for SBS
The next action function to reflect the SBS capability in its status
correctly. If SBS is not supported the second connection should proceed,
without waiting for a HW mode change to SBS.

Change-Id: I99eee6c854c6a1605f1c5b7655773818811f19ea
CRs-Fixed: 2021512
2017-04-27 23:59:20 -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
ce237d682b qcacmn: Replace legacy regulatory APIs with new ones from host cmn
Get rid of legacy regulatory API references from policy manager
as the new ones are available now.

Change-Id: I48d41599d7faeb760b51ca5f0d7672e8484e7f91
CRs-Fixed: 2009818
2017-04-16 15:58:34 -07:00
Tushnim Bhattacharyya
9807d0cd8d qcacmn: Prune PCL to active channels only for P2P GO
Prune the PCL to have only active channels for P2P GO mode.
Change-Id: Ifade00b3ccfcecff16a49e9e9aa5e077d5f9629b
CRs-Fixed: 2029007
2017-04-11 11:04:15 -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
Tushnim Bhattacharyya
00ccf115f5 qcacmn: Add null check for legacy callback functions in policy manager
Add null check for callback functions registered from legacy modules
with policy manager.

Change-Id: I8a08870ea904f4e01a17f6a472bdd609df9c3c4c
CRs-Fixed: 2009818
2017-03-29 07:58:09 -07:00
Archana Ramachandran
878422fc9d qcacmn: Update legacy fixes in new policy manager component
Update legacy fixes in new policy manager component:
1. Avoid race condition to get pcl while stopping P2P GO
2. Add 160/80+80 MHz support for STA mode
3. Fix SBS is set to true by policy manager in SCC mode

Change-Id: I161ebe382915a6d9eefd6b4e3e2158ff14ad02c1
CRs-Fixed: 2009818
2017-03-28 22:42:30 -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
59cbe5c08e qcacmn: Add a legacy callback to get the type of non connected vdev
Add a legacy callback to get the type of a non connected vdev
needed by policy manager.

Change-Id: Id3622d5c808c8e0f3b24b257b5899f925dc36b1f
CRs-Fixed: 2009818
2017-03-24 17:52:52 -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
482d82bf14 qcacmn: Define utility functions of policy manager component Part 3
Define utility functions for policy manager component.

Change-Id: I2811b682f5b8e73ea6393dbe6db99a8f6ae077a1
CRs-Fixed: 2009818
2017-03-15 00:24:55 -07:00
Tushnim Bhattacharyya
9767070e33 qcacmn: Define utility functions of policy manager component Part 2
Define utility functions for policy manager component.

Change-Id: I080a4389504f6c3b0acb93fe9993da3ffd492f22
CRs-Fixed: 2009818
2017-03-15 00:24:54 -07:00
Tushnim Bhattacharyya
58a0b19632 qcacmn: Define utility functions of policy manager component Part 1
Define utility functions for policy manager component.

Change-Id: I78d48c6347e7f7d8ebebeaf85c807ba6b1b044e0
CRs-Fixed: 2009818
2017-03-15 00:24:53 -07:00
Tushnim Bhattacharyya
5ae4c436e6 qcacmn: Define DBS action functions of policy manager component
Define DBS & concurrency action functions for policy manager component.

Change-Id: I86cfb364e4753825ef650dc00a38d5226aa110ee
CRs-Fixed: 2009818
2017-03-15 00:24:52 -07:00
Tushnim Bhattacharyya
3ee7f1f818 qcacmn: Define core functions of policy manager component
Define core functions for policy manager component.

Change-Id: Ifc9bc2165065226757cd4aa379a205870b2a2174
CRs-Fixed: 2009818
2017-03-15 00:24:51 -07:00
Tushnim Bhattacharyya
181378a750 qcacmn: Preferred Channel List derivation logic
Define Preferred Channel List (PCL) derivation functions.

Change-Id: Ic3c64043c723c8d309be1a1d0abf7574d60d2184
CRs-Fixed: 2009818
2017-03-15 00:24:50 -07:00
Tushnim Bhattacharyya
3e06abdcab qcacmn: Map regulatory macros to legacy regulatory
Map regulatory macros used by policy manager to legacy APIs.

Change-Id: Ib1ab408094a02648ba9796619ab14d5800db1217
CRs-Fixed: 2009818
2017-03-14 16:10:15 -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
60958fd69a qcacmn: initialization of policy manager component
Initialization related function definitions for policy manager component.

Change-Id: I60122bac847c1cfbe8dba6aea8bbeb6391cf500b
CRs-Fixed: 2009818
2017-03-07 09:02:04 -08: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
Prakash Dhavali
1226de9d06 Merge commit '0219ae6' into wlan-cmn.driver.lnx.1.0-dev
Sync up wlan-cmn.driver.lnx.1.0-dev to CAF 5.0.0.160
from 5.0.0.149 release as baseline for subsequent win
and mcl convergence refactoring.

* commit '0219ae6': (554 commits)
  Release 5.0.0.160
  qcacld-3.0: Add wma handler for vdev delete and peer delete responses
  Release 5.0.0.159
  qcacld-3.0: Fix Compilation error on WLAN_FEATURE_11W disabled
  qcacld-3.0: Update channel width and center freq
  qcacld-3.0: Move sta state to not connected after try disconnect
  qcacld-3.0: Remove #ifdef FEATURE_WLAN_LFR from HDD
  qcacld-3.0: Remove RRM ie in Assoc Req based on AP capability
  qcacld-3.0: Fix fw statistics parsing on the host
  qcacld-3.0: Fix IPA-uc callback in NON-SMP system
  qcacld-3.0: SAP DFS-3 Feature support in DFS layer
  qcacld-3.0: SAP DFS-3 Feature support in WMA
  qcacld-3.0: correct phy_mode in hdd_chan_change_notify
  qcacld-3.0: move hif_bus_open to hif_open
  qcacld-3.0: Remove hif_claim_device
  qcacld-3.0: Remove epping context from cds
  qcacld-3.0: Enable Tx beamformee in SAP mode
  qcacld-3.0: Set the IMPS enable/disable based on INI
  qcacld-3.0: Fix memory leak in case of fw reset stats command
  qcacld-3.0: Use appropriate API to get total free descriptors
  ...
  qcacld-3.0: Enable athdiag debug support for SNOC devices
  qcacld-3.0: Remove support of power gating parameters
  qcacld-3.0: Add log in vos_mem_alloc if kzalloc takes more than 3 seconds

Change-Id: I903d2b6edfb715570daffbcfcdb46866f04737dc
CRs-Fixed: 688141
2016-03-01 09:14:32 -08:00
Prakash Dhavali
b0b838e6d5 Merge remote-tracking branch 'origin/caf/caf-wlan/master' into wlan-cmn.driver.lnx.1.0-dev
Sync-up wlan-cmn.driver.lnx.1.0-dev branch to caf master version
of host-common driver that is exactly same as qcacld-3.0 driver
version 5.0.0.149

* origin/caf/caf-wlan/master: (294 commits)
  qcacld-3.0: Lower the log level for unhandled Action frame logs
  qcacld-3.0: Add disconnect to the head of sme pending command list
  Release 5.0.0.149 QCACLD3 WLAN Driver
  qcacld-3.0: Enable emergency reaping for wmi pipe.
  qcacld-3.0: add retry logic if htc_issue_packets fails
  qcacld-3.0: Ignore HTT_T2H_MSG_TYPE_MGMT_TX_COMPL_IND from FW
  qcacld-3.0: Do not reserve mgmt descriptors
  qcacld-3.0: Use appropriate list API
  qcacld-3.0: Remove per vdev tx descriptor pool
  qcacld-3.0: Enable enahnced flow control
  qcacld-3.0: Add support for telescopic PNO
  ...
  Release 5.0.0.140
  ...
  Initial readme for WLAN Host Driver for iHelium

Change-Id: I36e7222946f442159390bd78a65ee5dc6876b582
CRs-Fixed: 688141
2016-02-25 23:45:07 -08:00