نمودار کامیت

249 کامیت‌ها

مولف SHA1 پیام تاریخ
nobelj
a310bf4609 qcacmn: Moved Rx mpdu byte count as they are not supported in HKV1
mpdu byte count is not supported in HKV1.

Change-Id: I23f0608d44958159abffc3b5b3eccde29d9cf07f
2019-08-12 16:18:28 -07:00
Nandha Kishore Easwaran
5d3475b985 qcacmn: Initial changes for pine
Add device ID change and target type checks for pine.
Also remove memory war added for Hk emulation.

Change-Id: Idf531a48a03202d4fb241a92a1d671ee2b94cfbd
CRs-fixed: 2453899
2019-08-11 02:11:41 -07:00
Chaithanya Garrepalli
1f89b97be2 qcacmn: Read 256 fcs_ok bitmap from user ext TLV
Read extra bits of fcs okay bit map from
RX_PPDU_END_USER_STATS_EXT TLV and use the same
to send first fcs okay packet in case of M COPY

CRs-Fixed: 2499150
Change-Id: I1a25971ea789dd7fddddb312af8a18a4cccdc178
2019-08-10 05:10:36 -07:00
Sumeet Rao
c4fa4df717 qcacmn: Add a new feature to support tagging of IPv4/v6 flows
Tags are programmed using wlanconfig commands. Rx IPv4/v6
TCP/UDP packets matching a 5-tuple are tagged using HawkeyeV2 hardware.
Tags are populated in the skb->cb in the REO/exception/monitor data
path and sent to upper stack

CRs-Fixed: 2502311
Change-Id: I7c999e75fab43b6ecb6f9d9fd4b0351f0b9cfda8
2019-08-07 11:28:21 -07:00
nobelj
1453164d24 qcacmn: add per user RX stats in Rx PPDU struct
1)Add per user RX stats in Rx PPDU struct
2)Add per RU size counters in wifistats/iwpriv txrx_stats 10
3)Modified RX ppdu indication structure.

CRs-fixed: 2458732
Change-Id: Id8f3d6cce97503c0529642c4f5d66f3bbc59785d
2019-08-05 23:27:05 -07:00
Venkata Sharath Chandra Manchala
5ee6efde61 qcacmn: Avoid shadow register access when link is down
When the scheduler thread initiates the WMA_SET_BSSKEY_REQ
we send CMD_UPDATE_RX_REO_QUEUE to REO srng. This is done by
posting a descriptor to the reo command ring and then we
update the HP so that the HW can consume the descriptor.
Avoid accessing HP shadow address when we are in runtime
suspend state. Perform a hif_pm_runtime_get to resume the
link and access the shadow register and once done initiate a
hif_pm_runtime_put to allow device to go into runtime
suspend.

Change-Id: I24c3e046a5769f03a0f1969360cccdbe55b81d45
CRs-Fixed: 2495720
2019-08-05 18:53:08 -07:00
Amir Patel
afdb8f4fb5 qcacmn: Suppress the print if tlv_tag not found
Suppress the print if tlv_tag not found

Change-Id: I0a0490539ed271472d4f9f42e903ca13ba064991
CRs-Fixed: 2499596
2019-08-05 00:43:53 -07:00
Kai Chen
93f7e1be90 qcacmn: Add support for OFDMA UL per user info
Add support for OFDMA UL per user info such as
nss, mcs, ofdma RU start and ofdma RU size

Change-Id: Ibb4397f262d1a5df5b01d80a8a741a9b193168e7
2019-07-31 19:43:56 -07:00
Akshay Kosigi
8eda31cab3 qcacmn: Remove void ptr usage in HAL
Add code to replace usage of void pointers from
HAL layer and instead use appropriate opaque pointers

Change-Id: Id950bd9130a99014305738937aed736cf0144aca
CRs-Fixed: 2487250
2019-07-27 13:43:07 -07:00
Akshay Kosigi
a870c6181a qcacmn: Change to clean up of void pointers
Add code to cleanup usages of void pointer usages
in DP code.

