Commit Graph

141 Commits

Author SHA1 Message Date
Vevek Venkatesan
bbcf12c70d qcacld-3.0: add cdp ops for IPA Tx buf smmu_unmapping
Add cdp ops for IPA Tx buf SMMU-S1 unmapping and
call unmap from ipa_uc_ol_deinit if IPA uc_loaded,
also assert if mapping/unmapping failed.

Change-Id: I79f293fcf5d6f02e3a01d6c8ff829f4ca87e76e8
CRs-Fixed: 2788811
2020-10-05 17:50:08 -07:00
Ananya Gupta
9423436d12 qcacld-3.0: Disable IPA when 2nd SAP is turned on
When 2nd SAP is turned on throughput is dropping as
rps is not getting enabled on wifi bridge interface.
A bridge interface is a virtual interface created,
when 2 SAP are turned on else, there is no bridge
interface.
To fix this, Disable IPA when 2nd SAP is turned
on, so that packets are not re-routed through IPA
which is reducing throughput.

Change-Id: I250056338cec0924e97ff79d2d9e6ac513f50d66
CRs-Fixed: 2769539
2020-09-28 00:02:57 -07:00
Srinivas Girigowda
d36054fbd2 qcacld-3.0: components: Remove logs for qdf_mem_malloc() checks
qdf_mem_malloc() function already takes care of logging the
caller function name and line number in case of any allocation error.
Hence there is no need to add the error log again.

Getting rid of these unnecessary logs reduces driver memory footprint.

Change-Id: If0b9425f82f9ed793c7639c0ed09eb1f868b6d5c
CRs-Fixed: 2781932
2020-09-25 12:59:42 -07:00
Ananya Gupta
ed8fecee78 qcacld-3.0: Cleanup iface if net_dev changed for same vdev
If adapter is changed for a particular vdev and
QDF_IPA_AP_DISCONNECT event was not sent to IPA event
handler when the earlier adapter went down, iface is not
cleaned up.
To fix this, cleaning up the interface when new interface
is being setup for the same vdev and net_dev is not matching.

Change-Id: Icb227df8ef31e9c2c904873559e3b33f05fc03b5
CRs-Fixed: 2777672
2020-09-25 01:29:34 -07:00
Yeshwanth Sriram Guntuka
843e288336 qcacld-3.0: Fix possible NULL pointer dereference
Pointers returned by wlan_ipa_get_iface API and
cds_get_context API are not NULL validated at few
places. Add NULL checks for these pointers to avoid
possible NULL pointer dereference.

Change-Id: I44f226c2ce97afd6ad2ff9cde5cd70d9d12bc3d2
CRs-Fixed: 2775197
2020-09-15 09:28:43 -07:00
Jia Ding
0358fd452a qcacld-3.0: Provide soc handle and pdev id for IPA cleanup
To do SMMU unmap for IPA TX and RX doorbell registers, provide
soc handle and pdev id to CDP layer.

Change-Id: I6e4fcc7d96d3dabe9dcbb85b9d7193e898d9a73e
CRs-Fixed: 2768306
2020-09-15 09:28:40 -07:00
Nisha Menon
60960c90b1 qcacld-3.0: Map IPA tx buffers as part of IPA ready callback
Register IPA ready callback with IPA driver. The callback
sets ipa_is_ready flag in the host driver and kick starts
the ipa init sequence as part of which the Tx buffers are
mapped to IPA.
None of the IPA APIs are invoked until IPA ready registration
is complete.

Change-Id: I4dda8fd083c71400532139174f834b757e05e5a6
CRs-Fixed: 2752235
2020-09-02 13:51:29 -07:00
Srinivas Girigowda
f375188704 qcacld-3.0: components: Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF
Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF.

CRs-Fixed: 2752355
Change-Id: I2d776be789df3e83e0c13211844b66d595498829
2020-08-22 16:00:40 -07:00
Mohit Khanna
79d25ce510 qcacld-3.0: Send DISCONNECT event to IPA in roaming
Send STA_DISCONNECT event to IPA before sending STA_CONNECT in roaming
scenario. This is needed by IPA to cleanup in roaming scenario. Without
the event, IPA may not be able to setup routing tables in IPA hardware
properly.

