커밋 그래프

6696 커밋

작성자 SHA1 메시지 날짜
Ajit Pal Singh
eb5bf8cfc7 qcacmn: Add new WMI API to check target suspend status
Add new WMI API to check target suspend status

Change-Id: Ie4ba55fc3db2d8de7354377b26325d3510a1e228
CRs-Fixed: 2425368
2019-04-05 08:37:31 -07:00
Amir Patel
bb69cfaeda qcacmn: Compute average rssi
Compute average rssi from last packet rssi

CRs-Fixed: 2419240
Change-Id: I20851e3804412808393121ce882245ee8f110d5d
2019-04-05 03:33:32 -07:00
sumedh baikady
3ee6100b41 qcacmn: Modify default aging timeout for Reo
Modify aging timout in reo based on access category
to match cascade.
For BE, BK, VI use 100ms and VO uses 40ms.

Change-Id: I09267b6540460a13728bddc92a7e72157d6ce569
Crs-fixed: 2418294
2019-04-04 20:58:58 -07:00
Vivek
740f39f568 qcacmn: Remove assert on serialization timer handler's cmd check
There is an assert inside the serialization timer cb.
This timer cb can also be called in the scheduler context.

So if we get a scan cancel request, it is posted to scheduler
and after that command timesout, the timer  cb is posted
to the scheduler.

So first the cancel is executed and the command is removed.
After that, the timer handler is executed which will find timer->cmd
to NULL.

So, by the time, the timer handler is involved in scheduler context
the command might be cancelled so we return an error when cmd is null
in timer handler cb.

Change-Id: I03651a63de88fe5c6467c5783254ffd006c663d2
CRs-Fixed: 2427323
2019-04-04 10:31:53 -07:00
Liangwei Dong
ca4abcf92f qcacmn: Add PMK field to pmkid cache
In roaming offload, PMK will be sent to firmware.
So,save the PMK to pmkcache when supplicant provide
from os interface.

Change-Id: Ibfd3d354b9150b40755ba2ab1dd90c2e3c6ddbc3
CRs-Fixed: 2420359
2019-04-04 08:51:38 -07:00
Akshay Kosigi
2f7256aa8b qcacmn: Move vdev mlme related code to right file
Move vdev mlme related code from vdev objmgr to vdev mlme files

Change-Id: I4aafdd09376f5cf2ae5c2ad7f0276c9a67ef1d19
CRs-Fixed: 2423319
2019-04-04 08:51:34 -07:00
Santosh Anbu
6ca41ef58f qcacmn: Update ref cnt debug id doc
Add change to update the reference count module id doc.

Change-Id: I4636a4b87f04b8ae608b18c77f9bd18e7fb3ee71
CRs-Fixed: 2426772
2019-04-04 01:52:36 -07:00
phadiman
b1007509b1 qcacmn: Free memory only if it is allocated
peer attach failed due to memory allocation failure
which triggered soc restart, as part of soc restart
peer detach tried to free AST hash table and entries
which was not allocated.

For peer hash table and AST hash table free only if
the memory is allocated

CRs-Fixed: 2425963
Change-Id: Ib7a624c91f544f1a8da2b96b4d342a13b9f3b162
2019-04-03 23:52:53 -07:00
Harprit Chhabada
2a1bc9e488 qcacmn: Clean ucfg_mlme components from wlan_hdd_cfg80211_start_bss
Get the tx_leakage_threshold value directly in
tgt_dfs_set_tx_leakage_threshold from
ucfg_mlme_get_sap_tx_leakage_threshold instead
of passing from wlan_hdd_cfg80211_start_bss.

Change-Id: If8f5b85c03c01b984b7c05d72d40baca0e19c3cc
CRs-Fixed: 2418358
2019-04-03 20:28:07 -07:00
Rhythm Patwa
803446edba qcacmn: Increase the number of OFDMA user to 37
Increase the maximum allowed OFDMA users to 37
from previously set 8, in cases where more than
8 clients are connected and the PPDU has information
for multiple users like in Trigger frames.