Change-Id: I0736bcc0a547d858ed02f1ee59084a44e5fe4bec
CRs-Fixed: 2487249
2019-07-27 13:43:04 -07:00
Akshay Kosigi
0bca9fb200 qcacmn: Change to remove void pointer usage for HAL SRNG
Add code to remove void pointer usage for hal_srng
and use opaque pointer dp_hal_ring_t instead.

Change-Id: I6907f7376d7fe3c9180b8795bd96f49fead2ec64
CRs-Fixed: 2484404
2019-07-27 13:42:41 -07:00
Akshay Kosigi
91c56523d3 qcacmn: Remove void pointer usage for ring desc's
Make change to remove usage of void pointers for
ring descriptors and instead use a opaque pointer
dp_ring_desc_t.

Change-Id: Ia1e9a3da9eaa3cccf297b2135b52a72f2fe21431
CRs-Fixed: 2484409
2019-07-27 13:42:37 -07:00
Akshay Kosigi
6a206753d6 qcacmn: Add code to remove void pointer usage
Add code to remove void pointer usage for hal_soc
and introduce opaque pointer to be used intead of void
from dp layer into hal layer

Change-Id: Ia38571174c6ed79558d0f0c9cd1a0f4afaa66483
CRs-Fixed: 2480857
2019-07-27 13:42:34 -07:00
Amir Patel
5a8bbbe05d qcacmn: Add support for rx evm and rx antenna
Add Host support for rx evm and rx antenna

CRs-Fixed: 2493515
Change-Id: I6c6e3edd8d6650eabb69cea08ec275da7067f37d
2019-07-27 09:53:29 -07:00
Karunakar Dasineni
a46da42b53 qcacmn: Remove freed DP structures from minidump
Remove entries previously added to minidump during
data-path detach.

Change-Id: Ib69803e8ea58e5b4e0f045d3037730a5b6700c8d
2019-07-24 17:10:06 -07:00
nobelj
2b861f8a49 qcacmn: fix setup tid for non QOS client
fix tid setup in null queue for packet comes in uninitialized tid.

Change-Id: I430e24f46a1782d0ddc3abebbbf32145573d6844
2019-07-24 17:09:54 -07:00
Viyom Mittal
2d24c56394 qcacmn: Fix incorrect Rx Rate info
Fix incorrect Rx Rate info by anding the value with 7.

Change-Id: Ie6c6b768e90b51bd9bce46b5437af1e03f043570
CRs-Fixed: 2460190
2019-07-17 03:29:05 -07:00
Saket Jha
16d8432a3d qcacmn: Reduce log level to avoid console logging
Reducing the log level of debug log to avoid console logging
and instead get it on the cnss diag log.

Change-Id: Ie5a1eb6f45ffa97790d91528a173b16319ec760b
CRs-Fixed: 2486057
2019-07-16 18:40:26 -07:00
Akshay Kosigi
283e2358f4 qcacmn: CONFIG_WIN Macros to be moved out of DP/HAL
Remove CONFIG_WIN usage from Lithium DP and HAL module.

Change-Id: If388e45cb3e7e31493edd422a2f4c40f0dd4a799
CRs-Fixed: 2474613
2019-07-15 06:39:40 -07:00
Sravan Kumar Kairam
830542f0d1 qcacmn: Fix wrong register window access
In register select window if the register offset falls
in the last stored register window in driver, register
window remap is not done. There is a case if platform
driver accesses the hardware registers and remaps the
register window, then driver wont be aware of this and
have the wrong cached register window. So when driver
tries to write or read it selects the wrong register
window and accesses wrong register address. So fix this
by always doing the register window remap.

Change-Id: Ic38cc8cc3d9d82a3534f5ea356027db324c9fe13
CRs-Fixed: 2477771
2019-07-12 02:05:35 -07:00
Nandha Kishore Easwaran
aa28cc38a3 qcacmn: Adding hal for pine
Added new hal folder for pine. Included hkv2 functions whereever possible
to make sure there is not much code duplication.

Change-Id: I13247beb1af0b250f8e1bf182005f2513bdf9902
2019-07-11 04:53:43 -07:00
Jinwei Chen
49cd7b9173 qcacmn: add correct VHT NSS value for monitor radiotype
add correct VHT NSS value for monitor radiotype.

