Gráfico de commits

37 Commits

Autor SHA1 Mensagem Data
Sourav Mohapatra
195164b7bb qcacmn: Populate proper rates received by FW
Due to unknown legacy reason, the rates received by the driver from the
firmware are currently divided by 500 to convert it into units of
500kbps. This division by 500 is later compensated by a multiplication
with 5 to maintain units of 100kbps before being sent to the upper
layer. This division and then subsequent multiplication results in the
loss of precision (in the case the rate is not divisible by 5).
Consequently, the rate being sent to the upper layer becomes inaccurate.
Also the calculation of the MCS rate flags is affected.

Do not carry out the unnecessary division and multiplication by 5.
Instead just convert the rates into units of 100kbps (which is as
mandated by the kernel) when driver receives the rate from the firmware.

Change-Id: Iab7b825f4067ad51174a0c545cf4a7d0ab426171
CRs-Fixed: 2378167
2019-01-15 03:13:28 -08:00
Yeshwanth Sriram Guntuka
c4a14ea149 qcacmn: Add host support for db2dbm RSSI changes
Add host support for db2dbm RSSI changes. Firmware
indicates this capability when underlying hardware
has RSSI reporting feature. Based on this capability
host will know if firmware sends SNR or RSSI. If no
capablity is present then host will convert SNR to
rssi using a fixed offset of -96. If capability is
present host will directly use the rssi as it is.

Change-Id: I9058f16c6280d466feb96cf88a8a0d8cd7b02032
CRs-Fixed: 2364025
2018-12-24 03:33:04 -08:00
Naga
cb25801fa9 qcacmn: Delete WIN specific files from cp_stats
Delete WIN specific files in cmd_dev cp_stats component
and add them in component_dev cp_stats

Change-Id: I16d0e251452225403e3e25f63a5105026c8f258c
2018-12-05 20:34:16 -08:00
Harprit Chhabada
38d7f92a30 qcacmn: Fix null pointer dereference, wlan_cp_stats_psoc_obj_create_handler
In wlan_cp_stats_psoc_obj_create_handler() multiple error paths
lead to label wlan_cp_stats_psoc_obj_create_handler_return.

In the label, posc_cs is not null checked before passing to the
csc->cp_stats_psoc_obj_deinit() causing NULL pointer dereference.

Change-Id: I82a48cee7d2734a96960aeedff42fc4cdf94bf9c
CRs-Fixed: 2336830
2018-10-25 01:38:00 -07:00
Liangwei Dong
77d877285a qcacmn: Get peer with ref count
wlan_vdev_get_bsspeer doesn't hold ref
count on peer.
Use wlan_objmgr_get_peer to get peer
to avoid peer free race condition.

Change-Id: I04bfcf8ca20fa49d81a9e59aafc31caab98374a1
CRs-Fixed: 2337868
2018-10-24 23:00:24 -07:00
Naga
478d035baa qcacmn: Enhance cp stats component
Add new fields tx_tooshort, tx and rx discard
control plane stats at vdev level

CRs-Fixed: 2327398
Change-Id: I9f3ae1f4d043319fec8f08752d9112ab5e9f6ef9
2018-10-24 09:53:55 -07:00
Arif Hussain
b91687b07b qcacmn: Fix validation of stats_req_type in stats component
Use correct validation range.

Change-Id: I8ba12efee1f2ffac5a2193c7f9f5a5e44a1c8301
CRs-Fixed: 2326371
2018-10-03 14:13:57 -07:00
Sourav Mohapatra
23310e82bb qcacmn: Add support to send RX stats to framework
As a part of the cfg80211_get_station command, the driver sends TX stats
(tx rate, MCS index, NSS and flags). Currently there is no support to
send the similar RX stats.

Add support to send RX stats to the framework.

Change-Id: Ic66596d118ad1395706db7638da1b4fdef7dc2d5
CRs-Fixed: 2303308
2018-09-10 17:45:04 -07:00
Arif Hussain
89557a3838 qcacmn: Validate stats_req_type type before use as index of req array
Validate type which is used as index of req array to avoid any
out of bond access issue.

Change-Id: I75d08054b94b7066f7bdc030cf9896469c923a65
CRs-Fixed: 2305555
2018-09-06 07:20:00 -07:00
Naga
e85b72a4ae qcacmn: Add support for Extended BSS IE
Add implementation to enhance structure
corresponding to WMI_DCS_INTERFERENCE_EVENT_ID
handler in cp stats component which hold
secondary 40 and 80MHz utilization
which are required parameters of Extended BSS IE

Change-Id: I1c471608394d5c395632742098d2c92fc02ec238
CRs-Fixed: 2298073
2018-09-06 01:42:16 -07:00
Debasis Das
72521f8c0a qcacmn: Support channel utilization stats
Provide support for following channel utilization stats:
self_bss_util,obss_util,ap_rx_util,free_medium,
ap_tx_util,obss_rx_util,non_wifi_util