Change-Id: I6b0b9092674514c831694457fc71e68fee512e1f
2019-04-03 15:45:13 -07:00
Dustin Brown
778ebe552a qcacmn: Add periodic work tracking
Add debug tracking to qdf_periodic_work for create and destroy calls.

Change-Id: Id595ba05493ba196e497533ffb4f4e86e33df4b8
CRs-Fixed: 2423644
2019-04-03 15:45:08 -07:00
Naga
df242752b2 qcacmn: Add TxBF caps in target_if/mlme
Add change to frame TxBF caps from vht_info
in target_if and send to FW

CRs-Fixed: 2412867
Change-Id: Ibc26b96cad2a5e72eb293f5a5d6847f19122ea0f
2019-04-03 15:45:05 -07:00
Mohit Khanna
662379ff1e qcacmn: Remove RX_BUFFER_SIZE from dp_rx.h to fix compilation
RX_BUFFER_SIZE macro got introduced by mistake during rebase. The macro
is present in hal_rx.h. Removing the extra macro.

CRs-Fixed: 2382076

Change-Id: Ia66079d6d4543b4e3fd99e9f0c0376353a92aa9c
2019-04-03 14:23:09 -07:00
sumedh baikady
c2fa7c99c0 qcacmn: Deliver STP pkts from wbm exception path
Vlan tagged STP pkts are received in host from
wbm exception path with wifi parse error code.
This is delivered to stack. Stats added for wifi
parse error and vlan tagged stp pkt count.

Change-Id: I25af5ab403ee7a46b4abe2f60328314d61587b80
CRs-fixed: 2375575
2019-04-02 15:51:44 -07:00
Dustin Brown
2698eab0b5 qcacmn: Add delayed work tracking
Add debug tracking to qdf_delayed_work for create and destroy calls.

Change-Id: Ie02c3577acd443e3f252b9b3a47207e5e2d5fe81
CRs-Fixed: 2423645
2019-04-02 15:16:22 -07:00
Dustin Brown
9c62f7d939 qcacmn: Add qdf_tracker
A common problem in any C code base is the proper management of various
resources, such as memory allocations, timers, works, locks, etc. To
that end, WLAN has added various one-off leak tracking features for
different resources over the years, to great benefit. However, this
approach is tedious, and prone to copy/paste and fix propagation issues,
making maintaining these various tracking features onerous.

Add a generic leak tracking data structure to WLAN for general use,
which implements these tracking logics. This will allow the various
resource tracking features to leverage this shared implementation for
ease of maintenance. Build on the hash table implementation added as
part of I7f5fc0c59ed220bde43044e7013b3c8573f1bf39.

Change-Id: I3247ace583108139dfb699ca077db3bdf5cfeace
CRs-Fixed: 2422958
2019-04-02 15:16:18 -07:00
Manjunathappa Prakash
64c6c451d3 qcacmn: Add QDF_STATUS enum for GRO_DROP
Adding QDF_STATUS_E_GRO_DROP enum for GRO drops.

Change-Id: I123c47d162f45ab029e7f5b6dbe76d1fa368ea1f
CRs-Fixed: 2426178
2019-04-02 15:16:14 -07:00
Sravan Kumar Kairam
4f6b8f5608 qcacmn: Serialize dp reorder queue setup wmi command
Currently rx reorder queue setup command is sent from soft irq
context. There exists race condition between resume command sent
from worker thread context and this command sent from soft irq
context. In parallel execution on different cpu cores if the wmi
suspend flag is not sent to false as part of resume command at the
time of sending the rx reorder queue setup wmi command, the command
will not be sent. So serialize the rx reorder queue setup command
by posting to scheduler thread.

