Commit graph

7,768 commits

Author SHA1 Message Date
Jinwei Chen
490e7fd6b4 qcacmn: fix dp_vdev use after free caused by racing condition
crash scenario:
a. dp_peer_unref_delete remove peer from vdev->peer_list.
b. dp_vdev_detach_wifi3 skip setting vdev->delete.pending as
   vdev->peer_list is empty, dp_vdev is freed.
c. dp_peer_unref_delete still try to access dp_vdev after first
   peer_ref_mutex released, invalid accessing happened.

solution:
a. Get vdev member like vdev->delete.pending flag within
   first peer_ref_mutex in dp_peer_unref_delete to avoid vdev freed.
b. Separate dp_reset_and_release_peer_mem function into two function
   dp_vdev_reset_peer/dp_peer_release_mem, dp__vdev_reset_peer
   will be invoked within first peer_ref_mutex. after first
   peer_ref_mutex is released, invoke dp_peer_release_mem since dp_soc
   ->cdp_soc.ol_ops->peer_unref_delete should be outside of
   peer_ref_mutex in case deadlock issue reported from WIN.

Change-Id: I90f3b139030c5ce399d85723ae4f67ce0faf4b28
CRs-Fixed: 2568256
2019-11-22 00:27:54 -08:00
Amir Patel
a1a4fe1417 qcacmn: Update avg_rssi with per_pkt_rssi + per_bw_offset
Currently for averaging rssi we do not add per_bw_offset to SNR,
add per_bw_offset value to SNR to compute avg_rssi

Change-Id: I451f90e5794235c7466f3c4f1850df246e719d0a
2019-11-21 09:13:45 -08:00
Amir Patel
fea17f4d75 qcacmn: Free status buffer queue at proper place
Currently after disabling mcopy mode, remaining status
buffers are not freed, free status buffers at proper place

Change-Id: I4a04a7ab58771ce1dd21f3ee08b42589f312eb76
2019-11-21 07:49:03 -08:00
Vevek Venkatesan
2cc8c5d14d qcacmn: 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: Ieb7e48d11a69a1e4a92a7114042b1db72d5f4b65
CRs-Fixed: 2540862
2019-11-21 06:13:07 -08:00
Rakesh Pillai
1d4d12e0e9 qcacmn: cdp: Convergence of cdp_bus_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 bus_ops
- bus_suspend
- bus_resume

CRs-Fixed: 2539826
Change-Id: Id4d6ba16beae89f4052e72024ef8ce891ea33715
2019-11-21 06:12:58 -08:00
Vevek Venkatesan
dc1517ec8c qcacmn: cdp: Converge cdp_pmf_ops
Currently the cdp apis are given 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 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.

- get_pn_info

Change-Id: I410938ed4c3878baa725b6fe3a785cbb99d5fdf4
CRs-Fixed: 2540837
2019-11-21 06:12:48 -08:00
Rakesh Pillai
d295d1e81d qcacmn: 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: 2539811
Change-Id: I3080df033d6411d7078a322224b914bda2fddc0e
2019-11-21 06:12:31 -08:00
tinlin
aae613c904 qcacmn: Convert legacy channel usage
Modify the following API's code and parameters to make
sure it is using frequency instead of channel:

	csr_update_scan_entry_associnfo

Change-Id: Id289c2bd2e2cdf3f6a5e16028bbafb3df4049dac
CRs-Fixed: 2563874
2019-11-21 00:45:37 -08:00
Edayilliam Jayadev
f3cc90e236 qcacmn: Check aSpectral capability for current chainmask
Reject Agile Spectral scan request if the current chainmask
doesn't have Agile capability.

CRs-Fixed: 2565027
Change-Id: I0ac79f9846ef015ec16500ae29528c8e5d03da3e
2019-11-20 10:44:54 -08:00
Chaithanya Garrepalli
60a154f99e qcacmn: corrected the print statement
Corrected print statement to dump AST entries

Change-Id: I37a7c98eef6a8ad0b27541584927505ffc447cb2
2019-11-20 05:51:46 -08:00
Amar Singhal
8e992e56f0 qcacmn: Add check for regulatory channel list
Regulatory module calls registered callbacks when channel list is changed.
But channel list may not have been received when path for callbacks is
reached. So keep a track if channel list has been received. If not, do
not call the callbacks.

