Commit Graph

37 Commits

Author SHA1 Message Date
Jeff Johnson
2aa96628ca qcacmn: Fix umac/wifi_pos documentation
The kernel-doc script identified some documentation issues in the
umac/wifi_pos folder, so fix them.

Change-Id: I261ecd11e8e15bac021214c2d9e0774f316d7ac7
CRs-Fixed: 3430355
2023-03-16 03:11:29 -07:00
Chaoli Zhou
91036d45ac qcacmn: Fix compile issue for wifi pos
Fix below compile issues:
1.error: no previous prototype for wifi_pos_get_vdev_priv_obj()
and wifi_pos_get_psoc_priv_obj().
2. error: incompatible integer to pointer conversion assigning
to 'struct wifi_pos_vdev_priv_obj *' or 'struct wifi_pos_psoc_priv_obj *'
from 'int'.
3. error: declaration of 'struct wifi_pos_osif_ops' will not be visible
outside of wifi_pos_register_osif_callbacks();

Change-Id: I6946f6240ed5adff291871c75ca85f848d955f4d
CRs-Fixed: 3356150
2022-12-12 22:35:18 -08:00
Jeff Johnson
c52c4258c2 qcacmn: umac: Fix misspellings
Fix misspellings in umac/...

Change-Id: I0e439d67be2aa064b0fb223449e70053d5ecb68a
CRs-Fixed: 3304702
2022-10-11 00:47:34 -07:00
Shashikala Prabhu
5e43636b8c qcacmn: Add support for 11az RTT
- target_if layer was calling UMAC layer wifi_pos_get_rx_ops(). This was
  leading to compilation errror in WIN platform. Hence, added target_if
  layer API target_if_wifi_pos_get_rx_ops().

- WMI_RX_SERIALIZER_CTX is used to register PASN peer create and delete.
  WIN platform does not use the above context. Hence, use WMI_RX_UMAC_CTX
  for WIN and WMI_RX_SERIALIZER_CTX for MCC.

- WIFI_POS rx_ops callbacks are registered in target_if layer. But, these
  callbacks are called by UMAC component. Hence, move this registration
  function to UMAC layer.

- Add an API to convert host PASN peer type value to target defined value.

Change-Id: I2a262121f959c2343e88158b94468d104b9e164c
CRs-Fixed: 3289852
2022-09-30 07:49:24 -07:00
Pragaspathi Thilagaraj
d95e7863cd qcacmn: Add support to enable/disable responder 11az ranging
Enable/Disable responder 11az ranging based on the below ini:
"enable_responder_11az_support"

With "enable_responder_11az_support" disabled, the below ext
cap advertisement will be disabled:
Non-TB Ranging Responder
TB Ranging Responder

and below vendor capabilities advertisment will be disabled:
QCA_WLAN_VENDOR_FEATURE_PROT_RANGE_NEGO_AND_MEASURE_AP
QCA_WLAN_VENDOR_FEATURE_SECURE_LTF_AP

Change-Id: I82eb70615f8daf82e98e7600418e07fad0672b76
CRs-Fixed: 3296410
2022-09-29 04:22:45 -07:00
Surya Prakash Raajen
c8aaf60162 qcacmn: Fix number of vdev info in app reg for lowi
The actual number of vdev info allocated was less than the number
of vdevs that can be created for each soc, hence fix them, also
previously the arrays were allocated statically consuming
considerable amount of memory, fix them by allocating dynamically
with only number of vdevs per soc

Change-Id: I5ea735d44994211f76ce18460332624831742f7b
CRs-Fixed: 3285131
2022-09-29 02:28:02 -07:00
Pragaspathi Thilagaraj
89f5e532f3 qcacmn: Add support for AP secure-LTF capability
Add support to advertise AP secure-LTF capability based
on ini configuration