Change-Id: Ib4d0fb99df142be39d2d35e7f405130c0747efac
CRs-Fixed: 2410175
2019-04-02 15:16:11 -07:00
Ashish Kumar Dhanotiya
affc485658 qcacmn: Move print_to_console api under correct feature flag
Currently print_to_console api is defined based on CONFIG_MCL
feature flag and MCL is not using it, move this api under
WIN specific feature flag QDF_TRACE_PRINT_ENABLE.

Change-Id: I2af2e21eb1cde395568cc1879a2df8c65e56a275
CRs-fixed: 2425040
2019-04-02 15:16:08 -07:00
Jeff Johnson
f1a8f5fbb3 qcacmn: regulatory: Replace explicit comparison to NULL
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within umac regulatory replace any such comparisons
with logical operations performed on the pointer itself.

Change-Id: If2fdfbf7b4d96a8af7f5eaf390e73f96ceff3dcf
CRs-Fixed: 2420152
2019-04-02 15:16:04 -07:00
Abhiram Jogadenu
d2077da875 qcacmn: Add direct rx buffer changes for CFR requirements
CFR requires to configure the number of DBRs that can be packed
in a single DBR event. Currently, this is fixed value.
Make this configurable at the time of registration.

CRs-Fixed: 2415489
Change-Id: Ifcd606641f986a5345f8ccb361c3f45db07fdc37
2019-04-02 15:16:01 -07:00
Keyur Parekh
44d8f8f9b1 qcacmn: Populate LTF size for Rx stats
Populate LTF size value from TLV for HE and modify
HE_LTF enum value to match with Firmware values

Change-Id: I8e5cce31cbae4aa8722050b06d89c933b74aa752
2019-04-02 11:17:38 -07:00
Mohit Khanna
c30b51c378 qcacmn: Reset unmapped flag in during replenish logic
This rx_desc flag was removed from the function by a previous change
with id Iaa345d04b8d48814f88ed6e2237fc67696f6a20c. This flag is
needed to keep track of whether the nbuf associated with a rx_desc has
been unmapped or not. Set it to 0 when a mapped nbuf is associated with
the rx_desc.

Change-Id: I24e103c5698a556f478a3f7917076d31b5490661
CRs-Fixed: 2393056
2019-04-02 11:17:35 -07:00
Mohit Khanna
16cd1b2e8d qcacmn: Add Sanity checks during RX processing
- Check for rx_desc.magic before using a rx_desc retrieved from the reo
  destination ring via rx_buf_cookie (dp_rx_process). Add stats.
- Check if we end up re-using a rx_desc with rx_desc.in_use=1 in the
  replenish path (dp_rx_buffers_replenish).
- Drop RX packet and assert in case MSDU Done failures are seen in
  in the TLV during dp_rx_process. Add stats.
- Disable host2rxdma ring mask for MCL. MCL is not expected to be
  receiving these interrupts.

Change-Id: Iaa345d04b8d48814f88ed6e2237fc67696f6a20c
CRs-Fixed: 2382076
2019-04-02 11:17:32 -07:00
Prathyusha Guduri
9e4bb950e4 qcacmn: 2k_jump error fix for sequence number mismatch
In some cases non aggregate packets with active BA session land in
2k_jump_error owing to sequence number mismatch.

Fix those cases by sending delba and the next addba is expected to reset
the sequence number

Change-Id: Ib95edf8744761abddb80cf28bf405d6fa52181c8
2019-04-01 07:49:02 -07:00
Chaithanya Garrepalli
a5ad5822aa qcacmn: clean up AST entries in target recovery case
In case of target recovery clean up the AST entries on
peer before peer cleanup

Change-Id: Ib4f119ec259f0de03b0513a8f0dc8ef4b431f24a
CRs-fixed: 2419890
2019-04-01 02:28:16 -07:00
Jinwei Chen
a42581d479 qcacmn: remove nss info in host tx stats
TX NSS field is not supported from WMB TX completion ring, remove
the NSS print in host TX stats in case introducing some confusion.

