Grafik Komit

1810 Melakukan

Penulis SHA1 Pesan Tanggal
Shashikala Prabhu
829e678c35 qca-wifi: Set monitor buffer size as 2K for 256M profile
Monitor mode is not supported in 256M profile. Therefore set monitor buffer
size as 2K.

Change-Id: I914ede679363d67566537c1abb9f9f1b599b4d20
CRs-Fixed: 2668071
2020-04-20 10:28:41 -07:00
Linux Build Service Account
d035dfef20 Merge "qca-wifi: ignore ack with 0 mac addr" 2020-04-14 17:59:18 -07:00
Christopher Chopp
cf78ddd987 qca-wifi: Add frame types to TX Capture
The current implementation of the TX Capture
feature assumes a non QoS 3 address frame for
each frame. If a frame is a QoS frame, the extra
fields are manually added, but if the frame is a
4 address frame, there is no handling. Add QoS,
4 address and 4 address QoS frame types to the
TX Capture feature and update accordingly.

Change-Id: Idd7f8f55a5543718f52bc38be396d671b87b54bd
CRs-Fixed: 2636684
2020-04-14 16:38:53 -07:00
Ruben Columbus
f73266f87c qca-wifi: filter by mac check
filter pass seems to not be working for control frames
so we are using mac check address comparison for non-bss freames
when tx_monitor is set

Change-Id: I3a003636381f73191081e821dbe8cf00a67cb042
2020-04-13 17:33:22 -07:00
Srinivas Pitla
3e6eb3562a qca-wifi: Free nbuf on bpr disabled case only
If tx capture, sniffer are not enabled, mgmt nbuf is freed.
It is causing use-after-free in bpr enabled case

Added change to free only when bpr is disabled

CRs-Fixed: 2662214
Change-Id: I0d889f371cf47047200f70563b589fac99733c49
2020-04-13 11:32:37 -07:00
Padma Raghunathan
1d0cd5513b qca-wifi: CFR: Remove CFR files in component_dev
Remove CFR files from comp_dev

Change-Id: I4fcb34e5f31a4df7098cc52516257fdc89848839
2020-04-09 20:34:28 -07:00
Padma Raghunathan
eae627875f qca-wifi: CFR: Remove QAL streamfs
streamfs/relayfs is needed by MCL and WIN. It is being moved to
QDF layer(Change-Id: I1401112ece290e6d0560623cf10faaf498ebb1b7).

Cleanup QAL streamfs files to avoid duplicity.

Change-Id: I06f2f07ca347e12b262620a780b38f40f565712a
2020-04-09 20:34:12 -07:00
Ruben Columbus
85d72bdfe4 qca-wifi: error copying memory
unnecesary condition statement for mem copy

Change-Id: I5742b9272ac5c1789a078165c858c3d54bc59bda
2020-04-09 14:04:58 -07:00
Linux Build Service Account
81dd781d31 Merge "qca-wifi-oss: Fix compilation errors on disabling Agile DFS" 2020-04-07 10:40:57 -07:00
Ananya Barat
5c45da13be qca-wifi-oss: Fix compilation errors on disabling Agile DFS
Agile DFS can be disabled by disabling macro QCA_SUPPORT_AGILE_DFS.
Fix compilation errors on disabling Agile DFS.

Change-Id: I144a261f5e0db37bea9a0a6b372bcf1e13205bb6
2020-04-07 12:24:44 +05:30
Linux Build Service Account
94ba9e06ab Merge "qca-wifi: Handle Packet log disable WMI command fail" 2020-04-06 21:41:12 -07:00
Linux Build Service Account
a78b6f8b6a Merge "qca-wifi: CFR: Change streamfs directory path" 2020-04-05 00:39:03 -07:00
Linux Build Service Account
f366c4359c Merge "qca-wifi: Unmark PreCAC NOL based on 160MHz PreCAC tree" 2020-04-04 08:28:55 -07:00
Linux Build Service Account
84b4ed4340 Merge "qca-wifi: Update API to check precac done" 2020-04-03 04:21:06 -07:00
Pavankumar Nandeshwar
1514da0ceb qca-wifi: Hold the ast lock while using ast table
Hold the ast lock while fetching and using the ast
entry from ast table without unlocking in between
to make sure that the ast entry is not freed
in between.