Change-Id: I6d2258b58873a1f843020e290b82c32bc88df336
CRs-Fixed: 2477387
2019-07-10 07:24:22 -07:00
Amir Patel
57e7e055f2 qcacmn: Filter rx fcs error frames for m_copy mode
Filter fcs_err frames and pass only first fcs ok msdu payload
from ppdu to upper layer

Change-Id: Ibf739193275f4f5a5c3e786abbbaa45165b5aa13
CRs-Fixed: 2439392
2019-07-05 14:32:20 -07:00
Linux Build Service Account
438e248a07 Merge "qcacmn: user_id check while accessing ppdu_info->rx_msdu_info" 2019-07-01 06:04:51 -07:00
Naman Padhiar
7c8bfaede5 qcacmn: Add prototype for hal_reo_cmd_set_descr_addr
Add declaration to avoid compile time error in case of
strict compilation rule.

Change-Id: I69dc2feeab9bd804cb72793418ee743860fd2088
2019-06-30 09:47:15 -07:00
Chaithanya Garrepalli
08b2c7a134 qcacmn: user_id check while accessing ppdu_info->rx_msdu_info
Add max user_id check while accessing ppdu_info->rx_msdu_info[]
to avoid out of bound array access

Change-Id: Ifcc298d1fd8bd00db5eb2d1777a7ff5af894afe6
CRs-fixed: 2477005
2019-06-27 02:14:09 -07:00
Venkata Sharath Chandra Manchala
d8b05b54d7 qcacmn: Add support to log CE DST and STATUS ring events
1. Record hp/tp for ce dst and status ring to keep
   a track of the last reaped and posted buffers.
2. Add union ce_srng_desc to record ce srng descriptor
   information.

Change-Id: I6f4728893d629c60f676826bf806b725326fb83d
CRs-Fixed: 2465492
2019-06-25 13:06:54 -07:00
Vevek Venkatesan
735d9fedfc qcacmn: CONFIG_MCL cleanup in HAL layer
CONFIG_MCL cleanup in cmn driver HAL layer.

Change-Id: I1fa4657a8ffa87d571157e635ecedf8e8af0bf07
CRs-Fixed: 2467203
2019-06-20 08:45:43 -07:00
Kai Chen
e0dd94dd4c qcacmn: Add user id range check to prevent out of range access
A random crash may be caused by out of range access. Add MU
user id check to prevent out of range access.

Change-Id: I531d6c03024c4a6af4e0db97ea00d0874aaef387
2019-06-14 16:23:38 -07:00
Rakesh Pillai
56320c1e4d qcacmn: Fix calculation of getting head/tail pointer
The current calculation of head/tail pointer for
srng gives an index in the array by skipping
entry_size dwords.
The head/tail pointers are preffered to be the
index values like in the srng registers, which
brings them in alignment with the other usage of
head/tail pointers.

Fix the calculation of head/tail pointers for srng
by avoiding the division by srng entry size.

CRs-Fixed: 2469332
Change-Id: If9a167f3fac3cb39ebe59618e9ad2224d9e54bcc
2019-06-14 12:58:31 -07:00
Amir Patel
1d4ac98ffe qcacmn: Add rssi_chain support for lithium
Read rssi_chain per nss per bw and from rx status TLVs
and update to host data structures.

CRs-Fixed: 2445933
Change-Id: I275e9e502a0a724410fc189ac293cadc8f2981e0
2019-06-12 17:45:57 -07:00
Balamurugan Mahalingam
6a2601a26c qcacmn: Use qca8074v2 hal source files for qca6018
qca6018 and qca8072v2 uses the same WCSS block and the source
files of qca8074v2 shall be used for qca6018 as well

This will also ensure all fixes for qca8074v2 gets auto
propagated to qca6018 as well.

Change-Id: I2ead316c7ed16b6ee315bda05ce82d268ba04bbb
2019-06-08 12:30:40 -07:00
Karunakar Dasineni
acc8b565b3 qcacmn: Protocol tag support in lite rx monitor
Add protocol tagging support in lite rx monitor mode.