Change-Id: I594eb5cd7b2bf88de14f45ff6ad8e3248eb36617
CRs-Fixed: 2350789
2019-03-30 09:37:31 -07:00
Edayilliam Jayadev
79a5edccee qcacmn: dont send Spectral stop WMI if Spectral scan is not in progress
Before sending Spectral stop WMI to FW check whether Spectral
scan is in progress. When all vdevs are in down state host driver
will send a stop Spectral scan command to FW. In that scenario there
is a possibility that stop Spectral scan WMI message may go to FW
even though Spectral scan is not active. To prevent this we add a check
in stop Spectral scan routine to send WMI message only if
scan is in progress.

CRs-Fixed: 2424020
Change-Id: I2119935759c40f62df75574b6a29174973f2703f
2019-03-30 08:07:23 -07:00
Rajeev Kumar Sirasanagandla
e565a27cdd qcacmn: Reset vdev id for 11d scan after vdev destroy
In regulatory component, currently, default vdev id for 11d scan is
not reset after last sta vdev delete.

When SAP is stopped/started after last sta destroy, above behavior can
lead to invocation of WMI command to start/stop 11d scan for destroyed
vdev. Sometimes, this leads to firmware assert.

To address this, reset vdev_id_for_11d_scan to INVALID_VDEV_ID (0xFF)
after the last sta vdev destroy.

Change-Id: Ic8abaf6ac680b22fa9218c058a34cbf3c3b5bf1f
CRs-Fixed: 2415462
2019-03-30 06:44:16 -07:00
jiad
3b8104bdd3 qcacmn: Support WLAN IPA WDI 3.0 SMMU
Support WLAN IPA WDI 3.0 with SMMU-S1 enabled. Key design
considerations are captured below.

- ring base addresses are passed as struct sg_table and IPA
driver will do the IOVA mapping to IPA domain.
- ring doorbell addresses are passed as physical address and
IPA driver will do the IOVA mapping to IPA domain.
- TX/RX buffers need to be mapped to IPA domain by WLAN driver
via ipa_wdi_create|release_smmu_mapping API.
- IPA doorbell addresses returned from ipa_wdi_conn_pipes are
DDR addresses and WLAN driver needs to do the IOVA mapping
to WLAN domain.

Change-Id: I2398df58c9a9d002af7035f239eda37a86f5d00f
CRs-Fixed: 2422155
2019-03-30 04:53:25 -07:00
sheenam monga
bd70fd0a52 qcacmn: Handle DFS AP's in scan result
if gEnableDFSChnlScan is zero and scan channel list
contains only DFS channel, all DFS channels are
skipped and thus number of channel become zero.
When scan req is sent to firmware with zero
channel, it scan all valid channels which contain
DFS channels as well.With gEnableDFSChnlScan set to
zero, no DFS channels should be scanned.

Fix is to reject the scan request if number of
channels become zero after filtering invalid
channels.

Change-Id: Ife5c0f0e3173197b43809f63ca95281d815a2c3c
CRs-Fixed: 2419126
2019-03-29 21:59:08 -07:00
nobelj
7dfc8cc755 qcacmn: resolve memory leak in invalid peer
Instead of last nbuf send whole msdu chain.

Change-Id: I9f5c2889cb7ed03d9d5f44afd5c6f36db14bc45a
2019-03-29 18:26:46 -07:00
Abhinav Kumar
7d41a1740a qcacmn: Set default passive Dwell time to 110 msec
In order to minimize the probability of beacon miss,
increase default passive Dwell time to 110 msec.

Change-Id: I98b0f9a68787638787a45b9179dfeb9826777cde
CRs-Fixed: 2425379
2019-03-29 11:05:58 -07:00
Paul Zhang
57ff3231aa qcacmn: resolve time out issue for get tx power
Currently, clearing the TYPE_CONNECTION_TX_POWER is
doing after the callback get_tx_power_cb.

