Replace void pointer handles for pdev and vdev with
abstract structure handles in cdp.
New file cdp_txrx_handle.h has the abstract
structure declarations.
Change-Id: I333e6ea5e699e7cebbfc6281faf7f07c0aee4e2a
CRs-Fixed: 1109835
Introduce new file cdp_txrx_handle.h to hold the
abstract structure handles for pdev and vdev
Change-Id: Ia8c0a5b1591c630390e7b367e1eceee2bd0517ba
CRs-Fixed: 1109835
This debug framework maintains module/API level counters and increments on
get_ref and decrements on release, on release if the caller count is 0
exception would be thrown.
This would help to identify any caller is releasing the reference more times
or not releaseing the reference
Change-Id: Ib3bc0dd5fb28587033142291a785c20f8775f9a0
CRS-Fixed: 1096009
This change implements ref count mechanism, before accessing/storing object,
its ref count has to be incremented to avoid "use after free" scenarios.
1) Increments ref count of each object on its creation
2) Increments parent object on creation of child object (ex: on peer creation
vdev object ref count gets incremented)
3) On get_obj() API, caller will be returned object after incrementing ref cnt
Change-Id: Ic01cb3217881d269cc451f0e63358e1e4decaaa7
CRS-Fixed: 1096009
Failed to open sdio bus for HL target, due to
missing of 'break' in 'switch' case.
Add 'break' for QDF_BUS_TYPE_SDIO
Change-Id: I0d43a61c89828f76223c9f95f4de41a76381c7bb
CRs-Fixed: 2004349
Include Hawkeye emulation PCI device ids in probe list to enable
PCI based emulation platform to support multiple nodes.
Change-Id: I539c099912e5e7fa4865f57a139f5e75c1b06462
CRs-Fixed: 1090092
This patch adds support of new WMI command WMI_COEX_VERSION_CFG_CMID
for 4-wire coex configuration in non_tlv_ops.
Change-Id: I63da2c7ae99c38d297f7f13a8086611263f7fc5b
Acked-by: Daniel Kim <kimdan@codeaurora.org>
CRs-Fixed: 1081065
Add host internal definitions for the enumerations
WLAN_BAND_CAPABILITY and wmi_channel_width defined in wmi_unified.h.
This is required in order to allow common host code to access these
definitions agnostic of the actual version of wmi_unified.h used.
Testing:
Compiled and tested association and ping on QCA8074 and QCA9984.
Change-Id: I966211deb29ff3d65817b36ac4c6aefdbd39221c
CRs-Fixed: 2005796
hif is not responsible for pktlog. These prototypes
do not need to be defined here
Change-Id: I9dd99b9cb7ec9aa5f0763d8f6cc0e9f95d13c016
CRs-Fixed: 2004398
For platforms that don't use QMI and have firmware
enable shadow registers, host needs to ignore the
shadow register configuration it calculated.
Change-Id: I91a3d9a0c65172afde6a2ddab61651f9f8683aee
CRs-Fixed: 2003581
Do not update wmi_channel info flag for DFS channel vdev start request
if flag_dfs is 0, otherwise (1 << 0) is causing LSB of info flag to be
incorrectly set.
Change-Id: Idfb6290073bb2a6deeeec71a79007ffc4d2fc9cc
CRs-Fixed: 1096338
Firmware expects the following:
- mac id for the refill ring configuration should be 0 (soc)
- mac id for the rx dma rings should be 1, 2 (mac 0 and mac 1)
Change-Id: I23c652e2e1f8e2fca69647906321e4d867a42609
CRs-Fixed: 2003050
Enable the scheduler init code for qca-wifi-11.0 since it is now
enabled to handle scheduler functionalitites.
Change-Id: I9362655dbc85fccd6475d790076c3de5c0e6e710
CRs-Fixed: 1117366
qcacld-2.0 to qcacmn propagation
To acquire lock to protect pEndpoint->TxQueue
in the failure path.
Change-Id: I6844f1329427e7065dc3e4e64bf105087d963dd9
CRs-Fixed: 1077223
Hold additional reference to BSS node during node allocation, and free
it in delete response. This ensures BSS Node Freed event is sent to MLME
only after receving peer delete response for BSS node.
Change-Id: I384eac54f437000a1c09eb53751ad8b8e26617ad
CRs-Fixed: 1112381
When nbuf is cloned or copied, memory tracking node is not being
created as of current implementation. While freeing the nbuf,
qdf_nbuf_free API is being called as many times as the number
of copies or clones of nbuf and as memory tracking node is being
created only once, warning print of double free is coming for all
the clones and copies of nbuf.
Allocate memory tracking node for nbuf clone and nbuf copy APIs as well.
Change-Id: I95fa6e7b2789dd97c0c500d0854210240feaac17
CRs-Fixed: 1114632
Add WMI_HOST_WLAN_PHY_MODE enum values for 802.11ax. These values
correspond to the WLAN_PHY_MODE enum values defined in the host-FW
interface.
Note that the new values for WMI_HOST_MODE_UNKNOWN and
WMI_HOST_MODE_MAX will not necessarily correspond to the MODE_UNKNOWN*
and MODE_MAX*/PHY_MODE_MAX* values in FW header files for all
chipsets/architecture families. This is because:
1) The 'unknown' PHY mode should not be used in host-FW interactions.
2) WMI_HOST_MODE_MAX is not currently used for host-FW interactions.
3) MODE_MAX*/PHY_MODE_MAX* values in FW header files can have varying
values at compile time depending on compile flags such as
SUPPORT_11AX, which in turn depend on the chipset/architecture
family. However the WMI_HOST_WLAN_PHY_MODE enum is exposed to
chipset/arch independent higher layers within host which utilize WMI
layer services. Hence WMI_HOST_WLAN_PHY_MODE enum values should not
vary.
In case the max mode value needs to be used in host-FW interaction in
the future for some reason, this should be translated separately by
the arch dependent (and if ever required, chipset dependent) WMI layer
code into the enum value directly exposed by the relevant FW header
file version for that arch/chipset. Similarly, if the arch/chipset
dependent max mode value needs to be used in-within host code in the
future for some reason, a separate variable should be dynamically
populated by the WMI layer at attach time.
Later, it might also be preferable to convert even other
WMI_HOST_WLAN_PHY_MODE enum values into values directly exposed by FW
header files in the manner noted above.
Testing:
Tested basic AP bring-up on M2M Platform with 11ACVHT80 and 11AHE20
Change-Id: I64c7a1d7491d2213c740568c3e9e2f035c82746e
CRs-Fixed: 1106923
Change the return type of get_vdev_rx_decap_type to htt_cmn_pkt_type
which is defined inside the cdp_if layer.
Change-Id: Ie931952e3618f8e52a5b8839648a0516132ede1f
CRs-fixed: 1075597
qcacld-2.0 to qcacmn propagation
Add below four keys to allow user to tune WRR TX scheduler params.
Each key is mapping to one AC defined in data path module through
OL_TX_SCHED_WRR_ADV_CAT_CFG_SPEC.
gEnableTxSchedWrrBE
gEnableTxSchedWrrBK
gEnableTxSchedWrrVI
gEnableTxSchedWrrVO
Change-Id: I5c34b604297d83673ea065243cc58c3f2180ff3e
CRs-Fixed: 1020141
Currently there is no support to insert a node in between
the qdf list.
This change adds API to insert a new node before/after node
in qdf list.
Change-Id: I91ad5d57ffb5d15abdd5faa36387198608369b12
CRs-Fixed: 1117206
Currently GFP_KERNEL flag is used to get memory in qdf malloc
even if in_atomic is set.
So in qdf malloc use GFP_ATOMIC if in_atomic is set.
Change-Id: I1992ab4f6c868fcc18285c5cca9c9997433936bf
CRs-Fixed: 1117206