Commit Graph

4196 Commits

Author SHA1 Message Date
Arunk Khandavalli
e460c52c3f qcacmn: update the pcl info from the converged structures
Update the pcl information from the converged strutures.

CRs-Fixed: 2179012
Change-Id: Id9269e85728409645266e1edc17d03237144a9cc
2018-02-08 07:55:50 -08:00
Karunakar Dasineni
37995ac196 qcacmn: Fixes for monitor ring stall issues
STATUS_DONE is missing sometimes in monitor status ring,
causing stalled processing in host and backpressure to RXDMA.
Adding a WAR to skip such entries.
Also increased the size of monitor link descriptor ring since
multiple descriptors are used for large MPDUs.

Change-Id: I556b4196482ed738471afc1f7e7b73cf3f8fbc51
2018-02-08 07:55:48 -08:00
Pratik Gandhi
dc82a77896 qcacmn: Support to WIN for split of kernel modules
Add EXPORT_SYMBOLS to support modularization in WIN.

Change-Id: I587fe6f2c5cce4b54756358de5c488b146f61850
CRs-Fixed: 2179854
2018-02-08 06:58:35 -08:00
Pratik Gandhi
6c8fdba41b qcacmn: WMI registration change to support to WIN modularization
Change WMI initialization sequence to support WMI modularization.
TLV and Non-TLV modules calls WMI module registration based on target type.
WMI attach will call respective attach routines based on registration.

Change-Id: Id56446f491d129758537913d2d5d6633f8dec918
CRs-Fixed: 2179854
2018-02-07 12:12:05 -08:00
phadiman
6c99befe8c qcacmn: FR 43198 Firmware Coex Stats
Host side efforts for requesting and printing
the firmware coex stats (cmn_dev changes)

Change-Id: I6ef0d7d657212088d77c328a66de30333c0d2267
2018-02-07 09:32:08 -08:00
Chaithanya Garrepalli
221c795fea qcacmn: Add nbuf count support
Add a global nbuf count variable and add support to update
this count.

Change-Id: I08a50b54cae25ab9f356cd05d7635f1ba3b6bf55
CRs-Fixed: 2008240
2018-02-07 05:43:53 -08:00
Abhijit Pradhan
3373194c4e qcacmn: Define channel structure per vdev
Save BSS and desired channel information per vdev to access
it across all the modules.

Change-Id: I7729e0ae902643d0a2c61184b9ddc2babd07179e
CRs-Fixed: 2166359
2018-02-07 03:07:51 -08:00
Om Prakash Tripathi
7dd49fec17 qcacmn: scan all channels in A/G if 0 channels provided
When wide band scan is enabled, host configures all possible
channels with all possible phy modes. In his case if a scan
is invoked with 0 channels, target will end up scanning each
channel with all possible phy modes which increases scan time
exponentially.
If wide band scan is enabled and scan is issues with 0 channels,
configure target to scan all available channels only in 11A/11G mode.

Change-Id: I7c678ccf43c3238aacbfc59cc7e7bd19763453cc
CRs-Fixed: 2165025
2018-02-07 03:07:47 -08:00
Arunk Khandavalli
1b5e807809 qcacmn: expose get/set target_if_api's
Expose the target_if ap's for the set/get different values in the
target_psoc_info.

Change-Id: I7e84482faa46606b39bb64b82fe541b96f0eccce
CRs-Fixed: 2184015
2018-02-07 02:15:33 -08:00
c_cgodav
fda96ad28f qcacmn: Add additional CE Tx descriptor debug
Store the Tx data buffer of MAX_DATA_SIZE bytes as part of CE descriptor
debug information. Add sysfs API to dump the CE descriptor+data debug
information on console.
The CE descriptor and MAX_DATA_SIZE bytes are stored for Tx packets which
would be used to debug any CE related issues.

Change-Id: I68a765c6219a2ff2a6a7adc7e8ed031f8957d243
2018-02-07 02:15:30 -08:00
Sameer Thalappil
2d45067512 qcacmn: Replace nla_parse API with the wrapper API
Wrapper API is required to support building against multiple
Linux Kernel versions.