Change-Id: I2e1a6e442b0d5c79e786806e00b1c50c9491dae0
CRs-Fixed: 2563759
2019-11-19 22:33:26 -08:00
Sravan Goud
3af8bd05e8 qcacmn: Increase the napi scale for slub debug builds
UMAC reo full condition is seen in slub debug builds in case of
DL throughput traffic. This is due to host process only 64 packets
per NAPI schedule in case of slub debug builds where in case of
perf builds budget is of scale 4 times. Also the time between two
napi schedules is in order of milliseconds which accounts for the
delay of host reo ring processing. So increase the napi budget
scale to 3 times which make sures host process enough packets per
napi schedule.

Change-Id: I3e134f31277a72056f3d7d5433ed1adeefa433fa
CRs-Fixed: 2563595
2019-11-19 16:55:09 -08:00
Christopher Chopp
643f7eca34 qcacmn: Add Debug Print for 160MHz TX/RX MCS NSS Check
This print is a debug measure that addresses an issue where the
HE MCS NSS Map is set to an invalid value. Although rate checks
exist already which take corrective action, this proactive print
adds information useful for addressing corner cases should
they appear.

CRs-Fixed: 2554277
Change-Id: I8e770639472409d96654dc8652ea8c9d210c4965
2019-11-19 14:44:54 -08:00
Vivek
f011832a65 qcacmn: Update blocking command flags atomically
When moving a blocking command from pending to active queue,
we release the lock and call the activation cb.
After the activation cb returns, we update the blocking cmd
waiting flag based on the active cmd node's "is_blocking" param.

If the activation cb is also resulting in removing the command,
then after the cb returns, the active cmd node is returned to the
free pool and our check fails, and we miss to update the blocking
cmd waiting flag, resulting in no further commands moving to the
active queue.

The update to the blocking command should be done atomically,
immediately after it moves to active queue and before releasing
the lock for the activation callback.

Change-Id: Idedccb16ce68bb2166fb3970cd231fe738ec6af2
CRs-Fixed: 2554767
2019-11-19 13:05:08 -08:00
Tushnim Bhattacharyya
3077301bb2 qcacmn: Replace channel ID with channel frequency
Replace channel ID with channel frequency in
wlan_cfg80211_is_chan_ok_for_dnbs.

Change-Id: I0e275da65258f87abfc36d6c9148f9f4437a4389
CRs-Fixed: 2552022
2019-11-18 21:24:51 -08:00
Jinwei Chen
08de3a02e5 qcacmn: add debugging code to detect duplicated hash_node
One hash_node is still left in hash bucket list while the memory
has been freed by normal operation, suspect that maybe two same
hash_node is existed in hash bucket list before, add debugging code
to detect this problem earlier.

Change-Id: I1497ae29c0e09e35dc140c7c37e228e02eb000e4
CRs-Fixed: 2562952
2019-11-18 20:00:15 -08:00
Ashish Kumar Dhanotiya
b5cc4988ce qcacmn: Update regdb based on database version 30
Update regdb with QCA regulatory database version 30 with following
changes:

1. Change APL11 and APL19 RD defs to FCC Radar Patterns.
2. Change 2g reg domain for Argentina to ETSIC
3. Change 5g reg domain for Argentina to APL16 for WIN and
APL17 for MCL and DSRC.
4. Change 2g reg domain for Indonesia to ETSID
5. Change APL2 power to 20.
6. Change Radar detection pattern for APL11 to FCC
7. Change CTL for APL14 to MKK
8. Change Radar detection pattern for APL19 to FCC
9. Add new reg domain APL24
10. Change ETSID power to 20.
11. Add full reg domain APL2_ETSID
12. Add full reg domain APL16_ETSIC
13. Add full reg domain APL17_ETSIC
14. Add full reg domain APL24_ETSIC

Change-Id: I8ce9696caefee89a9ab5606667c1619634e248c5
CRs-Fixed: 2548580
2019-11-18 16:05:37 -08:00
Gurumoorthi Gnanasambandhan
f336902021 qcacmn: Rewrite util_gen_new_bssid functionality
qdf_do_div is not helping  for modulo operation and always returns 0 in
32 bit image resulting in same base BSSID is always returned for all
the VAP's.With 64 bit image no issues are seen.

Change-Id: I50e500f57713ce080447b9a5cb1e615018222adb
CRs-Fixed: 2565183
2019-11-18 14:09:18 -08:00
Venkata Sharath Chandra Manchala
74a2f413df qcacmn: Increase the force wake timeout
Increase the force wake timeout to 100ms for
debug builds as mhi requires 100ms to
wake up.

