Commit gráf

4568 Commit-ok

Szerző SHA1 Üzenet Dátum
Naga
f161d3eea6 qcacmn: Add framework for cp stats component
Control plane statistics is converged central
component which maintains all control plane stats
and provides necessary support to access statistics
through public APIs

Add framework necessary to create,destroy cp stats
objects corresponding to common object on receiving
event notifications from obj mgr and provide framework
to interact with southbound and northbound

CRs-Fixed: 2192386
Change-Id: I76ec50c1203aa56c4aefc23cbfa03e828b0d7bfd
2018-04-06 17:49:36 -07:00
Srinivas Girigowda
22d99df340 qcacmn: Fix function return type for epping_hard_start_xmit
Fix function return type for epping_hard_start_xmit.
Currently .ndo_start_xmit callback functions returns int, but
the correct return type should be netdev_tx_t.

Change-Id: I36d3cc886bfa0fd74a264f2791f09a251baab2ef
CRs-Fixed: 2219223
2018-04-06 14:47:20 -07:00
Soumya Bhat
402fe1a26a qcacmn: Tx capture/Mcopy mode changes
The following changes are added for Tx capture/Mcopy mode
1. Append ppduid for FW generated mgmt. frames
2. Append ppduid received in mgmt. TX completion for host
   generated mgmt. frames
3. Reuse nbuf received in HTT msg to send mgmt. payload to
   upper layers

Change-Id: I073cafa6389ed1ed835cc3ba4b9421b7a4b97d7f
CRs-Fixed: 2185543
2018-04-06 14:47:18 -07:00
Venkateswara Swamy Bandaru
3b16ea52b5 qcacmn: Fix kernel warning in free irq path
Free irq only if it is requested based on CE_ATTR_DISABLE_INTR flag.

Change-Id: I606b4099dd5f61aef94c1eaaee9a283f731b1a57
CRs-fixed: 2219495
2018-04-06 14:47:16 -07:00
Ruchi, Agrawal
44461ef589 qcacmn: Resolve peer ref count increment issue
Resolve peer ref count issue for correct peer
delete sequence.

Change-Id: Ifa34b6d3c8089fba09d1b25f65b26bff721c8ab1
CRs-Fixed: 2209045
2018-04-06 14:47:14 -07:00
Edayilliam Jayadev
01b4921127 qcacmn: Enable spectral registration to direct dma
Enable registration of spectral feature to direct dma

CRs-Fixed: 2219121
Change-Id: I483e87b9a6c7dcd297bc8b88d24c49e8d80ed547
2018-04-06 13:25:41 -07:00
Krishna Rao
24a08f2ad9 qcacmn: Adjust FFT bin size for Spectral report mode 2
On IPQ8074, for report mode 2 only the in-band bins are DMA'ed.
Scatter/gather is used. However, the HW generates all bins, not just
in-band, and reports the number of bins accordingly. The subsystem
arranging for the DMA cannot change this value. The host driver needs
to check if report format is 2, and if so halve the number of bins
reported to get the number actually DMA'ed.

CRs-Fixed: 2218423
Change-Id: Ic0be87422c67110cf3595a4bea71dc872d5b2504
2018-04-06 13:25:39 -07:00
Akshay Kosigi
428d34b091 qcacmn: Use fix length for RADIOTAP_HEADER instead of arbitary length
Use fixed max length for RADIOTAP_HEADER instead of arbitary
length. Increase the RADIOTAP_HEADER length when we add more radiotap
elements

Change-Id: I0d290b0def8408029ee787999faa4498b75b212f
CRs-Fixed: 2217245
2018-04-06 13:25:37 -07:00
Akshay Kosigi
abdf9afdea qcacmn: Initialize array indices with default value
Initialize QDF module id with default trace values.

Change-Id: I5aa5b62ea10dd217d4ea1fbfd479b731142f3b54
CRs-Fixed: 2217245
2018-04-06 13:25:35 -07:00
Om Prakash Tripathi
f06184550a qcacmn: Move object ref prints to error level
By default object manager log level is error
while reference prints use info level. This
eventually disables object ref prints.
To fix this move ref prints to error level.

