Commit graph

2,720 commits

Author SHA1 Message Date
Nitesh Shah
b79fb55f0e 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
Srinivas Pitla
3f943022bf qcacmn: Add Tx/Rx chainmask fields for vdev common object
This change adds new fields for maintaining Tx/Rx chainmasks in VDEV

Change-Id: Ia1ce3b16afd1e225d6f493db9ff7dda4e1027045
CRs-Fixed: 2022458
2017-05-05 02:22:48 -07:00
Srinivas Pitla
36a711f124 qcacmn: Fix code comments
Change-Id: I0f264c10ec956e40a4ba89e9492c84b5f46b8a8f
CRs-Fixed: 2022458
2017-05-05 02:22:47 -07:00
Padma Raghunathan
314a0f7786 qcacmn: MLME tx/rx ops for DA scan
- DA scan state machine is moved to LMAC from UMAC
 - Functionalities in UMAC required by LMAC scan are accessed through tx
   ops and rx ops framework
 - These functionalities are specific to DA, hence distinguished by
   having them in seperate mlme_ops structure instead of mixing with
   common scan_ops structure

FR 38661: UMAC Convergence: Direct Attach Separation

Change-Id: I5177f20d41b7c1788629bcf10d60e4ad9642e0a6
CRs-Fixed: 2037656
2017-05-05 00:27:22 -07:00
Ishank Jain
57c42a193c qcacmn: Add missing TxRx Datapath stats
1.Add QDF_TRACE_STATS for datapath stats to remove
  module prints.
2.Fix Stats indentation for better readability.
3.Add missing stats
  a. Update Packets on Rx side on per-ring basis.
  b. Add stats for features (TSO/SG/RAW/Mesh)
  c. Add packet type count on Rx.

Change-Id: Ief1719b67330f729ff60703ec2be26bc5e4201e9
CRs-Fixed: 2034876
2017-05-05 00:27:21 -07:00
Kabilan Kannan
56bfd8fdb3 qcacmn: Update address search flags for TDLS
Add support to set address search flags in WLAN Tx Descriptor
for TDLS operation

Change-Id: Iafb15fb1efd84a4bef436062368401a5496e4468
CRs-Fixed: 2041759
2017-05-05 00:27:20 -07:00
Houston Hoffman
14f621c934 qcacmn: Support QCA6290_DEVICE_ID (0x1100)
This is the official device id.  Emulation device id
still supported

Change-Id: I8383f1efa6f0627b4fdff1cf7a08cfa4a81ae95c
CRs-Fixed: 2042202
2017-05-04 12:19:14 -07:00
Pratik Gandhi
3da3bc731c qcacmn: Smart Mesh-NAC filtering in rx data path
Perform software based smart mesh filtering on rx packets indicated
as error packets with invalid peer. All such packets from NAC
sent to umac through monitor interface.

Change-Id: I8e4b40f74088bb8820d6ab6681756835e400d4ef
CRs-Fixed: 2017269
2017-05-04 01:40:28 -07:00
Venkata Sharath Chandra Manchala
918aefe25b qcacmn: Per ring - Per core statistics
Add ring_packets variable to collect packet count on rx
path. This stat variable is incremented on
per ring - per core basis.

Change-Id: If8b51a757b28c231a6444e6b7f2e336b8c0cdd8e
CRs-Fixed: 2035142
2017-05-03 11:00:45 -07:00
Krunal Soni
1880b6f8a6 qcacmn: Change init-deinit sequence of scheduler & call flush callback
Provide fix such a way that scheduler's initialization happens at the end after
all components' initialization gets done. Same-way scheduler's
deinitiazation happens very first before other component's deinit gets
started.

scheduler also need to call component's provided callback to notify
that component while flushing component's message queue.

CRs-Fixed: 2034772
Change-Id: I2c46bf9e68b93ecbc2ce9659d56de2887573411e
2017-05-03 03:06:33 -07:00
Krunal Soni
5899b0a3da qcacmn: Init remaining scheduler_msg on stack before posting msg
Initialize scheduler_msg on stack before posting using scheduler API
such that un-used fields in message structure are initialized to 0.