Change-Id: Ida0b1287a86a5a97fd2d9c80fee4e677eea86cbe
CRs-Fixed: 2552815
2019-11-18 10:33:26 -08:00
Rakesh Pillai
3f13c071b9 qcacmn: Fix compilation errors in DP_PRINT
Fix compilation error in DP_PRINT which is
seen when compiled for lithium datapath.

CRs-Fixed: 2567068
Change-Id: I4bb7bb14a2e521645be6e2677a44a78fa79fcb0b
2019-11-18 10:33:17 -08:00
Jianmin Zhu
69560e37c6 qcacmn: Replace chan list with freq list in struct scan_filter
To support 6G, replace chan id with frequency.
Replace channel_list and pcl_channel_list with
chan_freq_list and pcl_freq_list in struct scan_filter.
Change API scm_get_pcl_weight_of_channel to use freq.

Change-Id: I6e880986fb2dcb1fa7aa4f40d2e3f849e7e3af64
CRs-Fixed: 2561234
2019-11-18 10:33:09 -08:00
Manoj Ekbote
9c0ec6c2d8 qcacmn: Add API to allow WMI commands
Add API to restart sending WMI commands after they have been
stopped using wmi_stop() API.

Change-Id: Id65e5d1310cd7076ca47c6e7e19221492c10a868
2019-11-18 00:46:05 -08:00
Guisen Yang
17b5fed005 qcacmn: Change the print format for a size_t variable
A build error happens if "%lu" is applied to a size_t variable.
Change the format to "%zu" in dp_print_tso_stats().

Change-Id: Ib9e7ff5de91a8d5de091f8adae003f0ce0258acb
CRs-Fixed: 2560138
2019-11-18 00:45:58 -08:00
Jianmin Zhu
7ec8548fe6 qcacmn: Fix uninitialized parameters in cmn
fix uninitialized parameters in cmn

Change-Id: Ice6e9ab0a337de04a693615c607f0d5c4019defe
CRs-Fixed: 2559018
2019-11-17 01:39:35 -08:00
Yeshwanth Sriram Guntuka
e854c377d6 qcacmn: Use GFP_ATOMIC flag for skb alloc for diag data
Diag event processing is stuck due to skb allocation failure.
SKb allocation is done using flag GFP_KERNEL which results
in the kworker thread to sleep and results in wmi workqueue
timer to expire.

Fix is to use GFP_ATOMIC flag for skb allocation for
diag data.

Change-Id: Ifa715df89ae06b17d4dc1506ea4f3c4e2af31f33
CRs-Fixed: 2559679
2019-11-16 23:59:11 -08:00
Bala Venkatesh
93eb1b60ee qcacmn: Fix off_channel_bw in tdls_get_wmi_offchannel_bw()
The function tdls_get_wmi_offchannel_bw, returns the off channel
bandwidth value. For BW80 and BWALL types, there is no break.
This could result in the off_chan_bw value overwritten to
WMI_TDLS_OFFCHAN_20MHZ for BW80 and BWALL.

Fix the missing break statement in function
tdls_get_wmi_offchannel_bw to return proper values for
off_chan_bw.

Change-Id: Ic940c70fd0e555d27e338518301c6ed607310fa4
CRs-Fixed: 2555951
2019-11-16 22:00:05 -08:00
Edayilliam Jayadev
68c2881b76 qcacmn: Init Agile Spectral capability based on HW generation
Initialize Agile Spectral capability from chain mask table for
3rd Spectral generation chipsets onwards. Chipsets before 3rd
generation doesn't support Agile Spectral.

CRs-Fixed: 2566328
Change-Id: I46fa7a9232f610fce06cffd67d81a59b7d6fead4
2019-11-16 03:51:20 -08:00
Jianmin Zhu
52a2b33099 qcacmn: Set priority for connection with bssid_hint
There is ini to enable the feature: Set highest priority to BSS
for connection which comes as bssid_hint from wpa supplicant,
but it is broken.

Change-Id: I795341bd13f59caafaaadf7086f5efc3d47f913c
CRs-Fixed: 2565161
2019-11-15 23:51:11 -08:00
Arun Kumar Khandavalli
5377f457a1 qcacmn: Introduce new api to disable the vdev serialization queue
MCL presently sends the vdev delete to firmware via serialization,
with a new requirement vdev delete cannot be sent via serialization.
So, disable the serialization for the vdev before sending the vdev
delete to firmware.

Change-Id: Ieffccaf815eff7627d39b0191a7be121e85965fd
CRs-Fixed: 2566113
2019-11-15 16:01:32 -08:00
sumedh baikady
a95ba1312a qcacmn: Add Wmi for FW dynamic control of Muedca param
Add WMI changes for the API he_muedca_mode
to swicth between manual, host and FW dynamic
muedca param selection.

