Commit graph

1,681 commits

Author SHA1 Message Date
Srinivas Pitla
fa5290fe30 qcacmn: Initial version of UMAC object manager
Define object manager framework. The object manager framework implements
the management of UMAC objects(PSOC/PDEV/VDEV/PEER). All components of UMAC
have to register their APIs with object manager to be invoked on object
creation/deletion.

It also provides public APIs to retrieve objects.

CRS-Fixed: 1096009
Change-Id: If1465aed8b5e05e23ee0e1d9c9818dbf92fbe55a
2016-12-17 11:05:36 -08:00
qcabuildsw
5ef1bb1ff9 Release 5.1.1.5X
Release 5.1.1.5X

Change-Id: I76366f831465903a0451af705de42b604c44a1d8
CRs-Fixed: 688141
2016-12-16 20:46:33 -08:00
Rajeev Kumar
a25bb90e34 qcacmn: Add kernel doc in scheduler_core.h
Add kernel doc in scheduler_core.h

Change-Id: I2b4231474d7c901af33cd85c78c9433721cc0529
CRs-Fixed: 1102090
2016-12-16 20:46:32 -08:00
Rajeev Kumar
e91c6cf5c9 qcacmn: Separate qdf event complete and exit APIs
QDF already has event complete API. Define a separate new
API for exit in QDF and re-use qdf_event_set for event
completion.

Change-Id: If332425ee71b0a4759e0550a33add35e61680309
CRs-Fixed: 1101614
2016-12-16 20:46:31 -08:00
Rajeev Kumar
4ae759f7b6 qcacmn: Fix array out of bound write in scheduler queue registration
Scheduler is directly assigning last incremented queue index without
validating if max number of message queues are already registered.
Add sanity check to make sure after registering max no of message
queues new queue registration request fails gracefully.

Change-Id: I0c608d06e05d25a2f8003630d04a74b6a30802e8
CRs-Fixed: 1102097
2016-12-16 20:46:30 -08:00
qcabuildsw
b25a04daa5 Release 5.1.1.5W
Release 5.1.1.5W

Change-Id: I9bfe4a2e77fa5ec424290d8657ae6532dae7a60c
CRs-Fixed: 688141
2016-12-16 16:44:58 -08:00
Manikandan Mohan
360f646c3b qcacmn: Add SAR power limit configuration
There is a regulatory requirement for Specific Absorption
Rate (SAR) whereby the phone transmit power is reduced
when it is determined that the phone is in close
proximity to the body.
Implement a vendor command interface to set SAR power
limts dynamically.

Change-Id: I0a214a2af780e9dd8c381c4e9eaa7d8cab6ef853
CRs-Fixed: 1098102
2016-12-16 16:44:57 -08:00
qcabuildsw
755426e480 Release 5.1.1.5V
Release 5.1.1.5V

Change-Id: Ic147cf5167638adc5bce82edb813dec51319c0bf
CRs-Fixed: 688141
2016-12-16 10:56:25 -08:00
Pamidipati, Vijay
30dc8f2e1c qcacmn: Fix few bugs in HIF DP Interrupt handling
Use disable_irq_nosync instead of disable_irq, as it is invoked
from handler for same IRQs which have to be disabled.
disable_irq waits for completion of IRQ thus causing a deadlock.
Initialize an unitialized variable in hif and fix the
DP interrupt names to match with the ones in dts file

CRs-Fixed: 1099955
Change-Id: I311eebb863fe3fb4d8c399e0817bc7d9af0b0e31
2016-12-16 10:56:23 -08:00
qcabuildsw
79b3ec1ac6 Release 5.1.1.5U
Release 5.1.1.5U

Change-Id: Ie67accf323988fa1949632e706c74e005ab16f67
CRs-Fixed: 688141
2016-12-15 23:17:14 -08:00
Yun Park
e23f9dd9c6 qcacmn: IPA uC: Round down Tx/Rx buffer count to nearest power of two
qcacld-2.0 to qcacmn propagation

In certain situation, allocated Tx buffer count could be an arbitrary
number, so not power of two. This could violate F/W ring buffer count
requirement. If allocated Tx buffer count is not power of two, round
down it to the nearest power of two.
The same change is also applicable for INI parameters IpaUcTxBufCount
and IpaUcRxIndRingCount.

Change-Id: I7c119886a669c79adbc7bd9b2c1c1d93de41cf72
CRs-Fixed: 973723
2016-12-15 23:17:13 -08:00
qcabuildsw
a504cdc344 Release 5.1.1.5T
Release 5.1.1.5T