Change-Id: I1966fc4f54e1f4a1486162a88853f68f7644a766
CRs-Fixed: 2448517
2019-05-30 19:29:52 -07:00
Chaithanya Garrepalli
ab234e56f6 qcacmn: Add Cached Descriptor support for DP SRNGs
Add support to configure any HAL SRNG descriptor to
be allocated from cached memory area. This is to
optimize of CPU cycles spent on uncached
memory accesses. Also added prefetch of cached
descriptors

Change-Id: I2544e8596d48e2f5549bf687a764c16d73397545
CRs-fixed: 2267945
2019-05-29 11:08:12 -07:00
nwzhao
d7196d8dd4 qcacmn: fix rx path dma-inv-range, unmap-single issues
In case of duplicated rx descriptors from hardware,
it will hit issues in __dma_inv_range(), __qdf_nbuf_unmap_single.
Detect the duplicates, skip processing them, drop the mpdu.

CRs-Fixed: 2413816
Change-Id: I7efd4b0c1bda5578578927bb22fe9d487758897d
2019-05-24 12:17:55 -07:00
Ankit Kumar
e222775d39 qcacmn: Extract tid from REO descriptor and save to skb cb
earlier we were extracting the tid from the rx tlvs, this
was in the last cache line of the 384 byte tlv. we are
extracting various fields from REO descriptor, now we are
also getting tid from the descriptor to avoid accessing
the last cache line of rx TLV there by avoiding one
cache miss per packet.

Change-Id: I1f4f12dca402604692ea374599add6763d68ab01
CRs-fixed: 2449706
2019-05-21 14:43:21 -07:00
nwzhao
ea2ffbb331 qcacmn: skip processing duplicate descriptor in dp_rx_err_mpdu_pop
If there's a HW duplicate rx descriptor from hardware,
it'll cause a NULL pointer issue in
__dma_inv_range in dp_rxdma_err_process.
In this case, skip procssing it as a workaround.

CRs-Fixed: 2398327
Change-Id: I5639e5fc9a3a06e6762448ec7cb2ea58d9ae8160
2019-05-15 21:34:29 -07:00
Mohit Khanna
e5a6e94464 qcacmn: Restrict RX softirq poll times
The following changes are made

-Yield dp_rx_process if poll time exceeds
-Yield dp_tx_comp_handler if poll time exceeds
-Interrupt statistics to track various interrupt contexts and
 corresponding interrupt masks
-Add poll times histogram buckets to NAPI stats

Change-Id: I8c7a6bbbb97c7b3dd1dde6ac3a97113c433086a2
CRs-Fixed: 2423879
2019-05-14 18:39:59 -07:00
Karunakar Dasineni
8075637d77 qcacmn: Add DP structures to minidump
Add calls to log some data-path structures to minidump.

Change-Id: Ib94e22e9e44ad314eaaff3d6ab57f2c60082e8ec
CRs-Fixed: 2444081
2019-05-14 16:23:09 -07:00
chenguo
73c7b7c744 qcacmn: more debugging information about invaild TX release source
1) Add one counter to track the invaild TX release source
2) Capture he descriptor that caused the issue
3) Print the invalid release source

CRs-Fixed: 2380964
Change-Id: I0dc410ae2e7c9df58ef53e3f20ca7979d086659e
2019-05-04 02:07:34 -07:00
jiad
09526ac0d1 qcacmn: Fix REO2IPA reo destination routing
Observed that when IPA offload is enabled, RX packets
are not routed correctly to IPA ring. Currently only
IX0 of REO_DESTINATION_CTRL_IX registers are remapped,
which only covers 3-bit reo_destination_indication of
range 0 to 7.

Fix is to remap REO_DESTINATION_CTRL_IX2|3 registers
so that reo_destination_indication of range 16 to
31 can also be routed REO2IPA ring when IPA offload
is enabled. Upon IPA offload is disabled, save values
of IX2 and IX3 are reset back to HW.

Change-Id: I3428b450ab10076d27c7628a3729e8cec088bd94
CRs-Fixed: 2434331
2019-04-30 02:13:28 -07:00
Jinwei Chen
e661127fa1 qcacmn: fix incorrect NSS value in host RX stats
Revert change "Limit maxinum nss number as 2 for MCL platform" and
align with WIN function: hal_rx_msdu_start_nss_get_8074v2().
besides, only increase rx.nss[NSS - 1] when NSS is > 0 and rx packet
type is 11N/AC/AX.

