Commit Graph

1172 Commits

Author SHA1 Message Date
narayan
57cc49dfbe qca-wifi: Fix per peer config cfr stop command
Fix cfr stop wmi command and some other fixes checking for
sanity, error handling.

Change-Id: I9f0939fee2301f85e6e7b3338fd26e84676d7d6d
CRs-Fixed: 2407354
2019-03-04 00:21:34 +05:30
Linux Build Service Account
a703453e51 Merge "qca-wifi: Support for FR53778 8021p pcp-tid mapping" 2019-03-02 20:34:02 -08:00
Linux Build Service Account
0f8041a4fb Merge "qca-wifi: Enhancement of auto channel zerowait PreCAC for 160MHz mode" 2019-03-02 12:34:13 -08:00
narayan
6ffa911be3 qca-wifi: Fixes needed to enable cfr compile flag
Compilation fixes required to enable cfr compile flag

Change-Id: I0dd739a695d89a0effb6c116919ae915b2e22f0e
CRs-Fixed: 2407354
2019-03-01 22:43:07 -08:00
Debasis Das
409e55c083 qca-wifi: Support for FR53778 8021p pcp-tid mapping
Add necessary support for pcp-tid mapping feature

Change-Id: I64535d71b937d8380d611e7413b118d70c68a3a6
2019-03-01 13:55:06 +05:30
Linux Build Service Account
dc9ee64e6f Merge "qca-wifi: Make a few macros as optional" 2019-02-28 14:35:22 -08:00
Shreedhar Parande
abbc0faf94 qca-wifi: Enhancement of auto channel zerowait PreCAC for 160MHz mode
If user configures DFS channel in 160MHz mode,
1. change mode to 80MHz and do PreCAC on primary and
   secondary channels of 160MHz.
2. Use intermediate channel to operate.
3. Once PreCAC done on the both primary and secondary channels and is clear
   then change mode back to 160MHz.
4. Change the channel from intermediate to configured DFS channel.
Use Broadcast and Unicast OMN frame to notify mode change.

Change-Id: I451e35516ab4a44adea52a1342b5ea76d6e3d04f
CRs-fixed: 2395431
2019-02-27 17:49:43 +05:30
Aakanksha Doda
1dbb8118a3 qca-wifi: Make a few macros as optional
Part of FR 53285

Change-Id: Ic2f219acb41b172e04a8bc6adf3f55038d97585c
2019-02-27 11:30:06 +05:30
Abhiram Jogadenu
bd7b551c56 qca-wifi: Extract ring params from dbr
Add API that gets ring parameters from dbr event

CRs-Fixed: 2404710
Change-Id: I26f98ea8cc1c0ea776b8a93f360bf1acc2a2a2d1
2019-02-25 19:15:16 +05:30
narayan
70480abe44 qca-wifi: CFR feature Component Support
Add CFR component support for legacy chipsets including
the implementation of stream filesystem interfacing

Change-Id: Id92a4592425e901cc86061ae5eccefc5438efd45
CRs-Fixed: 2397716
2019-02-21 22:28:24 -08:00
Naga
bb468aca54 qca-wifi: Fix dependencies in WMI
Fix dependencies in WMI after changing
inconsistent naming followed for vdev id
for wmi_unified_param.h, these structures
are moved to converged mlme and will be
in use here on, which have these naming
convention inconsistency fixed

Change-Id: If6442e4325d2b5c21e8ce19809ad7c40b253c281
CRs-Fixed: 2391766
2019-02-19 23:54:58 +05:30
Om Prakash Tripathi
497ab62df4 qca-wifi: Add tx_frame_cnt, ext_busy count in chan info event
Add tx_frame_cnt and ext_busy count in chan info param

Change-Id: Ib273dfe3d477287023a0a73b347ce9b02f290bfc
CRs-Fixed: 2365685
2019-02-12 02:59:33 -08:00
Om Prakash Tripathi
3da8891a03 qca-wifi: update my_bss_rx_cycle_count in wmi layer
Update unified param my_bss_rx_cycle_count in wmi layer

