This commit adds the following change to fix the compilation error
observed with upstream kernel:
1) Include <linux/qcom-iommu-util.h> based on ANDROID_COMMON_KERNEL macro.
2) cpuidle_governor_latency_req API is not exported in upstream
kernel, so protect its usage based on ANDROID_COMMON_KERNEL macro.
Change-Id: I60fc8d331dbbd1595dc9a095464b2baea9b4e4d5
CRs-Fixed: 3681640
Add multi_rx_reorder_queue_setup in dp_ol_if_ops, for
multi rx reorder setup to save the queue setup time.
Change-Id: Ia96a44b9ef59f8fe86437225f50e2c9a4dcaa310
CRs-Fixed: 3656755
Currently the CDP handles like soc/hif/hal_soc are not
available in any of the the DP component contexts.
Modules like FISA etc need these handles.
Store the CDP handles like soc/hif_handle/hal_soc in
the DP component context.
Change-Id: Iaee4d0e15cbaa7d871dc9e246d177ad310b4c6ba
CRs-Fixed: 3505720
Currently the CDS layer calls the cdp functions
directly to initialize common DP.
Move these calls to DP component, so that DP
component can handle other DP related initialization
inside the DP component itself.
Change-Id: Ib257ac4f41d468706078cd34a8cbec004a9a622e
CRs-Fixed: 3499726
Currently scheduler thread messages are flushed as part of
deinit but during stop_modules some messages are posted to
scheduler which leads to memory leak.
Disable the scheduler thread processing before flushing the
messages.
Change-Id: I6a9314ef7f4789e5c2f09c5e98f89035f13f5fe1
CRs-Fixed: 3497373
Considering the case as below:
System shutdown comes when ndo_open is waiting for cnss power
up complete.
cnss shutdown handler completes all of the completions, and so
ndo_open continues.
while at the same time, cnss driver is processing firmware ready
event and trying to start cld modules, which will change debug
domain from INIT to ACTIVE, then it may hit debug domain mismatch
assertion:
It allocates some memory in ndo_open context when debug domain is
INIT, but when trying to free the memory, the debug domain is ACTIVE.
To fix this issue, when system reboot is in progress, skip debug
domain transition, and also skip modules start to avoid state mismatch
between cnss driver and CLD driver.
Change-Id: Ibc411e13e48269c66ec71aba6304578c9049f798
CRs-Fixed: 3470170
Currently ol rx thread code is under QCA_CONFIG_SMP macro, which is
enabled for all the targets. But LI, BE and RH family targets don't
use this ol rx thread implementation. Hence, compile out ol rx thread
code for LI, BE and RH targets.
Change-Id: I1a1dfd09f5364ddb519c846e6c456d10f81e369c
CRs-Fixed: 3468499
Currently host waits for the firmware down event as part of the
recovery sequence to block the wmi transactions, if there is any delay
in triggering recovery some wmi commands can leak to firmware in this
window resulting in abnormal behaviour in the firmware.
So, block the wmi transactions after the recovery is initiated.
Change-Id: I502a8331111a6a61f31f35c4a1b64646410925f1
CRs-Fixed: 3444156
For HL targets, frames are queued to ol_rx_thread_queue
during WoW suspend in progress. At this time ol_rx_thread_queue
is in SUSPEND state and these frames can't deliver to Linux
Stack.
for ICMP case, if no other frames come to wake up
system and ICMP timeout will happen.
This change is to add rx thread status check API for HL
targets.
Change-Id: I3d37e6d6ce8f7f6edaf5f78bf5cef77bee6ed523
CRs-Fixed: 3407169
The current channel list alone is not enough to represent the
capability of the chip or device. Given a channel, in many
cases it may be required to know all the power modes that are
supported by this channel.
Update caller APIs to use super channel list.
Removed wlan_reg_get_bonded_channel_state_for_freq and
wlan_reg_get_5g_bonded_channel_and_state_for_pwrmode to use the
super channel API wlan_reg_get_bonded_channel_state_for_pwrmode
and wlan_reg_get_5g_bonded_channel_and_state_for_pwrmode
Change-Id: I797ecaf0d01d47c5369f9e334805d855841566df
CRs-Fixed: 3144692
The current channel list alone is not enough to represent the
capability of the chip or device. Given a channel, in many
cases it may be required to know all the power modes that are
supported by this channel.
Update API to use supper channel list. Replaced
wlan_reg_get_5g_bonded_channel_state_for_freq API to use the
super channel API wlan_reg_get_5g_bonded_channel_state_for_pwrmode
Change-Id: If5d40a704efa3130da63ba20f163aa2e0e027be4
CRs-Fixed: 3143058
There are quite a few documentation issues in core/cds:
- Documentation using legacy Doxygen format instead of kernel-doc format
- Documentation of implementations instead of interfaces
- Duplicate documentation
- Syntactically incorrect kernel-doc
Fix all of these issues.
Change-Id: I7ffdea9027278c75975a826466da2d7204a25d0c
CRs-Fixed: 3386190
Add Rx thread and Rx refill thread feature support for
CDS module through DP componentization.
Change-Id: Ie4f0a7f52fca75d75ac57f263051a5fa5a61651b
CRs-Fixed: 3316849
Replace all occurrences of
wlan_reg_set_channel_params_for_freq API with new API
wlan_reg_set_channel_params_for_pwrmode.
Change-Id: I7ae94a7004803a96caeb7a77d03065096afe5f0e
CRs-Fixed: 3144793
Replace all occurrences of
wlan_reg_get_channel_state_for_freq with
wlan_reg_get_channel_state_for_pwrmode and use extra
parameter as REG_CURRENT_PWR_MODE.
Change-Id: I7f7e4e700091918eeebc87ccbbc85ececdd9bf52
CRs-Fixed: 3145011
In kernel 5.17, complete_and_exit is replaced with
kthread_complete_and_exit. So if kernel version is >= 5.17,
then use kthread_complete_and_exit.
Change-Id: I8b5ed5bbeade9d2044e375695e6e15208e10147d
CRs-Fixed: 3297438
All the DP specific code logic is moved out of HDD to
new DP component. So update HDD module to use newly
introduced DP component APIs for DP specific operations.
Changes were backed out because of association issue
introduced by MLO adapter to DP interface mapping issue
and to avoid any further regression.
Re-introduce changes after preforming complete sanity
to vet out any regression which might be introduced
by these changes.
Change-Id: I377aecc4343e75dd17d279a2eb84fc49e737e784
CRs-Fixed: 3198619
Instead of calling kernel iommu API directly, call the QDF API
to get iommu domain attributes.
Change-Id: I8967a0d47a720d55170f9f61233a6f4190f9133a
CRs-Fixed: 3228757
-Wimplicit-fallthrough is being enabled by default. Some compilers
such as clang require the attribute instead of just a fallthrough comment.
Change-Id: Ie67561ab55512c5f9848ede02177104aefb09b7e
CRs-Fixed: 3217417
The dynamic GRO enable/disable based on ingress filters
should currently is restricted only to standalone STA.
This was done to address issue where ingress filters are
added on STA interface whenever SAP is up disabling GRO
unnecessarily.
Fix is to allow dynamic GRO to work on all interfaces
and concurrency scenarios based on the priority of
the ingress filter configured to avoid unnecessary
GRO disable in STA+SAP.
Change-Id: I1742f4539353939e3a40ff4096b3f833f2029b12
CRs-Fixed: 3206815
All the DP specific code logic is moved out of HDD to
new DP component. So update HDD module to use newly
introduced DP component APIs for DP specific operations.
Change-Id: I02fd36c45ec247fbd4fe79e035c1176cba3ebcec
CRs-Fixed: 3172570
Current policy_mgr_is_hw_dbs_capable() will check both DBS HW mode
and WMI_SERVICE_DUAL_BAND_SIMULTANEOUS_SUPPORT service bit, while
DP expect to check HW mode only.
Use policy_mgr_find_if_hwlist_has_dbs() for DP DBS check.
Change-Id: I9e69e5754ef4ea522f50e2e27380e5b5d08532b3
CRs-Fixed: 3140385
During recovery, when this timer is started, there is no
stop operation. If the timer is triggered and SSR is not
completed, it will visit re-inited data structure and lead
kernel crash.
Change-Id: I81b20c1cc9c66efb3f334a17f38613a116aeaf9e
CRs-fixed: 3101872
Customer reported their HLOS LTE-WLAN transition algo sometimes go wrong
for wrong low layer stats, Txretry delta is bigger than Txtotal delta.
Txretry unit is msdu while Txtotal unit is mpdu.
Add vdev/peer stats for mpdu number of successfully transmitted after
more than one retransmission attempt, to align mpdu tx_packets, tx_failed.
CRs-Fixed: 3102117
Change-Id: Id4b9d8fd81af4bf0c141dad481bfd2b3f6c1db2a
Dynamic GRO feature is enabled by default and aimed for specific
customers. Add an ini control to allow other customers to config
this feature enable/disable.
Change-Id: I83edd69d0e30d5944f0724ed8350328abff619bb
CRs-Fixed: 3070912
Currently, we are updating tx failed based upon
MPDU tx fail count received from FW.
In addition to the fail count received from FW
add MPDU tx retries done in case of successful
transmission to tx failed.
Change-Id: Ib993c71a99dd4d59df116a454336716352122a8e
CRs-Fixed: 3058364
This change is used to provide an API for PMO module to
check whether there are pending TX frames before HOST sends
wake up indication to FW. PMO module uses this to indicate
FW whehter to discard HWDTIM.
Change-Id: Iea4081e69c397ab87bc90f46b672631f4589f389
CRs-Fixed: 3046953
Add an error log in cds_trigger_recovery_handler() before forcing a fw
crash to help with debugging stability issues revolving around it.
Change-Id: Ifc5faa14e1812d145abc7aecd12f66db51eef3b4
CRs-Fixed: 3043316
Network package timestamping is optional for TSF feature,
to make it configurable, add a new build flag
WLAN_FEATURE_TSF_PLUS_SOCK_TS.
This flag will be set only when CONFIG_WLAN_SYNC_TSF_PLUS
is enabled and CONFIG_WLAN_SYNC_TSF_PLUS_DISABLE_SOCK_TS
is not.
Change-Id: I413e85fadf93264cd41c2739b6d870aa08d60efb
CRs-Fixed: 3027378
Once pkt_log_con_service success in cds_pre_enable,
in case of any further failure, pkt_log_exit cleanup is
not done, so calling CDP interface API for pkt_log_exit.
Change-Id: Ibddc99fb47109a73de095f068694b2548849f14d
CRs-Fixed: 2978390
qcom-iommu-util.h is a QCOM only file for MSM platforms, so only
include it when MSM_PLATFORM is defined to avoid build issues
from other non-QCOM platforms like X86.
Change-Id: I5f32fbe05abe4d7aff451031f0859f774ce1c507
CRs-fixed: 3721214
Legacy mlme need notify assoc request frame to mlo mgr. It should
be sent to mlo mgr in qdf_nbuf_t.
Change-Id: I192503a00346498408971462d3b15cc98efa9919
CRs-Fixed: 2976150
Add DP reason code support for sending DELBA request,
so protocol layer can make decisions for special cases.
Change-Id: I4eeba3513820a98a15682190e40a06ce178d9441
CRs-Fixed: 2983544
Init htcinfo structure variables to 0 to avoid issues
due to any newly added uninitialized variables in the future.
Change-Id: Ie4cf5c99c09f56ee1fc898397bcd3ccf4b678638
CRs-Fixed: 2962285