提交線圖

2885 次程式碼提交

作者 SHA1 備註 日期
Karunakar Dasineni
c45b01eb2b qcacmn: Fix bug in link descriptor pool setup
Fix bug in calculation of number of link descriptor entries per bank,
which was causing memory corruptions.

Change-Id: I68a86b8c644a4ef48a45ad5c98b739dced68d81d
CRs-Fixed: 2057893
2017-06-14 17:24:50 -07:00
Tallapragada Kalyan
1be17fcd6b qcacmn: replace irq name from wlan_ahb to the actual name
when we issue cat /proc/interrupts we see wlan_ahb for all
wlan interrupts, now replaced it with proper names to make
it easy to debug

Change-Id: Ib447cce7ffc2844b9f21f579aa50b6a1cfc2e001
2017-06-14 15:53:38 -07:00
Dustin Brown
a4e0fd63cc qcacmn: Add connect wakelock reason
Add a wakelock reason for wifi connect to wake_lock_reason.

Change-Id: I907b6e0aebeceee1172604b8142ba40f5fbcdcd9
CRs-Fixed: 2059884
2017-06-14 15:53:37 -07:00
Nitesh Shah
b256bb0e81 qcacmn: Add support to send DBS Scan command to firmware
This change adds support to send the DBS Scan command to
the firmware.

Change-Id: I147855690f09af03a43f85f2e57626d7f73998de
CRs-Fixed: 2029402
2017-06-14 08:23:51 -07:00
Tushnim Bhattacharyya
4b70998fcb qcacmn: Restart SAP with CSA/ECSA when gWlanMccToSccSwitchMod=3
Restart SAP with CSA/ECSA when ini variable gWlanMccToSccSwitchMod=3.
Currently ini variable setting gWlanMccToSccSwitchMod=2 was
causing SAP to restart with CSA.
Change-Id: I9a4b68cd154fa63325d146510832c2410f2dc244
CRs-Fixed: 2058567
2017-06-14 03:21:22 -07:00
Anurag Chouhan
656ec600ac qcacmn: Fix Operands size in a bitwise operation
Bitwise operation on different operands size may lead
to unexpected results, Typecast the constant to
the size of the variable while performing the bitwise
operation.

Change-Id: Ifd9939905cc9df22bb249fa9b1a6a9670cf5f113
CRs-fixed: 2047880
2017-06-14 00:58:30 -07:00
Vivek
1312d700b5 qcacmn: Add debug prints when logically deleting an object
Add prints for all the references held by the components,
for an object, when the object is logically deleted.

The prints will be enabled only when the log
level is set to Debug.

Change-Id: If0a5b97a5e250fe1e5058611026c3c7ae8500359
CRs-Fixed: 2059750
2017-06-14 00:58:29 -07:00
Himanshu Agarwal
26cfe7eb28 qcacmn: Reduce log level of DPTRACE prints to DEBUG
Presently log level of DPTRACE prints is INFO due to
which they are coming in kmsg and causing watchdog bite.

Reduce log level of DPTRACE prints from INFO to DEBUG.

Change-Id: I0124dcc461d3e05541267c8310a43ea3ce0de9af
CRs-Fixed: 2043719
2017-06-14 00:58:27 -07:00
Karunakar Dasineni
7b61c6ca74 qcacmn: WAR for CE status ring timer intr issue
Enable timer threshold interrupts for CE destination ring.

Change-Id: I851283a5ae6dc6d0f237aa90fdf401fd52794377
2017-06-12 17:19:24 -07:00
Dustin Brown
69280df6ee qcacmn: Fix bounds check in populate_mac_phy_capability
In populate_mac_phy_capability, bounds on an array are checked after
writing to the array. This leads to writing to one past the end of the
array under error conditions. Check the bounds of the array before,
rather than after, writing to it in populate_mac_phy_capability.