Change-Id: I8aebbd683694e36d8d16215c0358f5bfb18d5443
CRs-Fixed: 3283114
2022-09-14 09:36:20 -07:00
Pragaspathi Thilagaraj
38b8236ddc qcacmn: Add support for initiate pasn auth vendor command
Add support for initiate pasn authentication using the vendor
command: QCA_NL80211_VENDOR_SUBCMD_PASN
Fill the below required attributes to initiate PASN:
QCA_WLAN_VENDOR_ATTR_PASN_ACTION
QCA_WLAN_VENDOR_ATTR_PASN_PEERS
QCA_WLAN_VENDOR_ATTR_PASN_PEER_MAC_ADDR
QCA_WLAN_VENDOR_ATTR_PASN_PEER_SRC_ADDR

Change-Id: If33f54eafe5986b4571cc21a80fb0b61578db116
CRs-Fixed: 3232261
2022-07-14 04:12:51 -07:00
Pragaspathi Thilagaraj
f0cac26bbb qcacmn: Add support to delete all pasn peers
Add support to delete all pasn peers

Change-Id: I2c3d95cb8994693d8944d69624d2db0992f2f03d
CRs-Fixed: 3158523
2022-07-06 23:08:01 -07:00
Pragaspathi Thilagaraj
b7fa703306 qcacmn: Add support to send PASN commands
Add support to send below PASN commands:
WMI_RTT_PASN_AUTH_STATUS_CMD
WMI_RTT_PASN_DEAUTH_CMD
WMI_VDEV_SET_LTF_KEY_SEED_CMDID

Change-Id: I5a50a634317d0a692feee5be5a36da22b4c5d713
CRs-Fixed: 3154530
2022-07-06 23:07:52 -07:00
Pragaspathi Thilagaraj
957b6d2307 qcacmn: Add support to initiate PASN authentication request
Register OSIF callbacks with Wifi_pos module to initiate PASN
authentication request.

Call cfg80211_pasn_auth_request() to initiate PASN authentication
from wpa_supplicant for the list of secure peers.

Change-Id: I52b9518526f1b04ad520f2f19c7a4caa9b62b6b0
CRs-Fixed: 3149968
2022-06-28 12:17:57 -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
Pragaspathi Thilagaraj
1911d07d35 qcacmn: Add new Wifi Pos module PASN related files
Add new files in Wifi-Pos module to support PASN authentication.
Introduce new API to handle 11az ranging peer create, to handle
PASN peer create response and manage the PASN peers to initiate
external authentication to userspace.

Change-Id: I0b638d3cfca2753074fdb56ad78373f842ca80ee
CRs-Fixed: 3150241
2022-04-26 04:03:28 -07:00
Pragaspathi Thilagaraj
f002514396 qcacmn: Add new public structure file for Wifi pos module
Add new public structure file for Wifi_Pos module to define
11az related structures & enums, vdev private object for
Wifi Pos module.

Change-Id: Ia8b8ebb3b36cc8f1d9598629e63d15a0f16301c7
CRs-Fixed: 3150228
2022-04-26 04:03:22 -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
Shashikala Prabhu
236152dcc0 qcacmn: Register callback to get max supported FW phymode
Register a callback to get max supported FW phymode for the given
channel list.

Also, corrected the array index value used to populate the DFS flag and
phymode.

Change-Id: Id635a159acac085827831726d3020cc209b810cf
CRs-Fixed: 3083405
2022-01-25 16:53:32 -08:00
Shashikala Prabhu
a117c19fda qcacmn: Add support to extract the channel info from RTT measreq
Add support to extract the freq, cfreq1, cfreq2, PHY mode, Destination
macaddr, and channel BW values from the RTT measurement request buffer
received from the LOWI application. Pass these values to a registered
callback. Users can use these values to make some decisions on the RTT
scan.

Change-Id: Idb2232c07bbfa2946dc01e75908b9a6036597ecf
CRs-Fixed: 3060685
2021-11-22 15:09:55 -08:00
Shashikala Prabhu
005e1f3dd7 qcacmn: Replace MAX_CHANNELS with NUM_CHANNELS in wifipos module
In wifipos component, channel info array is allocated for MAX_CHANNELS(255)
and passed to the regulatory module which uses NUM_CHANNELS to fill the
channels. NUM_CHANNELS can be more than 255. This may lead to an array out
of boundary access.

