提交線圖

9210 次程式碼提交

作者 SHA1 備註 日期
Ankit Kumar
1f948cbb6b qcacmn: Process mon dest buffer via nr_frag
Process mon destination buffer via nr_frags
if RX_MON_MEM_FRAG is enabled.

Change-Id: If49132b129e01f6a248544134ac9d9457aa2072d
CRs-Fixed: 2741789
2020-08-11 16:08:03 -07:00
Ankit Kumar
526bbe81de qcacmn: Handle frag based ops based on rx_Desc_pool flag
Rx desc pool have a flag to identify whether frag or nbuf
operation needs to be performed for alloc, map, prep and
free buffer for monitor dest buffer.

This flag will be set only for mon destination desc pool,
if RX_MON_MEM_FRAG feature is enabled.
In all other case, It will be set to Zero and default nbuf
operation will be taken.
This flag get initialized at the time of pdev rx_desc_pool
initialization and gets reset while pdev deinit.

Mon destination buffer will have support for frag if
RX_MON_MEM_FRAG flag is set.

Change-Id: I67c6c823ee4f114035b884c024a1a9054a40665b
CRs-Fixed: 2741757
2020-08-11 14:09:08 -07:00
Edayilliam Jayadev
37a135ca9e qcacmn: Add an API to check given vdev is a special vap
Add an API to check given vdev is a special vap.

CRS-Fixed: 2746740
Change-Id: Ic42ed105ef8051ae0bef6baba0920626bef854f0
2020-08-11 14:09:04 -07:00
Edayilliam Jayadev
c56100ad57 qcacmn: Indicate special vap type to FW
Special vap type is used by scan radio solutions.
Indicate special vap type to FW through
vdev create WMI command.

CRS-Fixed: 2746724
Change-Id: Ie5e4b059306c5c80d93dba0ebb4810b3e570878f
2020-08-11 14:09:00 -07:00
Venkateswara Swamy Bandaru
e45ec4e18d qcacmn: Add HE support for NSS parsing in scan entry
Add HE capability IE parsing support to get NSS supported for
scan entry. Curreny only vht capability ie pasing suuport ie
is there. But in case of 6GHz band vht capability IE ont be
there and thus giving false NSS as 1.

Change-Id: Ie25d67d765c0880ed82df0b6cc2d047fe08adec0
CRs-Fixed: 2744234
2020-08-11 11:52:50 -07:00
Pragaspathi Thilagaraj
896d2a4a9d qcacmn: Add support for peer create confirm handler
Firmware sends peer create confirmation event with
success or failure status.

Add changes to handle the peer create confirmation event.

Change-Id: I8d80cfe3945410e4f49d27df7c1903eabb7d6827
CRs-Fixed: 2747877
2020-08-11 09:48:03 -07:00
Jhalak Naik
a878b340c8 qcacmn: Export qdf symbol for functions used for CBT
Add export function symbol for functions and compile
qdf_func_tracker.c file, required for code instrumentation.
These functions print the dump of function call map and are
called during CBT test case execution, to find errors and
trace function calls.

Change-Id: Idc79de7111398956b4995d3d7cbefa45a079b100
CRs-Fixed: 2748686
2020-08-11 09:48:00 -07:00
Jinwei Chen
f6a3aba85c qcacmn: fix incorrect ext_stats calculation
Currently when query REO stats, each time REO will response
cumulative REO stats per TID, while host side count them as
delta stats between each query.
Reset host stats to 0 before each query, and if query timeout
happened, use the last saved stats for this time query.

Change-Id: I29e986b3c8859f5c3d1b557d9cc980a52219d664
CRs-Fixed: 2743352
2020-08-11 02:39:17 -07:00
Chaithanya Garrepalli
272f2df8c8 qcacmn: delete sta peer self_ast_entry at peer delete
Delete the STA vap self peer's ast entry at time of
vdev detach before peer delete

Change-Id: I378dc956bffa8eafcd9bbd3849f264cc23da3e7a
2020-08-11 00:35:37 -07:00
Jinwei Chen
d552bfa2cb qcacmn: add rx nbuf ipa smmu map/unmap trace
Currently in_use and unmapped flag from rx_desc can not know is
the rx nbuf has done IPA smmu map/unmap accurately.
add rx nbuf IPA smmu map/unmap flag in qdf_nbuf_cb, and use
this flag to check if IPA smmu map/unmap need to be done or not.