Change-Id: I694736654a137718cd250c28d3c4681a1007ce9a
CRs-Fixed: 2739550
2020-08-21 02:28:35 -07:00
Vevek Venkatesan
fedc5e32b8 qcacld-3.0: fix IPA stats set_quota failure
Fixing the failure of set_quota feature for IPA stats,
currently calling set_quota during resource_loading, but
it is supposed to be called if resource_loading is false.
This is causing IPA stats set_quota feature is getting
failed for Adrestea targets and fixing the same.

Change-Id: I95ad60a8e15f4faaea34093785422ad494ee1fb4
CRs-Fixed: 2730655
2020-08-13 06:13:23 -07:00
Alok Kumar
2b43ad3c11 qcacld-3.0: Avoid NULL pointer derefence for PDEV
Currently, NULL pointer dereferencing of objmgr PDEV
is observed in wlan_objmgr_pdev_get_comp_private_obj.

Add NULL check for pdev inside ipa_uc_force_pipe_shutdown
and ipa_fw_rejuvenate_send_msg before pass PDEV to
wlan_objmgr_pdev_get_comp_private_obj.

Change-Id: I4e19cc9c254febabad551aa62f72d2ce4897b852
CRs-Fixed: 2719149
2020-06-30 14:58:16 -07:00
Manikanta Pubbisetty
4b9a9fa22f qcacld-3.0: move log out of the lock region
Currently, if the time spent in a spin_lock region exceeds
a certain threshold, a system crash will be triggered.

There are chances that a log within a spin_lock region would
result in a crash if the time taken to log the buffer exceeds
the threshold which triggers the crash.

Avoid this by moving the log out of the lock region.

Change-Id: Ic51556723033e9553443250b9cb4cfee2b402309
CRs-Fixed: 2713234
2020-06-18 21:19:14 -07:00
Jia Ding
51a9fa1c4a qcacld-3.0: Properly set WLAN_IPA_MAX_STA_COUNT
Set WLAN_IPA_MAX_STA_COUNT to WLAN_MAX_CLIENTS_ALLOWED
if WLAN_MAX_CLIENTS_ALLOWED is defined.

Change-Id: Ic7b3706897cec8ee149bab12cd91c94ae04f75ef
CRs-Fixed: 2658585
2020-05-29 03:13:43 -07:00
Jianmin Zhu
25800f4de6 qcacld-3.0: Tx dropped for osif_vdev_sync_op_start failed
osif_psoc_sync_trans_start_wait is wrongly used in
Idceff767d62c1e81046a696cb58f70a897cbd074, which will block any
vdev operation which results in tethering failure and Tx packets
also won't be transmitted whenever ipa event is processed as
we have vdev check in hard transmit too.
Fix:
Don't call osif_psoc_sync_trans_start_wait when handle IPA
event, just check recoverying state.

Change-Id: Ibb5d94e0e22413fdd9dad294fc8da58eba8a700b
CRs-Fixed: 2680423
2020-05-07 13:03:39 -07:00
Sravan Goud
146c50d37f qcacld-3.0: Flush pending ipa pending events
At stop adapter flush vdev's pending wlan ipa events
and also increase the ipa resources load/unload timeout
to 500ms as current timeout of 100ms which is less taking
in to account of suspending IPA pipes, WLAN FW pipes and
also waiting separately for the RX and TX suspend ack from
the FW.

Change-Id: Ia622ab84f15089826c23502f365b11e742277ca8
CRs-Fixed: 2660807
2020-04-16 03:10:40 -07:00
Jianmin Zhu
db3f428eb9 qcacld-3.0: IPA uc not ready for race condition
Race condition between ifconfig and ipa uc event handler thread.
While ifconfig thread creating vdev1, the vdev is locked, ipa uc
event handler thread tries to lock psoc, becomes failed for 1
dev locked, gets error EAGAIN but doesn't try again. IPA uc
event is abandoned without handling.