Change-Id: I34c7415b8fb925bea5a715214e3aa3ac8a4bacc8
CRs-Fixed: 2059155
2017-06-12 17:19:23 -07:00
Krunal Soni
95538ddc26 Revert "qcacmn: Provide Rx LDPC support for 2G STA"
This reverts change-id: Ib0183fea06619056c61e297d3fcfd82d91775dcd.

CRs-Fixed: 2046542
Change-Id: I558d2d78683133fbd8ab97260aa484a997bd3e7e
2017-06-12 12:41:42 -07:00
Venkateswara Swamy Bandaru
8c0030f8e6 qcacmn: Add support for wmi_service_chan_load_info
Added support for wmi_service_chan_load_info which is newly
added in wmi service bitmap.

Change-Id: I95905ac95c5305f8f84ec512ecf1859955704193
CRs-Fixed: 2057719
2017-06-12 09:07:06 -07:00
Om Prakash Tripathi
62d0380257 qcacmn: Add flush callback for scan module
Components are required to provide flush callback to scheduler which
gets invoked for all pending commands in scheduler queue when scheduler
thread is going down.
Added flush callback for scan so that command cleanup can be done.

Change-Id: I990a5e14db1498e13a2eeeaa605b44593b8442f1
CRs-Fixed: 2056542
2017-06-10 23:00:27 -07:00
Vivek
9e4783cd41 qcacmn: Assert when regsiterng second handler for objects create/destroy
Assert when there is a second registration for any of the psoc
pdev vdev  & peer create/destroy handlers.

As seen in IR-224607, where there was a second registration
for psoc create handler which failed,
and the first one was already stored in psoc object,
and when psoc was trying to
call the first  handler we see crash.

Change-Id: I7534c7cf2fb9d86329938dcf080362bc719ab582
CRs-Fixed: 2053892
2017-06-10 21:35:51 -07:00
Abhijit Pradhan
7dc39001a5 qcacmn: Avoid using "ic_" prefix in common component code
In DFS component the prefix "ic_ " was being used to represent ieee80211
channel related variables. Now  use prefix "dfs_ch_" instead of "ic_".

Change-Id: I2f739dc22ad89b7e410c06462876a22c2a615883
CRs-Fixed: 2056957
2017-06-10 03:28:24 -07:00
Dustin Brown
f3351d97d7 qcacmn: Expose scan_backoff_multiplier for NLO/PNO
For Network Listen Offload and Perfered Network Offload, the fast scan
period is multiplied by scan_backoff_multiplier after max cycles have
occurred. Expose scan_backoff_multiplier to consumers of the WMI API,
so this parameter can be configured.

Change-Id: I478fb61cd096d3496205f4ff556e180dabf99b77
CRs-Fixed: 2035201
2017-06-09 21:36:26 -07:00
Yu Wang
9d9fa19d83 qcacmn: add 'const' for 'section' in struct TGT_REG_TABLE
To fix the following compilation error:
warning: assignment discards ‘const’
qualifier from pointer target type, at:
reg_table->section = ar6320v2_reg_table
in ol_fw.c.

It's because the register table is a
const array, while reg_table->section does
not point to a const.
So add 'const' for 'section'.

Change-Id: Idfef358817241e73d660d2730b74c2ca88e23af1
CRs-Fixed: 2017786
2017-06-09 17:23:40 -07:00
Sreelakshmi Konamki
cb5d59b696 qcacmn: Fix different types of case labels used in switch statement
Fix to update same enum wmi_scan_event_type types in switch statement
of extract_vdev_scan_ev_param_tlv()

Change-Id: I4817e57f2a9f309581392faadc1640c05d7fcf2b
CRs-Fixed: 2049514
2017-06-09 17:23:13 -07:00
karuna
b34c7b7c45 qcacmn: Add print functions to print HTT EXT TLVS
Read the TAG type from the buffer and call the corresponding
TLV display function

