Графік комітів

1047 Коміти

Автор SHA1 Повідомлення Дата
Manoj Ekbote
298e39a2e2 qcacmn: Re-organize TWT session stats event handling
Re-arrange code for registration and handling of TWT session
event.

Change-Id: I0b4388a3d85cb387c2f5160fc13bbedb1d246da3
CRs-Fixed: 3150694
2022-05-18 14:31:39 -07:00
Edayilliam Jayadev
bcc93ce051 qcacmn: Increase read retry limit for mgmt Rx REO
Increase the retry limit for reading management Rx reorder
snapshots.

CRs-Fixed: 3193277
Change-Id: I4474e4be5d15a0c5bd4d0c613b314950ddb26c6f
2022-05-16 03:50:02 -07:00
Liangwei Dong
28ceb47c1d qcacmn: populate num_max_active_vdev in WMI init
Set num_max_active_vdevs to WMI init command and
extract it from WMI ready event.

Change-Id: I6d6377c03214fcab74c675839f136301ebf27834
CRs-Fixed: 3183010
2022-05-15 20:51:00 -07:00
Kai Chen
627746d6bb qcacmn: AFC device deployment type support
Add init sequence handling to support AFC device deployment type
Set AFC device deployment type to regulatory private obj

Change-Id: Ib041d2010552412aaaa41395915d948aa2ea2bba
CRs-Fixed: 3190288
2022-05-10 22:12:35 -07:00
Shiva Krishna Pittala
80edcddb01 qcacmn: Spectral init path changes for QCN9224
Add the Spectral init path changes required for Waikiki.

Change-Id: I6c6bb826ff4ce02988560100b187fe1acffa3f7d
CRs-Fixed: 3160798
2022-05-05 01:21:04 -07:00
Edayilliam Jayadev
cecf753cac qcacmn: Fix compilation issues in mgmt Rx REO
Fix compilation issues in mgmt Rx REO feature.

CRs-Fixed: 3179407
Change-Id: I19e475b9f4eb5615d9ae63a85af3daf3ea1434ba
2022-05-03 12:41:07 -07:00
Pragaspathi Thilagaraj
7738bad9e9 qcacmn: Add support to manage Wifi pos vdev private object
Add support to manage Wifi pos vdev private object. Add new peer
type in enum wlan_peer_type. Add rx_ops and register the rx_ops
for PASN peer create/peer delete request.
Register 11az PASN related WMI events in target if.

Change-Id: I2a5e4d8d7c9b9562d9ab02b287957e93ee6f4758
CRs-Fixed: 3154521
2022-04-30 22:49:55 -07:00
Edayilliam Jayadev
f1373c7ace qcacmn: Extract reo params only if FW feature flag is enabled
Extract management Rx REO params only if FW feature flag is enabled.

CRs-Fixed: 3182774
Change-Id: I3051a54af9d9671edd7833a23444f72602c35e88
2022-04-28 10:40:54 -07:00
Edayilliam Jayadev
ff6d633d72 qcacmn: Add WAR to consistently read mgmt Rx REO snapshots
Read the management Rx reorder snapshots back to back to get a
consistent value.

CRs-Fixed: 3181479
Change-Id: I5ff73db5d4be362d7449494f3630a11da0456f0e
2022-04-28 10:40:43 -07:00
Ashish Kumar Dhanotiya
e9c9acf630 qcacmn: Add 11d offload APIs under correct feature flag
Currently host driver defines 11d offload APIs under
HOST_11D_SCAN feature flag which is not correct.
Add 11d offload APIs under TARGET_11D_SCAN feature flag.

Change-Id: I0d3205b215c9fc363a71c4e7a6b54e40fb10a964
CRs-Fixed: 3183200
2022-04-28 03:12:44 -07:00
sumedh baikady
324dcd5688 qcacmn: Add target check for reo shared qaddr enabling
Enable REO shared qref for 11be targets.
Fix a compilation issue in printing dma_paddr type. 

Change-Id: Ib8568a82e96016ea367c8e0122d862e3d6e70d00
CRs-Fixed: 3178147
2022-04-26 14:59:37 -07:00
Edayilliam Jayadev
94d603ee9b qcacmn: Add support for multiple snapshot versions
Add support for multiple version of management Rx reorder
shared snapshots.