Change-Id: I1a0a88d9513ac49d590d4b4e48879a2f313084b2
CRs-Fixed: 688141
2016-12-15 03:44:07 -08:00
Nandha Kishore Easwaran
858a769d6b qcacmn: Fix and Clean up code under NAPI_YIELD_BUDGET_BASED
Enable interrupts after processing the available
rx buffers on CE5 or complete napi after reaching the budget.

NAPI_YIELD_BUDGET_BASED:
This flag enables napi to return once the budget is exceeded,
or after processing the available packets and re-enables
interrupt and this feature doesn't honor the napi
yeild time configured.Napi budget will be configured as
256 for this feature

Change-Id: I75ac75ede46124bc773e3625173f33ca29da8142
CRs-fixed: 1094034
2016-12-15 03:44:06 -08:00
qcabuildsw
db5e8c34f9 Release 5.1.1.5S
Release 5.1.1.5S

Change-Id: I3b13fd497745ccd81963612aa6f329d4ce5c3867
CRs-Fixed: 688141
2016-12-14 21:20:22 -08:00
Rajeev Kumar
d2c81426f0 qcacmn: Rename scheduler_resume_complete to scheduler_resume
Rename scheduler_resume_complete to scheduler_resume as an API
needs to hide its internal implementation from external world.

Change-Id: I1fe65054a3f293235b13b25768724ed6b8b7af66
CRs-Fixed: 1101516
2016-12-14 21:17:39 -08:00
qcabuildsw
5ff1c4fdcc Release 5.1.1.5R
Release 5.1.1.5R

Change-Id: I48612715ed6da757e51c8442205189e83381f0e4
CRs-Fixed: 688141
2016-12-14 21:17:24 -08:00
Krunal Soni
616c11233a qcacmn: Delete obsolete CONFIG_MCL from qdf_mc_timer.c
Delete obsolete CONFIG_MCL from qdf_mc_timer.c as cds_mc_timer.h/.c
are going away.

Change-Id: I9aaa7301ce46b001a1ce99ea46d5d92db0cfe73c
CRs-Fixed: 1095867
2016-12-14 21:17:05 -08:00
qcabuildsw
d95f9214c3 Release 5.1.1.5Q
Release 5.1.1.5Q

Change-Id: I7800d4c4ac0ed19dbb307850d425adc5446c2e6a
CRs-Fixed: 688141
2016-12-13 22:05:35 -08:00
Dustin Brown
782a07e2bc qcacmn: Port 3-stage suspend/resume to PCI
SNOC bus suspend/resume uses a 3-stage process. Port the same process
to PCI code paths by adding a hif_pci_bus_suspend_noirq callback for
the suspend case and a dummy callback for the resume case.

Change-Id: I83d8c5e10aecde6812aa8164f93c8f1628a33101
CRs-Fixed: 1098552
2016-12-13 22:05:34 -08:00
qcabuildsw
8fba1977aa Release 5.1.1.5P
Release 5.1.1.5P

Change-Id: I3fcc9efd890a43bb038b773f1f72332297573752
CRs-Fixed: 688141
2016-12-12 23:40:08 -08:00
Kiran Venkatappa
8524fdd6f8 qcacmn: Fix compilation for r96 headers
Add HW version check to remove referencing macros
not available in r96 headers. RING_ID_BMSK seems to be
removed in r96, Use it only for older version hw headers.

Change-Id: I0467a900317581ae7040ab0baae288ed9a905d60
CRs-Fixed: 1090092
2016-12-12 23:40:07 -08:00
Kiran Venkatappa
e516b08079 qcacmn: Fix compilation for r96 headers
Add HW verision check to access proper macros for host common interrupts.

Change-Id: I6cba4a17913c23f48c62b7917166b7c0db77c06b
CRs-Fixed: 1090092
2016-12-12 23:40:06 -08:00
qcabuildsw
40c69d9fec Release 5.1.1.5O
Release 5.1.1.5O

Change-Id: I33160e10908ea2a885967b68b0652048f227b131
CRs-Fixed: 688141
2016-12-12 22:24:35 -08:00
Krunal Soni
66eabcfdcc qcacmn: Add control path scheduler to common driver
Add control path converged scheduler functionality to common
driver.

Change-Id: I2087b985b4bed661c03e667dbcc082714add1266
CRs-Fixed: 1095867
2016-12-12 22:24:34 -08:00
qcabuildsw
d729f3fd28 Release 5.1.1.5N
Release 5.1.1.5N

