Commit gráf

5667 Commit-ok

Szerző SHA1 Üzenet Dátum
Krunal Soni
ef1f0f90fc qcacmn: check hal_ring pointer before servicing the ring
Do null check before servicing the ring. When dp_service_srngs()
is common API which gets called when interrupt gets fired for
any ring. Within this API, driver goes one by one to each ring
and service the rings as it is not obvious from interrupt line that
which particular service ring needs to be served.

So race happens when rings are getting initialized and packet has been
arrived to one of the rings. Due to dp_service_srngs() API's
implementation, driver goes to one by one each ring without checking
if all rings are initialized.

CRs-Fixed: 2310496
Change-Id: I3c8f668756c8d266abe082e8473d54cb4df9065e
2018-10-01 14:59:47 -07:00
Akshay Kosigi
a4f6e173c1 qcacmn: Replace target related feature values with INI parameters
Introduce INI parameters to fetch feature related values based on target
type and add CDP interface to get dp INI parameters to control path

Change-Id: Id6a3f409106eb7dc01b08a3f1ec00dbe7efc359f
2018-10-01 08:04:59 -07:00
Rakshith Suresh Patkar
169fce61ef qcacmn: Add QDF API to update debug node for nbuf
In case of preallocation of nbufs, the debug nodes contain
allocation information with respect to the allocator
and not the user.
For more accurate debug info, add new QDF API
qdf_net_buf_debug_update_node to update the debug info
when the nbuf is requested.

Change-Id: Idfbcd15b6c561bbb57ba98a6b8376557ba909eec
CRs-Fixed: 2322989
2018-10-01 08:04:55 -07:00
Anish Nataraj
eb30aa7f83 qcacmn: Correct the Frame control info valid in hal API
Instead of frame control info valid parameter data sequence
control parameter was passed, corrected it

Change-Id: Iccaeb286c1003cbb58c5ebcacf4b0d99c979cbbc
2018-10-01 04:19:59 -07:00
Krishna Rao
3fa42be5d4 qcacmn: Add definitions for Spectral linear bin scaling
Add definitions for Spectral linear bin scaling, including conversion
functions, RF parameter definitions, and hardware generation
specifiers.

CRs-Fixed: 2294176
Change-Id: I6e1eb2ce3ec19d8734facb88c6329fe0026ecce0
2018-10-01 02:37:18 -07:00
Vivek
0626a4da6c qcacmn: Wait for scheduler buffers before we panic
The scheduler can run out of buffers and we panic
whenever this happens. However in the older code
we wait until the failure count of getting scheduler
buffers reaches a defined limit, thus making buffers
available in due time and the panic was seen in rare cases,
where failure count was exceeding the defined limit.

With the qdf_flex_mem supprt added for scheduler, the
wait to panic, when the failure count was removed and
we panic when the first failure to get scheduler buffer
is reached. This change adds to wait until the failure
count reaches the limit and then panic.

Change-Id: Ie8774830dc0cefdfccb1473216a9300609ab65bb
CRs-Fixed: 2322049
2018-09-30 17:31:59 -07:00
gaurank kathpalia
1988b55586 qcacmn: Redefine dfs data structure to fix prealloc size concern
Redefine dfs filter type to avoid prealloc problem by making one
large chunk into multiple smaller chunks.
With current data structure, dfs attach was requesting huge chunk
of memory from the heap which results in failure.

Fix is to modify the data structure so that one large chunk
is made as multiple smaller chunks.

Change-Id: Iaa8d0b1b6e4b192b37e165c936920baa5d10a23b
CRs-Fixed: 2323927
2018-09-30 10:38:54 -07:00
Abhishek Singh
3e940d1376 qcacmn: Fix purging of active command during sme close session
In wlan_serialization_purge_cmd_list, driver stops the active cmd timer
and destroy it and thus in wlan_ser_cancel_non_scan_cmd as driver is
not able to get the timer the active cmd is not removed.

As wlan_ser_cancel_non_scan_cmd already takes care of the stopping and
destroying the timer and remove the logic from
wlan_serialization_purge_cmd_list.

Also update the active command bitmask and active/pending blocking
flags when an command is flushed.