Fix:
IPA uc event handling can't be abandoned but can be blocked
since it is called in separated work thread, block DSC API
should be used here.
Blocked Operation and Transition have no much difference in DSC,
and they need block each other too, should share same
completion and queue, can share same API.

With WDI 3.0 over GSI, WDI control event is not needed. Therefore
provide a wrapper API for wlan_ipa_uc_send_wdi_control_msg().

Change-Id: Idceff767d62c1e81046a696cb58f70a897cbd074
CRs-Fixed: 2618490
2020-03-09 22:45:28 -07:00
Sravan Goud
1945c9fc0b qcacld-3.0: Fix passing invalid ipa iface
Currently in net dev cleanup of ipa host interface if the
ipa interface does not exist for that particular net dev,
last ipa iface reference is passed. This may lead to invalid
access. So fix by validating the iface context before clean
up of host ipa interface.

Change-Id: I753c922b5c82c676a318df87552051fdd74c983c
CRs-Fixed: 2632382
2020-03-03 18:52:37 -08:00
Jia Ding
97b62586f8 qcacld-3.0: Support per AP isolation in WLAN IPA
AP isolation a.k.a intra-bss forwarding is a per AP attribute. Issue in
current IPA implementation is that it does not support per AP control.
In a SAP-SAP configuration, latter SAP configuration will always overwrite
first SAP's isolation configuration.

Fix is to add vdev id parameter from protocol layer so that IPA component
could configure AP isolation on a per AP basis.

Change-Id: I9c96cdcda03eb10b4c2984a757e52d77b5bf6790
CRs-Fixed: 2624757
2020-02-25 21:58:03 -08:00
Ananya Gupta
a5d2e98580 qcacld-3.0: Reduce Stack usage during IPA Setup
Reduce stack usage by allocating memory dynamically instead of
static allocation during IPA setup.

Change-Id: I438bd1e5b5ca1a467a1ab08d48fbe823190937e8
CRs-Fixed: 2611859
2020-01-30 19:38:28 -08:00
Arun Kumar Khandavalli
57cb15b903 qcacld-3.0: Selectively reduce the ipa logs
Reduce loglevel of some logs from info to debug.

Change-Id: Ib881af4411da6a25f48a81adf1428b37df43b560
CRs-Fixed: 2607949
2020-01-28 05:30:42 -08:00
Rakesh Pillai
ed73605fe2 qcacld-3.0: Remove usage of datapath handles in outer layers
Currently many layers store the datapath handles i.e.
pdev and vdev handles and use them for passing as an
argument to the CDP APIs. This gives way to possible
race conditions, where the datapath handle provided by
the outer layer might be a stale pointer, which in turn
leads to unexpected results.

Remove the storage and usage of all the datapath handles
from the layers currently using them.
- cds_context
- vdev objmgr
- pdev objmgr

Change-Id: Icf24bd3792af203d1a06e153f0badd6e7405559f
CRs-Fixed: 2602199
2020-01-23 14:27:28 -08:00
Alok Kumar
2107a96e37 qcacld-3.0: Add driver support for QCA6750
Add driver support for QCA6750

Change-Id: I9e6716d5ed9f91532aba422c32b46b43760a0e88
CRs-Fixed: 2602141
2020-01-20 01:10:01 -08:00
Vevek Venkatesan
451f996d6b qcacld-3.0: check if non-zero list count before deleting node
Add a check if list count is non-zero before deleting the node
from IPA tx descriptor list.

Change-Id: I9913c636107686755ffc5da2b585028a4be7a1e9
CRs-Fixed: 2601601
2020-01-14 13:02:04 -08:00
Sravan Goud
dd78eef93a qcacld-3.0: Reset ipa pending tx timer at pipes enable
In case of STA + SAP ipa pending tx timer is started when last
SAP client disconnects. Again if client connects back timer is not
stopped at pipes enable. Later some time if suspend kicks in and
during bus suspend if there are no ipa tx pending ipa pipes are
disabled. This leads to issues such as data stall, invalid IPA
doorbell register access. So reset the timer during ipa enable pipes.