Change-Id: If43b5da483fe082294bda33f8951187ebc7ea3c7
CRs-Fixed: 2554378
2019-11-14 07:47:46 -08:00
Shiva Krishna Pittala
5c0f59fd3c qcacmn: Route variable argument list logs through QDF
Currently, the variable argument list messages are going through vprintk.
As a result, these messages are appearing only on dmesg, but not on any
external logger. Use QDF logging functions instead to fix this.

CRs-Fixed: 2561051
Change-Id: I9cfc6aaa7b81de4945f7cfd5f7cd15540c3fc1f2
2019-11-14 00:55:16 -08:00
Tiger Yu
987de79182 qcacmn: Wake up system for early interrupt wakeup during suspending
During system suspending, the target might request wakeup early to the
host. The host will wakeup the system directly to abort current suspend
to avoid mismatching PM state between host & target.

Change-Id: Icf6e58ff24cbe072ef56aa22820432efb2ca1932
CRs-Fixed: 2559306
2019-11-13 06:53:29 -08:00
Nandha Kishore Easwaran
cbf2eb71d3 qcacmn: Enable interrupts for pine
Remove EPPING_CE_FLAGS_POLL from poll flags so that interrupt is
enabled for pine.

Change-Id: I8271ab47e75fbe254e0c5d745f861edbda4b07ce
CRs-fixed: 2507441
2019-11-13 00:56:22 -08:00
Basamma Yakkanahalli
f2c446e2ca qcacmn: set INTER_BSS_PEER flag for NAWDS peer in peer assoc
Set WMI_PEER_INTER_BSS_PEER peer flag in the fixed param in
WMI_PEER_ASSOC to differentiate between inter-bss and intra-bss peer.

Change-Id: Ic3f54646bfcf988ce53c3d581bacea65070a5036
2019-11-12 23:12:34 -08:00
Hariharan Basuthkar
853a2cda71 qcacmn: Add an API wlan_reg_chan_opclass_to_freq
Add an API wlan_reg_chan_opclass_to_freq, that takes IEEE Channel
number and opclass as input and gives the channel center frequency
as output.

Change-Id: I09733d9dc27beb8f16037aa8653acededf32b715
CRs-Fixed: 2555042
2019-11-12 10:37:50 -08:00
Edayilliam Jayadev
97b8676b4e qcacmn: WMI changes for Agile Spectral
1) Add Spectral scan mode and agile center frequency in WMI
   commands to indicate the current mode.
2) Obtain the Agile Spectral capability from the chain mask table.

CRs-Fixed: 2455967
Change-Id: I88ba6fc1ecf9b530a6b516d0c1e4ce88702c6d1f
2019-11-12 04:03:58 -08:00
Rakesh Pillai
2032554096 qcacmn: 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: 2539825
Change-Id: Ic526dea5bb14471cdf67bc72bec061a26d623f79
2019-11-11 23:08:47 -08:00
Rakesh Pillai
2b88f071f9 qcacmn: cdp: Convergence of cdp_mob_stats_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 mob_stats_ops
- clear_stats

CRs-Fixed: 2539824
Change-Id: Id424b939c8ef77bd9fae55eaa4c08023efc32093
2019-11-11 23:08:42 -08:00
Rakesh Pillai
5396b88e32 qcacmn: cdp: Convergence of cdp_ocb_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 ocb_ops
- set_ocb_chan_info
- get_ocb_chan_info

CRs-Fixed: 2539820
Change-Id: I5be5270c9a3ea6e295a63681cf20cef4465b2101
2019-11-11 23:08:36 -08:00
Rakesh Pillai
20e302a62f qcacmn: cdp: Convergence of cdp_throttle_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 throttle_ops
- throttle_init_period
- throttle_set_level

CRs-Fixed: 2539816
Change-Id: I2e4b3f88f6fdded6306710eb9f0c56f3354428aa
2019-11-11 23:08:31 -08:00
Rakesh Pillai
a0a2fe5392 qcacmn: cdp: Convergence of cdp_delay_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 delay_ops
- tx_delay
- tx_delay_hist
- tx_packet_count
- tx_set_compute_interval