Change-Id: Iecbfde01165929ccff4497603ad63122775e4370
CRs-Fixed: 2365685
2019-02-12 02:59:15 -08:00
Linux Build Service Account
63f8c84897 Merge "qca-wifi: free nbuf on WMI command failed" 2019-02-11 02:34:37 -08:00
Linux Build Service Account
10f7d98a17 Merge "qca-wifi: Added component_dev support for Quiet IE" 2019-02-11 02:34:35 -08:00
Vikram Kandukuri
1f97c2c40e qca-wifi: Add CFR component
Add Channel Frequency Response component,
This provides dispatcher and core API that can
be used by other modules.

Change-Id: I032b312c6b88494756a21afb5a36179bceb2f214
CRs-Fixed: 2372061
2019-02-09 09:50:40 +05:30
nobelj
37e1ce3414 qca-wifi: free nbuf on WMI command failed
nbuf need to be free on WMI command fail

Change-Id: I03cc884da9bdd9bd8e431a6aed7dab179f887936
2019-02-08 08:27:24 -08:00
Abhiram Jogadenu
2b7289b241 qca-wifi: Added component_dev support for Quiet IE
Moved support for Quiet IE from cmn_dev to component_dev.

Change-Id: Ib5ca7356ff4a25e1e674cbc831d35928e12cd0f4
CRs-Fixed: 2376067
2019-02-07 22:04:06 -08:00
Srinivas Pitla
c68e9fb218 qca-wifi: Remove QDF_BUG on channel check failure
This change removes QDF_BUG if channel match fails with other vdev,
prints would help to debug further on any issue.

Change-Id: I9566fe699d6124542dbb3075e470c887de1a612a
CRs-Fixed: 2391464
2019-02-01 22:49:25 +05:30
Shashikala Prabhu
dee9b9329a qca-wifi: Fix compiler warning for unused function
The function extract_pdev_qvit_event_non_tlv is defined but not used.
Remove the definition of this function to fix the compilation error.

Change-Id: Ibe573874e4deed571439c3807453405837436a58
CRs-Fixed: 2388461
2019-01-28 11:43:29 +05:30
Linux Build Service Account
98c9b3b05c Merge "qca-wifi: VDEV SM action implementation" 2019-01-21 06:37:40 -08:00
Linux Build Service Account
03e9b23a0d Merge "qca-wifi: Remove OL_SPECTRAL_DEBUG_CONFIG_INTERACTIONS macro" 2019-01-21 06:37:39 -08:00
Shiva Krishna Pittala
0fe39ab572 qca-wifi: Remove OL_SPECTRAL_DEBUG_CONFIG_INTERACTIONS macro
Logs of the Spectral WMI interaction prints are  under
OL_SPECTRAL_DEBUG_CONFIG_INTERACTIONS macro and is disabled by default.
As the WMI logs are already controllable at runtime from qdf_cv_lvl,
there is no need for OL_SPECTRAL_DEBUG_CONFIG_INTERACTIONS anymore.

Change-Id: I3b89192de4deb420d853631064c20add894fb1e3
CRs-Fixed: 2369846
2019-01-17 18:29:40 +05:30
Srinivas Pitla
77752e288e qca-wifi: VDEV SM action implementation
Few trivial SM actions are being moved to converged code

Change-Id: I60c4bedf072d9cddaf872e9c3ea9364b70c65b6d
CRs-Fixed: 2307722
2019-01-17 13:37:04 +05:30
Vikram Kandukuri
0314441503 qca-wifi: Add CFR capture test application
Add CFR capture test application with streamfs APIs.
This is test application to read CFR dump from driver

Change-Id: I6925646678d1e87ecef2fb5405e992246a6d4eb4
CRs-Fixed: 2372061
2019-01-15 23:43:29 -08:00
Linux Build Service Account
314b585fcc Merge branch 'wlan-cmn.driver.lnx.2.0' of ../cmn_src_1 into 11.0 2019-01-07 04:26:13 -08:00
Linux Build Service Account
460cd5602e Merge branch 'wlan-cmn.driver.lnx.2.0' of ../cmn_src into 11.0 2019-01-07 04:24:56 -08:00
Linux Build Service Account
cf61b51725 Test commit wmi/inc 2019-01-07 04:19:56 -08:00
Linux Build Service Account
afd682f2eb Test commit for wmi/src/ 2019-01-07 03:45:33 -08:00
Nandha Kishore Easwaran
1fdbc75a8c qca-wifi: Fix WEP sw encryption
24 bit IV is not considered part of the key resulted in buffer overflow.