CRs-Fixed: 1114641
Change-Id: Ifec04b87af84229754f598fffa689979ff253f12
2017-06-09 16:12:52 -07:00
Wu Gao
c6d738e3ce qcacmn: fix implict memory leak
Fix implict memory leak in P2P target if layer.

Change-Id: Ic7dbf6673b67ec34e060b785c59dd3a99b855f6d
CRs-Fixed: 2055496
2017-06-09 00:05:56 -07:00
Houston Hoffman
eab19b3b61 qcacmn: Allocate hif_napi_info structures dynamically
The hif_napi_info structure has a dummy netdev included.
The dummy netdev is large.  Avoiding unneeded allocation
save 30kb of memory.  Dynamically allocating the
hif_napi_info structures also reduces the size of
the contiguous memory needed for the parent structure.

Change-Id: I58044e5b1d0a834b3b6d17f66d6f4b2462873f2a
CRs-Fixed: 2016355
2017-06-08 15:23:21 -07:00
Venkata Sharath Chandra Manchala
99868ac3ca qcacmn: Unlock the tso segment descriptor pool
Unlock the tso segment and tso common segment descriptor
pool if there are no descriptors available in the freelist.

Change-Id: I5c09e381769cdaa914e03ced24dccae8aea90897
CRs-Fixed: 2042950
2017-06-08 15:23:19 -07:00
Nandha Kishore Easwaran
7249f0df2c qcacmn: Export qdf_trace_hex_dump
Export qdf_trace_hex_dump to make it available in other module.

Change-Id: Ib59439d64ad31dc23e46caf068914dd0601aa248
CRs-fixed: 2058321
2017-06-08 14:23:07 -07:00
Dustin Brown
4a3b96b4f1 qcacmn: Pause CDP timer during bus/runtime suspend
Converged datapath currently uses a polling timer to check for pending
traffic. As part of suspend, pause the polling timer to avoid any
invalid accesses.

Change-Id: I6b4654c6737c08475443d021c04ba9385d084d74
CRs-Fixed: 2047505
2017-06-08 13:46:55 -07:00
Amar Singhal
2e55c111a8 qcacmn: Implement 11d state machine
Regulatory component needs to listen to vdev messages in order to track
whether a master mode vdev is getting created or destroyed. It is also
used to kick-start the state machine. Also re-run the state machine when
user-space country code is set.

Change-Id: I5112396314a936f84dad2f0e07329f9cb237aa78
CRs-Fixed: 2048784
2017-06-08 13:46:53 -07:00
Kiran Kumar Lokere
82c8645b38 qcacmn: Add support for 11d FW commands and events
Add support to send 11d scan start and stop commands to FW and
process the 11d new country update event from FW.

Change-Id: I5c1588cfb5af672cdb5738784de1bd0b83bdbe77
CRs-Fixed: 2048784
2017-06-08 13:46:51 -07:00
Kiran Kumar Lokere
4c7ead0ab6 qcacmn: Restore the wlan_reg_get_current_chan_list api
Restore the wlan_reg_get_current_chan_list public service
api.

Change-Id: I3a29b4b4ce50bc2cf10484faf834cc9765eb1167
CRs-Fixed: 2048784
2017-06-08 13:46:50 -07:00
Nitesh Shah
7c56c2335e qcacmn: Provide Rx LDPC support for 2G STA
Currently Rx LDPC is disabled for STA(2G) connection due to
PHY-B hardware limitation. PHY-A can still support RxLDPC, so
make changes such a way that when ever STA is on 2G band and
current hardware mode is non-dbs then enable the Rx LDPC and if
STA is on 2G band and current hardware mode is dbs then disable the
RX LDPC.

Change-Id: Ib0183fea06619056c61e297d3fcfd82d91775dcd
CRs-Fixed: 2046542
2017-06-08 11:34:40 -07:00
Ravi Joshi
52569e2a83 qcacmn: Extend radiotap header to include HE parameters
Extending monitor/radiotap header structure to include
high-efficiency (HE) headers.

