Commit Graph

133 Commits

Author SHA1 Message Date
Jingxiang Ge
ad6337f2b0 qcacld-3.0: Fix spin_lock deadlock issue for resume/wakeup
If resume and fw wakeup happens at the same time.
psoc_ctx->lock maybe doing bottom half operation for resume,
then wakeup interrupt comes on same cpu, the interrupt
handler will also acquire psoc_ctx->lock in
pmo_core_update_wow_initial_wake_up, which cause dead lock.

Using atomic for wow_initial_wake_up, so the interrupt handler
can avoid using spin_lock.

Change-Id: Id0e963a0924415e9660c57a1c1b776d3e609213d
CRs-Fixed: 2624899
2020-02-20 04:51:04 -08:00
Jianmin Zhu
5b0746560d qcacld-3.0: suspend scan before scheduler thread suspended
Scan cmd still can be exist after scheduler thread is suspended
when host suspend, the scan cmd can't be removed from
serialization list by either complete or cancel any more since
both depends on scheduler thread, suspend thread blocked 30s to
wait scan cmd cleared.

Roam sync event from F/W can't be handled and Roam sync complete
can't be sent to F/W since scheduler thread suspended, then F/W
assert for roam sync cmd timeout.

After receive F/W down event, host will try SSR, but blocked by
unfinished suspend thread too.

Fix: suspend all components including scan before suspend
scheduler thread, make sure scan cmd is cleared and no new scan
is allowed any more before scheduler thread suspended.

Change-Id: I7a3badeedea018e4d92bbe8660692e42923852aa
CRs-Fixed: 2620650
2020-02-15 01:58:26 -08:00
Abhishek Singh
a7efaea28f qcacld-3.0: Optimize PMO prints
Optimize PMO prints.

Change-Id: I0595e5b51edfe3ad0a0abb239cb53e67938d2efa
CRs-Fixed: 2621351
2020-02-14 12:09:29 -08:00
Sravan Goud
d257bd19de qcacld-3.0: For system suspend do dp wow ack process
In case of successful wow enable ack from FW for system
suspend call cdp wow ack response process, so that dp
layer will take care of required operations before system
goes to suspend.

Change-Id: Ibc5bf8d62aa055c9c8c7242c00abc3b696bb0051
CRs-Fixed: 2608980
2020-02-04 00:33:19 -08:00
Alan Chen
4ea561fa80 qcacld-3.0: Disable ARP_NS and GTK offload for NaN mode
arp_ns_offload and gtk offload command are being issued for NaN mode
vdev. NaN mode vdev does not support ARP_NS and GTK off load features,
so disable them when in NaN mode.

Change-Id: Iab11c92bb5da4004b62e642342a386f532832509
CRs-Fixed: 2608618
2020-01-30 00:32:33 -08:00
Srikanth Marepalli
72213318bd qcacld-3.0: Make WMI_ROAM_PMKID_REQUEST_EVENTID event as wakable
Add support to make event WMI_ROAM_PMKID_REQUEST_EVENTID as
wakable in FIPS case.
In FIPS Enabled case, for roaming Firmware sends PMKID request
to host as firmware is not supposed to do crypto functionality
with FIPS enabled.

Change-Id: I09b6b68f77ba75f9e5519ff18017c95d16771f52
CRs-Fixed: 2513790
2020-01-28 11:01:38 -08:00
Arun Kumar Khandavalli
a0bb689000 qcacld-3.0: selectively reduce the offload logs
Reduce loglevel of some logs from info to debug.

Change-Id: I7026cd376015de62d71ffd0b4eb2e79e13e2e4f0
CRs-Fixed:  2607973
2020-01-24 05:09:18 -08:00
Arun Kumar Khandavalli
5fdbbe2c4a Revert "qcacld-3.0: Remove NaN offloading option"
This reverts commit I1adb8ead32a0d45a34f72590c33309b17d6c80c0.
Nan offload supported is now supported.