Change-Id: Ie206f08920c2830c935d0aacb204dc4ee2676c91
CRs-Fixed: 2324890
2018-09-29 03:26:55 -07:00
Sravan Kumar Kairam
9066ad3aa7 qcacmn: Fix implicit conversion compilation error
Fix compilation error of  implicit conversion from enumeration
type 'enum ipa_wlan_fw_ssr_event' to different enumeration type
'enum ipa_wlan_event' in function __qdf_to_ipa_wlan_event.

Change-Id: I7b5d3e964a5fa070a89aaf21bcb4ea2237a85a58
CRs-Fixed: 2324656
2018-09-28 23:38:52 -07:00
Ashish Kumar Dhanotiya
04c074d219 qcacmn: Update correct PHY mode while processing ch_info_req
Currently PHY mode is not getting updated and it is being set as
0, which is resulting in an invalid channel setting to FW
for LOWI.
To address this issue update the PHY mode correctly.

Change-Id: I77b2a517915a05d6a13dec5cee064d83bfae2992
CRs-Fixed: 2318563
2018-09-28 19:01:52 -07:00
Amar Singhal
26b5bc9c18 qcacmn: Do not return pointer to the regulatory rules
Regulatory rules can change a lot of times depending on conditions.
By returning pointer, the rules can change before rules are accessed
using the pointer. Therefore always copy the rules.

Change-Id: Ic0a8b5f515cb07279a8d8f204043e5d6aaac98f2
CRs-Fixed: 2319788
2018-09-28 14:29:30 -07:00
Pramod Simha
627278cdfe qcacmn: Change Shadow Register configuration for QCA6390
- Change the SR mapping address for QCA6390
- Use ring direction field from HAL ring config instead of HAL ring
  directly as ring is not yet initialized here.

Change-Id: I900b2329367cc02ae2f9d7f164e5f867d8253d90
CRs-Fixed: 2299919
2018-09-28 10:41:39 -07:00
Subrat Mishra
8ebfe83d1f qcacmn: Add ESP service support & user configs
Enable ESP service support. Update ESP user configured pdev params
to firmware.

CRs-Fixed: 2316710
Change-Id: Ia465518500b0362e79983222c4084be7d45b2309
2018-09-28 10:41:37 -07:00
Liangwei Dong
36462d50b8 qcacmn: add 11d periodic scan in host
Add periodic 11d scan in host for non-11d scan
offload hw. Periodic interval is controlled
by INI scan_11d_interval, default 1 hr.

Change-Id: I66d1e76a1c147fc52f0e18b6601d3be4b4973210
CRs-Fixed: 2314830
2018-09-28 10:41:34 -07:00
Hariharan Basuthkar
f8da572209 qcacmn: Print Optimization
Came up with changes to replace “qdf_print” with crypto_err/
crypto_debug/crypto_info implementing QDF_TRACE in crypto
component, to avoid flooding of error prints on the console.

Change-Id: I411efd78f808f7c893ece9096ebc429c8753fc82
CRs-Fixed: 2299590
2018-09-28 09:06:35 -07:00
Nirav Shah
7c59c2d9b0 qcacmn: Add support for Genoa register definitions
Add support for Genoa register definitions.

Change-Id: I998549c4c19030cbe835882f356eeda3f776b7a0
CRs-Fixed: 2317215
2018-09-28 09:06:32 -07:00
Gerrit - the friendly Code Review server
cd8f9087a3 Merge changes into wlan-cmn.driver.lnx.2.0 2018-09-28 06:06:59 -07:00
Linux Build Service Account
a647143904 Merge "qcacmn: Fix deadlock in dp_delete_pending_vdev() API" 2018-09-28 03:35:09 -07:00
Krunal Soni
a5211f26a2 qcacmn: Fix deadlock in dp_delete_pending_vdev() API
In Data-path, dp_delete_pending_vdev() acquires
pdev->vdev_list_lock in the beginning and calls
dp_tx_flow_pool_unmap_handler() API which further try to acquires
same vdev_list_lock. This situation causes deadlock.

To fix the situation, re-factor dp_delete_pending_vdev() API.