Change-Id: I887b94441e7c19d6ce0bf7175f61a1dc9055a0fc
2020-04-01 23:11:11 -07:00
Subrat Mishra
db94114a40 qca-wifi: Handle Packet log disable WMI command fail
Handle packet log disable WMI command fail scenario.

CRs-Fixed: 2643385
Change-Id: Iffe3efa222bb736cdf604455a0e7d12e5500e536
2020-04-01 22:49:49 -07:00
Vignesh U
d72c581437 qca-wifi: Unmark PreCAC NOL based on 160MHz PreCAC tree
PreCAC NOL is unmarked based on the 80MHz center frequency. This is
wrong as the PreCAC tree, with the avilablity of full 160MHz Agile engine,
can have a root as high as 160MHz. This will lead to channel not picked
for PreCAC after NOL timeout.

PreCAC NOL should be unmarked based on the center frequency of
the root node's bandwidth.

CRs-Fixed: 2654993
Change-Id: Ie054d725c1b7a2fed47c9f294f3d71c4dd9e8ecb
2020-04-01 20:08:44 +05:30
Linux Build Service Account
51b137a4fe Merge "qca-wifi: Modify API to check precac on 160MHz channel" 2020-04-01 06:40:30 -07:00
Padma Raghunathan
f1ac9b965c qca-wifi: CFR: Change streamfs directory path
Streamfs implementation is moved to cmn_dev since both WIN/MCL
need it for CFR. In QAL layer, parent directory was NULL,
whereas in qdf layer, parent directory is "qdf".

This change modifies the streamfs directory path used by CFR
userspace app.

Change-Id: I5d235dab66344e3baa8d9fac7ad2f12e2b9f13ea
2020-04-01 09:10:37 +05:30
Vignesh U
383bf4a22b qca-wifi: Update API to check precac done
The API to check if precac is done on a given channel is based on
the 80MHz precac tree(dfs_is_precac_done_on_ht20_40_80_chan_for_freq()).
So a separate API was needed to check if precac was done on a 80P80MHz or
160MHz channel(dfs_is_precac_done_on_ht8080_ht160_chan()).

Now that the precac tree is updated to include the 160MHz and 165MHz
channel, the API(dfs_is_precac_done_on_ht20_40_80_chan_for_freq()) can
also be updated to include the 160MHz and the 165MHz channel and
the API(dfs_is_precac_done_on_ht8080_ht160_chan()) can check only the
80P80MHz channel.

Change the API dfs_is_precac_done_on_ht20_40_80_chan_for_freq() to
dfs_is_precac_done_on_ht20_40_80_160_165_chan_for_freq() to also check the
160MHz and the 165MHz channel.

Update the API dfs_is_precac_done_on_ht8080_ht160_chan() to
dfs_is_precac_done_on_ht8080_chan() that checks precac done only on a
80P80 channel other than the restricted 80P80 channel(the 165MHz channel).

Change-Id: Id747e3a88fc3d74c40702fc250af9e1b825b4e78
CRs-Fixed: 2653172
2020-03-31 16:50:09 +05:30
Vignesh U
d755d585bb qca-wifi: Modify API to check precac on 160MHz channel
The API dfs_is_pcac_on_weather_channel_for_freq() which checks
whether PreCAC is being done on a weather radar  channel or not does not
consider the case of an input 160MHz channel.

Add a case to check if the 160MHz channel includes weather radar channels
or not.

Also take care of the 165MHz channel which will be treated as 80P80MHz
channel.

CRs-Fixed: 2651161
Change-Id: I7285c9095a184947b1c33c11d6bb3b2370b31401
2020-03-31 16:29:12 +05:30
Linux Build Service Account
99b50e6aa1 Merge "qca-wifi: fix TSF wrap around case in tx capture" 2020-03-30 02:28:34 -07:00
Linux Build Service Account
fe264824b0 Merge "qca-wifi: Remove redundant data structure for wmi response extraction" 2020-03-30 02:28:33 -07:00
Linux Build Service Account
27bc6ff961 Merge "qca-wifi: Add third argument to WMI_DBGLOG_CFG_CMDID" 2020-03-29 10:09:58 -07:00
Srinivas Pitla
c1fbfdd72c qca-wifi: fix TSF wrap around case in tx capture
Handle wrap around correctly during TSF delta calculation.

Change-Id: I1303053dbf33175e9f3c7beec0988a4aef03eb7f
CRs-Fixed: 2651294
2020-03-27 10:26:16 -07:00
Srinivas Pitla
e13d2f6375 qca-wifi: Fix RTS and CTS duration in tx capture
This change updates correct timestamp for self gen RTS/CTS frames