Change-Id: I19bbc6cc69ba752ef7c58d41fbe26299ca96d29e
CRs-Fixed: 2731313
2020-08-11 00:35:34 -07:00
Lin Bai
fc461df2d5 qcacmn: Avoid accessing freed pdev pointer
It is possible pdev already be freed in previous
wlan_objmgr_pdev_component_obj_detach function.
Here avoid to print this pointer again.

Change-Id: I8618eec1c0a9f493141d0191a9a3e6c0a08305dd
CRs-Fixed: 2751813
2020-08-11 00:35:31 -07:00
Rhythm Patwa
bedc5c7164 qcacmn: Add WMI support for MBSSID control frame configuration
Add WMI support for MBSSID control frame configuration

Change-Id: I294c20dae078533b154d333db7a2295de5c94c17
2020-08-10 16:45:58 -07:00
Rhythm Patwa
aa78367f33 qcacmn: Add support to handle preamble puncturing Tx WMI parameters
Add service ready parameter to update the capability for Preamble Puncturing
Tx support from target. Add WMI support for configuration of Punctured
band setting from Host.

Change-Id: If5714c162356c35c7c385c4596043c0bc671be9a
2020-08-10 16:45:55 -07:00
Manjunathappa Prakash
6ab2ce97e9 qcacmn: Do not reinject back defrag frames to REO
Deliver fragmented frames directly to stack without reinjecting back
to REO. Handle PN check for fragmented frames before delivery.
Drop the frames on PN check failure.

Change-Id: I7865def0d39fa83378073e07d318c34dccc6c6e5
CRs-Fixed: 2739870
2020-08-10 10:55:24 -07:00
Vignesh U
a693c6aa64 qcacmn: Expand DFS Radar found on curchan sanity check
Move the dfs current channel NULL check inside the routine that does the
sanity check(dfs_radarevent_basic_sanity()).

Since we have two completely different functions to handle radar from:
1) Home channel
2) Agile Channel
we do not need agile detector check in "radar from home channel" function.

Change-Id: Ie91f1d24c948e9d136f49d9ce8bc4cff29327862
CRs-Fixed: 2737944
2020-08-10 03:57:48 -07:00
Vignesh U
1869e7343c qcacmn: Remove agile part from current channel radar processing
The process radar found indication was generic radar action function that
caters to both radar on agile channel and current operating channel.
Since this API dfs_process_radar_ind() has been split into, one for
the radar on agile channel dfs_process_radar_ind_on_agile_chan() and
the other one dfs_process_radar_ind_on_cur_chan() for radar on current
channel, and the agile spefic functionalities have been defined in
dfs_process_radar_ind_on_agile_chan(), dfs_process_radar_ind_on_cur_chan()
need not have any agile specific part.

Remove the agile specific part in dfs_process_radar_ind_on_cur_chan().

Also changed the following: dfs_is_precac_timer_running function returns
true for both agilePrecac and legacy preCAC. Therefore replace
"dfs_is_precac_timer_running" by "dfs_is_legacy_precac_enabled" while
checking for the radarsource.

Change-Id: Id6921d0919a7a630d201ef7c1037510285b12d73
CRs-Fixed: 2737327
2020-08-10 03:57:45 -07:00
Vignesh U
ccd366019b qcacmn: Split DFS radar action
The process radar indication is huge making it difficult to read and debug.
It can be modularized into 3 high level functionalities based on whether
HW mode switch action is in progress or not, whether the radar found
detector id or segment id is the same as agile detector or segment and if
none of these conditions satisfy then the radar might be on the current
operating channel.

Classify DFS radar action based on HW mode switch status,
detector id and preCAC status into 3 sub-functions.
i)  dfs_radar_action_when_hw_mode_switch_in_progress()
ii) dfs_process_radar_ind_on_agile_chan()
iii) dfs_process_radar_ind_on_cur_chan()

