Commit graph

2,593 commits

Author SHA1 Message Date
Manoj Ekbote
8a204d2dcb qcacmn: Add a qdf type for net device
Create a type for struct net device so that lower
layers in WIN can have access to the device handle.

Change-Id: I5f5469ea3fc65c64c4382c2dfbcf455bd96294a8
2017-04-17 11:23:29 -07:00
Ravi Kumar Bokka
99f07621b4 qcacmn: Enable HW broadcast filter
Add ini to param to enable/disable HW filter for bc
(except arp) frame.

Change-Id: Ibd8a0543937c2ca749851ba1902c8961b500efa4
CRs-Fixed: 1113550
2017-04-17 05:28:17 -07:00
Ravi Kumar Bokka
4a7fc00160 qcacmn: Enable HW broadcast filter
Add ini to param to enable/disable HW filter for bc
(except arp) frame.

Change-Id: I86c5c9539e5198536167d06b00c02746dc65104c
CRs-Fixed: 1113550
2017-04-17 05:28:16 -07:00
Ravi Kumar Bokka
490aaa1f4b qcacmn: Enable HW broadcast filter
Add ini to param to enable/disable HW filter for bc
(except arp) frame.

Change-Id: Ic9205ae834ff5d93f9c33c7cf93c839eb3aa244a
CRs-Fixed: 1113550
2017-04-17 05:28:14 -07:00
Poddar, Siddarth
6bb2c1755f qcacmn: Return the error value if pktlog is not enabled
When pktlog enable gives an error as part of pktlog_release,
then return the error value.

Change-Id: I88289226d3dc933a46d6dba0cd6ee0b6d2abb2d5
CRs-Fixed: 2031287
2017-04-17 04:47:57 -07:00
Poddar, Siddarth
3a52bd7e6a qcacmn: Add support to collect pktlogs as part of bugreport
Add infrastructure in pktlog utils to collect pktlogs as part
of bug report generation. As part of this when pktlog read command
is received on host:
1. disable pktlog,
2. read pktlog,
3. clear pktlog buffer,and
4. Retain pktlog initial state

Change-Id: I67e2231c2897007b58fa42a4f931b3c35ad1f418
CRs-Fixed: 2031287
2017-04-17 04:47:56 -07:00
Vikram Kandukuri
d4aa277e8b qcacmn: Static and Dynamic chain mask selection
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
2017-04-17 02:13:26 -07:00
gaolez
db66e6123e qcacmn: Add 4 counts to link layer stats
qcacld-2.0 to qcacld-3.0 propagation

Add 4 counts to link layer stats which will be retrieved along with
other link layer stats fields by application to decide if channel
hopping needed.

Change-Id: Ic413b8ad98f1147715cf89c083aa9a77e60a2dc6
CRs-Fixed: 1094958
2017-04-16 22:47:41 -07:00
Amar Singhal
9749753a75 qcacmn: Add API to pass configuration settings
Add API to pass initial configuration settings to
regulatory component.The regulatory component would
re-compute initialization channel list when this API
is called.

Change-Id: I414ecd189c0879515bd9b3f07537b3143a5cb0ed
CRs-Fixed: 2002892
2017-04-16 15:58:36 -07:00
Tushnim Bhattacharyya
8c4092b16e 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
Arif Hussain
a1e18b6b7d qcacmn: Add dfs public structure file
Add dfs public structure file.

Change-Id: Id34164da42d2d7b593fcb86ebd585140cd263f6e
CRs-Fixed: 2017481
2017-04-15 23:02:16 -07:00
Om Prakash Tripathi
f527f16e8e qcacmn: add refcnt and lock support for scan
1. Take reference count for vdev/pdev/psoc object before posting
   async message to scan component.
2. Take proper lock before invoking objmgr APIs which require locking.
3. Fixed few memory issues in failure cases.

Change-Id: I594b9ebf904c1c3b049a5d9d9e15679ac41599e7
CRs-Fixed: 1095299
2017-04-15 18:07:05 -07:00
Rajeev Kumar
c350256efa qcacmn: Enable kernel panic on memory leak
Enable kernel panic on memory leak such that all basic memory
leak issues are reported every time and gets fixed on priority.

Change-Id: Ie990fa5bc4435ab717277578fa3a2ea71925e6d1
CRs-Fixed: 2030988
2017-04-14 17:12:41 -07:00
Sandeep Puligilla
ea68a2c6f2 qcacmn: Deinitialize the pdev scan private member
Added api to support the deinitialization of pdev scan
private member