Change-Id: I87bd589cc0eee3bed4591d5a978cf51840ac6b34
CRs-Fixed: 2219152
2018-04-06 13:25:33 -07:00
Venkata Sharath Chandra Manchala
16fcceb7de qcacmn: Change the buffer manager
Change the buffer manager from HAL_RX_BUF_RBM_SW3_BM to
HAL_RX_BUF_RBM_SW1_BM to handle regular and error packets.

Change-Id: I696d41f6cf0be1d5045ab27841ccc3ee2afea7de
CRs-Fixed: 2189452
2018-04-06 13:25:31 -07:00
jiad
de2ec73f9b qcacmn: fix ipa mcc scc event notification
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
2018-04-06 13:25:29 -07:00
Rajeev Kumar
708e7f57c5 qcacmn: Remove multicast logging check from wlan_log_to_user API
Multicast logging is MCL specific feature which controls sending
of host and fw netlink DIAG events to user space. This feature
should not control console logging from wlan_log_to_user because
it can lead to all debug logs getting logged on console until
CFG INI for multicast logging is parsed during initialization and
this can lead to watchdog bark beacuse of excessive logging during
WiFi driver initialization. Hence remove multicast logging check
from wlan_log_to_user API to avoid logging all debug logs on console
during WiFi driver initialization sequence.

Change-Id: I2a29928757f683a72345436a57de1ee8d02f53b3
CRs-Fixed: 2217749
2018-04-05 16:41:16 -07:00
Arif Hussain
958e7515b2 qcacmn: spectral: Replace instances of unadorned %p
Replace instances of unadorned %p in
target_if_spectral_process_phyerr_gen3.

Change-Id: I1f70e613885780b71aa69cd12b61e9d24415b333
Crs-Fixed: 2213177
2018-04-05 11:04:32 -07:00
Tallapragada Kalyan
e33a5632b8 qcacmn: add abstraction to update rx stats
Add a new API to update the stats which will be
called from dp_rx_process instead of updating stats
directly from within the dp_rx_process function

Change-Id: I13bdfd1606c3ceb2e38921ffa0cf3fe9f29c57ee
CRs-Fixed: 2189088
2018-04-05 07:46:47 -07:00
Paul Zhang
2db395377a qcacmn: Add reg domain FCC2_FCCA
The defination is missing for reg domain FCC2_FCCA
which is used by country "DM" and "DO".

Change-Id: I4ad1cde55b54ba16eb6f1c6a2b96c73c17a932b9
CRs-Fixed: 2215875
2018-04-05 01:30:03 -07:00
Manjunathappa Prakash
029b665b6f qcacmn: Add enum for invalid htt stat type
Add enumeration for invalid stat type htt_cmn_dbg_stats_type for
ol_txrx_stats_callback handler.

Change-Id: I8a976737af8f226a1774950170f445c93ebf683b
CRs-Fixed: 2215678
2018-04-04 17:47:21 -07:00
Jeff Johnson
d7f3057bc4 qcacmn: Fix build error when Green AP disabled
When the Green AP feature is disabled in the Kbuild the following
build issue is observed:

target_if_green_ap.h:59:10: error: 'struct wlan_green_ap_egap_params'
declared inside parameter list [-Werror]
target_if_green_ap.h:59:10: error: its scope is only this definition
or declaration, which is probably not what you want [-Werror]

Fix this by including a forward reference for the struct.

Change-Id: Ia5d867c0ebde17dba0f20c1e97391197ae9dbb77
CRs-Fixed: 2216249
2018-04-04 16:40:04 -07:00
Soumya Bhat
560f90ce73 qcacmn: send packets for invalid peers
Add change to process packets received for invalid peer
when m_copy mode is enabled

Change-Id: I85aa41ff79e97eee9c696b63717206ac1329078e
CRs-Fixed: 2194058
2018-04-04 07:37:39 -07:00
Naveen Rawat
2a5dc61663 qcacmn: Fix memory allocation in NDP firmware events
Fix memory allocation during NDP firmware events by allocating
memory before wmi_extract APIs are called.

