No description
  • C 98.2%
  • Assembly 1%
  • Makefile 0.3%
  • Shell 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jianmin Zhu d75c4ea61c qcacld-3.0: Fix long ping delay after enable RTPM
Issue1: Driver RTPM state is ON/NONE, Kernel state is RESUMING.
cdp_runtime_resume is already complete,
hif_pm_runtime_get return -E_INPROGRESS,
dp_tx_hw_enqueue will set the flush event,
but cdp_runtime_resume is already done,
this flush event will be handled only on next pkt tx.

Issue2: Driver RTPM state: Resuming
hif_pm_runtime_get returns -EBUSY,
dp_tx_hw_enqueue is interrupted by any IRQ,
cdp_runtime_resume is completed,
dp_tx_hw_enqueue will set the flush event,
This flush event will be handled only on next pkt tx.

Fix:
Introduce a link_state_up atomic variable in hif to track the link state
change by pld_cb.
Set atomic variable link_state_up=1 in pmo_core_psoc_bus_runtime_resume
just after pld_cb. pld_cb brings the PCIe bus out of suspend state.
Set atomic variable link_state_up=0 in pmo_core_psoc_bus_runtime_suspend
just before pld_cb. pld_cb puts the PCIe bus into suspend state.

Introduce dp_runtime_get and dp_runtime_put.
dp_runtime_get get refcount with increment of an atomic variable.
dp_runtime_put return refcount with decrement of  this atomic variable.
If hif_pm_runtime_get returns -EBUSY or -EINPROGRESS,
take the dp runtime refcount using dp_runtime_get,
check if the link state is up, write TX ring HP,
return the dp runtime refcount using dp_runtime_put.

cdp_runtime_suspend should reject the suspend, if dp_runtime_get is non
zero.
cdp_runtime_resume should wait until dp_runtime_get becomes zero or time
out, then flush pending tx for runtime suspend.

Change-Id: I7f38b3dc6975fcc208ad85e913564dfef5cc1cb7
CRs-Fixed: 2849002
2021-01-14 21:27:29 -08:00
components qcacld-3.0: Fix long ping delay after enable RTPM 2021-01-14 21:27:29 -08:00
configs qcacld-3.0: Configure TWT SAP PDEV and SAP STA Count 2021-01-10 07:13:45 -08:00
core Release 2.0.8.8F 2021-01-14 19:29:54 -08:00
os_if qcacld-3.0: Reduce excessive kmsg logging in roaming path 2021-01-11 09:29:08 -08:00
uapi/linux qcacld-3.0: Add PKTLOG_TYPE_RX_STATBUF 2019-10-09 19:10:36 -07:00
Android.mk qcacld-3.0: Add an option to pass build options 2020-07-06 08:33:48 -07:00
Kbuild qcacld-3.0: enable macro for monitor mode rssi conversion 2021-01-08 15:13:51 -08:00
Kconfig
Makefile
README.txt

This is CNSS WLAN Host Driver for products starting from iHelium