Change-Id: Ic99aa886c82dcf4d9c68f658080bd800117cce87
CRs-Fixed: 2600602
2020-01-16 23:46:34 -08:00
Sourav Mohapatra
60c3b2b014 qcacld-3.0: Add checks to NS and ARP offload requests
Currently the offloading of the NS and ARP to firmware is inefficient;
redundant caching is performed even if offload is not sent. This causes
wastage of resources and increases code complexity.

Introduce checks before caching and offload to ensure that the mentioned
inefficiencies are taken care of.

Change-Id: I6013810e1e08adb15c801f4fc21e1b50371bacda
CRs-Fixed: 2569763
2019-11-22 05:35:35 -08:00
Rakesh Pillai
6a36b0a26a qcacld-3.0: cdp: Convergence of cdp misc 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 misc_ops
- tx_non_std
- get_opmode
- get_tx_ack_stats
- set_ibss_vdev_heart_beat_timer
- hl_tdls_flag_reset
- set_wisa_mode
- txrx_post_data_stall_event
- update_mac_id
- pkt_log_init
- pkt_log_con_service
- get_num_rx_contexts
- set_wmm_param
- flush_rx_frames
- bad_peer_txctl_set_setting
- bad_peer_txctl_update_threshold
- txrx_data_stall_cb_register
- txrx_data_stall_cb_deregister
- vdev_set_driver_del_ack_enable
- get_intra_bss_fwd_pkts_count
- mark_first_wakeup_packet
- register_pktdump_cb
- unregister_pktdump_cb
- pdev_reset_driver_del_ack
- runtime_suspend
- runtime_resume

CRs-Fixed: 2539735
Change-Id: I2baad09fde29d439ae2099e01e4e68ed6b94196d
2019-11-21 06:11:43 -08:00
Rakesh Pillai
f94b162ed0 qcacld-3.0: cdp: Convergence of cdp_l_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 l_flowctl_ops
- register_tx_flow_control
- set_vdev_tx_desc_limit
- set_vdev_os_queue_status
- deregister_tx_flow_control_cb
- flow_control_cb
- get_tx_resource
- ll_set_tx_pause_q_depth
- vdev_flush
- vdev_pause
- vdev_unpause

CRs-Fixed: 2539748
Change-Id: I8ad4a20914c654b8e8aaf629dda7f673fdb110e4
2019-11-11 23:08:02 -08:00
nakul kachhwaha
e3e92ae6db qcacld-3.0: Fix data stall during TDLS Offchan Operation
In non concurrency scenario with TDLS Offchan link, FW is sending
two pauses namely PAUSE_TYPE_CHOP and PAUSE_TYPE_CHOP_TDLS_OFFCHAN
back to back when DUT dwells between TDLS Off channel and AP channel
respectively. HOST handles these events as vdev based event instead
of peer based event and remove all the tx queues from scheduler for
all the peer irrespective of the pause type. This will lead to data
stall in TDLS offchan scenarios, as at any point of time, host will
be receiving one of the two pauses and keep its peer queues out of
scheduler.

Changes are done to decouple the handling of pause/unpause events
for TDLS peers with Offchan enabled from vdev based pause/unpause.
TDLS peers will be paused/unpaused based on PAUSE_TYPE_CHOP_TDLS_OFFCHAN
pause type. Other pause/unpause events will be handled as usual.

Change-Id: Iccb46fd6d121d5df6d53633c9978ddc8e02f588f
CRs-Fixed: 2558612
2019-11-06 23:50:23 -08:00
Sourav Mohapatra
ffcaf378c7 qcacld-3.0: Avoid deadlock during suspend and resume
Presently in the driver, we get the MSI interrupt to wake up from
suspend which directs the call to the both kernel and driver. In the
driver, the HIF callback target_initial_wakeup_cb registered, gets
called in interrupt context while that through the kernel get scheduled
in thread context. These two call can potentially get into a deadlock.

The scenario can be described as:
	- MSI interrupt raised
	- callback invoked from kernel -> takes spinlock on psoc->lock
	- hif callback in interrupt context -> spins on the same psoc->lock
	- deadlock

The problem arises due to the fact that both the kernel thread and the
interrupt handler are executing on the same CPU. This causes the
spinlock in the interrupt context to spin forever.