Change-Id: Ib1358988ae0b5794e70ba4348a78646e9d2a6cba
CRs-Fixed: 2298865
2018-08-28 13:09:48 -07:00
Arif Hussain
35d89071c2 qcacmn: Refactor cp status callback handlers
Duplicate stats buffer in the callback so that all
allocations get freed by its owner, this will avoid
memory leak issue because of race condition between
umac and upper layer.

Change-Id: Id18d75eb9adc46a6147634eb5b1e0babe32c7c37
CRs-Fixed: 2289355
2018-08-09 14:34:22 -07:00
Naga
5233ffe848 qcacmn: Enhance cp_stats component
Add implementation to remove unused stats from pdev, vdev
peer cp_stats structure, reorder ol_ath_radiostats and
add inline macro for phy_err

Change-Id: Id91f11526c03bf14dfc285a1c87b24c8e5e00b02
CRs-Fixed: 2262329
2018-06-22 02:58:56 -07:00
Visudha Sathurappan
3ca68af4ff qcacmn: Support PDEV CP Stats for DA
Add change to define pdev cp stats structure
for DA and provide APIs to get/set cp stats

Change-Id: Ib46d8b55b4c38b2c7a9e2bea45977de23ad21939
2018-06-14 13:04:52 -07:00
Naga
6f5ff952ab qcacmn: Add implementation of dcs chan stats
Add change to provide API to get DCS chan stats
structure from within cp stats component

Change-Id: Ie67725931f8c9b4870c711e560b06b41854a1af0
CRs-Fixed: 2236328
2018-05-24 07:52:20 -07:00
Naga
a488d16e81 qcacmn: Add implementation for atf peer cp stats
Add change to provide API to get ATF peer
cp stats structure from within cp stats component

Change-Id: I8465bd04e915419abb8de2d35d039ab812727ab1
CRs-Fixed: 2236328
2018-05-24 07:52:17 -07:00
Naga
5ce6fc8d9a qcacmn: Add implementation of pdev cp stats
Add change to define pdev cp stats structure
and provide APIs to set cp stats fields
into cp stats component

Change-Id: I6559a19e11771d16e9207fb0a2fee96f620273b0
CRs-Fixed: 2236328
2018-05-24 07:52:15 -07:00
Naga
4d11171075 qcacmn: Add implementation of vdev 80211 cp stats
Add change to define vdev 80211 cp stats
structure and provide APIs to set/get cp stats
fields to/from within cp stats component

Change-Id: Ic600d4f83e3818c5cc3ace6c29a74fb75e2bd97d
CRs-Fixed: 2236328
2018-05-24 07:52:12 -07:00
Naga
6a72f69904 qcacmn: Add implementation of vdev ucast and mcast cp stats
Add change to define vdev ucast and mcast cp stats
structure and provide APIs of set/get cp stats fields
to/from within cp stats component

Change-Id: I341ca6188c052438e1fea4f9326428b59a1db660
CRs-Fixed: 2236328
2018-05-24 07:52:10 -07:00
Naga
d8351b4740 qcacmn: Add implementation of peer cp stats
Add change to define peer cp stats structure
and provide APIs to set/get peer cp stats fields
to/from within cp stats component

Change-Id: I2d1a8d166a3e0ce5992eb670c83f6f5d37441dd1
CRs-Fixed: 2236328
2018-05-24 07:52:07 -07:00
Naga
670e851c19 qcacmn: Add implementation of WIN cp stats
Add change to alloc memory for WIN specific cp stats
structures, provide get/set API in cp stats component
for other umac component, reorganize files according
to usage inclusion in other header files

Change-Id: I8b4e4435f60cc0587917ad09ac99659f83f2cb10
CRs-Fixed: 2236328
2018-05-24 07:52:05 -07:00
Naveen Rawat
b901c80874 qcacmn: Fix compilation error in CP_STATs
Fix compilation error in CP_STATs due to change in definition
of of wlan_objmgr_get_peer.

Change-Id: I15753d942dd3932fbf0d2c8a361e5e507fd38b8e
CRs-Fixed: 2244161
2018-05-20 23:25:56 -07:00
Jeff Johnson
da0a82610b qcacmn: umac: Remove legacy markings
Per current guidance remove legacy markings.

Change-Id: I34c7acfad802a3878ffa373489b7f6a4194abb62
CRs-Fixed: 2230684
2018-05-18 02:17:46 -07:00
Naveen Rawat
3d57f51826 qcacmn: Add umac implementation of get_stations_stats
Add changes to support get station stats from within the cp stats
component.

Change-Id: I3063125fe8c747f21f00b6f027da38010a2bdc61
CRs-Fixed: 2210313
2018-05-16 23:20:10 -07:00
Naga
78f803eb1e qcacmn: Remove DA specific from common cp_stats
Remove DA specific init APIs from common cp_stats and
change logic to not return callback status for psoc close
and disable to override devpool issue for DA arch