Use NUM_CHANNELS in wifipos component to allocate channel info array.
also, add a boundary check on the number of channels received from the
regulatory component.

Change-Id: I5b7a7a4767d8bbb259c5631cf744e57ee3e1effb
CRs-Fixed: 2938879
2021-05-18 23:31:34 -07:00
Shashikala Prabhu
5d097b9e40 qcacmn: Add support to send channel info to WIN LOWI application
In the current code, host does not send the channel list information to
WIN LOWI application. LOWI application populates the TX power in OEM RTT
request frame from the host received channel list information. Since the
channel list was not received from host TX power was set to 0. This was
leading to low RSSI for RTT ack frames.

Send the channel list information of all the PDEVs and PSOCs to WIN LOWI
application  to set a valid TX power.

Change-Id: I9b7d740b37349d092629aa2f9550555901fb4331
2021-04-27 01:15:20 -07:00
Jianmin Zhu
d6329cff1b qcacmn: Replace channel with frequency
Replace channel with frequency.

Change-Id: I291dd5110d5fe69361c636d60635b60309e8575f
CRs-Fixed: 2776242
2020-09-24 10:45:50 -07:00
Shashikala Prabhu
6d11d6f27a qcacmn: Add support to get pdev_id and psoc from dev_name
LOWI application provides the interface name as part of lowi message to
host driver. Add support in the driver code to get the corresponding
pdev_id and pdev from interface name using  dev_get_by_name().

Change-Id: I267b95c843a9bb1dd0c58ff45767f31999500b1c
CRs-Fixed: 2711423
2020-07-17 01:51:26 -07:00
Lincoln Tran
64db569708 qcacmn: Fix wifi_pos_send_rsp pointer cast
Update the wifi_pos_send_rsp function pointer cast to have the
same parameters as the actual function pointer.

Change-Id: I7e9f5f9972fe96f74c76ffb0fa069a93c98db72b
CRs-fixed: 2685627
2020-06-01 09:34:07 -07:00
Vinay Gannevaram
8fd2d1abbf qcacmn: Add support for NLA type CH_INFO_RESP in LOWI
Host driver processes cld80211 vendor sub command
CLD80211_VENDOR_SUB_CMD_GET_CH_INFO and respond with
NLA type CH_INFO response

CRs-Fixed: 2595374
Change-Id: Ibe6f2431ac1cae6e4560ec11424434b4f1cf8b76
2020-03-21 12:35:24 -07:00
Vinay Gannevaram
23a3603951 qcacmn: Add support for NLA type CAP_RESP in LOWI
Host driver processes cld80211 vendor sub command
CLD80211_VENDOR_SUB_CMD_GET_CAPS and respond with
NLA type CAP response

CRs-Fixed: 2595140
Change-Id: I5a6aa1fac537ca618404520b81c541a20dafd6fb
2020-03-21 12:35:02 -07:00
Vinay Gannevaram
2250592dcd qcacmn: Add support to get fwr phymode for frequency
Currently, wifi-pos uses channel number to get the fwr phymode.
For adding 6g support wifi-pos need to get the phymode from
frequency instead of channel number
As a part of fix, Add handler for getting phymode based on
frequency

CRs-Fixed: 2617903
Change-Id: I007edebe41bf5ca750a1262c85043f628dc9f89f
2020-02-15 04:43:36 -08:00
Abhishek Ambure
d49729cd47 qcacmn: Add oem target six ghz support disable flag in wifipos
Host driver sends channel list and number of channels to lowi-server
in ANI_MSG_GET_OEM_CAP_RSP. 6Ghz channels in the channel list are not
useful for legacy lowi-server not supporting 6Ghz channels.

For legacy oem targets, driver sets "oem_6g_support_disable".

Change-Id: Ibc072ff2df3d7b246d3a48d7cebcb5feac35b715
CRs-Fixed: 2597645
2020-01-15 19:33:06 -08:00
Kiran Venkatappa
d2ede02e21 qcacmn: Add support in wifi pos to send wru/ftmrr frames
FTMRR and WRU frames should be sent from host and these request should
not be forwarded to FW. Add support in wifi pos to process this request
and send response to userspace.