Change-Id: Id887eab16f195fc5052f30900451625a586ed9fa
CRs-Fixed: 2033622
2017-04-14 15:06:52 -07:00
Amar Singhal
b4071431e9 qcacmn: Add new APIs to regulatory component
Policy mgr needs APIs for chan to freq and freq to chan APIs.
Add these APIs to regulatory component at pdev level.

Change-Id: I4a0cf2a4b02e16b81d24088c9e9b6c8d36ce6b6c
CRs-Fixed: 2002892
2017-04-14 13:53:36 -07:00
Sreelakshmi Konamki
45e7d95017 qcacmn: Add support to get the status for Roam Scan Offload command
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
2017-04-14 12:43:27 -07:00
Venkateswara Swamy Bandaru
19dc8b23a6 qcacmn: Fix to configure external group interrupts
After configuting the external group interrpts called configuring api
to configure external group interrupts.

Change-Id: I9db8c9dc941421fa05676be732147929be24b0e6
CRs-Fixed: 2018655
2017-04-14 11:50:32 -07:00
Ishank Jain
c838b133c1 qcacmn: Add Mcast enhancement feature support
Feature to convert Multicast packet and send them as unicast.

Change-Id: I64d44ac337bd366c6799226fd69f89cd3e46e65d
CRs-Fixed: 1116432
2017-04-14 10:17:19 -07:00
Hanumanth Reddy Pothula
fd65c6eabc qcacmn: Add QDF wrappers for kernel atomic bit operations APIs
Add QDF wrappers for kernel atomic bit operations APIs.

Change-Id: If00b8434e60c516e89c6781eea459bc1931872df
CRs-Fixed: 2033255
2017-04-14 08:40:21 -07:00
Abhijit Pradhan
4a3a13d73e qcacmn: Revert disablement of regulatory component
Regulatory component was disabled in change
 I2d2b6cff74a174c19cd1a84c63e3009fc952d165 due to null range
value crash. That crash is fixed now. So re-enable regulatory
component..

Change-Id: I42a297bbe4e2b7c627fb11b2edc6323395ab8f8c
CRs-Fixed: 2002892
2017-04-14 05:49:10 -07:00
Amar Singhal
be6199297c qcacmn: Fix channel range for null range limits
If high limit value is not found; there can be infinite loop
for searching for it. Fix it by checking for lower limit. Also
do NULL check on extended service capabilities pointer.

Change-Id: Ie3f78e470be77b2e9b34a1003c9e273c33da21db
CRs-Fixed: 2002892
2017-04-14 05:49:08 -07:00
Naveen Rawat
d35749f195 qcacmn: Fix memory leak in wifi_pos send peer status api
In function os_if_wifi_pos_send_peer_status free buffer used to send
peer status indication to userspace after use.

Change-Id: Id90ea35aef4584d0ee7ef856d5cd12104eb089a4
CRs-Fixed: 2030121
2017-04-14 04:22:51 -07:00
Kiran Venkatappa
c068709444 qcacmn: Fix crash due to corruption in ce_mark_datapath
Use length of service_to_pipe array to loop through services instead of
array size.

Change-Id: I107203861501ed5ac348979868ac981b5a6cd1ae
CRs-Fixed: 2033254
2017-04-13 22:08:52 -07:00
Dustin Brown
6cb0fa1c4f qcacmn: Create qdf_log_timestamp_to_secs helper function
Create a timestamp conversion helper that returns whole seconds and
remaining micro seconds, for easier consumption by logging methods.

Change-Id: I5bc40075566485f3dc9f7e5fd81a13ec462c5da0
CRs-Fixed: 2031564
2017-04-13 21:31:10 -07:00
SaidiReddy Yenuga
674c4a0650 qcacmn: clear qdf_net_buf_track_free_list in nbuf memory manager destroy
qdf_net_buf_track_free_list not cleared in nbuf memory
manager destroy API leads to crash in reprobe case.

clear qdf_net_buf_track_free_list in nbuf memory
manager destroy.

CRs-Fixed: 2029297
Change-Id: I4d652c38a23f0e31ff21321692bcecc9456bf03a
2017-04-13 19:17:52 -07:00
Krishna Rao
5ded5dd1bd qcacmn: Populate DFS_CFREQ2 and BW-NSS mapping
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
2017-04-13 18:37:50 -07:00
Himanshu Agarwal
33d0d707bd qcacmn: Add support to add memory tracking in tx path
Add support to add memory tracking in tx path in WLAN driver using
already present infrastructure for memory tracking.