CRs-Fixed: 1113187
Change-Id: I841dcdff3a91f1c70c3b0aac0a555c2f4b40aed7
2017-06-08 11:34:39 -07:00
Vivek
57522058e9 qcacmn: Add target information details to target_iflayer
Add a new target_psoc_info structure in the target if layer with the
following members

wmi_handle
target_type
target_version
target_revision

Also update the psoc data member tgt_if_handle to point to target_psoc_info
instead of pointing to WMI handle directly.

Updated all calls to psoc_get_tgt_if_handle to target_if_get_wmi_handle
which inturn calls psoc_get_tgt_if_handle and getting the tgt_if_handle
returns the WMI handle

CRs-Fixed: 2048277

Change-Id: Icb02d5f3c09f7f9bb7eff4d814ef3ce90ddb84bd
2017-06-08 11:34:37 -07:00
Sandeep Puligilla
d9ac9a2abe qcacmn: Increase scan cancel sync time
Scan command timeout value is 30secs and scan
cancel sync waiting time is 5sec due to this
in failure scenario scan timeout callback is
getting triggered very late and causing crash
in HDD.

Increase scan cancel sync timeout value equal to
scan command timeout value.

Change-Id: I7b98d26ac5d97039714a431030e47c463d3a670e
CRs-Fixed: 2048167
2017-06-06 10:26:18 -07:00
Vivek
2c86b213c6 qcacmn: Replacing qdf_print with QDF_TRACE
Replace all object manager qdf_prints with obj_mgr_err/obj_mgr_info
based on QDF_TRACE with the right log levels.

Added additional debug information like
Pdev_id
Vdev id
Peer MAC address

Change-Id: I96d96182176d332b9fbdb202305d29c08ddc0d18
CRs-Fixed: 2026537
2017-06-06 01:26:00 -07:00
Nandha Kishore Easwaran
e43583f3c1 qcacmn: Dptrace changes to take per pdev stats
Initial changes for adding dp trace in common framework. Modified dp_trace
record sturcture to include pdev_id as a member to take per_pdev stats.
Dump command has been modified to dump stats per pdev.

Change-Id: I8aede0bd8ab6f381c7fa0542d077bdd8bf66b3d2
CRs-fixed: 2038944
2017-06-05 22:52:34 -07:00
Venkata Sharath Chandra Manchala
d6ad0d5c49 qcacmn: Print tx descriptor id
Print the tx descriptor id when a new
descriptor is allocated for a skb.

Change-Id: I7326a79149de124edc8ebf5b2b0d6349e385b321
CRs-Fixed: 2054538
2017-06-05 19:28:57 -07:00
Sathish Kumar
c6cd8dc07d qcacmn: Add API to check if HT rates is allowed
Add API to check if HT rates are allowed based on the cipher and mode

Change-Id: I7a24dcaf82f92abf9e9d6c7d7bbd3818e955c330
CRs-Fixed: 2053603
2017-06-05 11:41:41 -07:00
Kiran Venkatappa
1c7d897d9c qcacmn: Add support to extract pdev_id from utf seg info
pdev_id is required to get the pdev object from utf event. Extract
pdev_id from the seg info within utf event's data stream.

Change-Id: Id8d3263a7f33d234c7cb43c99a0a44f28df5724d
CRs-Fixed: 2055128
2017-06-05 11:41:39 -07:00
Ajit Pal Singh
7c24ceadfb qcacmn: Fill the frequencies in the SCAN req correctly
Out of the list of scan channels passed by the application,
if the driver skips some channels, then the frequency list sent to
firmware was not correctly filled.
For example if supplicant passes channels 1, 6, 11 and we want to skip
1 and 6, then "req->scan_req.chan_list[0] = 0,
req->scan_req.chan_list[1] = 0 and req->scan_req.chan_list[2] = 11".
It should have been "req->scan_req.chan_list[0] = 11"
Fixes the same.