Change-Id: I934de171f7d78288a91b57581c9cdb0ff48b9067
CRs-Fixed: 2632369
2020-03-27 10:26:00 -07:00
Linux Build Service Account
bcc9fe307b Merge "qca-wifi: Fix compiler issues when WAPI is disabled" 2020-03-27 05:17:24 -07:00
Linux Build Service Account
b0437f2b81 Merge "qcacmn: Remove redundant data structure for wmi response extraction" 2020-03-26 20:01:30 -07:00
Ruben Columbus
490a45106d qca-wifi: ignore ack with 0 mac addr
use mac addr compare function with dummy mac addr set to all 0 and dest
mac addr. if they are similar then just ignore frame.

Change-Id: I8c892d0ca4a210865720b94b580b6e24dad0382b
2020-03-26 16:07:28 -07:00
Pooventhiran G
419e7a2388 qca-wifi: Fix compiler issues when WAPI is disabled
Variable "i" in "send_setup_install_key_cmd_non_tlv" function is used
only when ATH_SUPPORT_WAPI is enabled. Hence, kept its declaration
inside ATH_SUPPORT_WAPI macro itself.

Change-Id: Ic67362b0d90db64fb44b2e9ad7d026c836a95c51
2020-03-25 06:33:50 -07:00
Linux Build Service Account
ae3a9acfa3 Merge "qca-wifi: Add full moniotor mode processing" 2020-03-25 05:41:41 -07:00
Linux Build Service Account
348807f1b2 Merge "qca-wifi: Remove redundant data structure for wmi response extraction" 2020-03-24 23:38:41 -07:00
Linux Build Service Account
001c24899f Merge "qca-wifi: Configure 165MHz Agile channel" 2020-03-24 05:53:44 -07:00
Linux Build Service Account
0bc90ed6d4 Merge "qca-wifi: Add support for 160MHz precac tree" 2020-03-24 05:53:44 -07:00
Linux Build Service Account
ff323f757d Merge "qca-wifi: Handle capture interval and capture duration for RCC" 2020-03-24 00:13:59 -07:00
Linux Build Service Account
a8200ea0e5 Merge "qca-wifi: RCC cannot coexist with M_TX_ACK mode" 2020-03-24 00:13:58 -07:00
Linux Build Service Account
98dc321554 Merge "qca-wifi: Keep the default subtype as 0 for default RCC config" 2020-03-24 00:13:58 -07:00
Amir
86628c52f7 qca-wifi: Add full moniotor mode processing
a. Add attach and detach for full monitor resources
	b. Read 'sw_monitor_ring' descriptor and pop MPDU
	c. Replenish buffers and link descriptors back to HW
	d. Form a MPDU queue per-ppdu and all MPDUs per-PPDU to upper layer

Change-Id: I5abff75354dd3686491d4fee3c3c4612a3ca3e15
2020-03-24 11:52:18 +05:30
Linux Build Service Account
ed8f61c5c1 Merge "qcacmn: Add protection while accessing cfr lookup table" 2020-03-23 10:40:55 -07:00
Adwait Nayak
c7c91947c2 qca-wifi: RCC cannot coexist with M_TX_ACK mode
Coexistence of RCC and M_TX_ACk mode is not supported

Change-Id: Ib5b5432f991e0cf5213f2d630f9322a3603ed088
2020-03-22 10:15:32 +05:30
Linux Build Service Account
70ff584a5c Merge "qca-wifi: CFR: Report correct values for RSSI and cfr_timer_enable" 2020-03-21 10:39:06 -07:00
Adwait Nayak
213a5e68a6 qca-wifi: Keep the default subtype as 0 for default RCC config
1. MAC does not really consider the expect TA and the
expect RA when the expect TA mask and expect RA mask is 0.
Basically, it checks for the subtype, bandwidth and NSS
as the filter criteria.

2. In the other scenario, if the RA matches with expect
RA and TA matches with expect TA then it does not really
consider the expect TA MASK and expect RA MASK.
With the current default config, since the expect address
mask is 00:00:00:00:00:00 it falls under case 1 and it is
written based on the MAC recipe.

But actual MAC logic is different from what is mentioned
in the recipe. MAC works on below logic:
TA & TA MASK = Expect TA & expect TA mask
RA & RA MASK = Expect RA & expect RA mask