Change-Id: I9642e719ca1535a76159412a329fc6ccf80c2eff
2018-12-28 14:41:39 +05:30
Jeff Johnson
5a9648f736 qcacmn: Rename pAddPeriodicTxPtrnParams
Per the Linux coding style both mixed-case names and so-called
Hungarian notation are frowned upon, therefore replace the identifier
pAddPeriodicTxPtrnParams everywhere it occurs.

Change-Id: Id80fc4cd22a8e4af125f01b937e03eea0b898283
CRs-Fixed: 2371906
2018-12-27 20:02:31 -08:00
Jeff Johnson
a8d070410d qcacmn: Rename pAddPeriodicTxPtrnParams
Per the Linux coding style both mixed-case names and so-called
Hungarian notation are frowned upon, therefore replace the identifier
pAddPeriodicTxPtrnParams everywhere it occurs.

Change-Id: Id80fc4cd22a8e4af125f01b937e03eea0b898283
CRs-Fixed: 2371906
2018-12-27 20:02:31 -08:00
Wu Gao
78f8d208b3 qcacmn: Remove structure wmi_tdls_params
Using both structure wmi_tdls_params and tdls_info if TDLS component
sets FW states, which will cause memory corruption potentially. Use
enum wmi_tdls_state as type of tdls state.

Change-Id: Ia1e78a5c6d8aee9ab5166c0704dd7827f42c2457
CRs-Fixed: 2372452
2018-12-27 01:05:21 -08:00
Wu Gao
237a16ffdc qcacmn: Remove structure wmi_tdls_params
Using both structure wmi_tdls_params and tdls_info if TDLS component
sets FW states, which will cause memory corruption potentially. Use
enum wmi_tdls_state as type of tdls state.

Change-Id: Ia1e78a5c6d8aee9ab5166c0704dd7827f42c2457
CRs-Fixed: 2372452
2018-12-27 01:05:21 -08:00
Harprit Chhabada
2baf76b172 qcacmn: Create header file for wmi_unified_bcn_buf_ll_cmd
wmi_unified_bcn_buf_ll_cmd in wmi_unified.h had compilation flag
CONFIG_MCL. To get rid of the compilation flag, a separate header
file is created

Change-Id: I0bbcdf749f461f6880aacc1e3ef4e8e8fdc08ff6
CRs-Fixed: 2366773
2018-12-26 20:27:35 -08:00
Harprit Chhabada
7b5330dc55 qcacmn: Create header file for wmi_unified_bcn_buf_ll_cmd
wmi_unified_bcn_buf_ll_cmd in wmi_unified.h had compilation flag
CONFIG_MCL. To get rid of the compilation flag, a separate header
file is created

Change-Id: I0bbcdf749f461f6880aacc1e3ef4e8e8fdc08ff6
CRs-Fixed: 2366773
2018-12-26 20:27:35 -08:00
Pragaspathi Thilagaraj
fe4d2e64aa qcacmn: Send roam_score_delta, roam_score_delta_bitmap to firmware
Two new WCNSS_qcom.ini values "roam_score_delta" and
"roam_trigger_bitmap" are introduced. These values are sent to
firmware over the WMI command WMI_ROAM_AP_PROFILE over the
structure wmi_roam_cnd_scoring_param. The values to this
structure are populated from struct scoring_params.

Add roam_score_delta and roam_trigger_bitmap in scoring_param.
Populate these values from roam request to the structure
wmi_roam_cnd_scoring_param to be sent over the wmi command.