Change-Id: I3af2f49895a79a45b3add246eeb9025b1df92faa
CRs-Fixed: 2183493
2018-04-04 07:37:36 -07:00
Karunakar Dasineni
9ff1ef9798 qcacmn: Disable CE6 interrupts for Hawkeye
CE6 is used for autonomous HIF_memcpy by FW, but interrupts
are coming to host since there is no separate HW control to
turn off host interrupts. Avoid requesting these interrupts.

Change-Id: I7b09b7c6e39d37e111e6e7a4292f605b3fb602e0
2018-04-04 04:02:11 -07:00
Manjunathappa Prakash
9eaa6f099b qcacmn: Remove redefinition of *tx_flow_control_fp
ol_txrx_tx_flow_control_fp and ol_txrx_tx_flow_control_is_pause_fp are
redefined dp/inc/cdp_txrx_mob_def.h, original definition is in
dp/inc/cdp_txrx_cmn_struct.h. Remove duplicate redefinition.

Change-Id: I2c2af59d8b24360cd09efeb12ea19c0340771bb8
CRs-Fixed: 2215678
2018-04-04 04:02:08 -07:00
Manjunathappa Prakash
d345d27867 qcacmn: Remove obsolete dmac_inv_range API
Remove obsolete dmac_inv_range API, instead use
qdf_mem_dma_sync_single_for_cpu API where ever required.
https://www.kernel.org/doc/Documentation/DMA-API-HOWTO.txt

Change-Id: I44f14e6c87c1086decc600f59f298b7b8a94bc82
CRs-Fixed: 2215678
2018-04-04 04:02:05 -07:00
Rhythm Patwa
03f2586d7f qcacmn: Fix BSS color issue and add cmd support to disable BSS color
Add macros to set and get BSS color value and the BSS Color
disable bit values. These macros are used to construct the value
to send to the WMI BSS Color vdev param with BSS color and BSS color
disable status embedded.

Change-Id: Id0721a1a5d66fff5d2c50708aeefb5e0ec03e999
CRs-fixed: 2186897
2018-04-03 18:11:47 -07:00
Ruchi, Agrawal
89219d97b4 qcacmn: ast entry reset api for son
API to reset ast entry for son, ast entry active
field will be set on call of reset_api and all the
ast entry active field will reset on call of reset_table
api, ast_flush api will delete enteries in table

Change-Id: I26ed0fff818a112348a7aefba3b028ed40b2fe26
CRs-Fixed: 2209095
2018-04-03 16:50:17 -07:00
Tushnim Bhattacharyya
414d2e790c qcacmn: Use correct enum type in function send_get_rcpi_cmd_tlv
Use the wmi enum type in function send_get_rcpi_cmd_tlv converting from
rcpi_measurement_type.

Change-Id: I5b506059ad8b0f4cd65c24e20df6306a47249fdb
CRs-Fixed: 2216017
2018-04-03 16:50:15 -07:00
Chaithanya Garrepalli
e323f80584 qcacmn: remove assert for peer delete_in_progress from peer map
At the time of peer map delete_in_progress can be set for newly
created peer in case host send sends the peer delete to FW before
we receive the peer map even from FW

Hence removing the assert to check delete_in_progress flag in
peer map

Change-Id: I28b2f46cf4fdd12bf98ce54dd7dcea68d96dc795
CRs-Fixed: 2216550
2018-04-03 02:56:22 -07:00
Edayilliam Jayadev
bf873df722 qcacmn: Fix API for getting first vedv of pdev
Since vdev_id is globally unique across multiple pdev,
assuming vdev_id 0 to find the first vdev of a pdev wouldn’t work.
Fix this issue by getting the first vdev from the head of vdev
linked list maintained per pdev.

CRs-Fixed: 2211742
Change-Id: I5a7b5436cff363d5470fb600cca54f587a7d683e
2018-04-03 01:42:58 -07:00
Kabilan Kannan
7eab01c3f9 qcacmn: Add magic string for debug enhancement
Add magic string in the driver to automate the
stability analysis.