Change-Id: Ic62e745667c487fd8ea923c89abd6e1a76908bdf
CRs-Fixed: 2034772
2017-05-03 03:06:32 -07:00
Houston Hoffman
8bbc99066e qcacmn: Use hal io apis in SRNG_REG_WRITE
The register write apis for the srng rings pass the
srng structure as their context.  Add a pointer to
the hal to enable windowing.

Change-Id: Ib3bda2d49d5c2d327cc1b986dcf825a216a004ef
CRs-Fixed: 2032131
2017-05-02 20:06:43 -07:00
Houston Hoffman
61dad49aa3 qcacmn: Provide hal io apis to support register windowing
Use windowing for register read/write.  This allows
for pci based devices to reduce the mapped bar size.
Required for QCA6290.

Change-Id: Ifb173095c135e9eca454f2ba6132b5c54ea8fc4b
CRs-Fixed: 2032131
2017-05-02 20:06:41 -07:00
Houston Hoffman
284d5f66cb qcacmn: Introduce qdf apis for register io
Hif should not be used as an os abstraction layer for hal.

Change-Id: I50600229ad24414967347d71a637f75b30699dd7
CRs-Fixed: 2032131
2017-05-02 20:06:39 -07:00
Rajeev Kumar
62d6736a1c qcacmn: Rename vStatus to linux style variable name
In scheduler core message processor rename camel case variable name
vStatus to qdf_status.

Change-Id: I2b22915269aad9583ab4a360b92938df3d976c66
CRs-Fixed: 2037960
2017-05-02 20:06:38 -07:00
Rajeev Kumar
7fb1969017 qcacmn: Rename pMsgWrapper to linux style variable name
In scheduler core message processor rename camel case variable name
pMsgWrapper to msg_wrapper.

Change-Id: Ica6715d9b14a807fdabc2da302de6ead4509aef8
CRs-Fixed: 2037958
2017-05-02 20:06:36 -07:00
Manikandan Mohan
50ec704606 qcacmn: Update for check patch fixes
Fix for compilation errors after check patch fixes

Change-Id: Ib530d8d860440754f526ac93f5b12dbeab45b8aa
CRs-fixed: 2033001
2017-05-02 13:29:33 -07:00
Manikandan Mohan
e3e209e1fd qcacmn: Fix kernel module check patch warnings
Fix kernel module check patch warnings in Host Target Communication
module files

Change-Id: I151f597142d93a26e5e037cf7fce944f86fba72a
CRs-fixed: 2033001
2017-05-02 13:29:31 -07:00
Manikandan Mohan
e03493ddfb qcacmn: Fix kernel module check patch warnings in PLD files
Fix kernel module check patch warnings in PLD files

Change-Id: I076a9634077dbabd6979f1b79778a89b222e1afd
CRs-fixed: 2033001
2017-05-02 13:29:30 -07:00
Manikandan Mohan
bd0ef8a249 qcacmn: Fix kernel module check patch warnings in HIF files
Fix kernel module check patch warnings in HIF files

Change-Id: I3ddc76399004f15f325b56709e4f2e96bf4cda96
CRs-fixed: 2033001
2017-05-02 13:29:28 -07:00
Manikandan Mohan
af3fb2cbb0 qcacmn: Fix kernel module check patch warnings in HIF USB files
Fix kernel module check patch warnings in HIF USB files

Change-Id: Ia9a76aedcef83bb582e44fc76a486137bd22362b
CRs-fixed: 2033001
2017-05-02 13:29:27 -07:00
Manikandan Mohan
8e0313588d qcacmn: Fix kernel module check patch warnings in HIF Dispatcher files
Fix kernel module check patch warnings in HIF DISPATCHER files

Change-Id: Ice22f299c075f99eacc20c7acc10fe8040139f97
CRs-fixed: 2033001
2017-05-02 13:29:25 -07:00
Manikandan Mohan
c23f28e540 qcacmn: Fix kernel module check patch warnings in HIF PCI files
Fix kernel module check patch warnings in HIF PCI files

Change-Id: Id3bedc47c3b39666240a9aa0717d0f931f77ee63
CRs-fixed: 2033001
2017-05-02 13:29:24 -07:00
Manikandan Mohan
8cf38e004b qcacmn: Fix kernel module check patch warnings in HIF SNOC files
Fix kernel module check patch warnings in HIF SNOC files

