Commit Graph

22 Commits

Author SHA1 Message Date
Harsh Kumar Bijlani
e70d9e3eed qcacmn: Populate rate index in user specific rx ppdu indication
Populate rate index in user specific rx ppdu indication.
Also correct the computation of total retries in rx ppdu indication.

Change-Id: I07c55260def9d2f1490729b6390bca3d98085c63
CRs-Fixed: 3156428
2022-03-24 03:01:12 -07:00
aloksing
482fba652b qcacmn: Increment pkt type for WKK
Define DOT11_BE as per Rx tlv
Increment pkt type for WKK

CRs-Fixed: 3121279
Change-Id: Id4bf93e5dcda08cc7fccfe3f8f06b00e5b29d4e3
2022-03-03 03:37:57 -08:00
Basamma Yakkanahalli
831a3ce7d5 qcacmn: Drop undecoded frames err mask not configured
1. Drop the received undecoded frame if error code
   abort reason not matched with configured error mask.
2. Reset phy error mask during undecoded capture mode reset.

Change-Id: I162ac1b60ceb5a4b5a87ff2d2186f2e67815f580
CRs-Fixed: 3134562
2022-03-01 07:07:38 -08:00
Basamma Yakkanahalli
70f4513196 qcacmn: Add support for undecoded frame error stats
Display phyrx aborted undecoded frame count and the aborted
reason statistics as part of pdev rx mon stats.

Change-Id: Ia86074e62af3179855734b47801715abd1899fe1
CRs-Fixed: 3123540
2022-03-01 07:07:33 -08:00
Basamma Yakkanahalli
e85fbce095 qcacmn: change to configure and handle undecoded metadata capture
Added change:
1. Set/reset RXDMA MON STATUS ring filter setting and send HTT
   message to capture undecoded frame
2. Handle undecoded frame to update cdp_rx_indication_ppdu structure
   from hal ppdu_info rx status and generate WDI event to deliver it
   to upper layer

Change-Id: I14485f28333b113b5a2fab639611551c2b08af2b
2022-02-18 04:53:18 -08:00
Harsh Kumar Bijlani
ce45e71913 qcacmn: Update stats in monitor peer in Tx HTT and Rx monitor path
Update stats in monitor peer in Tx HTT PPDU completion and
Rx monitor PPDU indication path.

Change-Id: Icfeb49fc6f1fa2c1f2648a9b4576f31a927c7ecd
CRs-Fixed: 3092123
2022-02-09 11:54:53 -08:00
Harsh Kumar Bijlani
eee813ad02 qcacmn: Initialization of stats in txrx_peer and monitor_peer
* Initialize stats in dp_txrx_peer and dp_monitor_peer as per
  the stats re-organization.
* Update peer calibrated stats on every timer expiry of 1 second.
* Define APIs to reset monitor_peer stats and to fetch rdkstats_ctx
  from monitor peer.
* Place check to make sure that monitor peer related APIs are
  are called only for legacy peer or MLO Link peer.
* Update peer based pktlog flag, tx and rx capture feature flags
  in monitor_peer.

Change-Id: Idadbe19e85d4a9fdf77fb6dabe0c8a4952b024b8
CRs-Fixed: 3092123
2022-02-09 11:54:14 -08:00
Pavankumar Nandeshwar
9c6800383c qcacmn: Move per packet params to txrx_peer
Move the parameters from the dp_peer which are used
in per packet path to txrx_peer and params related
to monitor path to monitor peer.

Initialize txrx_peer and monitor peers.

Change-Id: I0449c67c1cd47deb76bc89b5ddc64174f6694eb0
CRs-Fixed: 3095637
2022-02-09 11:53:37 -08:00
Devender Kumar
d70b48ed27 qcacmn: Use sw_peer_id instead of ast_index to get peer
In order to support flow overide feature,
AST table has to be split between RxPCU and DDR.
With this split, RX monitor cannot make use of
ast_index to fetch peer as it is not from DDR.
So make use of sw_peer_id to fetch peer.
This sw_peer_id is derived from RX_MPDU_STAT_START_TLV
Remove the spinlock on unsused variable i.e ast->lock.

These changes were overwritten by monitor segregation
effort, hence bringing back again.

Change-Id: I339f4296562e3b4dfd6f3a71102385e395f00268
CRs-Fixed: 3108200
2022-02-08 04:36:40 -08:00
Harsh Kumar Bijlani
1b4de61a20 qcacmn: Resolve WIN errors
Resolve WIN errors

Change-Id: I124990d54c5da295bf14d199e297116c56e06d08
2022-01-20 21:14:03 -08:00
aloksing
b4dce7b534 qcacmn: Fix Copyright Markings
Fix Copyright Markings

Change-Id: If1f917bd1be3b9e12a4f22ebd6cc5ad52ef0ca48
2022-01-20 16:33:21 -08:00
Aakanksha Doda
d92a7a0776 qcacmn: Fix issues with rdkstats
The following issues are fixed with this change-
1. Sojourn stats were printing incorrect values
2. RSSI values were junk numbers

Change-Id: Ibed73cf370a309bf9db5baad37a0e8261c58463b
2022-01-12 05:34:00 -08:00
aloksing
2491f91f55 qcacmn: ratetable changes for 11BE
modify dp_getmodulation and dp_getrateindex to pass puncturing mode
update DP_RATE_TABLE_SIZE to support 11BE