Change-Id: Id6034596f52f98c793674c9d9e5f7918c5c3d455
CRs-Fixed: 2598559
2020-01-12 06:23:53 -08:00
Jia Ding
db2e940123 qcacld-3.0: Initialize IPA metering feature and perf level
In IPA uC ready handler, metering feature and perf level are not
initialized. Therefore properly initialize them after IPA pipes
are connected.

Change-Id: I99621bb2c2831d66e11b0ca903ecb324ef898836
CRs-Fixed: 2582409
2019-12-11 05:01:34 -08:00
Vevek Venkatesan
959ac03d07 qcacld-3.0: setup IPA sys pipes if wlan_ipa_wdi_init succeeds
At present, IPA sys pipes setup done before wlan_ipa_wdi_init,
so chances for IPA uC is not yet up and running. As wdi init
succeeds only if uC is up and running, setting up IPA sys pipes
after wlan_ipa_wdi_init succeeds.

Change-Id: I7dcae49db0b0a2114908284379096f39e6f16a50
CRs-Fixed: 2573929
2019-12-03 20:56:15 -08:00
Jia Ding
8d4db30812 qcacld-3.0: Add dual STA support in WLAN IPA component
Currently dual STA is not supported in WLAN IPA component,
where first STA interface info will be overridden by second
STA including iface_ctx and interface registration to IPA
driver.

When second STA is switched to SAP and a ref-client is
connected to SAP, IPA datapath will be enabled for Wifi
sharing feature. But wlan0 interface is not registered
to IPA driver and this will lead to packet drops for
STA on the RX IPA exception path. IPA driver relies
on information such as vdev_id wlan driver registered
to correctly set skb->cb[0] and wlan driver uses
skb->cb[0] to find the correct vdev to pass packets up
to stack. Since STA interface info is not in IPA,
vdev_id for RX exception packets are thus wrong.

Fix is to store multiple STA interfaces in iface_ctx
and all of them are registered to IPA driver.

Change-Id: I745618c22e24b6c56719f8ae5faf653f55b99bca
CRs-Fixed: 2573567
2019-12-02 02:08:35 -08:00
Vevek Venkatesan
29076ec1d8 qcacld-3.0: cdp: Converge cdp_ipa_ops
Currently cdp ops are given pdev/vdev/peer
handle as its arguments, which is directly
accessed in those APIs. This can cause a
race-condition in access of the respective
handles if it has been deleted in parallel.

Hence as a part of cdp convergence, pass only
the pdev_id or vdev_id or peer mac address,
which will be used to get the respective handles,
and hence avoiding the unwanted access of the
handles if it has been deleted.

- ipa_get_resource
- ipa_set_doorbell_paddr
- ipa_set_active
- ipa_register_op_cb
- ipa_get_stat
- ipa_tx_data_frame
- ipa_uc_get_share_stats
- ipa_uc_set_quota
- ipa_enable_autonomy
- ipa_disable_autonomy
- ipa_setup
- ipa_enable_pipes
- ipa_disable_pipes
- ipa_rx_intrabss_fwd

Change-Id: I678d7a7de7132417ff6051b0fd6da5d14426d21e
CRs-Fixed: 2540861
2019-11-21 06:12:04 -08:00
Tiger Yu
564aa84417 qcacld-3.0: Update the IPA interface context if device_mode is different
For wlan_ipa_setup_iface, if found the net_dev is already there,  but the
device_mode is different, will remove this obsolete record and update it
with new interface context for current IPA WLAN event.

Change-Id: Ib9ecd7f7b3b9603c37dc1d69cd0f3a2868c978ec
CRs-Fixed: 2567222
2019-11-18 04:04:56 -08:00
Rakesh Pillai
a889ffa967 qcacld-3.0: cdp: Convergence of cdp_flowctl_ops
Currently the cdp apis are given pdev/vdev/peer
handle as its arguments, which is directly
accessed in those APIs. This can cause a
race-condition in access of the respective
handles if it has been deleted in parallel.