Change-Id: I20f14f711ca00dfd9d59ee5edd0b3e2e32c90a11
CRs-fixed: 2033001
2017-05-02 13:29:23 -07:00
Manikandan Mohan
afd6e88b36 qcacmn: Fix kernel module check patch warnings in HIF CE files
Fix kernel module check patch warnings in HIF CE files

Change-Id: I5a0d22f8b139e76c33580fe9ef5b01736b2b5735
CRs-fixed: 2033001
2017-05-02 13:29:21 -07:00
Manikandan Mohan
a6d64a1dd6 qcacmn: Fix kernel module check patch warnings in hif sdio files
Fix kernel module check patch warnings in hif sdio files

Change-Id: Ieb1bac5061969538095fad8f0311029b3d3161f0
CRs-fixed: 2033001
2017-05-02 13:29:20 -07:00
Karunakar Dasineni
6622bf43fc qcacmn: Remove dependancy on lithium_top_reg.h
Change definitions of HOST_IE_ADDRESS and HOST_IE_ADDRESS_2 to remove
dependancy on lithium_top_reg.h, which was removed from latest fwcommon headers.

Change-Id: I7dada478ffd58bcf15b8336d7388f98f6522231b
2017-05-02 01:05:06 -07:00
Wu Gao
aef5a02620 qcacmn: Add API to cleanup roc request by vdev
It required to cleaup remain on channel request before changing adpter
type, add this API in P2P component. Handling scan dequeue event and
start failed event same as scan complete event.

Change-Id: Ie5926c954f4deff75fec53ae2c8f9762b576374e
CRs-Fixed: 2030079
2017-05-01 15:01:05 -07:00
Tushnim Bhattacharyya
87a234b5e9 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
Dustin Brown
1f271a1bd4 qcacmn: Hold a wakelock for management tx frames
Hold a timed wakelock whenever a management tx frame is sent, to
prevent issues around leaking descriptors or invalid access by firmware

Change-Id: If1a7ae69838791179b4a0365df3387146925509e
CRs-Fixed: 2033606
2017-05-01 12:26:13 -07:00
Krishna Kumaar Natarajan
7726378826 qcacmn: Update roaming candidate selection logic
Update roaming candidate selection logic to add weightage to 11ax
AP.

Change-Id: I7ae6702095d6da8e302e35577f5e4697b5e06d3a
CRs-Fixed: 2037840
2017-05-01 09:20:23 -07:00
Vikrampal
ceae5caddb 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
Abhijit Pradhan
b4ebf34ea2 qcacmn: DFS kernel panic fixed
NULL pointer dereference is fixed.

Change-Id: I6c5dce998dd276306a42a14253450965329afd56
CRs-Fixed: 2001106
2017-04-29 00:41:30 -07:00
Pratik Gandhi
8b8334baa4 qcacmn: Smart Mesh-Add filtering configuration to data path
Add nac(non associated client) configuration to pdev. It will be
used to perform smart mesh filtering on rx packets.

Change-Id: I29989d379e10fcc4a0e4aa19dbb3499650d6bf39
CRs-Fixed: 2017269
2017-04-28 16:15:24 -07:00
Orhan K AKYILDIZ
c59be52d47 qcacmn: Add debug for TSO seg double-free
Add TSO segment debug code, in a featurized way, so that
when disabled, it will tolerate redundant returns to the internal
pool and when enabled, it will check sanity on free, and record a
history of last 16 actions on the segment in the object.

Goes with the corresponding cld3 component counterpart.

Change-Id: Ifee2ceae940043031e4861d0e4f5d19a51262229
CRs-Fixed: 2036665
2017-04-28 13:19:43 -07:00
Abhijit Pradhan
21f852f52c qcacmn: Fill antenna gain in master channel list
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
2017-04-28 09:47:04 -07:00
Govind Singh
e3331b5b3c qcacmn: Remove ol_defines dependency from WMI layer
ol_defines header inclusion is invalid in WMI layer.
Remove the header inclusion by abstracting the dependency
with in WMI layer.