Change-Id: I012867e60ddf18a276250ef3bd27015f191d8a6a
CRs-Fixed: 2368263
2018-12-26 10:12:34 -08:00
Pragaspathi Thilagaraj
0f63ea1cc6 qcacmn: Send roam_score_delta, roam_score_delta_bitmap to firmware
Two new WCNSS_qcom.ini values "roam_score_delta" and
"roam_trigger_bitmap" are introduced. These values are sent to
firmware over the WMI command WMI_ROAM_AP_PROFILE over the
structure wmi_roam_cnd_scoring_param. The values to this
structure are populated from struct scoring_params.

Add roam_score_delta and roam_trigger_bitmap in scoring_param.
Populate these values from roam request to the structure
wmi_roam_cnd_scoring_param to be sent over the wmi command.

Change-Id: I012867e60ddf18a276250ef3bd27015f191d8a6a
CRs-Fixed: 2368263
2018-12-26 10:12:34 -08:00
Pragaspathi Thilagaraj
3bca781f53 qcacmn: Add rct_validity_timer and disassoc_timer to wmi roam structures
Two new WCNSS_qcom.ini values "btm_validity_timer" and
"disassoc_timer" are introduced. These values are sent to
firmware over the structures wmi_roam_offload_tlv_param and
wmi_btm_config_fixed_param respectively. The values to this
structure are populated from struct roam_offload_scan_params.

Add rct_validity_timer in roam_offload_scan_params.
Populate these values from roam request to the structure
roam_offload_scan_params to be sent over the wmi command.

Change-Id: I6130e9966d520169b0f74b9726d35aa4fef6d81d
CRs-Fixed: 2369040
2018-12-26 10:12:30 -08:00
Pragaspathi Thilagaraj
a8a6699845 qcacmn: Add rct_validity_timer and disassoc_timer to wmi roam structures
Two new WCNSS_qcom.ini values "btm_validity_timer" and
"disassoc_timer" are introduced. These values are sent to
firmware over the structures wmi_roam_offload_tlv_param and
wmi_btm_config_fixed_param respectively. The values to this
structure are populated from struct roam_offload_scan_params.

Add rct_validity_timer in roam_offload_scan_params.
Populate these values from roam request to the structure
roam_offload_scan_params to be sent over the wmi command.

Change-Id: I6130e9966d520169b0f74b9726d35aa4fef6d81d
CRs-Fixed: 2369040
2018-12-26 10:12:30 -08:00
Pragaspathi Thilagaraj
89d660b249 qcacmn: Handle the wmi event WMI_ROAM_BLACKLIST_EVENTID
The firmware sends a new wmi event WMI_ROAM_BLACKLIST_EVENTID
to send the blacklist AP list.

Change-Id: I04fab853efbded48285ac063bb39c64f342c229b
CRs-Fixed: 2369107
2018-12-26 07:47:53 -08:00
Pragaspathi Thilagaraj
e2ac6ac005 qcacmn: Handle the wmi event WMI_ROAM_BLACKLIST_EVENTID
The firmware sends a new wmi event WMI_ROAM_BLACKLIST_EVENTID
to send the blacklist AP list.

Change-Id: I04fab853efbded48285ac063bb39c64f342c229b
CRs-Fixed: 2369107
2018-12-26 07:47:53 -08:00
Pragaspathi Thilagaraj
9dada4d132 qcacmn: Send bss_load_bss_sample_time over WMI_ROAM_BSS_LOAD_CONFIG_CMDID
Add changes to send bss_load_bss_sample_time over the wmi
command WMI_ROAM_BSS_LOAD_CONFIG_CMDID.

Change-Id: Iab882f0474071458ed8b8876d8edda987b76e94d
CRs-Fixed: 2372167
2018-12-26 07:47:47 -08:00
Pragaspathi Thilagaraj
9de182f71a qcacmn: Send bss_load_bss_sample_time over WMI_ROAM_BSS_LOAD_CONFIG_CMDID
Add changes to send bss_load_bss_sample_time over the wmi
command WMI_ROAM_BSS_LOAD_CONFIG_CMDID.

Change-Id: Iab882f0474071458ed8b8876d8edda987b76e94d
CRs-Fixed: 2372167
2018-12-26 07:47:47 -08:00
Pragaspathi Thilagaraj
ba0afeda9a qcacmn: wmi changes to send bss load trigger config to firmware
Populate the load bss trigger configuration values based on the
ini values and send them to firmware.