Change-Id: Ic4989d70827bbb680de428f8065e2fff6ea8ad2f
CRs-Fixed: 2212155
2018-04-02 19:39:42 -07:00
Kabilan Kannan
0cc70bc6ff qcacmn: Add magic string for memory leak debug
Add magic string in the driver to automate the
memory debug analysis.

Change-Id: I79b6ef49fa5c1c5fb74c72b228c3dae05b483a77
CRs-Fixed: 2212167
2018-04-02 19:39:40 -07:00
Kabilan Kannan
0cc3fc4ad8 qcacmn: Fix compilation warnings in TDLS
Fix the warning issue in TDLS, which popped up with newer
compiler options.

Change-Id: I1516a47ec01faa9315d2045ebcfe49097680e80d
CRs-Fixed: 2215517
2018-04-02 16:41:55 -07:00
Yuanyuan Liu
80bfeb949d qcacmn: Fix LLVM compiling issues
Remove typedef redefinition, use correct enum type, remove extra
parentheses and correct header guard.

CRs-Fixed: 2214003
Change-Id: I0a75c70cd530590a16f6bfa884955ebc26906de0
2018-04-02 16:41:52 -07:00
Tushnim Bhattacharyya
f940918d4f qcacmn: Use enum type policy_mgr_con_mode instead of enum QDF_OPMODE
Use enum type policy_mgr_con_mode instead of enum QDF_OPMODE.

Change-Id: Ia7a6bb5e05c6dac650dc6386734462547365a4eb
CRs-Fixed: 2214003
2018-04-02 16:41:50 -07:00
Tushnim Bhattacharyya
bf1e4f3f28 qcacmn: Use correct enum type in function call
Use correct enum type in tdls_determine_channel_opclass,
tdls_process_antenna_switch & tdls_process_send_mgmt_rsp.

Change-Id: Idd4e7ac47196e3e11971fe3013805b6a8551c8de
CRs-Fixed: 2214003
2018-04-02 16:41:47 -07:00
Abhishek Singh
dba772b9c8 qcacmn: Fix OCE WAN scoring logic for initial connection
Set the range of score index to 1-15 as 0 is used for the AP
which does not advertise the OCE WAN. Also if OCE WAN downlink
capability is 0 return 0 score.

Change-Id: I8c6757458c542050a6a31cb03fad0ce17d60aa16
CRs-Fixed: 2208282
2018-04-02 15:22:01 -07:00
Tiger Yu
054a6a4fd4 qcacmn: Initialize the local variable do_pm_get to false
Initialize the local variable do_pm_get to false to avoid using the
uninitialized variable potentially.

Change-Id: Ie45126b05afee1d4e5bb061189846bc8e301c2a6
CRs-fixed: 2215809
2018-04-02 15:21:59 -07:00
Kabilan Kannan
d6c4f2209c qcacmn: Validate nbuf in dp trace function
Validate nbuf before processing in dp trace function

Change-Id: Idb59f83edc09f9be8bf0bd231b8eb6ff28f37fd4
CRs-Fixed: 2213737
2018-04-02 15:21:57 -07:00
Chaithanya Garrepalli
0323f80221 qcacmn: Correct peer create-delete sequence
If peer with given MAC Address
already exists, just increment the refcnt
instead of allocating a new peer and deleting older
peer object. This avoids unnecessary memory fragmentation.

Change-Id: I76a3ffca4e907fccfdfd1b6857de721623f455d5
CRs-Fixed: 2209045
2018-04-02 15:21:55 -07:00
Anish Nataraj
cf526b7b9f qcacmn: Free memory for ppdu descriptor tlv list in detach path
ppdu tlvs are maintained in linked list and was not freed in detach
path but only freed after wdi post message. This was causing memory
leak to happen

Change-Id: I7b7b49d7ec829a6ef6b99edb1c7999bed713ae49
2018-04-02 03:09:00 -07:00
Venkata Sharath Chandra Manchala
bcfa6d8683 qcacmn: Add lock to protect rx_desc_pool
Create a lock for protecting rx descriptor
pool allocation during initialization and destroy it
during unloading the driver.