Change-Id: I7f59b29c18d882b541dca0477c7ed6c8cff4da59
CRs-Fixed: 3098366
2022-01-05 21:41:52 -08:00
Harsh Kumar Bijlani
3d110477b5 qcacmn: Correct computation of avg_rx_rate and last_snr for peer
Stats avg_rx_rate and last_snr for peer are updated in Rx PPDU
indication path. Logic for updation of these stats is incorrect.

Correct the computation of these stats.

Change-Id: I276d0d6c81d45818bf771c3c0565fe4bb259c49d
CRs-Fixed: 3091679
2021-12-17 01:04:18 -08:00
aloksing
b726e009e7 qcacmn: rx stats update for WKK
Add function pointer to update stats for LI and WKK
Add new fields in structure cdp rx stats

CRs-Fixed: 3071271
Change-Id: I6a1d7afbdfe47d171335d55bf66d210d785f5a03
2021-12-09 11:17:28 -08:00
aloksing
b093d034a4 qcacmn: tx stats update for WKK
Add function pointer and initialize with function
to update stats for WKK
Add new fields in structure cdp tx stats

CRs-Fixed: 3071271
Change-Id: Ib1fd867e414b8a61cff4f462434c51541f925f62
2021-12-09 11:17:23 -08:00
Adwait Nayak
c3f8294cc4 qcacmn: FR65980: Process log contents to pktlog buffers
This change will enable packet logging for the fragments
from RX monitor status ring and send it to the pktlog module
for post processing through WDI event.

Change-Id: I283a20e7d0fa1f9b88223a989beda529beff6718
CRs-Fixed: 3074184
2021-11-26 10:13:26 -08:00
Shwetha G K
79ef411bbb qcacmn: Fix invalid VAP instance error in RCC case
Fix the invalid VAP instance error seen when RCC is
enabled and ol_ath_stats (enhanced stats) feature is
disabled case.

Populate gI as well similar to other rate stats in
CFR handler where this information would not be
available if ol_ath_stats is disabled.

CRs-Fixed: 3056621
Change-Id: Id1af6359408cb977ba0becf298121ee10dd5ef72
2021-11-24 02:44:06 -08:00
Himanshu Batra
8096fd4cbf qcacmn: Register monitor interrupt ops after monitor object creation
Register monitor interrupt ops after monitor object creation

CRs-Fixed: 3060183
Change-Id: Ia1936d2b124ede3f2082360140ab923f8b21fb43
2021-11-12 08:53:05 -08:00
Jianmin Zhu
fb1db30308 qcacmn: Fix wrong rssi in monitor mode
If ppdu rssi unit is dbm, need convert to db for API:
qdf_nbuf_update_radiotap, only need convert once for first mdpu in the
ppdu. if convert for each mpdu, wrong rssi will be saved.

Change-Id: I85e92121ddb289e3513022ff092083825197efb4
CRs-Fixed: 3057041
2021-10-27 02:36:07 -07:00
Naga
3289db4279 qcacmn: Monitor code segregation
- Features common to both Li and BE and
  their APIs are retained files at dp/wifi3.0/monitor.
- New monitor ops are introduced if there
  is a requirement for divergence of API.
- Diverged API definitions for 1.0 are captured
  in this change.

All of code in below files are moved to 1.0
- dp_rx_mon_dest.c -> 1.0/dp_rx_mon_dest_1.0.c
- dp_rx_mon_status -> 1.0/dp_rx_mon_status_1.0.c

Only Li and HMT specific are moved for below file
- dp_mon_filter.c -> 1.0/dp_mon_filter_1.0.c
- dp_mon.c -> 1.0/dp_mon_1.0.c

Change-Id: I44d163b27565b86068d80e1d97ec11d0b4a081d4
CRs-Fixed: 2991248
2021-10-12 02:28:25 -07:00
Naga
cca6b74fe7 qcacmn: Add new directory structure for Monitor
- dp/wifi.3.0/monitor/ => directory for monitor specific code
  - dp_rx_mon.c: status TLV procesing + packet buffer processing
  - dp_rx_mon.h: Rx monitor header file common for Li and Be
  - dp_mon_filter.c: Monitor filter configuration
  - dp_mon_filter.h: Monitor filter header file common for Li and BE

  - 1.0/ => directory for Lithium specific handling
    - dp_rx_mon_1.0.h: Rx Monitor specific header file
    - dp_rx_mon_dest_1.0.c: Packet buffer processing
    - dp_rx_mon_status_1.0.c: status TLV processing
    - dp_mon_filter_1.0.c: Rx Filter configuration
    - dp_mon_filter_1.0.h: Rx Filter configuration header
    - dp_mon_1_0.h - Li specific monitor ops
    - dp_mon_1_0.c - Li monitor ops handling

  - 2.0/ => directory for BE specific handling
    - dp_rx_mon_2.0.h: Rx Monitor specific header file
    - dp_rx_mon_2.0.c: Packet buffer processing
    - dp_rx_mon_status_2.0.c: status TLV processing
    - dp_tx_mon_2.0.h: Tx Monitor specific header file
    - dp_tx_mon_2.0.c: Packet buffer processing
    - dp_tx_mon_status_2.0.c: status TLV processing
    - dp_mon_filter_2.0.c: Rx and Tx Filter configuration
    - dp_mon_filter_2.0.h: Filter configuration specific header
    - dp_mon_2.0.h: BE specific monitor ops and defs header file
    - dp_mon_2.0.c: BE specific monitor ops handling

Change-Id: I74b5408460b5f2f4b31f73947b55d97dfe3b971e
CRs-Fixed: 2991215
2021-10-12 02:28:19 -07:00