The solution to mitigate this scenario is to not take the reference
inside the hif callback pmo_core_psoc_handle_initial_wake_up. This
reference was put in place to prevent the wake up callback from getting
affected by psoc creation and deletion. But there seems no need for this
as creation and deletion of psoc happens outside the time-scope of the
wake up callback.

Change-Id: I566ab08802ba3f38e154d26599c73d718ec74bfb
CRs-Fixed: 2556497
2019-11-05 09:27:06 -08:00
Pragaspathi Thilagaraj
0c4489f1ad qcacld-3.0: WPA3 roam make preauth start command as wakable
In WPA3 roam hybrid model, the SAE exchange/4-way handshake is
offloaded to the wpa_supplicant. After roam candidate selection,
firmware will send WMI_ROAM_PREAUTH_START_EVENTID to send SAE
authentication frame with the selected candidate. If the host
is in suspended state, then SAE preauthentication could fail.

So wakeup the host when WMI_ROAM_PREAUTH_START_EVENTID event is
received to carry out the SAE authentication with the provided
candidate

Change-Id: I7a89234e90e7fccef58ec3822dc0cda3740bad20
CRs-Fixed: 2512871
2019-10-17 22:47:02 -07:00
Pragaspathi Thilagaraj
b40c260f17 qcacld-3.0: Register action frames for wake up during runtime PM
Currently the bitmap of action frames that can wake up the host
during suspend is sent via the wmi command
WMI_WOW_SET_ACTION_WAKE_UP_CMDID. This bitmap doesn't include
RRM action frames so currently the host doesn't wake up for rrm
action frames when in suspend mode.

Selectively enable wake up for rrm action frames during runtime PM
alone. Don't enable host wake up during normal suspend as it will
consume more power.

Change-Id: I097596118c2888fc9ea24802e4dbe69d02c5c5f7
CRs-Fixed: 2507185
2019-09-28 04:01:10 -07:00
Ashish Kumar Dhanotiya
980943882f qcacld-3.0: Release vdev reference in enable ns offload api
Currently if num ns offload count is 0, vdev reference is
not getting released in pmo core enable ns offload in fw api,
this is resulting in vdev ref leak.

To address above issue, release vdev ref count if num ns
offload count is 0.

Change-Id: I2cb7ebf974869f96e5c53faf3855c6c835c28a6c
CRs-Fixed: 2521504
2019-09-17 17:52:03 -07:00
Alan Chen
f8a46d501f qcacld-3.0: Change system power debugging time stamp to microseconds
Time stamp for profiling system level power issues is currently using
qdf_get_system_timestamp(), which measures in milliseconds. To get more
fine granular data, use qdf_get_log_timestamp_usecs() to measure in
microseconds instead.

Change-Id: I920d0ec7c90ab602cbdc0d1efdb6061d6a72c122
CRs-Fixed: 2520939
2019-09-04 22:23:48 -07:00
Alan Chen
74e4dd0fd6 qcacld-3.0: Change spin lock APIs to use spin lock IRQ
The spin lock APIs are accessed from wake MSI hard irq handler as well,
causing deadlock. To solve this, change spin lock APIs to use spin lock
IRQ.
CRs-Fixed: 2519986

Change-Id: I4d05abd294a71a26915210ae7e2be9be6aa7a996
2019-09-04 17:38:22 -07:00
Alan Chen
abd1947c43 qcacld-3.0: Add timing profiling log for runtime PM operations
Add timing profiling log for runtime PM operations such that we can
know how much time each operation is taking.

Change-Id: Iad2aca8e8bb2f0dadc14d24e3a5c2b03938df9df
CRs-Fixed: 2518935
2019-08-31 04:26:38 -07:00
Rajeev Kumar
e51bc40f96 qcacld-3.0: Remove CCE HW filter from runtime pm suspend
FW is not reay to support CCE HW filter during active mode
hence remove it.

Change-Id: Iba14c788362dad4d2f76eda8e06849b6c8174519
CRs-Fixed: 2514049
2019-08-29 22:10:50 -07:00
Alan Chen
2239688fd3 qcacld-3.0: Remove NaN offloading option
Firmware only supports offloading in STA and P2P CLI mode, so remove
NaN offloading option.