CRs-Fixed: 3171325
Change-Id: Idae8d3f8179dc4a60730033e55d5744324133839
2022-04-26 10:00:35 -07:00
Shiva Krishna Pittala
d7826cc02e qcacmn: Don't unregister a DDMA module if it was not registered earlier
When we try to unregister a module that was not registered earlier, we will
try to unmap the buffers that were not allocated. As a result, we end up
with invalid memory access. Fix this issue by checking if the module was
registered before unregistering it.

Change-Id: I97c4ee7a6690c6cba2a7d1a919a39fcb12ebb692
CRs-Fixed: 3179498
2022-04-26 07:03:57 -07:00
Vishal Miskin
36da36e010 qcacmn: Populate TWT target API to set pdev param
Populate TWT target API to set pdev param

Change-Id: Id82ee089825293c05bace5ead97727c8c79845db
CRs-Fixed: 3168199
2022-04-26 07:03:52 -07:00
abhinav kumar
5cb3946000 qcacmn: Support multi-client service bit info from FW
Add change to fetch and save the WMI service capability
bit of FW to support multi-client low latency feature
using service bit.

Change-Id: Ifce82c06fc913668949ed06634da1eebcea80397
CRs-Fixed: 3180932
2022-04-25 05:38:28 -07:00
Manoj Ekbote
3ba452b700 qcacmn: Use pdev specific WMI handle for TWT cmds
While pushing WMI cmds for TWT enable/disable, use separate
CE instance for each pdev.

Change-Id: I63e77996f9face7e319fbd8abf580d13ce1c05a1
CRs-Fixed: 3162042
2022-04-25 01:48:12 -07:00
Pragaspathi Thilagaraj
4abe857789 qcacmn: Add support for per candidate roam frame capability
Firmware advertises per candidate roam frame capability to
indicate:
1. Firmware sends auth/assoc frames for each candidate to
which roaming was attempted.
2. Fill the frame info TLV with authentication algo = 3
for authentication frames.

Add support for the roam per candidate frame info capability

Change-Id: I95c23031ab0fbc21fb9d8db3bd54004e4d1ac234
CRs-Fixed: 3172311
2022-04-22 08:39:58 -07:00
Shiva Krishna Pittala
eb29b7fac2 qcacmn: Don't use packmode_fftbin_size_adj WAR for QCA9574
packmode_fftbin_size_adj is used when the reported FFT bin length from
HW is twice the actual size. This issue is fixed in HW from Pine onwards.
So, don't use this WAR on QCA9574.

Change-Id: I43a4bcb6f238fac6a14c1f6459d7ad24a7a99b2d
CRs-Fixed: 3165085
2022-04-22 06:10:19 -07:00
narayan subramhanyan
802a169c36 qcacmn: Update cfr metadata version for Alder
Update cfr metadata version for Alder as agc gain table index
is reported newly on this target

Change-Id: Ie9b4933068163d461676a9005ba8c706730717e8
CRs-Fixed: 3170137
2022-04-12 16:39:48 -07:00
sumedh baikady
52181cceb1 qcacmn: Fix Reo qref issues
1. Since peer id is reused for reconnection in MLO case,
old entries for queue desc addr is cleared. Clear the reo
internal storage and reset it back on client connection.

2. Send Qref feature WMI cmd to FW to enable the feature.

Change-Id: I6705ce121c8c25d9a2ace039dab21312fa5ea4b1
CRs-Fixed: 3156642
2022-04-12 06:31:36 -07:00
Bing Sun
37a48b157f qcacmn: provide is_create_punc_bitmap when generateing puncture
Puncture is one of 11be feature. Even 11be compile macro is defined,
Dut can start AP with non-11be mode. Regulatory component has no idea
whether it should consider puncture or not. Puncture should be a
configurable parameter from caller.
When updating channel state, puncture should be considered for 11BE
AP. is_create_punc_bitmap should be set in struct ch_params and pass
it to reg_get_5g_bonded_channel_state_for_pwrmode.

Change-Id: I96fb131f2df201a827ab7d98ca099a38b008e0d3
CRs-Fixed: 3160259
2022-04-08 01:57:29 -07:00
Edayilliam Jayadev
44b985cc97 qcacmn: Fix MLO global shared memory parsing
Fix issues in MLO global shared memory parsing.