CRs-Fixed: 2320629
Change-Id: Ie565ea07f396d1987fbe45173b49b2f50bb76cea
2018-09-28 01:21:35 -07:00
Varun Reddy Yeturu
49149e898b qcacmn: QCA vendor command support for TWT test configuration
Define new QCA vendor specific test config attributes to configure TWT.

Change-Id: I6386fba6aa794a6e3ecd50e6672810d7738876ef
CRs-Fixed: 2320867
2018-09-28 01:21:32 -07:00
Linux Build Service Account
3f0d84bac1 Merge "qcacmn: Take peer ref count and dec it after using" 2018-09-28 00:05:52 -07:00
Linux Build Service Account
93850ab144 Merge "qcacmn: Fix compilation error in vdev state machine" 2018-09-27 20:34:10 -07:00
Sravan Kumar Kairam
26d471ec56 qcacmn: Take peer ref count and dec it after using
Currently peer reference is used with out taking any ref count.
In parallel context execution on different core peer reference may
be cleaned up in peer unmap event. So take ref count while using
the peer reference and decrement after done with it.

Change-Id: I02ca172cbdc4309fabd3bbbad00940826662bbd3
CRs-Fixed: 2301963
2018-09-27 20:24:36 -07:00
Abhishek Singh
97d6a98c03 qcacmn: Fix compilation error in vdev state machine
Fix the compilation error in vdev state machine and make state
transition logs from debug to info.

Change-Id: I7d7975931232f041206bdb64c639456bf9327b3f
CRs-Fixed: 2321726
2018-09-27 18:54:20 -07:00
Chaithanya Garrepalli
d203e2d6ab qcacmn: changes in add ast to support HKv2
Changes to find the AST entry based on pdev_id as
AST entry per pdev can exist in HKv2

Change-Id: I27e66f4671fe2c5eca4c496d6220e94f087f2c18
CRs-fixed: 2317790
2018-09-27 18:54:18 -07:00
Linux Build Service Account
fed7e16093 Merge "qcacmn: Fixes for IPA datapath" 2018-09-27 17:34:19 -07:00
Linux Build Service Account
c1c178932c Merge "qcacmn: Separate WMI MGMT RX event logging" 2018-09-27 17:34:19 -07:00
Gerrit - the friendly Code Review server
444e0adef3 Merge changes into wlan-cmn.driver.lnx.2.0 2018-09-27 17:16:55 -07:00
Pramod Simha
b2ef27ba26 qcacmn: Fixes for IPA datapath
1. Disable host processing of REO2SW4 when IPA is enabled.
2. Change buffer memory location provide to IPA TX transfer
   ring from consistent to non-consistent memory.

Change-Id: Ibb62d9faf5dc9adb5ee8a2e113d10a2912269cbd
CRs-Fixed: 2315889
2018-09-27 16:36:58 -07:00
jitiphil
67a658da1c qcacmn: Add QDF abstraction for FW rejuvenate event
During FW rejuvenate, a message needs to be sent to
IPA driver to indicate of the event's occurrence.

Add a QDF abstraction for the FW rejuvenate event to
be sent as a message to IPA driver.

Change-Id: I3ffa220234f9690306c408a24ddd31ac94015124
CRs-Fixed: 2290656
2018-09-27 16:36:55 -07:00
Rajeev Kumar
183ef8819f qcacmn: Separate WMI MGMT RX event logging
Separate WMI MGMT RX event logging from main WMI event
logging because WMI MGMT RX event is too frequent and its
over-running useful WMI control path events.

Change-Id: Iacd1576c3e133b70224e45f589f566c73637a626
CRs-Fixed: 2318021
2018-09-27 16:36:52 -07:00
Rajeev Kumar
8047370dfc qcacmn: Separate WMI diag rx event logging
FW generates too many diag events and these diag events
also come on CE-2 together with other critical control
path WMI events and easily over-run useful control path
WMI RX even log buffer. Separate WMI diag rx event loggig
in a separate log buffer such that useful control path WMI
log event buffer is not over-run.

Change-Id: I89b5d88036bc9d7e57e8e16858bc556be4e2ed41
CRs-Fixed: 2318083
2018-09-27 15:00:49 -07:00
Jianmin Zhu
e4dc0494f6 qcacmn: Release pdev pending list instead of active list wrongly
When destry pdev, need release serialization active list if it
is not empty, but release pending list by mistake, assert will
happen.

