Commit Graph

24 Commits

Author SHA1 Message Date
Surya Prakash Sivaraj
b28724a744 qcacld-3.0: Add bound check for vdev id in bs req
The vdev id in bs_req cannot exceed the WLAN_UMAC_PSOC_MAX_VDEVS
count.

Add the sanity check before accessing the ref_count array.

Change-Id: I31743b4be75944bb8947eac7537172d56614637d
CRs-Fixed: 3759720
2024-04-05 08:08:38 -07:00
Srinivas Dasari
6472be5eda qcacld-3.0: Enhance coex_unsafe_chan_nb_user_prefer for P2P mode
Currently, firmware-reported unsafe channels are ignored
and userspace configured channels are honored when
coex_unsafe_chan_nb_user_prefer ini is set. This is supported for
SAP mode only.
But some platforms may want driver to ignore the firmware-
reported coex channels for P2P-GO also.
Enhance the ini to allow user to configure mode specific
bit as mentioned below,

BIT 0: Don't honor fw coex/unsafe channel info for SAP mode
BIT 1: Don't honor fw coex/unsafe channel info for P2P-GO mode

Change-Id: I91a2c6b2da9aba411d081f6ae3b23d374fe53159
CRs-Fixed: 3766393
2024-03-26 18:59:44 -07:00
Ashish Kumar Dhanotiya
793694f8f7 qcacld-3.0: Add bearer switch WMI interface changes
When there are more than one audio transport mediums
are available, there is a possibility to switch the
audio transport medium from one medium to another
medium.
To provide this support to switch the audio transport
medium, and to indicate the status of the bearer
switch to fw, add WMI interface changes.

Change-Id: I236e2d9a954191c104d56d286332ace644190e6e
CRs-Fixed: 3653962
2023-11-14 12:09:28 -08:00
Ashish Kumar Dhanotiya
00924a2325 qcacld-3.0: Validate SAP/GO/LL_LT_SAP channels in LL_LT_SAP mode
Add separate APIs to validate SAP, P2PGO or LL_LT_SAP
channels according to LL_LT_SAP concurrency.

Change-Id: I180796df6b312f9bbb0a8e61085ca1517cd687b5
CRs-Fixed: 3647561
2023-11-12 15:21:42 -08:00
Ashish Kumar Dhanotiya
dda17ba73b qcacld-3.0: Add support for ll_lt_sap service capability
Add support for ll_lt_sap service capability

Change-Id: I72322eb18911cad7d7f367e4cb828df97516440e
CRs-Fixed: 3647672
2023-11-12 15:21:15 -08:00
Ashish Kumar Dhanotiya
d21900866c qcacld-3.0: Update the BS state if userspace changes the bearer
Currently host driver does not update the state of the bearer
switch state machine when userspace changes the bearer, which
results in out of sync state of the bearer currently in use.

To address above issue, update the state of the bearer switch
state machine if user space changes the bearer.

Change-Id: Id71cfdf320a11665707a367b13ea932155af0413
CRs-Fixed: 3649793
2023-11-03 10:04:05 -07:00
Ashish Kumar Dhanotiya
522f7f2a38 qcacld-3.0: Enable LL_LT_SAP feature
Enable LL_LT_SAP feature by default in the host driver.

Change-Id: I1b5eafca24e1a9884640360048640840acbe8ed3
CRs-Fixed: 3651582
2023-11-02 02:58:28 -07:00
Ashish Kumar Dhanotiya
47e3ad9261 qcacld-3.0: Initialize the freq list in ll_lt_sap_get_valid_freq api
Currently host driver does not set freq_list to memzero in
ll_lt_sap_get_valid_freq api which may contain some invalid values
which leads to unexpected issues in channel selection.

To address this issue, initialize freq_list with memzero
in ll_lt_sap_get_valid_freq API.

Change-Id: I2f0e7fef6c5ece88b2714b4a90bc169c8bbb75cc
CRs-Fixed: 3647070
2023-11-01 10:25:53 -07:00
Ashish Kumar Dhanotiya
e570b01a0c qcacld-3.0: Add force MCC logic for LL_LT_SAP
LL_LT_SAP supports MCC with sta interface and does not
support SCC with any interface. Add a logic to force
MCC if any STA comes up in SCC with the LL_LT_SAP interface.
This change adds below logic to force MCC on LL_LT_SAP:
1. If STA is present and LL_LT_SAP comes up, select MCC
   channel in ACS and make sure to bring LL_LT_SAP on MCC channel.
2. If LL_LT_SAP starts without ACS in SCC channel, then
   overwrite this SCC channel with MCC channel.
3. If LL_LT_SAP is present and STA comes up in SCC with
   LL_LT_SAP, move LL_LT_SAP to an MCC channel or on different
   MAC channel.
4. If LL_LT_SAP and STA are present in MCC and STA receives
   CSA on LL_LT_SAP frequency resulting in SCC then move
   LL_LT_SAP to MCC frequency.
5. If LL_LT_SAP and STA are present in MCC and STA roams
   to LL_LT_SAP frequency resulting in SCC then move
   LL_LT_SAP to MCC frequency.

Preference to lower 5 GHz will be given followed by
standalone MAC frequency then MCC frequency.

Change-Id: I7f4380ed7d726112bbc2aa94a50ffbb5d8b6036d
CRs-Fixed: 3640669
2023-10-20 07:59:30 -07:00
Ashish Kumar Dhanotiya
252f127360 qcacld-3.0: Update logging format for BS state machine
With this change add a logging format for bearer switch
state machine.

Change-Id: I4f75b402c163eb6872d1c478845f3e76842d5cae
CRs-Fixed: 3642471
2023-10-20 07:59:23 -07:00
Jyoti Kumari
10264ba73a qcacld-3.0: Get weight of selected frequencies list
Get weight of selected frequencies list of LL_LT_SAP. This will
be used by caller api to select the best frequency for LL_LT_SAP.