CRs-Fixed: 3111721
Change-Id: Iba229e5c5176c4d1b0ad6a2a676c0cce8488a5c0
2022-03-30 10:52:25 -07:00
Edayilliam Jayadev
b4d1204cad qcacmn: Validate the MLO HW link info from global shmem
Validate the MLO HW link related info obtained from the global shared
memory arena of management Rx reorder feature.

CRs-Fixed: 3111549
Change-Id: I6fd7812dc49bfa8428b2ffbf66ae978592734bc0
2022-03-30 08:23:38 -07:00
Shwetha G K
73a570940f qcacmn: API for completion of MLO setup sequence
Add API to invoke call back API registered post MLO
setup sequence completion.

CRs-Fixed: 3153531
Change-Id: I16552ff46929c985ff4b7a62f47cc667fe6f132e
2022-03-29 21:56:30 -07:00
Manoj Ekbote
52cb1a0916 qcacmn: Change the return value for non-TLV targets
When non-TLV targets are used, the WMI event table is not populated.
So, it shouldn't be treated as fatal and WMI event register/unregister
functions can return NOSUPPORT instead of FAILURE.
Handle this value in TWT code.

Change-Id: I5bc8e7aae2e572c84ea0333c967cff527d5cbcc3
CRs-Fixed: 3145077
2022-03-29 12:22:35 -07:00
Shwetha G K
91fd67b612 qcacmn: Update cfr metadata version for Pine & HKv2
Update cfr metadata version for Pine and HKv2 as agc gain
table index is reported newly on these targets.

CRs-Fixed: 3158325
Change-Id: I17fe5a78ec44e1528e6187535a803c729734dd18
2022-03-28 10:48:05 -07:00
Shwetha G K
5672e51446 qcacmn: Add host timestamp to cfr header
Include a UTC timestamp when constructing the CFR header,
represented as a 64-bit nanoseconds value. This will allow
for better correlation with ground truth data.

CRs-Fixed: 3156846
Change-Id: Ic5308bcd591d641e715ded8e4b75d447160dbbce
2022-03-26 09:11:59 -07:00
Liangwei Dong
3c555431b1 qcacmn: Add API to get MAC-PHY number from target IF
Add API target_if_get_active_mac_phy_number to get max
active MAC-PHY pairs from target IF.
The API will loop through all HW mode and get max MAC-PHY
number in all HW modes.

Change-Id: I2755197c043f9d2df6f8aaf6bf50093a2d1b1596
CRs-Fixed: 3154072
2022-03-23 23:01:02 -07:00
Pragaspathi Thilagaraj
aa27094cab qcacmn: Add support to set 11az ext feature flags
Add support to set 11az ext feature flags
Read the firmware capability for 11az features and
advertise the corresponding wiphy flags.

Change-Id: I85f6cc2f65a5d9892830f66a726cffc823093bca
CRs-Fixed: 3150584
2022-03-23 19:42:26 -07:00
Pragaspathi Thilagaraj
8d44eccea7 qcacmn: Add new wifi_pos target_if files
Add below new target_if layer files for TX ops and
RX ops separately:
target_if_wifi_pos_tx_ops.c
target_if_wifi_pos_rx_ops.c

Change-Id: I0746881b5fd429bb0a003dbcfea11691a90e9c34
CRs-Fixed: 3139459
2022-03-23 19:42:19 -07:00
Shiva Krishna Pittala
aeb2ffde14 qcacmn: Add stats in Spectral report processing path
Add the following stats.
 - Number of Spectral events received from the target
 - Number of consume_spectral_report() invocations
 - Number of fill_samp_msg() invocations
 - Number of SAMP messages that are ready to be sent to the user-space
 - Number of SAMP messages queued to the user-space

Change-Id: I53fda4b309620043a77bc2bc87573941d7fb0bcb
CRs-Fixed: 3156151
2022-03-23 13:01:40 -07:00
Shwetha G K
8b4151516b qcacmn: Add crash info in global shmem arena
Changes to add chip crash info in global shared mem arena
and expose the respective APIs to qca_ol.
Also add APIs to process global link info tlvs in order
to offset to crash info.

CRs-Fixed: 3121465
Change-Id: Idabf9fb8d4755bdd755897b3c09d2e28259a6f46
2022-03-23 06:28:36 -07:00
Shwetha G K
5b9b6ffee5 qcacmn: Separate global shmem generic APIs from REO
Changes to move the global shared memory arena init deinit
APIs from MGMT RX REO cmponent to MLO component.