Change-Id: I83be2cb512f3a832d03c0c33c8ea63243d745a54
CRs-Fixed: 2323512
2018-09-27 15:00:47 -07:00
Varun Reddy Yeturu
defbdb4f0a qcacmn: Make policy_mgr_pdev_set_pcl as public API
Make policy_mgr_pdev_set_pcl as public API
Remove SET PCL for STA vdev from policy manager as it
is being done now from the roaming start cmd core
function which is csr_roam_offload_scan()

Change-Id: I3fc0eb4d37278a67a1f18579cec7d65e491bd967
CRs-Fixed: 2320734
2018-09-27 15:00:44 -07:00
Bala Venkatesh
f174aefeca qcacmn: Update TDLS channel switch params correctly to FW
Use WMI layer tdls_offchan_mode enum value while sending tdls
offchannel mode request to FW.

Change-Id: I3faee2d22ab2bcbf99918d46eeeb5b5bbe925048
CRs-Fixed: 2320796
2018-09-27 15:00:42 -07:00
Bala Venkatesh
9e084cd5ad qcacmn: Fix double free of qdf idr
Currently, As part of mgmt tx request qdf id is alloted
and it is removed as part of mgmt tx cancel and the same
idr value is stored in roc context and that idr is removed once
again during roc context destroy that lead to double free of the
same qdf idr. This will result in subsequent mgmt tx cancel
failures.

Dont remove qdf idr as part of mgmt tx cancel.

Change-Id: I7c6f19f6d50e7f5eef216eedfa750f058dbc1ba6
CRs-Fixed: 2320990
2018-09-25 15:33:51 -07:00
Nirav Shah
59b6c45fbc qcacmn: Changes for QCN7605(Genoa) bringup
1. Add QCN7605 device id for PCIe
2. Enable PLD implementation for QCN7605.
3. Add enable/disable msi interrupt implementation for
   legacy CE.

Change-Id: I8ae8a230bbd7d2d521ad11c0602e32171440ffc8
CRs-Fixed: 2317211
2018-09-25 15:33:48 -07:00
Priyadarshnee S
2ad0655c19 qcacmn: Fix the inconsistency in updating to NOL list
Consider AP is brought up in channel 100 VHT80 mode. When "bangradar" cmd
is issued, all the HT20 channels 100, 104, 108, 112 must be added to NOL.
It is found that only chans 100, 104 are added to NOL. This is because
dfs_find_radar_affected_subchans() does not find out all the radar affected
HT20 (4 in this eg) sub-channels.

dfs_find_radar_affected_subchans() is invoked as dfs_use_nol_subchannel
_marking is set to true by default. Also, dfs_find_radar_affected_subchans
finds the frequency offsets of the radar_found channel from
radar_found->freq_offset variable which is updated only in case of real
HW radar. For bangradar, this freq_offset takes to some scrap value.
As the radar found frequency offsets are wrong, the radar found channels
are computed incorrectly and it leads to chaos in NOL addition.

dfs_find_radar_affected_subchans() is used to compute radar found
frequency offsets only in case of real HW radar. For bangradar,
dfs_get_bonding_channels() is used to compute the radar found sub-channels.

Change-Id: Ie190e9266bcb696a07e389736df1258409abf08b
CRs-Fixed: 2313201
2018-09-25 11:29:01 -07:00
Paul Zhang
6780655a63 qcacmn: Fix kw issue in target_if_reg.c
Pointer wmi_handle is returned from a function may
be NULL and will be dereferenced in another function.
Add sanity checking to return if the pointer is NULL.

Change-Id: I2a38098335dde8d76a04129c06166203aefdd2ec
CRs-Fixed: 2317021
2018-09-25 05:33:47 -07:00
Manjunathappa Prakash
4a010f442d qcacmn: Use %pK to log kernel addresses
Use %pK format string to log kernel module data structure addresses.