Change-Id: I54049a1a889839e44d418ceebcca09e5092f6063
CRs-Fixed: 2500751
2019-08-02 10:17:23 -07:00
Rajeev Kumar Sirasanagandla
d36ba2d9cf qcacmn: Fix possible overread in wifi_pos_parse_req
In wifi_pos_parse_req(), payload sections of nl attributes ATTR_DATA and
ATTR_META_DATA are type casted to driver internal structures tAniMsgHdr
and wifi_pos_field_info respectively without validating payload lengths
which can lead to buffer overread if the payload lengths are less than
size of internal structures.

To fix this, avoid type-cast and return error if payload lengths of nl
attributes ATTR_DATA and ATTR_META_DATA are less than size of tAniMsgHdr
and wifi_pos_field_info respectively.

Change-Id: Ie9e3197f2cd3852b394e834991aa8d3a5b530d85
CRs-Fixed: 2471275
2019-07-17 08:31:58 -07:00
Abhiram Jogadenu
1c2b583ee2 qcacmn: Componentize and enable conv WIFI POS
Componentize and enable converged WIFI POS

Change-Id: I8e3f745dbb087818c9d411c7a00e1cdb2907d4d3
2019-07-16 17:15:24 -07:00
Ashish Kumar Dhanotiya
04c074d219 qcacmn: Update correct PHY mode while processing ch_info_req
Currently PHY mode is not getting updated and it is being set as
0, which is resulting in an invalid channel setting to FW
for LOWI.
To address this issue update the PHY mode correctly.

Change-Id: I77b2a517915a05d6a13dec5cee064d83bfae2992
CRs-Fixed: 2318563
2018-09-28 19:01:52 -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
9523aa15fa qcacmn: Add ucfg_wifi_pos set/get apis for FTM value
Define ucfg_wifi_pos apis for set/get of fine_time_meas_initiator.

Change-Id: Id33ba633c58e5b286211da9343797fc99ec364aa
CRs-Fixed: 2124286
2017-10-20 13:54:00 -07:00
Naveen Rawat
44cf05f6c8 qcacmn: Parse service ready ext event for WIFI_POS DMA rings cap
Parse service ready extension event to get DMA ring capability requested by
firmware to enable CIR/CFR capture. This cap is then saved in WIFI_POS psoc
private object.

Change-Id: I6f6958250af06ac69b627d2f06e120955d625c62
CRs-Fixed: 2040688
2017-05-26 08:38:21 -07:00
Naveen Rawat
922724f2db qcacmn: Implement WIFI_POS commands
Implement following commands for WIFI_POS:
1) ANI_MSG_APP_REG_REQ
2) ANI_MSG_CHANNEL_INFO_REQ
3) ANI_MSG_SET_OEM_CAP_REQ
4) ANI_MSG_GET_OEM_CAP_REQ
5) ANI_MSG_OEM_DATA_REQ
6) ANI_MSG_PEER_STATUS_IND

Change-Id: I7e3b502660b169f4cdb654cb5f433446a24d2421
CRs-Fixed: 2003488
2017-03-22 01:36:36 -07:00
Naveen Rawat
18ceca16b7 qcacmn: Add LMAC interface for WIFI POS component
This change adds implementation for interfacing with LMAC for
southbound request to WMI and northbount events from WMI.

Change-Id: Ia027ec704d99ef586b89bfadce4f174c3bcf8c17
CRs-Fixed: 2003488
2017-03-22 01:36:34 -07:00
Naveen Rawat
a8423167a9 qcacmn: Implement Wifi Positioning Init/Deinit
Implement Init/Deinit for the WIFI Positioning component.

Change-Id: Iec0f4199935f63f7019de5ae16fc760817165954
CRs-Fixed: 2003488
2017-03-21 01:10:14 -07:00
Naveen Rawat
89284c2621 qcacmn: Add new files for Wifi Positioning component
Add new files for Wifi Positioning component.

Change-Id: I62d808a5ce01ce7211e22df960dd337454e1f8b5
CRs-Fixed: 2003488
2017-03-08 19:30:51 -08:00