CRs-Fixed: 3121467
Change-Id: Ie5ca50780ffb3343d225b6cf6acfa569463d5a3e
2022-03-23 06:28:21 -07:00
Shreedhar Parande
1758b401e1 qcacmn: Add support to RSSI DBm conversion API
Add WMI PSOC rssi Dbm conversion support service id.

Change-Id: I0fe9e7519926b26372a222529d66345e1a3c5655
CRs-Fixed: 3152182
2022-03-21 05:35:53 -07:00
Priyadarshnee Srinivasan
4f3cbf6b28 qcacmn: DFS random channel selection for 11BE
Enable the wmi_service to fetch the radar found cfreq from
wmi_service_radar_found_chan_freq_eq_center_freq.

Add changes in DFS random channel selection algorithm
(1) To find a channel of input width 320MHZ. Since 320MHZ in 5G
is 240MHZ (320 - 80 punctured), there are 12 valid 20MHZ subchannels
possible in 240MHZ. Validate the continuity of 240MHZ channel before
declaring the channel to be found.
(2) To find a fallback channel for the input channel
width of CH_WIDTH_320MHZ. The fallback channel of 320MHHZ is
160MHZ.

CRs-Fixed: 3149475
Change-Id: I03cac7f090de20efd912402b5e4df543b47aafed
2022-03-14 22:31:26 -07:00
Wu Gao
ecf1416b42 qcacmn: Check cookie and avoid to read out of bound
Read out of bound due to invalid cookie and cause device broken. This
change checks cookie before using it as index of DBR buffer pool.

Change-Id: I1abc7d771cc62a7dd2dfe98784bf8ef2710f26ca
CRs-Fixed: 3144133
2022-03-10 17:09:21 -08:00
Jhalak Naik
055dfbe881 qcacmn: Add Host support for Spectral FFT recapture
Add support to receive the fft_recapture arg value
from spectraltool, handle the FFT recapture config and
pass this to FW. The recapture feature must be
enabled only for spectral scan period > 52 us and
Normal Spectral scans.

Change-Id: Ied637704d25bb15bff2139a215da7481d4f80e4f
CRs-Fixed: 3140890
2022-03-09 06:51:27 -08:00
Jhalak Naik
24174b7be8 qcacmn: Add support for Spectral FFT recapture config
Add support to handle the FFT recapture config and
pass this to FW. The recapture feature must be
enabled only for spectral scan period > 52 us and
Normal Spectral scan.

Change-Id: I6b92fcd674ae95bcd0a23892ef9ccc6ba487d6ad
CRs-Fixed: 3140890
2022-03-04 13:45:00 -08:00
Subrat Dash
b657bc4223 qcacmn: Bypass cds to create AST entry for WDS station
The qcacld driver does not register ol_if_ops callbacks
to handle wds AST request.

Call target if APIs directly to add, delete, and update
the AST entries for the WDS stations.

Change-Id: Ib4d5e1fdd6598e3390dbd2be0f24a72ccf01f202
CRs-Fixed: 3133839
2022-03-01 14:55:35 -08:00
Abhijit Pradhan
3f95481d0e qcacmn: Add powermode APIs under a new macro
Use  CONFIG_REG_ 6G_PWR_MODE for the new API.
Use "_for_pwrmode" as suffix for the new functions.

Change-Id: I9b84944a59062277b76bc48877c47ea5afada0ec
CRs-Fixed: 3133023
2022-02-28 12:57:10 -08:00
Hariharan Basuthkar
e7b559d010 qcacmn: Replace reg curchan with 6g ap power based chan list
The consumers of the current channel list may want to search through 6G
channels that are not part of current channel list and belong to channel
list of different power mode.

Therefore, replace the regulatory current channel list with that of 6G
power based channel list.

Change-Id: Ie2ff8bbfb50a5f95f584b134b18246cb28b1c406
CRs-Fixed: 3110987
2022-02-28 12:57:03 -08:00
Manoj Ekbote
e78a527ac1 qcacmn: TWT componentization changes
Include relevant header for MAX_SESSIONS and use
the correct build flag to retrieve session params.

CRs-Fixed: 3136148
Change-Id: I28ef98a67cbe479c5d8be93c49f9ae6ce63ba982
2022-02-28 09:10:11 -08:00
Venkateswara Swamy Bandaru
804b9e2382 qcacmn: Add EHT PPE threshold support
Add support for EHT PPE threshold's. Store 2G and 5G thresholds received
in service ready. Fill peer PPE thresholds for EHT peer.