Change-Id: I6a2c9890e0af1fd51c4e2dfcded68f0075a3a4ef
CRs-Fixed: 2025670
2017-04-13 17:53:03 -07:00
Wu Gao
a47828dd20 qcacmn: Handle scan dequeue event and start failed event
Handle scan dequeue event and start failed event in P2P component,
same as scan complete event. Fix incorrect method to call qdf wait
single event. Fix code style issue.

Change-Id: Id8fbf5180a942183eff9b02f36f945fe17ceab6e
CRs-Fixed: 2032600
2017-04-13 17:08:30 -07:00
Abhishek Singh
5468c57437 qcacmn: Register PNO callback only when PNO req is sent
PNO can be initiated from IOCTL with different calback and
thus register the callback while sending the PNO req.

Change-Id: I74109fc88cfbd082ce2ba5ca0a2396ab08b82b42
CRs-Fixed: 2032434
2017-04-13 16:27:01 -07:00
Subrat Mishra
9c63fb71d0 qcacmn: ATF Rx Ops prototype change
Minor changes to return types of few function pointers.
Changes made during ATF validation on DA.

Change-Id: I2db8fbe7942b293ca01811fdb482afc9c8f533ce
2017-04-13 13:17:14 -07:00
Selvaraj, Sridhar
e440caa3b3 qcacmn: Remove Logger socket app msg init/deinit changes
Now all host and firmware logs are sent to multicast group id's
and are not sent to particular process on userspace.

Change-Id: I6fc9540de1313d6a2ad3564090e5fed281f54a62
CRs-Fixed: 2024754
2017-04-13 10:32:09 +05:30
Houston Hoffman
1a601690a1 qcacmn: Set SRNG_ENBLE bit in SRNG MISC register
Setting the SRNG_ENABLE bit is required for devices with newer
hardware definitions.  Setting this bit is a no-op for older
hardware.

Change-Id: I2e0369b62a89f6a9a32f9e211ab815e3c16b2393
CRs-Fixed: 2032351
2017-04-12 18:23:10 -07:00
Kiran Venkatappa
3453674e75 qcacmn: Off-chan txrx componentization changes
Add new module id for offchan txrx compotent and call offchan init/deint.

Change-Id: I803925d2dafdbe3800636de4e5ac4ae69c4851d0
CRs-Fixed: 2030050
2017-04-12 06:02:11 -07:00
Tallapragada Kalyan
3a0005c210 qcacmn: skip wds handling for raw mode pkts
avoid  wds source port learning for RAW pkts

Change-Id: I38e27890bd4cd12b812a584a32de10499ef736fe
2017-04-12 05:22:30 -07:00
Tallapragada Kalyan
fd1edcc084 qcacmn: Add support for radio-based packet steering
packets received on a particular radio are queued to
a user configured reo destination ring.

Change-Id: I080090f22b80fd8d8868df4145b82888e1111cea
CRs-Fixed: 2017081
2017-04-12 04:42:35 -07:00
Venkateswara Swamy Bandaru
61824944ab qcacmn: Add API to support configuring external group interrupts
Added API to support configuring external group interrupts for AHB bus.

Change-Id: If65984183db808e68dea680c585692e1533e4c7a
CRs-Fixed: 2018655
2017-04-12 04:02:03 -07:00
Venkateswara Swamy Bandaru
0bce0449f0 qcacmn: Fix for htt_included bit issue for mesh raw packets
HTT meta data valid set properly for scatter gather path mesh packets.

Change-Id: I6dc5b061bc187f3679e9bc80615168724469fdd3
CRs-Fixed: 2003389
2017-04-12 03:17:24 -07:00
Poddar, Siddarth
5503c76aca qcacmn: Add iwpriv pktlog command to clear pktlog buffer
Implement iwpriv pktlog command to clear pktlog buffer.
This command is effective only if pktlog disable is issued previously.
This command needs one argument.
Command to use this feature : iwpriv wlan0 pktlog 4

Change-Id: I431169a10828b6cfcd21c7d8065f325c5eb8cbba
CRs-Fixed: 2031212
2017-04-12 01:14:08 -07:00
Kapil Gupta
a6e44ca3bd qcacmn: Initialize scan_f_chan_stat_evnt from configuration
Currently driver is not initialize scan_f_chan_stat_evnt from
the configuration file which causes WMI_SCAN_CHAN_STAT_EVENT
to be always not included in the scan flag.