Hence as a part of cdp convergence, pass only
the pdev/vdev id or peer mac address, which will be
used to get the respective handles, and hence
avoiding the unwanted access of the handles if
it has been deleted.

Converged flowctl_ops
- flow_pool_map_handler
- flow_pool_unmap_handler
- dump_flow_pool_info
- tx_desc_thresh_reached

CRs-Fixed: 2539738
Change-Id: I9b11e66d8c2644f16e0f2464c323798a4cba007a
2019-11-11 23:07:35 -08:00
Mohit Khanna
5b42d1b969 qcacld-3.0: Wait for IPA TX Completions on IPA disablement
In DBS scenario(SAP + STA) when all SPA clients disconnect, while STA is
still connected, IPA pipes are disabled on the lithium target. At this
time, its possible that some packets TX from IPA over WLAN are still
pending. If these completions come after IPA pipes are disabled, it can
lead to a NOC error, since the GSI doorbell register for WBM2SW2 ring
may be clock gated (after IPA pipes are disabled).

To avoid this situation, wait for some time before disabling IPA pipes.
IPA pipes are disabled after a timeout, when system suspend call tries
to suspend the bus. A driver unload or a softap tear-down will also
disable the pipes.

Change-Id: I542049fa19d0dcf5c31d9b8a2d836388847dd6c1
CRs-Fixed: 2553670
2019-11-08 15:54:58 -08:00
Sravan Kumar Kairam
761ae63623 qcacld-3.0: Support wlan ipa clk voting for kona
Support wlan ipa clk voting for kona. Host should provide
bandiwdth levels to IPA driver for which IPA uc monitors
the levels. Once the threshold is reached IPA uc interrupts
the IPA driver and IPA driver informs host driver via callback
registered.

Change-Id: I9fd805d69858a413f20b9e55a9c02a82054c646b
CRs-Fixed: 2526300
2019-10-27 13:47:42 -07:00
Jia Ding
49780623e4 qcacld-3.0: Properly handle IPA uC ready notification
When doing IPA initialization, WLAN driver registers a
notification callback for IPA uC ready. In the callback,
we directly set uc_loaded to true before scheduling a work
task to connect WLAN IPA pipes. However issue is that in
the work handler, uc_loaded is checked and if it is true,
we return without connecting WLAN IPA pipes.

Therefore properly set uc_loaded to true so that WLAN IPA
pipes can be connected correctly.

Change-Id: I27a14e627a1a75836f08dc5dec8c8b1d09725e10
CRs-Fixed: 2537625
2019-10-23 18:41:10 -07:00
Sravan Kumar Kairam
3bc886df40 qcacld-3.0: Support stats quota for sta + sap ipa offload
Implement metering stats quota to support ipa offload sta plus
sap wifi sharing use cases.

Change-Id: Ic9d5ad817ffb4d671a43f3f3aebb2d8cce293873
CRs-Fixed: 2517696
2019-10-19 17:46:02 -07:00
Manjunathappa Prakash
458f6fe460 qcacld-3.0: Add changes to support qca6490
Add changes to support qca6490 chip.

Change-Id: I861d88f6c9aba5285eff17c188bf335d50839d56
CRs-Fixed: 2522129
2019-10-17 15:06:24 -07:00
Vevek Venkatesan
78382d89e7 qcacld-3.0: Enabling METERING Feature for lito
Enable CONFIG_QCACLD_FEATURE_METERING Feature for lito
in default_defconfig

Change-Id: I70e004e34dbea0690503c5990b2bf83089873898
CRs-Fixed: 2545739
2019-10-16 15:39:06 -07:00
Chaoli Zhou
fd8d282a75 qcacld-3.0: Fix WDI 1.0 MCC TX SMMU fault
Merge from 2517936 & 2490501.
SMMU fault is observed for WDI 1.0 MCC TX when SMMU is enabled.
Issue is that dma_addr passed from IPA driver is iova of IPA
domain. WLAN driver directly uses the iova to do transmission.
Since iova is not mapped in WLAN domain, SMMU fault occurs.
Fix is to map skb to WLAN domain for TX when SMMU is enabled.
After doing DMA map, an offset of frag_header and ipa_header
is added to the iova and skb->cb is updated with the new iova.
After TX completion, skb DMA unmap is done but with the iova
of the above offset included, which leads to unmapped iova error.
Fix is to recalculate the iova and update skb->cb with new iova,
which has frag_header and ipa_header length removed.