Change-Id: Icd489e400dab9bb648709134dcaa24c4d7724aa6
CRs-Fixed: 2215430
2018-04-01 21:02:38 -07:00
Sumedh Baikady
12b2b2c897 qcacmn: Use mon_lock while accessing monitor vap
Use monitor mode lock to prevent vap down while monitor
vap is still delivering all MPDUs to radiotap Api.

Change-Id: I908d8048afbf3210bddaafc2c19b177ec8209085
CRs-fixed: 2212004
2018-04-01 19:40:48 -07:00
Karunakar Dasineni
bef3b1b9b2 qcacmn: Disable batch intr for SW source rings
Source SRNG rings like RXDMA buffer rings only need low
threshold interrupts to ensure they are not empty. Disable
batch interrupts by setting batch count to 0.

Change-Id: I5de38caa1fccf162143d9598c0499dd8c5318391
2018-03-30 22:35:09 -07:00
Dustin Brown
44ece32672 qcacmn: Impl. qdf_print_thread_trace for non-ARM
qdf_print_thread_trace() depends on the kernel function
save_stack_trace_tsk() being exported. While ARM architectures export
this function in Kernel versions >=4.14, other architectures already
exported it. When compiling against non-ARM architectures, avoid
stubbing out qdf_print_thread_trace().

Change-Id: I139ea08479b44b59aef657a35125feeb0c011e2f
CRs-Fixed: 2215585
2018-03-30 14:48:22 -07:00
psimha
2bcdb546e5 qcacmn: Dump TLVs before freeing nbuf
Call dump packet TLVs API before freeing the nbuf containing the TLVs

Change-Id: I6d27de4d3331cbf7bd45d1d2b1ba5122f25b9f24
CRs-Fixed: 2213769
2018-03-30 13:30:48 -07:00
Soumya Bhat
dc8aca8501 qcacmn: Strip additional bytes from skb containing Rx payload
In existing code, the RX payload buffer for M-copy mode contained
RX MSDU payload followed by additional TLV data.

Add change to strip the skb and only provide MSDU payload

Change-Id: I9834fabfb0e26404a620d8419e7c570fff68f182
2018-03-30 06:31:18 -07:00
Venkateswara Swamy Bandaru
7fc11f76a3 qcacmn: Fix htt_included bit set for tx frames
Set htt_included bit for frames that have only valid htt header.

Change-Id: I481282c74ca7d247dece25aedf5f95f641260bda
CRs-Fixed: 2206348
2018-03-30 04:04:36 -07:00
jitiphil
3caf63aa26 qcacmn: Add NULL check for 'pl_dev'
Currently 'pl_dev' is dereferenced without check for NULL in
get_pktlog_handle function in pktlog_internal.c

To address this issue add NULL check before dereferencing

Change-Id: Ic258db7bf1b404ff4f2d6c18abe775335074268b
CRs-Fixed: 2196058
2018-03-30 02:46:51 -07:00
Edayilliam Jayadev
269c3deaac qcacmn: Fix for direct dma + ftm mode
This change fixes the null pointer dereference issues
observed when running spectral scan using direct dma
framework with ftm mode.

CRs-Fixed: 2214269
Change-Id: I06514b38b519da7eb972ff713feab97e7d5a9c29
2018-03-30 02:46:49 -07:00
Dustin Brown
37244642bf qcacmn: Featurize QDF_ASSERT
QDF_ASSERT is not properly featurized with its own build time config
flag. This leads to unnecessary logs and increased driver size for
platforms which do not want the feature enabled. Use the newly
introduced WLAN_WARN_ON_ASSERT build time flag to decide if QDF_ASSERT
should be a no-op.

Change-Id: I39e3ab6499210569b6ce09d77ee72f0081741989
CRs-Fixed: 2211983
2018-03-30 02:46:47 -07:00
Chaithanya Garrepalli
4c7099f001 qcacmn: Add lock for update ast entry
Add lock protection while update of ast entry for
peer

Change-Id: I0f61add9a06174303b40b017a6f1f2d202f3cf55
CRs-Fixed: 2210301
2018-03-30 02:46:44 -07:00