Change-Id: I066aea0591f8e65a61c53586d68aa753b081e3db
CRs-Fixed: 3640864
2023-10-19 14:42:05 -07:00
Jyoti Kumari
6409215ea1 qcacld-3.0: Get LL_LT_SAP frequency list
Get LL_LT_SAP frequency list

Change-Id: Ib83247da5cda61b9ef68c5164b73de8bea309831
CRs-Fixed: 3572925
2023-10-16 08:17:49 -07:00
Ashish Kumar Dhanotiya
0afa4fa7e5 qcacld-3.0: Add bearer switch request in connect path
If LL_LT_SAP is already present and if STA tries to
come up on same mac, then it may result in data loss
on LL_LT_SAP as STA will need ROC on the connection
channel for some time, to avoid these data loss during
STA connection, add logic to switch the bearer for LL_LT_SAP
data to non-wlan and once connection completes, switch back
the bearer to wlan.

Change-Id: I7ace6c6f4f41548ec112882dc81be6c6b5a4eae0
CRs-Fixed: 3627656
2023-10-11 14:42:22 -07:00
Ashish Kumar Dhanotiya
1c37983a22 qcacld-3.0: Handle vendor command and events for audio transport switch
Based on new requirement, add changes to send the vendor event
send audio transport switch request and also add changes to process
the response received as a vendor command.

Change-Id: I4b8804c9021ea8807ca785f81f3df431690029fb
CRs-Fixed: 3626954
2023-10-10 19:36:47 -07:00
Ashish Kumar Dhanotiya
8e04c8446a qcacld-3.0: Register os_if callback with the bearer switch state machine
Based on the new requirement, host driver needs to send the audio
transport switch request from host driver to user space, to
support this requirement, register os_if callback function with
bearer switch state machine

Change-Id: Ib94ff4d9876e79d984401262253602c975b0fb1e
CRs-Fixed: 3626952
2023-10-10 19:36:41 -07:00
Ashish Kumar Dhanotiya
e6302e4ed3 qcacld-3.0: Handle audio transport switch SM events
Add changes to handle audio transport switch events in different
states of the bearer switch state machine.

Change-Id: I07568b3c3ccc5877d1e6f46ae5bf12afd3af3ec2
CRs-Fixed: 3626950
2023-10-09 05:04:42 -07:00
Ashish Kumar Dhanotiya
0a3f0e8238 qcacld-3.0: Add bearer switch state machine
When there are more than one audio transport mediums
are available, there is a possibility to switch the
audio transport medium from one medium to another
medium.
To provide this support to switch the audio transport
medium, add a bearer switch state machine in host driver.

Change-Id: Ic57c11d2cff72cfa00ce7bc438998c501ce97d33
CRs-Fixed: 3626949
2023-10-05 07:00:11 -07:00
Ashish Kumar Dhanotiya
44ac03a6ee qcacld-3.0: Add bearer switch infra
When there are more than one audio transport mediums
are available, there is a possibility to switch the
audio transport medium from one medium to another
medium.
To provide this support to switch the audio transport
medium, add a bearer switch infra in host driver.

Change-Id: I9d828d52a2c03e8e4e2c0a284ff0dd7510798dbe
CRs-Fixed: 3609864
2023-10-04 08:12:53 -07:00
Jyoti Kumari
00a4ef030d qcacld-3.0: Get sorted ACS channel list
Get sorted ACS channel list to select channels for ll_lt_sap

Change-Id: Id653136321a22ec091c5b4fe167911f8ea1d4b38
CRs-Fixed: 3567422
2023-09-14 01:33:07 -07:00
Ashish Kumar Dhanotiya
a0ad067df0 qcacld-3.0: Add support for audio transport switch vendor command
Based on the new requirement, add support for vendor command
to switch the audio transport bearer.

Change-Id: I1d3b74c18976b0927ebba228b73af5a10cc67391
CRs-Fixed: 3582788
2023-09-04 18:34:20 -07:00
Jyoti Kumari
1c4333ac79 qcacld-3.0: Create new file in ll_sap component
Create new file in ll_sap component to add api's
related with ll_sap

Change-Id: Ic3829ecd1f00268dae9ddf138caeb4288a47fb3c
CRs-Fixed: 3550283
2023-07-14 01:11:24 -07:00
Ashish Kumar Dhanotiya
e59e1f0884 qcacld-3.0: Add feature capability support for ll_lt_sap
Currently there is no feature capability support for ll_lt_sap
and host driver and user space assumes that support for ll_lt_sap
is always present which not always true.
This may result in unexpected behavior if firmware does not
support ll_lt_sap.
To address this issue, add a feature capability to indicate
to userspace if host driver and firmware supports ll_lt_sap.

Change-Id: I7fbdb1996cab473f7a89761a35b6859fd2729c0a
CRs-Fixed: 3521091
2023-06-16 15:02:44 -07:00
Ashish Kumar Dhanotiya
2598f91cea qcacld-3.0: Add logging infra for LL_SAP component
Crrently there is no logging infra for LL_SAP component.
With this change add logging infra for LL_SAP component.

Change-Id: I66c43493523856efaf23c4f4e79c1e96d0536fba
CRs-Fixed: 3499749
2023-05-30 19:14:09 -07:00
Ashish Kumar Dhanotiya
b1fac44abe qcacld-3.0: Create new component for low latency sap
This change creates a new component for low latency SAP
and also does the init and de-init of this new component.

Change-Id: I4a8192feb6edb30b1898ef30675cbc01235a8e42
CRs-Fixed: 3482510
2023-05-30 10:21:33 -07:00