Change-Id: I1adb8ead32a0d45a34f72590c33309b17d6c80c0
CRs-Fixed: 2512426
2019-08-22 20:14:05 -07:00
Rajeev Kumar
50b60da282 qcacld-3.0: Enable HW filters in runtime pm mode
Enable hw filter in runtime pm mode such that target
CPU wake ups can be avoided in order to achieve max
power savings.

Change-Id: I97aa26b063e70db5e3023faf6aa40cc53bfac3af
CRs-Fixed: 2502744
2019-08-12 12:24:05 -07:00
Yue Ma
ce4879b6e3 qcacld-3.0: Config WOW_NLO_SCAN_COMPLETE_EVENT by default
WOW_NLO_SCAN_COMPLETE_EVENT should be always a wakeable event so
there is no need config it again during runtime PM suspend. Same
for WOW_NLO_DETECTED_EVENT which is already configed by default.
Hence it is safe to skip config dynamic wake events for runtime
PM.

Change-Id: Ie99f9f3dbd5e696601c79b826dbc949c0b439dc1
CRs-fixed: 2502738
2019-08-09 16:32:58 -07:00
Alan Chen
68552e39e2 qcacld-3.0: Change the max wow config in FW to 5
FW offload has no wow-wakeup-filter for GC vdev because the number of
filters is limited to two but Host tries to add filter from VDEV-0 to
VDEV-2. To address this, change the max wow config in FW to five.

Change-Id: Ie44403ef127cf0160f39aa001deddee2205b4696
CRs-Fixed: 2505367
2019-08-09 12:37:41 -07:00
Sourav Mohapatra
f4d4d50656 qcacld-3.0: Add zero check before division
In function pmo_core_calculate_listen_interval the max_mod_dtim is
obtained by division of sta ditm with the max ditm. The max ditm can be
zero and can cause divide by zero assert.

Add a zero check before division.

Change-Id: Ie48c8b1086efa4f36e55e83b44cc9cc528ed908d
CRs-Fixed: 2475568
2019-08-06 04:08:46 -07:00
Sourav Mohapatra
fd836a36bd qcacld-3.0: Remove QDF_BUG on vdev_id inside pmo_psoc_get_vdev
Currently, there is an assert condition inside function pmo_psoc_get_vdev
wherein if the vdev_id exceeds the maximum allowed value, a QDF_BUG is
triggered. This check is not necessary as a simple error check takes
care of the same situation.

Remove the assert condition from pmo_psoc_get_vdev

Change-Id: Icd4c892eca893de0f09c24e74407aba5e243f7bd
CRs-Fixed: 2497743
2019-08-06 01:25:39 -07:00
Abhinav Kumar
b96b746a50 qcacld-3.0: Don't enable WOW_BEACON_EVENT by default for STA
While processing QCA_WLAN_VENDOR_BEACON_REPORTING_OP_START vendor
cmd, the expectation is FW should not wakeup host if host is in
wow mode. Wakeup of HOST happens purely based on Nth beacon
WMI event WMI_VDEV_PARAM_NTH_BEACON_TO_HOST config to firmware
where host gives Nth value and MSB bit to indicate whether
to wake up host or not. MSB bit is 1 means fw should not wakeup
host(By default MSB bit is 0).

WOW_BEACON_EVENT registration on host is required only in case
if HOST sends WMI_RMV_BCN_FILTER_CMDID in order to allow fw to send
connected AP beacons. Currently, HOST sends NTH BEACON CMD to fw with
MSB bit of Nth value equal to 1 in order to allow send connected AP
beacons to HOST only if HOST is not in wow mode.

Fix is to remove default WOW_BEACON_EVENT registration for STA on host.

Change-Id: I4717925fbcb38efb14f3336706f93d90f7a3888e
CRs-Fixed: 2496594
2019-08-01 16:24:04 -07:00
Yue Ma
954840d5fe qcacld-3.0: Avoid DRV suspend as well if link cannot be suspended
There is no need to do DRV suspend if gPreventLinkDown ini flag is
set. PCIe link will be always up.