Change-Id: Idcef090169b8848c2576e620aa0fbe93918c219c
CRs-fixed: 2053866
2017-06-05 11:41:38 -07:00
Ajit Pal Singh
8c63d04d3b qcacmn: Add vdev-mlme caps MASK for restrict_offchannel
Adds new vdev-mlme caps mask WLAN_VDEV_C_RESTRICT_OFFCHAN for
tracking restrict offchannel setting.
When this bit is set any operations which can cause the AP/GO
to leave the operating channel are avoided.

Also reads vdev-mlme caps:WLAN_VDEV_C_RESTRICT_OFFCHAN in function
policy_mgr_is_dnsc_set() to determine if Do_Not_Switch_Channel
is enabled.
Moves declaration of policy_mgr_is_dnsc_set() to
wlan_policy_mgr_api.h so that it can be used outside of policy manager.

Change-Id: I53013af5f4c72917f862630e63333951ec75ce8c
CRs-Fixed: 2050999
2017-06-05 11:41:36 -07:00
Ajit Pal Singh
83eddc57a1 qcacmn: Add wifi configuration attribute restrict offchannel
This commit defines an attribute to
QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION -
QCA_WLAN_VENDOR_ATTR_CONFIG_RESTRICT_OFFCHANNEL which can be used to
restrict offchannel operations on the AP/GO interface.

The goal is to restrict any operations which would cause the AP/GO to
leave its operating channel.

Change-Id: I88c2edb9456105068d0907b47dcd78cc09dc2428
CRs-Fixed: 2050999
2017-06-05 11:41:35 -07:00
Ashish Kumar Dhanotiya
a55792d148 qcacmn: Race condition while using pkt log buffer
There can be a race condition if the pktlog_buf inside pktlog APIs,
is accessed simultanously from two threads.
To prevent this use mutex in the caller functions of pktlog APIs.

Change-Id: Iea6e3cd28a7a347c1753fe71d0646fb43ee184fa
CRs-Fixed: 2047150
2017-06-05 05:29:56 -07:00
Sathish Kumar
b5621e7d20 qcacmn: Add and modify extract APIs for TBTT offset and SWBA events
Recently, FW changes were implemented to support WMI resource config for
multi-radio. As part of this, the TBTT offset and SWBA events were modified
to support increase in the number of vdevs per SOC.

Brief description of the changes with respect to TBTT offset
------------------------------------------------------------

Converged FW will send extended TBTT offset event when the number of vdevs
configured is greater than 32 and will continue to send normal TBTT offset
event when the number of vdevs configured is less than 32. Legacy FW will
continue to send vdev map and tbttoffset list array as part of the TBTT
event.

Extraction API is added to extract the number of vdevs configured for both
legacy and converged FW. Number of vdevs is sent directly by the FW for
extended TBTT offset event but sent as vdev map for the normal TBTT offset
event. In order to handle normal TBTT offset event, extraction API for
normal TBTT event adds logic to convert vdev map into the number of vdevs
configured.

Extraction APIs are added to extract vdev id and tbttoffset information per
vdev that are configured. The vdev id information is sent as vdev map and
tbttoffset list as an array for normal TBTT event and as an array of
structures containing vdev id and tbttoffset in the case of extended TBTT
event. In order to support normal TBTT event based on num vdevs, extraction
API for normal TBTT eventadds logic to determine the vdev id from vdev map
based on the index(running through 1 to total number of vdevs) passed from
the driver.

Brief description of the changes with respect to SWBA
-----------------------------------------------------

Converged FW will send additional information num vdevs and vdev id
embedded in tim info and p2p noa TLVs for SWBA event. Legacy FW will
continue to send vdev map and array of tim info and p2p noa desciptors.