Change-Id: Id5c8310cbf34c59a3d88072b37ce3f871354ed17
CRs-Fixed: 3128586
2022-02-21 22:41:33 -08:00
Srinivas Dasari
f8921a74b9 qcacmn: Wait for RSO stop response from firmware
Firmware doesn't expect any vdev commands from host while RSO stop
is happening. It sends a response to the RSO_STOP command once
it's done with cleanup. Host needs to run a timer and wait for a
maximum of 6 seconds for the response. Host can stop the timer and
allow the commands to firmware in the below cases,
1. RSO_STOP response with success status
2. RSO_STOP response with HO_FAIL status followed by
   HO_FAIL event: Host needs to wait till HO_FAIL event is
   received

If firmware doesn't send any response in the 6 seconds wait, issue
a recovery to help to check the firmware state.

Change-Id: I4577f9b0aac71c0c86bd32b59e69d9527bf107b9
CRs-Fixed: 3106032
2022-02-18 23:21:21 -08:00
Bing Sun
091c383271 qcacmn: Get pdev for dfs if pdev id is not 0
MCL host only has one pdev with pdev id as 0. If pdev id indicated
from FW is bigger than 0, MCL will not get pdev. Get pdev with pdev
id 0 in this case.

Change-Id: Ie43fc2d78d31ebaa3f32076704d81439f1d46830
2022-02-17 15:42:29 -08:00
narayan subramhanyan
893d63c744 qcacmn: Legacy Qwrap RE code cleanup
Remove Legacy Qwrap max client mode code as part of Legacy
RE code cleanup. Old change (same code changes as new) was
reverted as some PF checks were missing/skipped before merge
due to an IT issue

Safe to merge now as IT issue has been resolved and all PF
checks are enabled again before merge.

Change-Id: I2f6ae57a27d50c31115d89e57281dc1f7094d71d
CRs-Fixed: 3125196
2022-02-17 06:24:59 -08:00
Shiva Krishna Pittala
0878b6eaf9 qcacmn: Fix FFT bin values for pack mode 0
While copying FFT bins from the target, Spectral Host driver reads
one DWORD (32-bits) at a time and extracts FFT bins out of those DWORDs.
This extraction uses standard bit shift and mask operations as below.

    #define QDF_GET_BITS(_val, _index, _num_bits) \
                    (((_val) >> (_index)) & ((1 << (_num_bits)) - 1))

For a chipset that uses pack mode 0 i.e., packs 1 FFT bin per DWORD,
_num_bits in the above operation will be 32. So, we try to left shift the
integer constant '1' by 32. If the integer constant is represented by
32-bit integer, we could have issues in the result of shift operation.
As per C standard, the result of shifting an operand by a count greater
than or equal to width (in bits) of the operand is undefined.
This is because some platforms could optimize the shift operation by
masking the shift count to 5 bits. That means, the shift actually
performed is 32 & 31, which is 0.

Fix this by using 64-bit integer constant '1' in the above operation.

Change-Id: Ic7fe4de7917f3069d78a2ff29d86009cbf381e3f
CRs-Fixed: 3125158
2022-02-14 12:46:05 -08:00
Naveen S
8b6625530d qcacmn: Removal of pre lithium wlan driver support in 12.x Software
Code related to IPQ4019 is removed

Change-Id: I64ef452cafe64840576f40a8f35bc617b9978c96
2022-02-14 07:12:47 -08:00
Jhalak Naik
2588f440fb qcacmn: Fix synchronisation between process and tasklet contexts
Currently, qdf_spin_lock/qdf_spin_unlock is used to protect
spectral_lock. This can lead to a deadlock when the process
context is holding the lock and gets pre-empted by the tasklet.
To avoid this use qdf_spin_lock_bh/qdf_spin_unlock_bh.

Change-Id: Ibd2be7b7f3faf2dea9d7df8d6468c7a8fda512f2
CRs-Fixed: 3124199
2022-02-13 22:01:54 -08:00
Santosh Anbu
9a6e313fed qcacmn: Support Multi AST delete service bit info from FW
Add change to fetch and save the WMI service capability of FW to
support multi AST delete using service bit.

Change-Id: I038073085dca1370bafe691b6b0ba8c4476be7a2
CRs-Fixed: 3118892
2022-02-12 03:16:12 -08:00