Change-Id: Ie6344514486634e1b6ae3b4a4e416853f8d46e5a
CRs-Fixed: 2492053
2019-07-19 07:31:09 -07:00
Rajeev Kumar
c7dc847318 qcacld-3.0: Do not clear wow applicable flag on resume
Currently both system and runtime PM resume are clearing
wow applicable flag and when runtime PM suspend and suspend
are happening in parallel wow applicable flag value is lost
and host is by mistake enabling pdev suspend instead of wow
suspend. Move the logic to clear wow applicable flag to suspend
configuration path such that every time when either runtime pm
or system suspend is enabled correct wow parameter is chosen.

Change-Id: I821dd5cd23493611dfc5a1c3ebf706defe785b6d
CRs-Fixed: 2475227
2019-07-05 14:32:10 -07:00
Rajeev Kumar
100b65bfb2 qcacld-3.0: Do not send DTIM related commands for runtime resume
Since system is awake when runtime PM suspend/resume happens, there is
no need to send DTIM related WMI commands with WOW sequence during runtime
PM resume as unlike system suspend, these commands are able to be sent from
other paths. It will just trigger runtime PM resume which is expected
behavior.

Change-Id: I51d0f45c0223a0c0e3c61bbcb7135a590359b08d
CRs-Fixed: 2475111
2019-06-20 20:15:10 -07:00
Yue Ma
31dad7b188 qcacld-3.0: Do not send DTIM related commands with WOW for runtime PM
Since system is awake when runtime PM suspend/resume happens, there is
no need to send DTIM related WMI commands with WOW sequence as unlike
system suspend, these commands are able to be sent from other paths. It
will just trigger runtime PM resume.

Change-Id: I5bc6b5e363e90c77a2d615129fbac69fc80366ea
CRs-fixed: 2469483
2019-06-12 17:45:41 -07:00
lifeng
c476163754 qcacld-3.0: Update target suspend flag in legacy d0wow enable
Host failed to send legacy d0wow disable command due to failure
in target suspend flag check during resume.

Update target suspend flag in legacy d0wow enable.

Change-Id: I497c46b90a8fb5deb78ce31fb6e5b0d2c76d723d
CRs-Fixed: 2460452
2019-06-10 02:37:34 -07:00
Arun Kumar Khandavalli
32b2af4365 qcacld-3.0: Sanitize the mc address list count
In the target_if layer  based on the mc address list count the
filter params are filled and sent to the firmware. If the mc address
list passed is more than the maximum supported address list there
can be possible buffer overflow.

Sanitize the mc address list count to avoid any overflow.

CRs-Fixed: 2452131
Change-Id: I03208a5487cfd730e933666c47accb2e46fbbc72
2019-05-31 14:50:35 -07:00
Manikandan Mohan
6bd71be66e qcacld-3.0: Call correct PMO API for setting PS params
WMI_STA_PS_PARAM_INACTIVITY_TIME and
WMI_STA_PS_PARAM_MAX_RESET_ITO_COUNT_ON_TIM_NO_TXRX
need to be sent as WMI_STA_POWERSAVE_PARAM_CMDID param IDs.
Thus use pmo_tgt_send_vdev_sta_ps_param instead of
pmo_tgt_vdev_update_param_req in appropriate locations.

Change-Id: Ie9438cd88540a9bbcaf120b3d0a32d355f85002d
CRs-fixed: 2457998
2019-05-23 16:39:55 -07:00
Rajeev Kumar
c58f7c2578 qcacld-3.0: Add change to support DRV during wow mode
Add changes to support DRV feature during wow mode.

Change-Id: I588dfc5fa1bc419a288f346664c4028ef2d2011b
CRs-Fixed: 2456148
2019-05-23 13:12:17 -07:00
Abhinav Kumar
392221599a qcacld-3.0: Process vendor cmd for BEACON_REPORTING_OP_STOP
Userspace request driver to report details of each beacon
received whose bssid is same as currently connected BSS's
mac address. The driver encapsulates the details of these
beacons as an asynchronous event within vendor command:
QCA_NL80211_VENDOR_SUBCMD_BEACON_REPORTING with operation
type QCA_WLAN_VENDOR_BEACON_REPORTING_OP_STOP until
userspace requests to stop sending beacons.