Change-Id: I7d862eb08d6373fabaedda4b77deb966466f6b1a
CRs-Fixed: 2737273
2020-08-10 01:58:15 -07:00
Vignesh U
d96e6d0356 qcacmn: Move RCSA and NOL IE related code under a function
The RCSA and NOL IE are win specific and need to be moved into a function.

Change-Id: I5bb68279b4747ca61a4e4a7c4a6d78818ee4be86
CRs-Fixed: 2737134
2020-08-10 01:58:10 -07:00
Adil Saeed Musthafa
eca6d16539 qcacmn: Move RU and MCS strings to cdp header file
Move RU and MCS strings from dp_stats.c to cdp header file so that these
strings can be used in user applications including the CDP header. This
will remove redundant definitions of these strings in user application

Change-Id: Ie74283f54131378447324b927e19e9716ef7519a
CRs-Fixed: 2749062
2020-08-10 01:58:06 -07:00
Utkarsh Bhatnagar
4987746ee6 qcacmn: Change WAPI Tx IV PN Sequence
Change the receive and transmit Iv in wlan_crypto_set_wapi_key
such as:
	tx_iv[16] = {0x5c, 0x36, 0x5c, 0x36, 0x5c,
		     0x36, 0x5c, 0x36, 0x5c, 0x36,
		     0x5c, 0x36, 0x5c, 0x36, 0x5c,
		     0x36};

	rx_iv[16] = {0x5c, 0x36, 0x5c, 0x36, 0x5c,
		     0x36, 0x5c, 0x36, 0x5c, 0x36,
		     0x5c, 0x36, 0x5c, 0x36, 0x5c,
		     0x37};

This is done as wpi_key_tsc_counter sequence was been sent
in reverse order. 0x365C365C365C365C365C365C365C365C was
sent although 0x5C365C365C365C365C365C365C365C36 was expected.
This is because new chipset firware expects the format to be
in big endian. Also, taken care for the backward compatibility
required for the old chipset firware with the feature flag.

Change-Id: I8c795df5a9143e5089e93aaebe7787e51b570c74
CRs-Fixed: 2743162
2020-08-07 15:02:06 -07:00
Yu Wang
9db6e532fe qcacmn: start packetdump_timer when registering the function
packetdump_timer is stopped when deregistering the
function, to make align, start it when registering.

CRs-Fixed: 2748669
Change-Id: I9d106f81b04011111c4b01e6b6c50403202e7c6e
2020-08-07 12:57:39 -07:00
Linux Build Service Account
d5ae10db7e Merge "qcacmn: Add error print for matching ppdu_id during HAL processing" 2020-08-07 10:06:10 -07:00
Linux Build Service Account
63e1092de5 Merge "qcacmn: remove bss and self peer back pointers from dp_vdev" 2020-08-07 04:36:27 -07:00
Harsh Kumar Bijlani
c58c061890 qcacmn: Add error print for matching ppdu_id during HAL processing
When matching ppdu_id is detected during HAL processing, then print the
error message instead of going for assert.

Change-Id: I8f58359a66fbeaf2ebc98477f65bab446c0a784b
CRs-Fixed: 2747953
2020-08-07 02:53:28 -07:00
Linux Build Service Account
38517a89f3 Merge "qcacmn: Fix unknown symbol error for 16M flash profile" 2020-08-06 19:07:51 -07:00
Linux Build Service Account
6803c3b545 Merge "qcacmn: Allow all bands in DFS chanwidth check" 2020-08-06 19:07:51 -07:00
Linux Build Service Account
ee1fe95414 Merge "qcacmn: Fix uninitialized scalar variable" 2020-08-06 15:06:54 -07:00
Linux Build Service Account
26edeae8cb Merge "qcacmn: disable CE8 interrupt" 2020-08-06 15:06:53 -07:00
Chaithanya Garrepalli
82eb94c989 qcacmn: remove bss and self peer back pointers from dp_vdev
Remove self and BSS peer back pointers and added APIs to
get self and BSS peer from VDEV

These new APIs will iterate through peer list and return
the appropriate peer by taking a reference

Caller has to take care of releasing the reference

Change-Id: I550ff83d665f3ad0a185bea1a1e6270c5474ff07
2020-08-06 14:37:19 -07:00
Ananya Barat
1010dcfa74 qcacmn: Fix unknown symbol error for 16M flash profile
The 2 functions dfs_print_delayline and dfs_get_pri_margin are specific
to Partial Offload and Direct Attach. Bringing them under the macros in
order to resolve unknown symbol errors for 16M flash profile.