Change-Id: Ib0112d6a3de6dc9af43e5c48a49085c7d4f41a9b
CRs-Fixed: 2534845
2019-09-29 09:48:12 -07:00
Alok Kumar
e888e80ef0 qcacld-3.0: During wlan IPA suspend, force the BW voting to high
During wlan IPA suspend, force the bandwidth voting to high
when CFG_DP_IPA_ENABLE_FORCE_VOTING is enabled.

Change-Id: I9b368081f9c0919f5fecfacf318ad1a714cc33cf
CRs-Fixed: 2521815
2019-09-26 22:04:50 -07:00
Yu Tian
0cc79c7e5e qcacld-3.0: Fix IPA iface not initilized
There is a race condition of vdev_to_iface, it is referenced in IPA W2I
callback routine, but it's updated after IPA enable operation. If frames
received right after IPA enabled, callback function will return failure
due to vdev_to_iface value is not filled.

Change-Id: Iff831b66771539d1de4af89e395821dc50d13af3
CRs-Fixed: 2517515
2019-09-24 15:24:31 -07:00
Rakshith Suresh Patkar
a4dea9069a qcacld-3.0: Reset vdev_to_iface QDF_IPA_STA_DISCONNECT
In __wlan_ipa_wlan_evt, for QDF_IPA_STA_DISCONNECT event,
ipa_ctx->vdev_to_iface[session_id] is reset back to
WLAN_IPA_MAX_SESSION only when ipa_ctx->sap_num_connected_sta
is greater than 0. So, in STA+SAP concurrency case, when
no client is connected to SAP, if STA is disconnected,
vdev_to_iface is not reset for that particular session id,
making it unusable for further events involving IPA iface
creation.

Fix is to move the code to reset vdev_to_iface outside the check
for ipa_ctx->sap_num_connected_sta in QDF_IPA_STA_DISCONNECT
scenario, so that vdev_to_iface is reset irrespective of SAP.

Change-Id: I06c79b62c540546cf4842f81d235f96b2965661e
CRs-Fixed: 2525709
2019-09-24 11:51:01 -07:00
Vevek Venkatesan
050ea24ba3 qcacld-3.0: set same IPA bandwidth for both cons and prod pipes
Set the same IPA bandwidth for both the cons and prod pipes based
on total packet counts, to avoid overwrite voting by one another,
as per IPA-PM implementation.

Change-Id: I5f93e1ff91f9fbeb42ea8bd93792e288a073b6b1
CRs-Fixed: 2521811
2019-09-17 06:37:42 -07:00
Vevek Venkatesan
e81bca8057 qcacld-3.0: cleanup IPA STA iface, if STA disconnect failed
If STA disconnect failed for any reason, cleanup IPA STA iface
if not already done.

Change-Id: I27ff33324bc4724e8470af9a0c434fa03e8aa5c3
CRs-Fixed: 2505563
2019-08-22 07:31:12 -07:00
Abhishek Singh
682cf6f843 qcacld-3.0: Fix WMI timeout for runtime PM
For runtime PM if the bus is suspended driver need to consider
extra 6 sec time for bus resume.
Thus add 6 sec extra in WMI timeouts if runtime PM is supported.

Change-Id: I5515cc889a0315382bac11a33ea6f901b7af1c46
CRs-Fixed: 2507029
2019-08-20 22:53:50 -07:00
Rakshith Suresh Patkar
96703f64d6 qcacld-3.0: Cleanup sta_id from IPA [PEER_ID_PHASE1]
Local sta_id or peer_id is being cleaned up across DP, HDD
and PS/WMA. So, any references to local peer_id/sta_id will
be replaced by peer mac address and all interactions
between the layers will be based on peer mac address.