Timeout issue happens because:
1\ the callback get_tx_power_cb is interrupted
   after invoking osif_request_complete.
2\ __wlan_hdd_cfg80211_get_txpower is called again
   and setting TYPE_CONNECTION_TX_POWER.
3\ the callback is rescheduled and clears the bit
   TYPE_CONNECTION_TX_POWER.
4\ Because the bit TYPE_CONNECTION_TX_POWER is cleared,
   and callback won't be invoke.

Change-Id: I6a5b155d2274551b637dc22095d292a70f836700
CRs-Fixed: 2418587
2019-03-29 11:05:55 -07:00
Manjunathappa Prakash
0159f81bca qcacmn: Use INI configured WMI credit count
Use INI configured WMI credit for exchanging WMI messages.
Make sure INI configured value is less than FW advertised capability.
This credit configuration should be non zero.

Change-Id: I26b2dfbee0fc095aca3d37f21cd22c974189bb49
CRs-Fixed: 2411028
2019-03-29 11:05:51 -07:00
Jeff Johnson
eee26f7b76 qcacmn: target_if: Replace explicit comparison to NULL
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within target_if replace any such comparisons with
logical operations performed on the pointer itself.

Change-Id: I436bb3ec12d331df2260507b6a9afbab84a8a54f
CRs-Fixed: 2418256
2019-03-29 00:48:05 -07:00
Pamidipati, Vijay
cd7fda8963 qcacmn: Remove illegal access to NBUF in Tx completion handler
In Tx completion handler, nbuf was being accessed after it was
freed in vdev detach path. Fix this by moving the access to nbuf
after NULL check for vdev.

Change-Id: I08bab01bcc2f9d2e739a3897502d2d2b96bf9f43
CRs-Fixed: 2393459
2019-03-29 00:48:01 -07:00
Jeff Johnson
f3a2b8918c qcacmn: crypto: Replace explicit comparison to NULL
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within umac crypto replace any such comparisons with
logical operations performed on the pointer itself.

Change-Id: Id6edc4aa8bf0fef455c1359dacabd74fc7163e44
CRs-Fixed: 2418253
2019-03-28 16:50:36 -07:00
Srinivas Girigowda
2751b6d2b3 qcacmn: Consolidate multiple MAC_ADDR_LEN to QDF_MAC_ADDR_SIZE
Consolidate multiple (redundant) MAC_ADDR_LEN to QDF_MAC_ADDR_SIZE
CDP_MAC_ADDR_LEN
OL_TXRX_MAC_ADDR_LEN
DP_MAC_ADDR_LEN
HTT_MAC_ADDR_LEN
IEEE80211_ADDR_LEN
DEFRAG_IEEE80211_ADDR_LEN
ETHER_ADDR_LEN
HAL_MAC_ADDR_LEN
WLAN_MACADDR_LEN

CRs-Fixed: 2406591
Change-Id: I4a87f8ff556920c7b341bdbba99ec43c97b873f4
2019-03-28 16:50:32 -07:00
Dustin Brown
fdea3c7af7 qcacmn: Remove qdf_delayed_work_t
qdf_delayed_work_t has been superseded by qdf_delayed_work (via
I76bc59dcd4222643d70c6a763e5bc4ee9f0a487c). Remove the now obsolete
qdf_delayed_work_t.

Change-Id: I4e50521b469dcf9e1782e9412729f197552ee408
CRs-Fixed: 2420191
2019-03-28 13:13:36 -07:00
Ashish Kumar Dhanotiya
50400f9e13 qcacmn: Add support to send twt feature capability
Currently there is no support to send twt capability to
user space.
Add Support to advertise twt capability to user space using
vendor flag QCA_WLAN_VENDOR_FEATURE_TWT when get capability
vendor command is invoked.