When driver gets stop indication from userspace, it does
the following things:
1. De-register all callback which is registered while handling
start indication
2. Add beacon filter and send it to fw

If driver is in WOW mode and WMI_ADD_BCN_FILTER_CMDID is
NOT configured, fw wakeup HOST and sends connected AP beacon.
Fw should not wakeup host if host is in wow mode. In order
to support this, configure WOW_BEACON_EVENT for STA and P2P.

Change-Id: Ie7c768fa957d02e1361e1ecb95435ba3f06034b0
CRs-Fixed: 2431360
2019-05-23 09:30:32 -07:00
Sourav Mohapatra
618f208d24 qcacld-3.0: Add check for zero before division
Currently in function pmo_core_config_modulated_dtim there is a possible
scenario of a division by zero. The parameter dtim period can have zero
value.

Add a check before performing the operation.

Change-Id: Ida4a798e5c7914966db25bd188821a75caaf4353
CRs-Fixed: 2432010
2019-05-14 23:57:46 -07:00
Yue Ma
66984e2bd4 qcacld-3.0: Return error code for PMO runtime suspend failure
Some failures in PMO runtime suspend do not return any error code.
Fix them by returning proper error code.

Change-Id: Icc6b8fef45707cba6dc2cef7ec44cd5c71d2f07d
CRs-fixed: 2450271
2019-05-09 14:27:45 -07:00
sheenam monga
8cb4be3fd3 qcacld-3.0: Fix bss peer use after free in pmo
wlan_vdev_get_bsspeer() return bss peer without taking the ref count
of the peer and thus if peer is deleted after wlan_vdev_get_bsspeer()
returns a valid peer, the caller will have stale entry of the peer.
Stale entry of peer can lead to Assert.

Use wlan_objmgr_vdev_try_get_bsspeer API for pmo to get the BSS peer
which increment the refcount if peer is valid. With this the peer
won't be deleted till the caller release the ref count of the peer.

Change-Id: I0901164132c497d78c9dc603539b045e5ce0f152
CRs-Fixed: 2446618
2019-05-08 04:46:56 -07:00
Jingxiang Ge
2a67be508a qcacld-3.0: Pass hang reason to qdf_trigger_self_recovery
Pass hang reason to qdf_trigger_self_recovery

Change-Id: I9930731d0a565e021eb472163de7fb5190c39f35
CRs-Fixed: 2432834
2019-04-19 01:56:27 -07:00
Srinivas Girigowda
d1e45b8dc7 qcacld-3.0: Replace multiple IPv4/v6 address len macros with QDF macro
Replace multiple IPv4/v6 address len macros with QDF macro.

Change-Id: Id8ee0e1a4d6057f74ea5b7122a33f5137ea533e4
CRs-Fixed: 2435753
2019-04-16 19:57:47 -07:00
Ajit Pal Singh
775bf3ae4b qcacld-3.0: pmo: Add API to get target suspend state
In USB devices even if the driver returns an error from bus_suspend,
still the kernel/platform goes into suspend as any error from USB
bus_suspend is ignored.
During suspend, if WoW or suspend was NACked by FW, we should not
send WMI_WOW_HOSTWAKEUP_FROM_SLEEP_CMDID, WMI_PDEV_RESUME_CMDID to disable
WoW or resume device (in the next system resume)
Add new PMO API to get target suspend state and use it to check if
device should be resumed.

Change-Id: Ic6be05f4f2d36ffe174774b6cd55c6da6b1ea1b8
CRs-Fixed: 2421591
2019-04-05 08:37:19 -07:00
Bala Venkatesh
0f74545bb3 qcacld-3.0: Replace duplicate api's of vdev_connected
Currently, the vdev connection status is checked by getting
the bss peer of that vdev, and if the bss peer is in associated
state then vdev connected status is sent as true. It can happen
vdev is present and bss peer is deleted after getting the bss peer
from vdev pointer. Then bss peer can not be dereferenced to get the
its status.