Change-Id: I78230bf1e1ec090e83245bff04953fa2e03b91cd
CRs-Fixed: 2504013
2019-08-09 07:37:21 -07:00
Jia Ding
70deca7f3b qcacld-3.0: Check IPA RX bridge device terminated
On MDM platform, low throughput is observed for SAP RX
terminated scenario. In case of SAP, SAP device itself
is added as a slave to the bridge device, which acts as
a router device.

For SAP RX terminated scenario, destination MAC address
of RX packets is the bridge device. However for WDI 3.0,
WLAN IPA has to check if destination MAC is a valid peer
for SAP intra-bss forwarding.

Currently in intra-bss forwarding, dp_find_peer_by_addr()
is used to look up if destination MAC address is a valid
peer. Issue is that in dp_find_peer_by_addr() peer
spinlock is grabbed via qdf_spin_lock_bh. IPA RX is in
process context and qdf_spin_lock_bh turns to spin_lock_bh,
which hurts netif_rx badly.

Fix is to check if RX packet is bridge device terminated
in IPA component module so as to bypass intra-bss
forwarding logic and to make the RX path BH lockless.

Note that if there's a BH lockless API to check if
destination MAC address is a valid peer, this check will
not be necessary.

Change-Id: I00fca3e75ae55ae1d2f591fddd00e49dfb634c5c
CRs-Fixed: 2494442
2019-07-26 20:09:59 -07:00
Chaoli Zhou
b11e18a0a4 qcacld-3.0: Export max IPA interface numbers
As for Rome, currently it usually just only support two
IPA interfaces offload, if use the default value 3, which
will cause the IPA pipe setup failure issue. So export
the max IPA interface numbers, and it's better to set
the appropriate value from build file according to
different requirement for different chipset and platform.
Meanwhile, it support SMMU on the sa415 platform, so
enable SMMU for it.

Change-Id: I2de31bcb4d38f5e7964d2cbdc2fc6f143eef510d
CRs-Fixed: 2480627
2019-07-25 02:40:48 -07:00
Sravan Kumar Kairam
02a761e986 qcacld-3.0: Fix possible null pointer dereference
Fix possible null pointer deference in wlan_ipa_uc_ol_init when
accessing passed osdev argument.

Change-Id: I98b2679b7e73041315c4ccc2858eff79fbbcf026
CRs-Fixed: 2484996
2019-07-08 12:09:52 -07:00
jiad
7bac1efee9 qcacld-3.0: Remove qdf_op_protect/unprotect for IPA RX
wlan_ipa_w2i_cb is notify cb for IPA RX terminated
scenario and therefore it is invoked on a per-packet
basis.

qdf_op_protect and qdf_op_unprotect leads to ~100mbps
througput degradation for IPA RX terminated scenario
on MDM platforms. Thus remove qdf_op_protect and
qdf_op_unprotect on MDM platforms as a temporary
workaround to unblock releases and meet KPI. Note that
this will be revisited.

Change-Id: I1cab0581288456662ee4aa5d63df1b0f1213436b
CRs-Fixed: 2469073
2019-07-04 08:42:51 -07:00
Srinivas Girigowda
a60b84c5fd qcacld-3.0: Remove obsolete/unused macros
Remove obsolete/unused macros.

Change-Id: I7a812c9b6ce4f2af151dd7262cb6d93dec6d0c2a
CRs-Fixed: 2475125
2019-06-20 11:59:45 -07:00
Vevek Venkatesan
ed315cdbdd qcacld-3.0: Fix race condition in sending STA IPA offload enable
During resource unloading, if two next to next client connect
request comes, one is handled in pending event handler in
wlan_ipa_uc_op_cb callback after processing FW TX suspend response
and other one is handled in scheduler thread, this causes race
condition in sending IPA offload enable for STA iface. So send IPA
enable req to FW before queuing the client connect event to the
pending events.

Change-Id: Ifcabc2481e590e5e128434614c4b46fe53a34636
CRs-Fixed: 2460573
2019-06-16 23:14:24 -07:00