Change-Id: I9d6d3dc975485a5d1ad38d4f7c2830b05619a14b
CRs-fixed: 2424356
2019-03-28 13:13:33 -07:00
Jeff Johnson
8d639a00e4 qcacmn: hif: Replace explicit comparison to NULL
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within hif replace any such comparisons with logical
operations performed on the pointer itself.

Change-Id: I929cb64ee0523d11bc86d5145aade1ec5a713071
CRs-Fixed: 2418257
2019-03-28 13:13:29 -07:00
Sravan Kumar Kairam
dda9f66849 qcacmn: Resolve ipa compilation issue
Resolve compilation for targets with config ipa unified
api enable and have kernel version 4.9.

Change-Id: Ice0bba024c11c4d5222a58941ac50fd90b139aaa
CRs-Fixed: 2422170
2019-03-28 09:04:48 -07:00
Jeff Johnson
a95ea4f9ee qcacmn: serialization: Replace explicit comparison to NULL
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within umac serialization replace any such comparisons
with logical operations performed on the pointer itself.

Change-Id: I6b8ff46dacfd2f9a883262f6336f35f5aff499bc
CRs-Fixed: 2420150
2019-03-28 09:04:45 -07:00
Dustin Brown
80150e9715 qcacmn: Remove qdf_ssr_protect/unprotect
Remove the unused qdf_ssr_protect/unprotect and related APIs.

Change-Id: I55ce40646584c32816ad38caec4c5cdee896b7fa
CRs-Fixed: 2418459
2019-03-28 04:37:26 -07:00
Srinivas Pitla
d9ad48d3ff qcacmn: Handle RADAR detect in RESTART state
If MLME gets RADAR detected event while waiting for RESTART response from
FW(RESTART_PROGRESS substate), it sets PDEV RADAR detect deferred flag.

Once VDEV SM moves from START to other state, it invokes MLME SM callback,
which checks whether “RADAR detect defer” is set.

If it is set, SM callback posts message to scheduler to notify all VDEVs on
RADAR detection.(from here, flow goes as regular radar detected event)

Change-Id: Icaa2aee900be60c12c5b38b1d199bb01ba31f722
CRs-Fixed: 2390019
2019-03-28 01:25:24 -07:00
Dustin Brown
13835b1aa2 qcacmn: Do not access bus in suspend_noirq
The WLAN suspend process has three phases:
	1) protocol suspend
	2) bus suspend
	3) bus suspend, no-irq

Currently, it is assumed by the WLAN driver that the bus will not be put
down until after step 3. Moving forward, however, the PCIe driver will
be putting the bus link down between steps 2 and 3. In order to
accommodate this, move flushing the tasklets to phase 2, up from phase
3. This will ensure the WLAN driver is done accessing the bus before the
PCIe driver puts it down.

Change-Id: I47a22b7fd940ddc1bad78265b59461c178ee7ad4
CRs-Fixed: 2423628
2019-03-27 12:52:06 -07:00
Jeff Johnson
a8edf330f0 qcacmn: dp: Replace explicit comparison to NULL
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within dp replace any such comparisons with logical
operations performed on the pointer itself.

Change-Id: I61f3adab1208682d36235421f44a048e35df346d
CRs-Fixed: 2418258
2019-03-27 06:10:00 -07:00
Jeff Johnson
5a6cc79b9e qcacmn: htc: Replace explicit comparison to NULL
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within htc replace any such comparisons with logical
operations performed on the pointer itself.

Change-Id: Ibb6d24aff9824d7e7cf253c1fe3081443cbfb63b
CRs-Fixed: 2418252
2019-03-27 06:09:57 -07:00
Rajeev Kumar
1fe4511e2e qcacmn: Replace adrastea compile time config by MSM platfrom
To have proper MSM timer tick to usec conversion replace adrastea
config by msm platfrom.

Change-Id: I3c5ed4b907a6844c507b7f38bce2537bd933f89b
CRs-Fixed: 2421674
2019-03-26 20:56:22 -07:00