Change-Id: I0ca1514e37ba54083a9f614825dda4f31a95e7ea
2020-08-06 14:37:14 -07:00
Ananya Barat
86f1d1d9b3 qcacmn: Allow all bands in DFS chanwidth check
With the current implementation, the chanwidth of the Agile channel
(for both PreCAC/RCAC) is the same as (or less than) as the chanwidth
of DFS curchan. The width of the DFS curchan is determined in the
function dfs_find_curchwidth_and_center_chan_for_freq which calls a
macro WLAN_IS_CHAN_11AXA_HE80 for 80 MHz which checks if the channel
is a 5G channel and 80 MHz. As a result, for wideband (i.e radio has
both 5 and 6Ghz channels), if the curchan is a 6GHz channel this check
fails which leads to invalid chanwidth and RCAC does not start.

Fix this by checking the chanwidth of the DFS curchan for both 5GHz and
6GHz in case of 11AX.

Change-Id: I9aef64cea1d442fc31b2314da08baba7769650f2
2020-08-06 14:37:10 -07:00
Linux Build Service Account
76596e05ae Merge "qcacmn: Send VDEV_UP after spoof radar in Rep-AP" 2020-08-06 11:08:40 -07:00
Jia Ding
223c1e5865 qcacmn: Fix uninitialized scalar variable
Fix below static code analysis case.

uninit_use_in_call: Using uninitialized value target_type
when calling hif_get_device_type.

Change-Id: I0d072dd7dd92addeb986d088a7ee85ff13e15d16
CRs-Fixed: 2748473
2020-08-06 10:38:07 -07:00
Basamma Yakkanahalli
f732e1a0b2 qcacmn: disable CE8 interrupt
Disable CE8 interrupt it is not used between 
host and target communication.

Change-Id: I39439bcdd6adfa3973bcc81eaf43f047839a85aa
2020-08-06 10:38:03 -07:00
Linux Build Service Account
54507b00ba Merge "qcacmn: Add APIs to configure and switch to postNOL channel" 2020-08-06 08:36:51 -07:00
Linux Build Service Account
3a514c58e6 Merge "qcacmn: Change burst_duration and min_rest_time value" 2020-08-06 08:36:50 -07:00
Vijay Krishnan
c70a7a8d0f qcacmn: Send VDEV_UP after spoof radar in Rep-AP
In Partial-Offload, when a repeater is associated with Root-AP in
DFS channel. The Repeater STA will get connected with Root-AP and then
Repeater-AP comes up in the DFS channel but it does not send beacons.

The reason is, when a STA vap is UP and in connected state, CAC is
skipped. So, for Repeater-AP we send VDEV_UP before Spoof radar
pulses event. FW rejects the VDEV_UP sent by host and therefore
Repeater-AP will be in UP state but it does not send any beacons.

The fix is, while checking the condition if STA vap is set to true, we
also check whether spoof radar event is completed. If the spoof radar
event is not completed, then we will not skip CAC and then VDEV UP
will be sent after the Spoof radar event.

CRs-Fixed: 2748740
Change-Id: If63f3118d3e40785b375a0bd59d46783c14fe433
2020-08-06 06:34:50 -07:00
Vignesh Mohan
1e876d8f14 qcacmn: Add APIs to configure and switch to postNOL channel
Introduce APIs to perform postNOL channel switch to user
configured channel after the NOL expiry of said channel.

This channel change will involve regular CAC after vdev start.