Change-Id: Ifd343848d47e022e7cf4bb5832df4bcdc0764273
CRs-Fixed: 2321440
2018-09-25 05:33:44 -07:00
Amir Patel
20a0efabb1 qcacmn: Add qdf_platform source file to qdf/Kbuild
Add qdf_platform source file to qdf/Kbuild and
clean-up WAR introduced in change
I8172f3dbe0716be24a4dda739afb49f94528a4f6

Change-Id: Icb76d53544590b8bcace275ef52870606fb5d826
2018-09-24 18:55:20 -07:00
Jinwei Chen
38c92c691b qcacmn: remove unnecessary IRQ in host2rxdma ring mask
For MCL, only keep one interrupt in host2rxdma ring mask definition,
which is used for host2fw RX refill ring low threshold reporting.
remove the left unnecessary ones to avoid invalid access
to uninitialized RX Desc pool.

Change-Id: I0d353eb68493573383b2ccd0cb36e98cd4a7a95d
CRs-fixed: 2317464
2018-09-24 18:55:17 -07:00
bings
747b176c98 qcacmn: Replace wlan_phy_ch_width with phy_ch_width
Delete enum wlan_phy_ch_width. Move phy_ch_width definition
from reg_services_public_struct.h to wlan_cmn.h.

Change-Id: I9f2b3ade1b023b9728274ce4edd3b90f562ae02e
CRs-Fixed: 2318356
2018-09-24 17:16:16 -07:00
Jingxiang Ge
de9bd0182e qcacmn: Fix kw issue in target_if_nan_register_events
Potential NULL pointer dereference of handle in
target_if_nan_register_events.

Add null check in the function.

Change-Id: I1fc57d712713bc47345b178c972cc5fc926a42d0
CRs-Fixed: 2317017
2018-09-24 13:02:17 -07:00
Chaithanya Garrepalli
1f64b2453e qcacmn: in tx path set the lmac_id from wlancfg
in tx path set the lmac_id in the tx descriptor
from wlancfg

Change-Id: Ib7f355983142564500a20daa1f0eef41808df449
CRs-fixed: 2320597
2018-09-24 13:02:13 -07:00
Amir Patel
1de3d3ddf3 qcacmn: Fix Tx rate for multicast packets
Fix tx rate for multicast packets

Change-Id: I0f5e628b571577a282817b165a62a1ff640bb0c5
CRs-Fixed: 2309177
2018-09-24 08:48:41 -07:00
Vignesh Mohan
9d1c7a223f qcacmn: cleanup crypto component prints
Updated error log from qdf_print to crypto_err/
crypto_debug/crypto_info implementing QDF_TRACE
for files in crypto to avoid console cluttering.

Change-Id: I1f7860373c505f4e1d80909662b6673f8263bdcd
CRs-Fixed: 2299591
2018-09-24 05:07:35 -07:00
Kiran Venkatappa
e7609f7cec qcacmn: Add wbuff include path for spectral compilation
wbuff is a module which maintains a pre-allocated pool of
skbs for each registered module and allocates skbs when
requested. Add wbuff/inc in include path for qca_spectral
compilation.

Change-Id: I6bc9eaca99f7789eaa5cb0500d0258495caf7ea4
CRs-Fixed: 2313935
2018-09-24 05:07:32 -07:00
Rakshith Suresh Patkar
1f18454889 qcacmn: Enable wbuff support for WMI
Register WMI with wbuff for pre-allocation of
skbs. Register at wmi_unified_attach() and
de-register at wmi wmi_unified_detach().

Change-Id: I9d6df1a8480324dd2a258de12672669a8fbe8940
CRs-Fixed: 2313935
2018-09-24 05:07:30 -07:00
Vignesh U
a1860003dd qcacmn: Add usenol support to Host DFS Test
When user sets the usenol to 0 and inject the radar, host sends RADAR found
WMI command to firmware. Firmware sends status code as 2 and starts a
2 minutes timer to receive channel change request from host. Since usenol
was set to 0, host does not change the channel. This leads to firmware
timer expiry and sends status code 1 to block all the DFS channels. This is
not desired.

Do not send the RADAR found WMI command to firmware when usenol is 0.

Change-Id: I5884eb343cc419d4c9f5bda3e6eaa7c95c4d4af5
CRs-Fixed: 2276722
2018-09-24 01:41:40 -07:00