Change-Id: I0a64f00a3d252c806216cc3196e71290f111c88a
CRs-Fixed: 2429329
2019-04-29 22:55:24 -07:00
Pranita Solanke
5cac6f52ae qcacmn: Remove WCSS_VERSION macros used inside hal
Remove WCSS_VERSION macros which were used for emulation inside
HAL

Change-Id: Ia774b41c01ee2e2e3bbc2902b776e03eb4109057
2019-04-29 04:17:59 -07:00
Karunakar Dasineni
142f9baf47 qcacmn: Add new feature to support protocol tags
With this feature, using appropriate commands, link layer, network layer,
transport layer and some of the application protocols can be tagged with
the user provided tag values for easier identification of protocols. The
supported protocols today are as follows.

ARP, DHCPv4, DHCPv6, DNS over TCP (v4), DNS over TCP (v6), DNS over UDP
(v4), DNS over UDP (v6), ICMPv4, ICMPv6, TCPv4, TCPv6, UDPv4,
UDPv6, IPv4, IPv6, EAP.

Receive packets are tagged by hardware. Tags are applied after the first
matching rule. Hence it is recommended that the rules are
programmed in such a way that tags are configured from application layer
to data link layer to get expected results.

Change-Id: Ibdc2bd2b78234f482074955e89fb93f05988eaca
2019-04-26 15:31:10 -07:00
Kai Chen
52ef33fca3 qcacmn: Support enhanced Rx capture
Support Rx capture mode to deliver first 128 bytes of
each MSDU, along with some meta data.

Change-Id: I1ffa8b1a029d46f68aa78520bacc019de8af7a82
2019-04-19 04:08:56 -07:00
sumedh baikady
3ee6100b41 qcacmn: Modify default aging timeout for Reo
Modify aging timout in reo based on access category
to match cascade.
For BE, BK, VI use 100ms and VO uses 40ms.

Change-Id: I09267b6540460a13728bddc92a7e72157d6ce569
Crs-fixed: 2418294
2019-04-04 20:58:58 -07:00
Keyur Parekh
44d8f8f9b1 qcacmn: Populate LTF size for Rx stats
Populate LTF size value from TLV for HE and modify
HE_LTF enum value to match with Firmware values

Change-Id: I8e5cce31cbae4aa8722050b06d89c933b74aa752
2019-04-02 11:17:38 -07:00
Srinivas Girigowda
2751b6d2b3 qcacmn: Consolidate multiple MAC_ADDR_LEN to QDF_MAC_ADDR_SIZE
Consolidate multiple (redundant) MAC_ADDR_LEN to QDF_MAC_ADDR_SIZE
CDP_MAC_ADDR_LEN
OL_TXRX_MAC_ADDR_LEN
DP_MAC_ADDR_LEN
HTT_MAC_ADDR_LEN
IEEE80211_ADDR_LEN
DEFRAG_IEEE80211_ADDR_LEN
ETHER_ADDR_LEN
HAL_MAC_ADDR_LEN
WLAN_MACADDR_LEN

CRs-Fixed: 2406591
Change-Id: I4a87f8ff556920c7b341bdbba99ec43c97b873f4
2019-03-28 16:50:32 -07:00
Debasis Das
c39a68da37 qcacmn: Support for 8021p pcp to tid mapping
Add HAL and DP support to configure
8021p PCP to TID mapping tables into Hardware.

Change-Id: I8a54970c8c4ef56f3c487b6e648c4411b3abde0e
2019-03-25 14:24:36 -07:00
Kiran Venkatappa
07921611b4 qcacmn: Use HTT message to disable rx_pkt_header tlv
On low memory platform rx_pkt_header tlv is not subscribed to get a
savings of 128bytes in skb. This is required to reduce the skb size from
4K to 2K on 32-bit platforms. Use HTT_H2T_MSG_TYPE_RX_RING_SELECTION_CFG
message to unsubscribe rx_pkt_header tlv for rxdma ring.

Change-Id: Ie684f1ca1de9c824a869b4e13fd0ee1d068004e7
CRs-Fixed: 2408424
2019-03-08 23:38:07 -08:00