Instead remove all the duplicate api's tdls_is_vdev_connected,
pmo_core_is_vdev_connected, and wlan_vdev_is_connected with
wlan_vdev_is_up. wlan_vdev_is_up gives success status
if associated.

Change-Id: I863c3c0689f329870bd08c813813c16956135209
CRs-Fixed: 2424996
2019-03-29 15:26:58 -07:00
Srinivas Girigowda
a47b45f94f qcacld-3.0: Consolidate multiple MAC_ADDR_LEN to QDF_MAC_ADDR_SIZE
Consolidate multiple (redundant) MAC_ADDR_LEN to QDF_MAC_ADDR_SIZE
PMO_80211_ADDR_LEN
IEEE80211_ADDR_LEN
ETHER_ADDR_LEN
HTT_MAC_ADDR_LEN
ETHERNET_ADDR_LEN
DEFRAG_IEEE80211_ADDR_LEN
OL_TXRX_MAC_ADDR_LEN
QCSAP_ADDR_LEN

CRs-Fixed: 2406592
Change-Id: I829c5799e4724f81af996b23fdd4ea03f4728bc4
2019-03-28 16:49:58 -07:00
Ashish Kumar Dhanotiya
16fd4201f9 qcacld-3.0: Add support to configure ito repeat count
Currently there is no support to configure ito repeat
count when driver enters into wow mode.

Add support to configure ito repeat count with ini
gItoRepeatCount when driver enters into wow mode.

CRs-fixed: 2419137
Change-Id: I62d7e7df12342e9743c26e0147851347214a9ce7
2019-03-22 03:08:52 -07:00
Ashish Kumar Dhanotiya
9e0627bfd8 qcacld-3.0: Add support to set inactivity timout for PMO
Currently there is no support to configure the inactivity
timeout when driver goes to wow mode or when driver resumes
from wow mode.

Add support for PMO component to configure the wow mode
inactivity timeout with ini g_wow_data_inactivity_timeout
when driver enters into wow mode and when driver resumes
from wow mode add support to configure the inactivity
timeout for non wow mode with ini gDataInactivityTimeout.

CRs-fixed: 2412866
Change-Id: I0672f22a5dfec870e5e67b23058db2729b9a0848
2019-03-20 08:25:38 -07:00
Jeff Johnson
361e1786c6 qcacld-3.0: pmo: Replace explicit comparison to NULL
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within pmo replace any such comparisons with logical
operations performed on the pointer itself.

Change-Id: I3697ede27e074252017e31be23caa93fc25885c5
CRs-Fixed: 2418398
2019-03-19 02:24:37 -07:00
hangtian
bb591aa59d qcacld-3.0: Revert "Allow SSR during driver resume"
Revert "Allow SSR during driver resume", change-id:
Ie1689e0b080f940666fbbb19c9f0e3b0fecfe564.

Change-Id: I3673ad030ecdb5112d4e28cc34102d58295c50a7
CRs-Fixed: 2412130
2019-03-17 20:42:50 -07:00
hangtian
ee84dbeb33 qcacld-3.0: Allow SSR during driver resume
Allow SSR during driver resume. Assume firmware goes down during driver
is in suspend state. Avoid get into bad state and wmi access during driver
resume.

Change-Id: Ie1689e0b080f940666fbbb19c9f0e3b0fecfe564
CRs-Fixed: 2412130
2019-03-11 01:35:00 -07:00
Rajeev Kumar
c80f91056d qcacld-3.0: Mark client kick out event as wake event in SAP mode
In SAP mode apps should wake up to handle the client kick out event
from fw and delete the remote peer such that remote peer is not hanging
in partial connected state when apps is in power save mode. Mark client
kick out event as wake event in SAP mode such that apps can wake up and
properly disconnect the kicked out remote client.

Change-Id: I9e2e56820be0bed8019d2fb810a12a129deadd37
CRs-Fixed: 2410124
2019-03-08 06:04:28 -08:00