Add changes to initialize scan_f_chan_stat_evnt based on
ini configuration.

Change-Id: If6ea1d5c4efcc6d934daf00b537f25f0727ee55b
CRs-Fixed: 2031301
2017-04-11 11:46:29 -07:00
Abhijit Pradhan
3228727ce2 qcacmn: Regulatory component is disabled to fix the crash in X86
Array overflow causes kernel panic. Need to fix it in future;
disabling the regdb component now.

Change-Id: I2d2b6cff74a174c19cd1a84c63e3009fc952d165
CRs-Fixed: 2002892
2017-04-11 11:45:49 -07:00
Wu Gao
5126329e8c qcacmn: support dequeue and start failed event for scan from STA
It doesn't process scan dequeue and start failed event, which cause
STA scan doesn't complete and blocking next scan work in
wpa_supplicant. For scan dequeue and start failed event with match
reason, indicate scan aborted to up layer.

Change-Id: I8861e277143116878f6714e50b600d77df69eeb1
CRs-Fixed: 2029955
2017-04-11 11:45:13 -07:00
Pamidipati, Vijay
8a4e27cd59 qcacmn: Move qdf_nbuf_map call to after adding HTT header
Remove the dependency of dma_map for align_pad calculation
move the dma_map to correct position after mesh mode header addition

Change-Id: Idd309ed47d82f68f97191048c582c1b429f3b378
CRs-Fixed: 2004658
2017-04-11 11:04:45 -07:00
Houston Hoffman
adc3147da9 qcacmn: add htc_get_tx_queue_depth api
Wish to know the number of unsent packets in a given tx queue

Change-Id: I73999de9aaadbb61eea13388e583e341e1d7855a
CRs-Fixed: 2018893
2017-04-11 11:04:44 -07:00
Houston Hoffman
ac99ac8eea qcacmn: Update sw index from hw for ce_sendlist_send on data path ces
Fix CE full error when only legacy hif_send_head api is used on a ce configured
to use the fastpath logic.

Change-Id: I59530a0e5ff8b62a1b97007dcd959daa03025785
CRs-Fixed: 2018893
2017-04-11 11:04:44 -07:00
Houston Hoffman
1c72830f3b qcacmn: Unmap ce nbufs before free
freeing mapped memory may lead to resource leaks.

Change-Id: I75664b1a987c1339aa173672c9af670f8b3ffeb8
CRs-Fixed: 2020793
2017-04-11 11:04:42 -07:00
Houston Hoffman
b01db18853 qcacmn: simplify error handling in ce_init(1)
move ce_id_to_state assignment to the end where ce_init
is guaranteed to succeed.

Change-Id: I5172eb1136dde2aad915c2497ece94150c95630f
CRs-Fixed: 2020794
2017-04-11 11:04:42 -07:00
Houston Hoffman
748e1a690f qcacmn: use hif_select_service_to_pipe_map for consistency
Copy pasted logic was not maintained, leading to different
maps being used in different code sections. Also fixes
fw assert where multiple wmi services are not available on
the fw for napier.

Change-Id: Iff3ec8938cc16afe0ebae54244060afb0a7d0b2e
CRs-Fixed: 2030840
2017-04-11 11:04:40 -07:00
Rajeev Kumar
bc62343617 qcacmn: Migrate WMI from shared work queue to dedicated work queue
WMI RX event processing is very critical for WLAN driver and today
we are using kernel's shared event work queue. Shared event work
queue is used by many drivers and if any work submitted in shared
work queue takes longer time to finish then it directly impacts WLAN
control path processing.

Define a dedicated work queue for WMI RX event processing and use
it for WMI RX event handling.

Change-Id: I8ee6ca5b4b20c3357d46f8b56943078a0a76977f
CRs-Fixed: 2029775
2017-04-11 11:04:40 -07:00
Rajeev Kumar
fd15ef2196 qcacmn: Return status from qdf_create_work
qdf_create_work is not returning any status hence modify it
to return proper QDF status to know proper status of work creation.

Change-Id: I8fc84933cc85ba628363638d7567b083ecbf4f34
CRs-Fixed: 2026441
2017-04-11 11:04:39 -07:00
Abhijit Pradhan
32eb664610 qcacmn: dfs_ioctl header file is moved to common services
dfs_ioctl header file is used by both mlme and dfs module.

Change-Id: Iafe0e38a97454418444e6489439f375d26928fe2
CRs-Fixed: 2001106
2017-04-11 11:04:38 -07:00