As an additional precaution, we need to modify default
subtype as 0 so that if user enables any group by mistake
and does not give any input for the other RCC
configurations, we can block the RCC to capture CFR data.

Change-Id: Ic79fde2a23126b6cdca84df0091e1df23fb487e4
2020-03-20 14:20:57 -07:00
Adwait Nayak
25eea0893c qca-wifi: Handle capture interval and capture duration for RCC
FW may limit the interval and duration during which HW may
use user provided values and attempt to capture.
These values range from 1 us to roughly 16.8 sec.
Max value is 0xFFFFFF which is 16.777215 sec.

Add check to make sure that capture duration cannot exceed
capture interval.

Change-Id: If6f75c737f8ac8cda527eee60f0e67d75e3b5420
2020-03-20 13:49:49 -07:00
Vignesh U
7a47973638 qca-wifi: Configure 165MHz Agile channel
The FW has updated the wmi command wmi_vdev_adfs_ch_cfg_cmd_fixed_param so
as to configure the restricted 80p80 channel as the Agile channel.

Add support in ADFS parameter to enable the 165MHz channel as the Agile
channel.

Change-Id: I757bbd9b209118f19e51b7a95881124000f362c8
CRs-Fixed: 2642555
2020-03-20 06:56:50 -07:00
Vignesh U
a5540082df qca-wifi: Add support for 160MHz precac tree
Rebuild the precac tree with 160MHz root channels. Add support to mark the
160MHz precac channel nodes as CAC done and NOL.

Go through the list of available channels to find the unique PreCAC Tree
roots. Find the root channels that are not part of the 160MHz channel.
Example, consider a case where a country supports only until channel 144,
then the precac tree will have two 160MHz root nodes(36HT160, 100HT160) and
one 80MHz root node(132HT80).

Add support include the 165MHz channel to the precac tree for Pine by
considering the 165MHz channel as a 80p80MHz channel with a center channel
number 146. Adjust the channel frequency offset to mark the 165MHz
channel as precac done and NOL.

When a 160MHz or the 165MHz channel encloses a nonDFS channel, mark that
nonDFS channel as precac done.

Change-Id: Ia9bb2cc5c845c4d636e35329cdf76ace2eb63c72
CRs-Fixed: 2628373
2020-03-20 06:56:26 -07:00
Padma Raghunathan
c68c9e44b3 qcacmn: Add protection while accessing cfr lookup table
Protect access to cfr lookup table, since error handling
mechanism attempts to cleanup CFR entries in timer context,
this leads to contention between bottom-half and timer.

Change-Id: I6a414e0da883250a90451824367c12fcca33c27e
2020-03-20 13:42:36 +05:30
Padma Raghunathan
9830a9214c qca-wifi: CFR: Report correct values for RSSI and cfr_timer_enable
1. Clear cfr_timer_enable flag during wifi down
2. Similar to one-shot capture, report RSSI in metadata for RCC.
   Convert SNR in rxtlv to RSSI.

Change-Id: Ib7c9875049f4cf3114bbb8b0851a35ad5928325c
2020-03-20 12:59:52 +05:30
Srinivas Pitla
58a1539c08 qca-wifi: Mark beacon frames as selfgen
Beacon frames are FW generated frames, FW indicated them as DATA_SU,
with this, frame is not marked as self gen. It gets added to retry_q.

Check ppdu frame type and subtype to mark frame as selfgen if it beacon

Change-Id: If0bfd9bf2cc321afe207a4db7529e24baebfd376
CRs-Fixed: 2643848
2020-03-19 16:14:40 -07:00
Srinivas Pitla
298c78568e qca-wifi: cleanup buffers for incomplete amsdu
if last_msdu is not received  then allocated
mpdu_nbuf and mpdu_q is not freed,

This change frees the buffers in last_msdu not seen case.

Change-Id: Icaaa6e227f3ea1d314c6d15a9f76c2f622d5d93f
CRs-Fixed: 2643848
2020-03-19 16:14:27 -07:00
Srinivas Pitla
d11868e2c3 qca-wifi: Drop mgmt nbuf in tx_capture disabled case
If tx_capture is disabled, the frames notified to tx_capture
module needs to be freed.

This change frees mgmt frames in tx capture module, in case feature
is disabled

Change-Id: I71f102ba2f25f23bdcef63dddb525d5f7b0a692a
CRs-Fixed: 2643848
2020-03-19 16:13:31 -07:00