CRs-Fixed: 2184496
Change-Id: Ic4f3f6cf10910bd20b89dee0b250ea3ff265be70
2018-02-07 01:02:11 -08:00
Himanshu Agarwal
0261f94dd5 qcacmn: Add policy mgr API to get no. of active sessions
Add policy mgr API to get no. of active sessions for a specific
mode.

Change-Id: If91685ae7b72c6be52426648e9d01cba92eee85e
CRs-Fixed: 2178921
2018-02-06 17:33:06 -08:00
Himanshu Agarwal
c4cec662cf qcacmn: Remove dependency on WMA layer for green AP component
Remove dependency on WMA layer for green AP component by registering
green AP events through target_if layer.

Change-Id: I8fe9079c6ba6b23cd5f1d98a7d1b333fde31f19b
CRs-Fixed: 2178143
2018-02-06 17:33:03 -08:00
Anirban Sirkhell
f31b24105b qcacmn: set txpow for frame and subframe
command:-
1. "iwpriv athx s_txpow param1 param2"
2. "iwpriv athx g_txpow param1"

param1 = frame_type<<8+frame_subtype param2 is power_value
if subtype == 0xff means set all subtype of that frame type

Change-Id: I8c68e1ca6a5829a3f0cf01b2c32c3332e1010243
CRs-Fixed: 2175241
2018-02-06 09:43:50 -08:00
Kiran Venkatappa
83298473ca qcacmn: Change max mgmt descriptor pool size to 512 for AP
Increase descriptors to 512 for AP platforms which needs to support 16
vaps.

Change-Id: I102599803d151986e48f00643274399db34a594f
CRs-Fixed: 2170778
2018-02-06 09:43:48 -08:00
Himanshu Agarwal
497e83eeea qcacmn: Add support to get objmgr pdev from scn handle
Add support to get objmgr pdev from scn handle in wmi event
handler functions.

Change-Id: I9003692958bf5ae47b6054f1ef8a0d6d3e33193b
CRs-Fixed: 2178124
2018-02-06 07:45:02 -08:00
Venkateswara Swamy Bandaru
d004c7e040 qcacmn: Fix meta header infomration for the mesh tx frames
Set update_peer_cache, learning_frame bits in meta header for all
the frames that are sent to firmware.

Change-Id: Id8dac0007cc87f792859e5108ddfa77746166b49
CRs-fixed: 2180223
2018-02-06 07:44:59 -08:00
Venkateswara Swamy Bandaru
58c8085e21 Revert "Revert "qcacmn: Mesh throughput enhancements""
This reverts commit I7421f3572c46ed27a2d96724b2bbbe40c0704e5f.

Change-Id: I8c44b0e893f81aadf7aa4404538776f27a579d76
CRs-Fixed: 2180219
2018-02-06 07:44:57 -08:00
Vignesh U
1f3bcf604a qcacmn: Regulatory 24 updates
1. Remove below country codes:
	ARGENTINA (5003)
	AUSTRALIA (5000)
	CANADA (5001)
	KOREA ROC 3 (412)
	UNITED STATES (841)
	UNITED STATES (842)
	UNITED STATES (843)
	BELGIUM2 (4101)
	INDIA2 (5006)

2. Update regdomain
	ARGENTINA from FCC3_WORLD to APL16_WORLD
	BELIZE from FCC3_ETSIC to ETSI8_WORLD
	CANADA from FCC3_FCCA to FCC6_FCCA
	CHILE from APL6_WORLD to APL23_WORLD
	JAMAICA from FCC3_WORLD to FCC13_WORLD
	NAMIBIA from APL9_WORLD to APL20_WORLD
	NEPAL from APL6_WORLD to APL23_WORLD
	SENEGAL from FCC3_WORLD to FCC13_WORLD
	UNITED STATES from FCC3_FCCA to FCC8_FCCA

3. Add IRAQ country code

4. MCL country Lookup table

Change-Id: I4b0468d9256ac919a2684d1980f8b017a8107248
CRs-Fixed: 2180713
2018-02-06 07:44:54 -08:00
Shaakir Mohamed
a8489d50b9 qcacmn: Increase max value of unit test arguments to 100
Increase the maximum value of unit test arguments to 100 to include
support DL OFDMA RU allocations for testing / debug.