Change-Id: I5eb8624605cde20b516a1d8d0c823996c363e119
CRs-Fixed: 2023821
2017-04-28 07:42:08 -07:00
Rachit Kankane
4475ff297c qcacmn: P2P protocol changes to Disable/Enable NOA
P2P-GO whenever goes offchannel, issues NOA. With this behavior, we
have issue whenever legacy STA connects to P2P-GO since legacy STA
does not understand NOA. To handle this case, changes are done in p2p
protocol component and the revised behavior will be:
 1. By default no change in NOA.
 2. Whenever first legacy STA connects to GO, p2p protocol component
    disables NOA (i.e. P2P-GO will issue Self-CTS whenever it goes
    off-channel).
 3. Whenever last legacy STA disconnects from GO, p2p protocol
    component enables NOA (i.e. P2P-GO will issue NOA whenever it goes
    off-channel).

Change-Id: I113950ac3fa99ca68fcafcfe4c6095cf4b2def43
CRs-Fixed: 2035609
2017-04-28 04:42:00 -07:00
Om Prakash Tripathi
7d867d6729 qcacmn: cfg80211 scan change for WIN
Change-Id: I2d2863c7193de8e79c7ff76039f9b64ecaf90100
CRs-Fixed: 2001106
2017-04-28 03:43:53 -07:00
Ajit Pal Singh
aaf792b703 qcacmn: Reject remain on channel if Do_Not_Switch_Channel set
Remain on Channel request is rejected:
1) If an AP/GO interface is already active
 AND
2) Do_Not_Switch_Channel is set for the AP/GO interface
 AND
3) The requested channel is on the same band but different
from the AP/GO channel.

We allow one time procedures like GO Negotiation/Provision
Discovery/Invitation if the offchannel time is <= 150msecs

Change-Id: If19e9a06916891c5d3dbe6823fca72d70ead460d
CRs-Fixed: 2037302
2017-04-28 01:18:56 -07:00
Ajit Pal Singh
ec973b0aa7 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
Kiran Venkatappa
0c5110a424 qcacmn: Add send beacon by ref WMI for TLV target
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
2017-04-27 23:59:23 -07:00
Tushnim Bhattacharyya
3379232f48 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
b3cbf84777 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
d54693fe79 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
Arif Hussain
a23b01405b qcacmn: Implement converting freq/chan within dfs
Implement converting freq to chan and chan to freq
within dfs module.

Change-Id: Id9b39dbe90264621b0702a99a8df69fff9af9dd3
CRs-Fixed: 2017481
2017-04-27 18:16:49 -07:00
Dustin Brown
dd16c1b664 qcacmn: Export qdf_sprint_symbol
Some targets compile QDF into a separate module. In order to support
those targets, export qdf_sprint_symbol().

Change-Id: I7ff30aac3efdb0a119d5a9d1a63dc774b496e60e
CRs-Fixed: 2039906
2017-04-27 15:34:39 -07:00
Sravan Kumar Kairam
cdc362d52f qcacmn: Add PMO runtime suspend and resume support
As part of UMAC componentization add support for PMO
runtime suspend and runtime resume.

Change-Id: Ibd3f640bbf32622f70997863df899d265295a5c6
CRs-Fixed: 2030168
2017-04-27 11:17:45 -07:00
Ajit Pal Singh
d51961c4b8 qcacmn: Add new wlan_objmgr_ref_dbgid type for policy mgr
Adds new type WLAN_PMGR_ID in wlan_objmgr_ref_dbgid to be used
by policy manager.

Change-Id: Ibe0b993cef4e1c13acd30f513fe30ee55cb6d2ab
CRs-Fixed: 2037302
2017-04-27 05:42:15 -07:00
Wu Gao
a21c3d1797 qcacmn: register vendor specific action frame after P2P started
It only register vendor specific action frame when requested remain on
channel. When DUT as GO and invite third P2P peer, there isn't remain
on channel request and doesn't register this action frame from mgmt
txrx component, then P2P component can't receive provision discover
request frame and invitation failed.

Change-Id: Ia04e1af97aedf91fd75047b12994011b054177fc
CRs-Fixed: 2037600
2017-04-27 02:54:17 -07:00