CRs-Fixed: 2539814
Change-Id: I15f4395f03f7321d047a230b41a5c939b52ce271
2019-11-11 23:08:27 -08:00
Rakesh Pillai
dce01374cd qcacmn: 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: 2539812
Change-Id: I084d3878df84778622340e87bddf90acd3e669d6
2019-11-11 23:08:22 -08:00
Daniel Kim
c4ffad74c3 qcacmn: Add WMI changes for dynamic HW mode switch (Phase 2)
Add WMI changes for dynamic HW mode switch (Phase 2) as below.

1. Define new enum for dynamic hw mode switch type.
2. Extract tgt_pdev_id from mac_phy_caps_service_ready_ext event.

Change-Id: I2f0f3d4ab78a3043fb56b4d7796678a5e68bed0f
2019-11-11 16:44:26 -08:00
Yu Wang
2b95204288 qcacmn: Add QCA vendor cmd for setting BT coex chain mode
To config BT coex chain mode, add a new QCA sub command
QCA_NL80211_VENDOR_SUBCMD_BTC_CHAIN_MODE.

This new command has two attributes:
1. QCA_VENDOR_ATTR_COEX_BTC_CHAIN_MODE: u32 attribute. Indicates the
   BT coex chain mode, are 32-bit values from enum qca_btc_chain_mode.
2. QCA_VENDOR_ATTR_COEX_BTC_CHAIN_MODE_RESTART: flag attribute.
   If set, vdev should be restarted once BT coex chain mode is updated.

Change-Id: I5ae36286a865ca1459550b0a5cf538bf42b8ffa5
CRs-Fixed: 2534770
2019-11-11 13:42:07 -08:00
Himanshu Batra
c3517bbdab qcacmn: Move mlme private APIs to mlme core
Move APIs private to mlme component to mlme core directories

Change-Id: If682933d542cb583feea680656b87524dd28ed1a
CRs-Fixed: 2549547
2019-11-11 13:42:01 -08:00
Jinwei Chen
99ae1c1f3d qcacmn: Support register writing result check for IPA case
a. Add new macro HAL_REG_WRITE_CONFIRM to check register writing result,
enable register writing result check when do REO DST ring remap for
IPA.
b. only enable register writing result check when macro
HAL_REGISTER_WRITE_DEBUG is configured.

Change-Id: Ib52e6b0d689ccf714876b3978fa8e356f652d25e
CRs-Fixed: 2557252
2019-11-11 13:41:55 -08:00
Vignesh U
4cd49ad814 qcacmn: Intermittent regulatory update for Japan in Win&computing
As a part of the intermittent regulatory update, implement the following
changes,
- The country Japan should map to MKK17_MKKC regulatory domain.
- For regulatory domain MKK17_MKKC, channel 144 should be disabled by
default.

Change-Id: Ic920456fa885d9ed2b8d0419c6a261707eb10b4d
CRs-Fixed: 2560339
2019-11-11 12:10:32 -08:00
gaurank kathpalia
30be97c162 qcacmn: Set the flag for max BW support
Currently the FW expects the flag of
scan chan cmd to be set if the max BW
is filled for all the channels, which
is not set by driver.

Fix is to set the flag's 2 bit to allow
FW to use the max chanel BW.

Change-Id: Id3ce009fbd3c846713d456436c70b44a44428577
CRs-Fixed: 2550434
2019-11-11 10:49:32 -08:00
Bala Venkatesh
c36f7a110e qcacmn: Add the ini gTDLSDiscoveryWakeTimeout
Add the support for the ini gTDLSDiscoveryWakeTimeout.
with this ini gTDLSDiscoveryWakeTimeout, FW will be awake
for configured value after sending the discovery request.

Change-Id: I194e5c99972968bbaa46ffb6b8e83604bff15a0a
CRs-Fixed: 2558463
2019-11-11 02:05:44 -08:00
Nisha Menon
98c4dd401b qcacmn: Fix for SMMU fault on reo cmd desc address
Memory leak fixed in dp_rx_tid_delete_wifi3 in the case
where update cmd send fails. Add the desc to the front of
free desc list and set a flag to ensure that the update
cmd is resent from delete rx_tid callback. In the same
callback ensure that the update cmd desc is sent out first
and then proceed to free other descs by sending out the
flush cache cmd for each of those descs.

If the flush cache cmd is not sent successfully to REO,
add the REO descriptor back to the free desc list and
defer the deletion to the callback function. This update
is made under MCL feature flag REO_DESC_DEFER_FREE.

Add a soc level stat to indicate the reo send cmd failures.

Change-Id: I4e4cf47223d5325a53f2df22571895489d033ba3
CRs-Fixed: 2551028
2019-11-10 23:58:50 -08:00