Change-Id: I33ed8d53931e33cc00069653ea38b543339203c0
CRs-Fixed: 2175616
2018-02-05 23:42:54 -08:00
Karunakar Dasineni
b71ad04168 qcacmn: Fix link descriptor pool cleanup
Set link descriptor memory address to NULL after freeing to ensure
it is not freed again. This is seen with soc_detach called during
attach failures.

Change-Id: I7338cb8c64fcb652c95f42bcb9e998a6f043cecf
CRs-Fixed: 2160703
2018-02-05 21:39:57 -08:00
Soumya Bhat
1df9464a4d qcacmn: Handle TLV received asynchronously from Firmware
When TLVs come from TAC_thread last tlv sent by FW is
HTT_PPDU_STATS_SCH_CMD_STATUS_TLV
and in Tqm thread HTT_PPDU_STATS_USR_COMPLTN_ACK_BA_STATUS_TLV is the last
TLV to be sent. HTT_PPDU_STATS_USR_COMPLTN_ACK_BA_STATUS_TLV though can
come either in tqm thread or tac thread based on tid type.

Add change to process HTT_PPDU_STATS_USR_COMPLTN_ACK_BA_STATUS_TLV when it
comes from tqm thread and pass the populated buffer to the appropriate APIs

Change-Id: I7a064aba4e3c6814b63dcf4bb97cfb3be0194c39
CRs-Fixed: 2180477
2018-02-05 03:40:11 -08:00
Soumya Bhat
2072557943 qcacmn: Populate required info to capture header
Populate capture header with peer_id and first/last msdu
indications.

Change-Id: I8ef6f13cb9243a5f24dc014e2dd55e78ad351616
CRs-Fixed: 2177969
2018-02-05 03:40:09 -08:00
chenguo
94b76158c1 qcacmn: hotfix for qdf_nbuf_map checking logic of TSO TX
The map\unmap checking logic need to be revised. Before that, it
is needed this hotfix to unblock other test.

CRs-Fixed: 2175684
Change-Id: Ife8147526307924079be9081eaf17323f67b87c0
2018-02-05 01:31:32 -08:00
Jiachao Wu
5c20975544 qcacmn: Wrapping remove_peers_for_vdev_no_lock
* Wrap ol_txrx_vdev_peer_remove_cb, so that upper layer can invoke it.
* Remove roam_synch_in_progress from ol_txrx_vdev_peer_remove_cb.
  roam_synch_in_progress is a parameter of ol_txrx_vdev_peer_remove_cb,
  But invoker cannot pass value to it. And it is concept of wma, it's
  improper in cdp.

Change-Id: I6fa6c1b2df4919ad34ec931c4217bec0eefb2eac
CRs-Fixed: 2176165
2018-02-05 01:31:28 -08:00
bings
0c590ceba4 qcacmn: Move dfs leakage from qcacld to qcacmn
Move dfs leakage from qcacld to dfs module of qcacmn.

Change-Id: I17276fedf575f1a4029265be58d8fd088c1d956d
CRs-Fixed: 2177679
2018-02-04 21:43:31 -08:00
Arunk Khandavalli
9f8a064726 qcacmn: Invoke the legacy cb for ready event
Invoke legacy callback for ready event.

CRs-Fixed: 2179013
Change-Id: I104cc12d6fa0f65320d20ab71d6fff3a0d1d9a95
2018-02-03 15:11:20 -08:00
Srinivas Pitla
5530895779 qcacmn: Add API to get num radios
Introduce API to get number of radios

Change-Id: Idb0b6fdf9fe7e524b20016ff5cf6497ca6f13318
CRs-Fixed: 2177109
2018-02-03 15:11:18 -08:00
Sathyanarayanan Esakkiappan
38c6f988d5 qcacmn: Pass psoc/pdev object as ctrl objects to DP
pass psoc/pdev object as ctrl pointers to instead of legacy objects.
It introduces new APIs to get feature pointers of psoc/pdev.