Change-Id: I74ecf156e5de4926ba5ed64d0fbff323355b3f55
CRs-Fixed: 688141
2016-12-12 14:43:36 -08:00
Himanshu Agarwal
c61fdf6ea0 qcacmn: Change time format and default configuration in DPTRACE
Fix below in DPTRACE feature:
1) Change timestamp in DPTRACE records to hr:mm:sec.usec format.
2) Change default configuration in qdf_dp_trace_clear_buffer()
   to match that of qdf_dp_trace_init().

Change-Id: Ibad674e3b94a2c7ac5cbefa5fc18efb48f6ca694
CRs-Fixed: 1098928
2016-12-12 14:43:35 -08:00
qcabuildsw
fb66d2f242 Release 5.1.1.5M
Release 5.1.1.5M

Change-Id: Ide0e144e3f65845fcf10265197a197ca5ec4e63d
CRs-Fixed: 688141
2016-12-12 12:58:14 -08:00
Kiran Venkatappa
88a68589e2 qcacmn: Add proper scan req flags and bssid in scan request
scan req flags for FW should be set based on the flags in request.
scan request is assuming num_bssid as one and copying single
mac_address but it should support more bssid and hence change this
to add multiple bssids.

Change-Id: I3fbad3353c1a9904847e09c527254e104cb6db71
CRs-Fixed: 1099421
2016-12-12 12:58:13 -08:00
Kiran Venkatappa
66080493b0 qcacmn: Use correct flag to set DFS in vdev start request
Currently, WMI is using dfs flag offset that needs to be set from upper
layers. But these offset is defined by wmi and it is correct to set it
from WMI itself.

Change-Id: Ib9ff2122ed5b92fb21b01a87f0e99c3a54d1a83c
CRs-Fixed: 1099416
2016-12-12 12:58:12 -08:00
qcabuildsw
2f65223d34 Release 5.1.1.5L
Release 5.1.1.5L

Change-Id: I46cd8534ad39ca495ba43ed0095fad735d37d8cf
CRs-Fixed: 688141
2016-12-11 10:57:47 -08:00
Houston Hoffman
3aa074f338 qcacmn: override irq disable/enable for msi mode
irq_enable/disable may be different for legacy srng and msi
vs single line interrupts.  Provide a place to insert the interrupt
mitigation scheeme.

Change-Id: I66559a404b0c2105da143215203c04f2311a763a
CRs-Fixed: 1093364
2016-12-11 10:57:46 -08:00
Houston Hoffman
15010778ea qcacmn: Use pld msi allocation for CE
Use the msi vectors allocated by the platform driver
for the copy engine interrupts.

Change-Id: I3fa96daa3222524ffe31659c12b3c0f5a2725e18
CRs-Fixed: 1093364
2016-12-11 10:57:45 -08:00
qcabuildsw
9e2bb31af7 Release 5.1.1.5K
Release 5.1.1.5K

Change-Id: If059e48f6e93073ba4a57153f5e4ced5e346bfe3
CRs-Fixed: 688141
2016-12-10 18:07:32 -08:00
Houston Hoffman
a15d0b0eae qcacmn: Do wlan_disable/enable for QCA6290
QCA6290 needs the platform QMI handshake to kick off
fw.  Platform will have logic to not do QMI for targets/
platforms that don't support QMI.

Change-Id: I9643d778f25e4059baae903876d44dd2c77d9aaa
CRs-Fixed: 1097382
2016-12-10 18:07:31 -08:00
Houston Hoffman
d0620a35b3 qcacmn: Support CONFIG_PLD_PCIE_INIT
CONFIG_PLD_PCIE_INIT indicates that pcie initialization
and io remap have allready been done by the platform driver,
and should not be re-done by the wlan driver.
This is to facilitate shared controll between the MHI & wlan
drivers.

Removes a call to pci_disable_msi that might be needed in the
normal case.

Change-Id: I5c1eb72d998f53e3bb2e6751008d8a0c5c46a516
CRs-Fixed: 1097340
2016-12-10 18:07:29 -08:00
Houston Hoffman
6a5fff6bec qcacmn: Conditionaly compile hif_pci_probe_tgt_wakeup
hif_pci_probe_tgt_wakeup has been made static, so the compilation
must follow its conditional use.

Change-Id: I4c289ed7c7bb8c5b6fbde265c37dc0c3665b81fa
CRs-Fixed: 1096402
2016-12-10 18:07:28 -08:00
qcabuildsw
91b3c3925b Release 5.1.1.5J
Release 5.1.1.5J