CRs-Fixed: 2224153
Change-Id: Ie5bfb7cb7773d3fc09237a9d14ec3611e78cc06f
2018-05-14 18:00:01 -07:00
Dustin Brown
ef742350c2 qcacmn: Add management frame wake stats
Track and print WLAN wake stats for management frames received.

Change-Id: I2f2d49345d695561ab3f115e1ce30f284a1472bb
CRs-Fixed: 2236014
2018-05-14 12:50:55 -07:00
Naveen Rawat
7b90f6cdfe qcacmn: Add umac implementation of get congestion stats
Add changes to support get congestion stats(arp stats) from
within cp_stats component.

Change-Id: Ieff7df33dd8f3a8a80cda57952eb8d5941ccaedc
CRs-Fixed: 2222781
2018-05-14 11:39:21 -07:00
Amir Patel
d338594cf9 qcacmn: Update API signature for vdev and peer search to include pdev_id
Add a pdev_id parameter to following API
    For peer:
        a. wlan_objmgr_get_peer()
        b. wlan_objmgr_get_peer_by_mac_n_vdev()
        c. wlan_objmgr_get_peer_by_mac_n_vdev_no_state()
        d. wlan_objmgr_get_peer_no_state()
        e. wlan_objmgr_get_peer_nolock()
        f. wlan_objmgr_populate_logically_
            deleted_peerlist_by_mac_n_vdev()
    For vdev:
        wlan_objmgr_get_vdev_by_macaddr_from_psoc()

Change-Id: I7480c5e17e24b5dfb1a7846cfa773821a86a27ca
CRs-Fixed: 2210118
2018-05-09 01:44:39 -07:00
Naveen Rawat
5f7085d09d qcacmn: Fix vdev ref leak in CP_STATs get_peer_rssi
Fix vdev ref leak in CP_STATs get_peer_rssi.

Change-Id: I583fe8c0c0fabd022fd52b4749a8b324c37ae5e5
CRs-Fixed: 2231395
2018-05-02 04:35:15 -07:00
Naveen Rawat
1a9ee7dc49 qcacmn: Define ucfg api to free stats_event
Define ucfg api to free stats_event, since it will be called from
osif and hdd.

Change-Id: Ifeea3e970ddca1ed508960c39a2a39f0ed755bd9
CRs-Fixed: 2231150
2018-05-02 04:35:12 -07:00
Naveen Rawat
34e15c4636 qcacmn: Add umac implementation of getting peer rssi
Add changes to support get peer rssi from within cp_stats
component.

Change-Id: I68c9c7e23dd14b515a71080b1b5fe3af15651ef9
CRs-Fixed: 2222777
2018-05-02 04:35:07 -07:00
Naveen Rawat
8f4c9087bf qcacmn: Fix CP_STATS rx_ops registration
Fix CP_STATS rx_ops registration in wlan_lmac_if.c, by including
dispatcher header and directly referencing public dispatcher tgt
APIs.

Change-Id: Id42aac8d2a7f1311d4319c77db05eadd75ee4aa0
CRs-Fixed: 2228934
2018-04-23 06:31:29 -07:00
Naveen Rawat
a2a1eb1619 qcacmn: Add umac implementation of get_tx_power
Add changes to support get tx power from within cp_stats
component.

Change-Id: I3882ec63b21abfe884a8cdd7edca7f58e8eb541b
CRs-Fixed: 2210311
2018-04-19 22:06:49 -07:00
Naveen Rawat
d24bebbf24 qcacmn: Add umac implementation of get_wake_lock stats
Add changes to support get wake lock stats from within cp_stats component.

Change-Id: I93855e4a1635afa97b4d5235ddb9cd92654f943d
CRs-Fixed: 2210309
2018-04-17 13:17:54 -07:00
Naveen Rawat
70fd32e41b qcacmn: Add new files for cp_stats mobile connectivity component
Add file for mobile connectivity to use control path stats component.

Change-Id: I11ba1103745371ebf740ee2ec06dd04912afa7c9
CRs-Fixed: 2210307
2018-04-11 10:52:45 -07:00
Naveen Rawat
1c4d57ea15 qcacmn: Avoid un-initialized pointer access
Avoid un-initialized pointer access by initializing pointer to NULL
or valid value that is address of another variable.

Change-Id: I0666e7cebf9f39928b6b095fa4f7f017b5b2a837
CRs-Fixed: 2219381
2018-04-06 17:49:44 -07:00
Naga
f161d3eea6 qcacmn: Add framework for cp stats component
Control plane statistics is converged central
component which maintains all control plane stats
and provides necessary support to access statistics
through public APIs

Add framework necessary to create,destroy cp stats
objects corresponding to common object on receiving
event notifications from obj mgr and provide framework
to interact with southbound and northbound

CRs-Fixed: 2192386
Change-Id: I76ec50c1203aa56c4aefc23cbfa03e828b0d7bfd
2018-04-06 17:49:36 -07:00