DP attach API param modified to pass ctrl psoc (psoc object)

Change-Id: I3d83f28c3e72e5ee984a4220b9d5cf3c4522b501
CRs-Fixed: 2177109
2018-02-03 15:11:15 -08:00
Srinivas Pitla
0b9d3b241a qcacmn: Define API to get component handles
Introduce APIs set and get component handles

Change-Id: I8bfcd802f10b8ecf9908a02d492f1ad757d8f7ec
CRs-Fixed: 2177109
2018-02-03 15:11:13 -08:00
Srinivas Pitla
f6b4bc8f02 qcacmn: Use new APIs to get dp handles
SON and DP modules use new APIs to get dp handles,

Change-Id: I1639b946f1660fcaa21b76688909451dcc0f94cc
CRs-Fixed: 2177109
2018-02-03 15:11:10 -08:00
Srinivas Pitla
cc75651c34 qcacmn: Converge initial HOST FW handshake
Implement service ready, ext service ready
ready event handler, init command preparation
and other required APIs

Change-Id: Iaf707227c1e94bb492dd86bd2d0916a1cf875498
CRs-Fixed: 2177109
2018-02-03 15:11:07 -08:00
Srinivas Pitla
9af4f65f61 qcacmn: Spectral changes for target_if
Use new structures to get target_type and revision

Change-Id: Ic7cb70711b9c747159440638877a6d8c7bd46d92
CRs-Fixed: 2177109
2018-02-03 15:11:05 -08:00
Srinivas Pitla
ee54aea6d8 qcacmn: Add target_if changes to DFS
Use target_if APIs to get dfs offload capability

Change-Id: Ic23770b0407e33e4b031bbbc4a8224663ac57e32
CRs-Fixed: 2177109
2018-02-03 15:11:02 -08:00
Srinivas Pitla
3dcdf9e7a8 qcacmn: Move regulatory capabilities
Move regulatory capabilities from object manager to regulatory

Change-Id: I3e785d2c03b5f1c944827d57bc9b546c6cdcc65b
CRs-Fixed: 2177109
2018-02-03 15:11:00 -08:00
Srinivas Pitla
c7f4e03208 qcacmn: Enable target_if in object manager
1) Remove service ready members
2) Replace few macros with variables

Change-Id: I1dbfa824cbbb504ce24ef0e05869197a06760162
CRs-Fixed: 2177109
2018-02-03 15:10:58 -08:00
Srinivas Pitla
c664572a93 qcacmn: Add target_if support to WMI
Include service ready structure definition

Change-Id: I0294b99c6836fc96b0e211c855e851c8926d4823
CRs-Fixed: 2177109
2018-02-03 15:10:55 -08:00
Srinivas Pitla
c4bdc7a1df qcacmn: Add target_if changes to QDF
1) Remove redundant members
2) Change the target_if debug level to info

Change-Id: I49d5e3f2af61a87097145e9214d84882ffd439ee
CRs-Fixed: 2177109
2018-02-03 15:10:53 -08:00
Srinivas Pitla
d8781f1693 qcacmn: Define psoc/pdev target_if structures
Define psoc/pdev target_if structure and implement
alloc/free of these structures

Change-Id: Ie741d0de77c48caa843d4f2b33220a987366ba9b
CRs-Fixed: 2177109
2018-02-03 15:10:51 -08:00
Srinivas Pitla
1ddc439f46 qcacmn: Add wait_timeout API in qdf
Introduces QDF API for wait_queue_timeout() to allow
driver to use. This API helps to wait for the event for
configured time

Change-Id: I9640368120fd09b19f64f028f1eb3aab46b7c97a
CRs-Fixed: 2177109
2018-02-03 15:10:48 -08:00
Vignesh Viswanathan
089564f11d qcacmn: Add sanity check for WMA NDP extract TLV functions
In extract_ndp_confirm_tlv & extract_ndp_ind_tlv, ndp_cfg len &
num_ndp_app_info is from fw. If they are greater than the actual
length of buffer sent in FW, OOB access and info leak would occur.