Change-Id: I426b0c4b51c84789870841dd4c3af942be185f20
2020-08-06 04:24:55 -07:00
Linux Build Service Account
d2e7c291e5 Merge "qcacmn: Reduce obj mgr log level to debug" 2020-08-06 03:36:42 -07:00
Linux Build Service Account
ced27281e4 Merge "qcacmn: prevent double free on buffer" 2020-08-06 03:36:41 -07:00
Gururaj Pandurangi
c0989c2a3d qcacmn: Change burst_duration and min_rest_time value
Enable burst scan for GO+STA case and set the burst
duration as 1 active dwell time.
Burst scan provides higher priority and can ensure
the scan request granted, since P2P GO requests larger
duration for its high priority channel request.
But this value will limit the off-channel time to give
more bandwidth for P2P home channel.
Also, change minimum rest time from 50 to max rest time
i.e. 100 for MCC case for all concurrency combinations.
50ms min reset time only grants 1 home channel in MCC,
when there is only 1 home channel and has heavy traffic,
it can be scheduled firstly as scan BSS channel, and if
activity check found not much traffic for the 1st 50ms,
it decides to go foreign channel directly, the 2nd home
channel with heavy traffic will not get chance to schedule.

Change-Id: I2cd73750709a964bd23896fe10f754caa28c2789
CRs-Fixed: 2716111
2020-08-06 01:50:27 -07:00
Vevek Venkatesan
7d59f8067a qcacmn: fix the error by accessing pointer if not NULL
Fixing the errors of accessing pointer only if it not NULL.

Change-Id: Ie1e5ae4e4403956e3f9d4df7ca139804fe89d641
CRs-Fixed: 2741833
2020-08-06 01:50:24 -07:00
Gururaj Pandurangi
48e4e62dfa qcacmn: Reduce obj mgr log level to debug
Reduce object manager log level to debug
to avoid console lock and excessive logging

Change-Id: I7e008ccbfb425f0a88504a2d980a73bffa255cdf
CRs-Fixed: 2746992
2020-08-05 23:49:36 -07:00
Ruben Columbus
e762bb831e qcacmn: prevent double free on buffer
wdi event has to be called before dp_txrx_ppdu_stats_handler.
this will handle all pktlog htt messages including cases for mgmt frame

Change-Id: Iefba15b61278fe77cbb6d6df9190e66b46ed573c
2020-08-05 20:59:16 -07:00
Yu Tian
db5374f08f qcacmn: Allow drop pkts when pkts pending is large
On some cases, dp_rx_thread can not handle nbufs in time,
then a large number of packets are pending in
rx_thread->nbuf_queue, which run out of system memory at
last and failed to malloc new buffers for refill buffer
ring, fw crash is encountered. To avoid this, drop RX
packets when the pending number becomes large.

Change-Id: I370ad983b185b6ecb28fa7c0b4820b8edc00c710
CRs-Fixed: 2737191
2020-08-05 20:59:13 -07:00
Rajeev Kumar
30a3c984d0 qcacmn: log wmi cmd id in hex when cmd is sent over qmi
WMI commands are logged in hex in FW and hence log WMI CMD ID
in hex when stats request is send over QMI to assist in debugging.

Change-Id: I9ce63db30b491f26b9d6ac7ae3c98e6177452d7c
CRs-Fixed: 2733208
2020-08-05 17:35:18 -07:00
Rakshith Suresh Patkar
2bd4ec3c09 qcacmn: Add debug log to trap unsuccessful dbr vaddr lookup
In direct buf rx, if physical address is not intact or
is corrupt, the dbr lookup for vaddr will fail and result
in vaddr being NULL. There is no validation for this vaddr
in the caller and hence results in NULL access in the
callstack.

Add debug log and return error status when dbr
vaddr lookup fails, which indicates that there is
corruption in paddr received and avoid NULL access.

Change-Id: I76ee300ce3e686765dd5c4ee73fa71d1735c163a
CRs-Fixed: 2748529
2020-08-05 17:35:15 -07:00
Linux Build Service Account
b8f0f60de2 Merge "qcacmn: Save roam_trigger_reason and roam_ap_info params" 2020-08-05 16:35:51 -07:00
Linux Build Service Account
ed35b1ee57 Merge "qcacmn: Print HTT version info in INFO_LOW level" 2020-08-05 16:35:51 -07:00
Ashish Kumar Dhanotiya
64476bcd6c qcacmn: Add connect infra for connection manager
Add connect functions to convert kernel specific connect
request to connection manager specific connection request
for connection manager infrastructure.

Along with the above functions, add the file structure for
connect, disconnect and roam functions for connection
manager infrastructure.

Change-Id: Id4e389d06cea6e39327faef0c119275741574785
CRs-Fixed: 2739318
2020-08-05 13:25:30 -07:00