Extraction APIs is added to extract the number of vdevs configured for both
legacy and converged FW. Number of vdevs is sent directly by the FW for
SWBA event in the case of converged FW and as a vdev map in the legacy FW.
In order to handle legacy FW, extraction API for non-TLV adds logic
to convert vdev map into number of vdevs configured.

Extraction APIs are modified to extract newly embedded vdev id information
in tim info and p2p noa descriptors. The vdev id information is sent as
vdev map for legacy. In order to handle legacy FW, extraction API for
non-TLV adds logic to determing the vdev id from vdev map based on the
index (running through 1 to total number of vdevs) passed from the driver.

Change-Id: Ibf84adbb1c526321ec031d5539aff66dcbd1315b
CRs-Fixed: 2053628
2017-06-02 20:38:50 -07:00
Naveen Rawat
11d820357e qcacmn: Add implementation for WMI_OEM_DMA_RING_CFG_REQ_CMDID
Program the DMA ring configuration to firmware using
WMI_OEM_DMA_RING_CFG_REQ_CMDID.

Change-Id: I99e5b3a369d7eeee1d1fe41782285ed54cdb82cf
CRs-Fixed: 2053958
2017-06-02 14:47:33 -07:00
Naveen Rawat
7c3c746398 qcacmn: Handle CIR/CFR capture in WMI_OEM_RESPONSE_EVENT
Add handling of indirect data in WMI_OEM_RESPONSE_EVENTID.
This data then needs to be sent to userspace app.

Change-Id: Id1661f23ff000b33da9640cc44ea7be25e9f8dc0
CRs-Fixed: 2053958
2017-06-02 14:47:31 -07:00
Naveen Rawat
ba24c486a3 qcacmn: Initialize DMA rings using hal_srng APIs
Initialize DMA rings for CIR/CFR capture and program them
to firmware.

Change-Id: I41c32cddc3fc0f7f0a972bf69ecbacfc9f0626f7
CRs-Fixed: 2053958
2017-06-02 14:47:29 -07:00
Manjunathappa Prakash
ad866513f5 qcacmn: Do not free the src buffer in __qdf_nbuf_cat()
It is callers reponsibilty to free the src nbuf if concat succeeds.

Change-Id: Iaf83524924e312bf819483de38603241f45170a5
CRs-Fixed: 2047585
2017-06-02 14:47:28 -07:00
Wu Gao
56e84390e2 qcacmn: support presence request
Support presence request frame in P2P component.

Change-Id: I21c1e63742396f328da1b2c7b2446abc4c35ef52
CRs-Fixed: 2039628
2017-06-02 14:47:26 -07:00
Wu Gao
47f49f9362 qcacmn: Support category vendor specific frame
Remove action frame type of presence response since parse incorrect,
Support category vendor specific action frame.

Change-Id: I7c75ed91dc14496d682cd9ce2065589271a1b71b
CRs-Fixed: 2039615
2017-06-02 14:47:25 -07:00
Yue Ma
34bbc8a212 qcacmn: Set wow_params explicitly for runtime PM
For runtime PM, set proper wow_params instead of using default.

Change-Id: Icc3d7b2333b485b7fe9ca6b0d30066cc5795d912
CRs-fixed: 2023358
2017-06-02 14:47:23 -07:00
Dustin Brown
5127241061 qcacmn: Remove invalid vdev_id workaround in PMO
A previous change included a workaround for HDD sending an invalid
vdev_id to PMO during NS/ARP configuration. Since the original HDD
issue has been resolved, remove the workaround in PMO.

Change-Id: I9507fd40e25943cfb855419687a1857bdda7331f
CRs-Fixed: 2051314
2017-06-01 16:01:04 -07:00
Manikandan Mohan
b01696ba61 qcacmn: Fix mem leaks in datapath
Fix mem leaks reported in datapath code during module unload.

Change-Id: Ife95426df11d61b253110ed7153fe8f8981006ed
CRs-fixed: 2044907
2017-06-01 15:21:34 -07:00