Add sanity checks for ndp_cfg_len and num_npd_app_info with the
actual length of the buffer from TLV header in functions
extract_ndp_confirm_tlv & extract_ndp_ind_tlv to prevent OOB access.

Change-Id: I9ecf55a3606036d3e1f0916c948c4360475965fa
CRs-Fixed: 2176968
2018-02-03 07:42:18 -08:00
Shiva Krishna Pittala
e37387598e qcacmn: Fix the coding convention issues in Spectral simulation
Current target_if Spectral simulation layer code is not following
coding convention rules in some places.

Change-Id: I0bf0f0514b65e17ddce9fb803c647448ee4b5b3a
CRs-Fixed: 2151555
2018-02-02 14:48:12 -08:00
Shiva Krishna Pittala
318d20fc69 qcacmn: Fix the coding convention issues in Spectral target_if layer
Current target_if spectral layer code is not following coding
convention rules in some places.

Change-Id: I1c0e78c6cdbe97db657c341d74582567a29a86b0
CRs-Fixed: 2151555
2018-02-02 14:48:09 -08:00
Shiva Krishna Pittala
6273adc01a qcacmn: Fix the coding convention issues in Spectral dispatcher
Current Spectral dispatcher code is not following coding convention
rules in some places.

Change-Id: I0370ca91c8b5ac3a31ae07d6be7d18a3290790f8
CRs-Fixed: 2151554
2018-02-02 14:48:06 -08:00
Shiva Krishna Pittala
f57c0b6262 qcacmn: Fix the coding convention issues in Spectral core
Current Spectral core functionality is not following coding
convention rules in some places.

Change-Id: I2109e510351d254652cbab16f09e52ec463abebb
CRs-Fixed: 2151550
2018-02-02 14:48:03 -08:00
Dustin Brown
57a7ff2f9b qcacmn: Remove QDF_MAC_ADDRESS_STR
QDF_MAC_ADDRESS_STR has been replaced by QDF_MAC_ADDR_STR. Remove
QDF_MAC_ADDRESS_STR.

Change-Id: I810d56ef62009375422a69b66d75b4d03ddaee0f
CRs-Fixed: 2176528
2018-02-02 09:31:03 -08:00
Zhu Jianmin
181ebf835c qcacmn: Avoid memory corruption when calling cb to release cmd memory
When serialization puts the command in active queue & activates
the command, it gives the callback to command owner as part of
the activation procedure. If this activation callback fails then
serialization suppose to give a callback to the owner to release
the memory.
There are some instances observed in legacy platforms where owner
releases the memory itself as part of activation callback failure
first and gets serialization callback as well to release the same
memory. These scenario creates "double free" or "memory
corruption" phenomena.
In order to avoid this scenario, add a sanity check to make sure
command still present in active queue and memory is not released
by command owner before calling callback to release the memory.

Change-Id: Ide341e3288aadd7d6e4441a5768118cd1439d38d
CRs-Fixed: 2161678
2018-02-02 07:46:06 -08:00
Om Prakash Tripathi
f534bf9363 qcacmn: notify scan complete after comamd complete
Do command complete before invoking scan event handlers.
Its required as few scan event handlers check if scan is
active on underlying pdev which returns true as command
complete is not done yet.

Change-Id: Ia415b55e9c9a1cea71faa160c6b52c88dc8329a9
CRs-Fixed: 2180033
2018-02-02 07:46:03 -08:00
Kris Muthusamy
7b5130c6ce qcacmn: Fix host panic due to missing WMI service handles
WMI service handle is not attached for all Pdev with recent
WMI changes. Fix host panic due to missing WMI service handles
for all Pdev.

Change-Id: Ic6107120ea4a49e49b86ebbfe385e440de3f49a9
2018-02-02 07:46:00 -08:00
Manjunathappa Prakash
f9efb3d998 qcacmn: Check for TSO packet in release_skb
For TSO packets we get Tx completion for each segment,
whereas nbuf tracking code has only one entry. So remove
nbuf tracking record entry when nbuf->users is 1.

Change-Id: I7f66eb91d802c909ee0c9a0243be6415c82c211e
CRs-Fixed: 2179883
2018-02-02 05:45:49 -08:00