Change-Id: I2dd3416af44934cfb1b3f16dcedce46cc7b7e412
CRs-Fixed: 688141
2016-12-09 17:51:54 -08:00
Srinivas Girigowda
9a88de77d7 qcacmn: Fix incorrect data type assignment
In function wma_get_buf_extscan_change_monitor_cmd() and
wma_get_buf_iextscan_hotlist_cmd(), numAp is of type uint32_t
but it is assigned to variable numap of type int.

Fix this by making 'numap' also of same type 'uint32_t'.

Change-Id: I02502f05d2305f62cbde47db2893770673d19fc3
CRs-Fixed: 1096384
2016-12-09 17:51:53 -08:00
Srinivas Girigowda
089c33e336 qcacmn: Add boundary check for number of APs
Add boundary check for number of APs.

Change-Id: I41e36d11bc3e71928866a27afc2fbf046b59f0f5
CRs-Fixed: 1095770
2016-12-09 17:51:51 -08:00
Srinivas Girigowda
c606ed04ef qcacmn: Fix header include bug
This is a qcacld-2.0 to qcacld-3.0 propagation.

In file ar9888def.h error: '_AR9888DEF_H_' is used as a header guard here,
followed by #define of a different macro [-Werror,-Wheader-guard]

ar9888def.h: note: 'AR9888__AR9888DEF_H_' is defined here; did you mean '_AR9888DEF_H_'?

Fix the header file include guard properly.

Change-Id: Ic05a829eadbf974598370c494a5cff10201ec600
CRs-Fixed: 1091052
2016-12-09 17:51:50 -08:00
qcabuildsw
ed91973572 Release 5.1.1.5I
Release 5.1.1.5I

Change-Id: If6f20e36dc5c0f19564a827cf4b7ac09c04200e4
CRs-Fixed: 688141
2016-12-07 16:53:35 -08:00
Ankit Gupta
20e5958da3 qcacmn: Disable TQM bypass
Disable TQM_BYPASS_WAR flag from napier platform.

Change-Id: I0b17dad372204721058109b317389d4283e33a5c
CRs-Fixed: 1089685
2016-12-07 16:53:34 -08:00
qcabuildsw
13a1dee368 Release 5.1.1.5H
Release 5.1.1.5H

Change-Id: Id3843dfbcb122beddb0203e90dfcbb9d15cec261
CRs-Fixed: 688141
2016-12-07 14:38:41 -08:00
Pamidipati, Vijay
b90a79ec7d qcacmn: Fix packet offset computation logic in Tx path
Fix the packet offset value filled in Tx descriptor.
Also fix a crash in Tx completion handler because of storing wrong
pointer in tx descriptor chain (next)

CRs-Fixed: 1088985
Change-Id: Ie2895700e0bb7e6f4b7b09a01da07a17d1c41160
2016-12-07 14:38:40 -08:00
qcabuildsw
728434f96c Release 5.1.1.5G
Release 5.1.1.5G

Change-Id: I600010540a27b801f6e4ccacec7e88415abcd6ef
CRs-Fixed: 688141
2016-12-07 03:09:11 -08:00
Yingying Tang
d89217468d qcacmn: Add support for QCA9379 SDIO & USB boards
Propagate from qcacld-2.0 to qcacmn

This change add the corresponding support for QCA9379 which has new chip ID.

Change-Id: I252b75d9ae7b760a6a8f6931b4db753f50d3baba
CRs-Fixed: 990755
2016-12-07 03:09:10 -08:00
qcabuildsw
bd37c7d1f5 Release 5.1.1.5F
Release 5.1.1.5F

Change-Id: I2ee335fa1522f290669a3e583f5c2f7bad7cbb5f
CRs-Fixed: 688141
2016-12-06 14:50:53 -08:00
Pamidipati, Vijay
dfe618e3b5 qcacmn: Add a new version of hal_srng API does not update HW pointer
Add hal_srng unlock API to be  used in completions reap funtion (CE) in
which HW head pointer/tail pointers need not be updated

CRs-Fixed: 1088985
Change-Id: Ia54b144e5dfd0b37bbabf992c764697928ddf76d
2016-12-06 14:50:53 -08:00
qcabuildsw
474bc4beb5 Release 5.1.1.5E
Release 5.1.1.5E

Change-Id: Ib1300e2c50c2b7d8cd8df5925f3b2a80a0a2b921
CRs-Fixed: 688141
2016-12-06 13:18:23 -08:00
Vijay Pamidipati
c84501ab24 qcacmn: Correct WLAN Configuration values for DP
Correct the configuration values for number of Tx and Rx
descriptors to be used for DP

CRs-Fixed: 1088985
Change-Id: Ica8e5021e7bd5ba83fbe3bd34243bfff4089353a
2016-12-06 13:18:22 -08:00