Add wmi changes to send bss load trigger config to firmware.

Change-Id: Ib2e21904bc7b8d87e5f51824d2694b90a3ac53f2
CRs-Fixed: 2367773
2018-12-26 07:47:44 -08:00
Pragaspathi Thilagaraj
b2fc8aa84e qcacmn: wmi changes to send bss load trigger config to firmware
Populate the load bss trigger configuration values based on the
ini values and send them to firmware.

Add wmi changes to send bss load trigger config to firmware.

Change-Id: Ib2e21904bc7b8d87e5f51824d2694b90a3ac53f2
CRs-Fixed: 2367773
2018-12-26 07:47:44 -08:00
Yeshwanth Sriram Guntuka
77ea33a592 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
Yeshwanth Sriram Guntuka
846d77bf4b 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
Edayilliam Jayadev
962dba5969 qcacmn: Time stamp WAR for spectral
Spectral HW time stamp gets reset when a reset happens in
within target. This can potentially result in unpredictable
behaviour during classification. To mitigate this calculated
offset is added to the time stamp value in the FFT report.

HT = Spectral HW timer
AT = Actual time stamp in spectral report
CF = Time stamp correction factor
CT = Corrected time stamp
L = Time stamp in the last FFT report before reset
F = Time stamp in the first FFT report after reset
D = Time gap between the last spectral report before reset
    and the end of reset(This is provided by FW via direct
    DMA framework)

                         ***Target Reset***
                                 ^
                                 |
                            |<---D---->|           time line--->
       _______________________________________________________
       ^                    ^          ^  ^
       |                    |          |  |

HT --> 0                    L          0  F

AT --> 0                    L             F

CF --> 0                    0           (L+D)

CT --> 0                    L          (F+L+D)

Spectral driver corrects the time stamp received from target
using the following formula and sends upwards.

CT(Corrected time stamp) = AT(Actual time stamp) +
                           CF(Correction Factor)

Calculation of Correction factor (CF):-
---------------------------------------
Initialization : CF = 0
CF += (L + D) (Done only for the first spectral report after reset)

This scheme takes care of the wrap around in the 32 bit time stamp
which would have occurred if the timer was not restarted due to
target reset.

CRs-Fixed: 2356382 2355486
Change-Id: I17b55d39eb91eb03b867bcfddaf3eb03d1fc5d1b
2018-12-24 03:32:52 -08:00
Edayilliam Jayadev
bd8dba0833 qcacmn: Time stamp WAR for spectral
Spectral HW time stamp gets reset when a reset happens in
within target. This can potentially result in unpredictable
behaviour during classification. To mitigate this calculated
offset is added to the time stamp value in the FFT report.

HT = Spectral HW timer
AT = Actual time stamp in spectral report
CF = Time stamp correction factor
CT = Corrected time stamp
L = Time stamp in the last FFT report before reset
F = Time stamp in the first FFT report after reset
D = Time gap between the last spectral report before reset
    and the end of reset(This is provided by FW via direct
    DMA framework)

                         ***Target Reset***
                                 ^
                                 |
                            |<---D---->|           time line--->
       _______________________________________________________
       ^                    ^          ^  ^
       |                    |          |  |

HT --> 0                    L          0  F

AT --> 0                    L             F

CF --> 0                    0           (L+D)

CT --> 0                    L          (F+L+D)

Spectral driver corrects the time stamp received from target
using the following formula and sends upwards.

CT(Corrected time stamp) = AT(Actual time stamp) +
                           CF(Correction Factor)

Calculation of Correction factor (CF):-
---------------------------------------
Initialization : CF = 0
CF += (L + D) (Done only for the first spectral report after reset)

This scheme takes care of the wrap around in the 32 bit time stamp
which would have occurred if the timer was not restarted due to
target reset.

CRs-Fixed: 2356382 2355486
Change-Id: I17b55d39eb91eb03b867bcfddaf3eb03d1fc5d1b
2018-12-24 03:32:52 -08:00