コミットグラフ

134 コミット

作成者 SHA1 メッセージ 日付
Chaithanya Garrepalli
1d144f88bd qcacmn: store peer_id instead of peer_ids array in dp_peer
In lithium a peer will have only single peer_id hence remove
peer_ids array from dp_peer structure

Change-Id: Ib98270b7fd98f1199b862e4608f990687914b7cc
2020-05-29 13:13:37 -07:00
Yu Tian
76013e1056 qcacmn: Change tx_desc, desc_ext min threshold
For DBS SAP case, need to balance the CPU cost and
TPUT KPI, use tx_descriptor size to control this can
in avoid the influence of IPA part.

CRs-Fixed: 2665268
Change-Id: I702a605b7a3156e429476f6a4d623b69bb19f615
2020-05-28 10:43:09 -07:00
Pavankumar Nandeshwar
788e43bfbd qcacmn: Assign appropriate size for hw_macid_pdev_id_map
Use appropriate size value MAX_NUM_LMAC_HW to make sure
that we have right size for hw_macid_pdev_id_map.

Change-Id: I3cbb1f83be54252c995e777392bb1c86a95239c1
2020-05-11 01:58:03 -07:00
phadiman
1f3652debc qcacmn: Datapath init-deinit changes
Do a logical split of dp_soc_attach and
dp_pdev_attach into Allocation and initialization
and dp_soc_detach and dp_pdev_detach into
de-initialization and free routines

Change-Id: I23bdca0ca86db42a4d0b2554cd60d99bb207a647
2020-05-02 21:59:42 -07:00
Manjunathappa Prakash
7de632a45c qcacmn: Decouple IPA TCLring and WBM ring size config
Decouple IPA TCLring and IPA WBM completion ring size from regular
Tx TCLring and WBM completion ring size configuration.
This is required as there is limitation on IPA GSI rin size
configuration.

Change-Id: I689d0e8ca72f069c5b68dc1789358e091c554d30
CRs-Fixed: 2665010
2020-04-23 11:32:27 -07:00
Manjunathappa Prakash
28b4573d27 qcacmn: Increase Tx HW and SW to 2K and 4K for qca6490
Increase Tx HW and SW to 2K and 4K for qca6490.
This parameter change is based on the tuning exercise of 1Tx:8Rx device
tests in NaN scenario. This is helping Tx device to burst to multiple
Rx peers, there by improving the TPUT.

Change-Id: I28e1eafb78612c68fe172a640b1386ac88e051a2
CRs-Fixed: 2657056
2020-04-23 11:32:23 -07:00
Nandha Kishore Easwaran
0d69530ee2 qcacmn: Interrupt changes in MSI path
1) Modified MSI interrupt mask for QCN9000 so that rx and tx
interrupts can be decoupled.

2) Removed lmac interrupts from polling mode and switched
them to msi interrupts. Added MSI masks for lmac rings.

3) Enable monitor mode LWM interrupt. This was already enabled in
integrated ahb interrupts but missing in msi. Replenish buffers in
RXDMA refill ring based on low threshold interrupts in addition to
regular Rx processing. Also made interrupt batch counter threshold as 8
for monitor status ring since ppdu end interrupts are not available in
PCI chipset and require srng msi interrupts to reap monitor status ring

Change-Id: I5c84b14d6b0a9c26fb3f0d67c349e79751a60861
2020-04-20 06:58:08 -07:00
Rakesh Pillai
018b298dba qcacmn: Increase the wbm release ring size
The WBM release ring size of 64 is a bit too
small for bursty nature of inwards traffic.
In monitor mode, there can be a huge ingress
of packets and returning the link descriptors
back to the WBM can fail due to its small size.

Increase the WBM release ring size to match the
RXDMA buffer ring.

Change-Id: I41c755f29566cd8cb99520736d34304344a82776
CRs-Fixed: 2650480
2020-04-07 20:20:06 -07:00
Manjunathappa Prakash
25390a01c2 qcacmn: flow_ctrl_v2: decouple tx_desc from TCLring descs
Decouple software tx_descs from TCLring descriptors and Increase
TCLring descriptors max INI config limit to 2k to 32k.

Change-Id: I18d014cdb0c1e26b7661ff65aaa8dffe791d7163
CRs-Fixed: 2657056
2020-04-07 03:01:29 -07:00
Amir Patel
925a7d389c qcacmn: Add full monitor mode changes
Add following changes:
	a. Add CDP API to config full monitor mode
	b. HTT configuration changes
	c. Init/Deinit changes for full monitor mode resources

CRs-Fixed: 2632442
Change-Id: I06db5194031b3ea0f0c1e5deda20df4bc0faa0b9
2020-03-20 22:16:00 -07:00
Vivek
d1bd5ce929 qcacmn: Provide valid range for dp_int_timer_threshold_tx INI
The default value provided for the INI item
dp_int_timer_threshold_tx for WIN is 1000 which is
beyond the specified INI range 8 and 100.

Changing the max value to 1000 to accommodate
the default value used by the INI and avoid
warning while parsing INI values.

CRs-Fixed: 2633718
Change-Id: I0aae0338798dab27d4ecb5d67e3b3fcfee983d92
2020-03-19 19:05:14 -07:00
Pavankumar Nandeshwar
9b0c1271ed qcacmn: Initialized pdev id with default value 0xFF
pdev_id is being initialized with 0. Since 0 is valid pdev_id, though
pdev is not present for that id, it is being accessed.

Initialized pdev_id to 0xFF by default. Added checks on API to
detect valid pdev_id value corresponding to lmac_id

Change-Id: I2b2a38783615494ccc08e265702815f7e562214b
2020-03-17 03:11:13 -07:00
Linux Build Service Account
67ef957780 Merge "qcacmn: Rename cmd ring to cmd_credit ring" 2020-02-15 11:08:15 -08:00
Ankit Kumar
f63aaef3d3 qcacmn: Rename cmd ring to cmd_credit ring
Command ring is now renamed to credit ring on QCN9000
and used for credit based flow.
Renaming the ring to give meaningful name.

Change-Id: I726aed19477fcfb256e4e0cca8ddb9389035b58c
CRs-Fixed: 2562640
2020-02-15 00:32:25 -08:00
Linux Build Service Account
2bb21ea23f Merge "qcacmn: Add INI option to enable FISA feature" 2020-02-13 04:38:15 -08:00
Manjunathappa Prakash
d501c32614 qcacmn: Add INI option to enable FISA feature
Add INI dp_rx_fisa_enable to enable/disable FISA feature.
Disable the feature by default.

Change-Id: I0cc524956e32ab9f2b5c556d8ae2e1855e8d3513
CRs-Fixed: 2599917
2020-02-12 11:58:15 -08:00
Karthik Kantamneni
29343ccd79 qcacmn: Fix array subscript out of bound issue
Fix array indexing greater than array size
which may lead to buffer over-read.

CRs-Fixed: 2616852
Change-Id: I802a64fddaec1dffa8f09284af11c0ebe84b65f0
2020-02-12 05:12:41 -08:00
Saket Jha
a4a994242f qcacmn: TX Optimization
Memory optimization of unused TX rings by not configuring rings that are
not being used. Configure 2 rings for host in the case of IPA, instead
of configuring 3. If IPA is disabled then configure only 1 set of TX
rings for host.

Change-Id: I251606c728f3020a13e45e8c8386970c8a641f0a
CRs-Fixed: 2530572
2020-02-12 02:38:17 -08:00
Vulupala Shashank Reddy
fdb09af186 qcacmn: Componentization packet capture mode INI
As part of componentization of packet capture feature
removed INI of packet capture.

Change-Id: If9f599cbaf5bc3e339dc1f21ee6be36f5eb093f2
CRs-Fixed: 2614621
2020-02-05 22:40:18 -08:00
Linux Build Service Account
f91621de73 Merge "qcacmn: Send val of separate iface support for NAN INI to Fw" 2020-01-31 05:37:07 -08:00
Alok Kumar
0265d7917a qcacmn: Add INI support for packet log buffer size
Add INI parameter "PacketLogBufSize" to populate
packet log buffer size.

Change-Id: Ic9b963a88a6f6d884d5fa3a63b4fed6768ba2fc4
CRs-Fixed: 2611409
2020-01-30 23:23:53 -08:00
Linux Build Service Account
665f64fe99 Merge "qcacmn: Set monitor mode interrupts" 2020-01-30 18:38:45 -08:00
Alok Kumar
74bbfc8aee qcacmn: Add the utils and cfg changes for Moselle
Add the changes in utils and wlan configuration
layer for supporting the newly added IPCI bus type
for Moselle.

CRs-Fixed: 2597342
Change-Id: I4484d6e774e9f94a322b8dee4ae7ff4460ed2634
2020-01-26 00:53:03 -08:00
Saket Jha
f0640bc083 qcacmn: Set monitor mode interrupts
Ensure monitor mode interrupt masks are set as they are DP_INTR_POLL
type. Move wlan_cfg_fill_interrupt() call to inside dp_soc_attach as it
is called before dp_soc_init.

Change-Id: Id9c49e3ed5c01e7c1bf641fa4c2f419d31381608
CRs-Fixed: 2608683
2020-01-24 14:45:19 -08:00
Amit Shukla
1edfe5ae7c qcacmn: Data path changes for Dynamic Mode Change FR. Changes include-
1. Move all LMAC rings to SOC from pDEV
	2. Dynamically obtain lmac->pdev mapping while handling LMAC interrupts

Change-Id: Ib017d49243405b62fc34099c01a2b898b25341d0
2020-01-16 17:14:39 -08:00
Nandha Kishore Easwaran
bd98e6205e qcacmn: Create new interrupt mask for msi
Created a new interrupt mask for msi chipsets so that both ahb
and pci chipsets can work together.

Change-Id: I78d1b9641e58f07d1582152c691c5ae29e6ddb03
2020-01-13 15:18:31 -08:00
nobelj
219e7e57e2 qcacmn: Fix NULL data Tx frame capture
Handle ppdu descriptor for NULL data frame as payload come
mgmt payload tlv.

Change-Id: I0d9322c8132dc520d0274b9cf1abcf3018469bf7
2019-12-19 10:25:51 -08:00
Alok Kumar
628c21c08e qcacmn: Add INI parameters for packet capture mode support
Add INI parameters for packet capture mode
pktcap_mode_enable - control to enable or disable support for
packet capture mode.
pktcapture_mode - control to set value for packet capture mode

Change-Id: Id0ffe4cf19db6ec5823a37083d9d8ee1cfe53e77
CRs-Fixed: 2528427
2019-12-10 00:51:28 -08:00
Venkata Sharath Chandra Manchala
55299c2b91 qcacmn: Increase reo timer threshold max value
Reo timer threshold is set to 512us as a default so
increase the maximum value of timer threshold to 512us
to avoid out of bound value.

Change-Id: I291e80e5930b2d3537cbbc9716b323aeb6be89c3
CRs-Fixed: 2571639
2019-12-09 15:59:10 -08:00
Venkata Sharath Chandra Manchala
113ba25d75 qcacmn: Add QCA_WIFI_QCA6490 support for pktlog
Enable pktlog processing for QCA6490 based
chipsets.

Change-Id: I23939a284921211fcb869ce8473212014216cf74
CRs-Fixed: 2522133
2019-10-17 15:12:38 -07:00
Ruben Columbus
b7a1c5782d qcacmn: monitor RXDMA drop feature
Adds new INI variable for threshold control.
Host sends message to target with new threshold info.
If buffer reaches threshold then MAC drops incoming monitor frames.

Change-Id: Id659d7df68a5ec0b22fb571dc1ffa4990f8fcc4f
2019-08-29 22:11:08 -07:00
Akshay Kosigi
07df14c270 qcacmn: Move config files out of cmn dev
Move AP specific CONFIG files out of cmn dev

Change-Id: I53adb20ea910c0bc8842daa85cb762d4d3968e45
CRs-Fixed: 2506563
2019-08-19 02:10:57 -07:00
Mohit Khanna
664e64c199 qcacmn: Use 512us REO Interrupt threshold timer
Increase the REO Threshold interrupt timer from 256 to 512us. This
provides additional savings in number of interrupts in low throughput
scnearios.

CRs-Fixed: 2500152
Change-Id: I0b21a0425018d5db068016222378d16f394dc347
2019-08-13 20:26:10 -07:00
Sumeet Rao
76aa8d5194 qcacmn: Add helper functions to fetch ini config for flow tagging
Add helper functions to fetch ini settings for flow tag enable,
flow search table size, global/pdev table selection, monitor mode
enable/disable of protocol & flow tags

CRs-Fixed: 2475913
Change-Id: I66d477d145ea04809bfc17ba3b88a6b8580854a1
2019-08-07 04:58:09 -07:00
Mainak Sen
9550273ede qcacmn: Rx Sw Descriptor allocation should be configurable
To make Rx Software descriptor allocation configurable for each radio,
new ini variable is added.

Change-Id: Ifc5683629747a6fe8238c18448695abe91876ec5
2019-08-05 16:45:59 -07:00
Prathyusha Guduri
abac9eedad qcacmn: Add tx sw internode queue ini config
Add tx sw internode queue ini config that is used by NSS offload mode

Change-Id: I8236a289aa33aaa6bfd1af2ff326438042636139
2019-07-29 04:31:13 -07:00
Prathyusha Guduri
aed67e197c qcacmn: Add tx device limit
Add tx device limit configurable from INI.
This is used to limit the overall tx descriptors used in the device

Change-Id: I51e9611ca14bdc146de914317b38b98329130c9f
2019-07-29 04:31:05 -07:00
Prathyusha Guduri
36ce817b7e qcacmn: Add dp_tx_desc_limits ini config
Add dp_tx_desc_limit for 5G high, 2G and 5G low to limit the
number of software tx_desc to be allocated.

Change-Id: If97e858b73aafaed0e21fc8f6e0337e467ce0ecc
2019-07-29 04:31:01 -07:00
Akshay Kosigi
eec6db94bd qcacmn: Remove void pointer usage for ctrl psoc
Make change to remove usage of void pointers for
ctrl psoc in DP and instead use a opaque pointer
struct cdp_ctrl_objmgr_psoc.

Change-Id: I9fac21db1156378fc10b95cf10517afa4364da00
CRs-Fixed: 2484411
2019-07-27 13:42:49 -07:00
Venkata Sharath Chandra Manchala
908de4932d qcacmn: Enable HTT_PPDU_STATS_TX_MGMTCTRL_PAYLOAD_TLV in pktlog lite
Enable HTT_PPDU_STATS_TX_MGMTCTRL_PAYLOAD_TLV in pktlog LITE_T2H
to reap mgmt/ctrl information. This tlv is enabled by
changing the bit mask DP_PPDU_TXLITE_STATS_BITMASK_CFG to 0x3fff.

Change-Id: I2996cd8df7f6e05e18ec603d21c488bb1fe0c70a
CRs-Fixed: 2481454
2019-07-26 17:04:02 -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
Vivek
7047d0d1a5 qcacmn: Replace WIN/MCL from macro names
There are macro defined differenly for WIN and MCL
to pick up default INI value either for WIN or MCL.

The macro name uses WIN and MCL and also enabling the
right macro is controlled by CONFIG_MCL.

Replace the macro with CONFIG_AP_PLATFORM.

Change-Id: Ib5663532d45534cce1715ef06447116e2654e709
CRs-Fixed: 2484959
2019-07-10 07:24:26 -07:00
Vevek Venkatesan
4a6c3e8568 qcacmn: CONFIG_MCL cleanup in cfg module
Put MCL specific cfg default values under feaature flag
WLAN_MAX_PDEVS.

Change-Id: If34c10ca37e67fbd5fa36d04059be79600c3c328
CRs-Fixed: 2477486
2019-06-27 05:00:19 -07:00
Venkata Sharath Chandra Manchala
cb6d0c0741 qcacmn: Create a wlan configuration table for ring types
1. Add config table to accommodate per ring type
   configuration to have a finer control over the
   ring.
2. Provide struct wlan_srng_cfg interface to add
   more parameters to control the ring.
3. Add interrupt threshold configuration parameters
   to wlan_srng_cfg structure.
4. Add WLAN_CFG_INT_TIMER_THRESHOLD_WBM_RELEASE_RING
   and WLAN_CFG_INT_TIMER_THRESHOLD_REO_RING to have
   different timer values for REO and WBM ring.

Change-Id: Ied50e3241ab2cc181ca4ed7f126959cd5d9d2de5
CRs-Fixed: 2455297
2019-06-20 18:36:24 -07:00
hangtian
04f0ad4935 qcacmn: Set stop_th and start_th for QCA_LL_PDEV_TX_FLOW_CONTROL
Use same stop_th and start_th as QCA_LL_TX_FLOW_CONTROL_V2 for
QCA_LL_PDEV_TX_FLOW_CONTROL which allows pausing/unpausing
netif queues to avoid frame drop in driver.

Change-Id: Ifa649e31a41d1bf89eadc8cc7e9520f0e27b9fe4
CRs-Fixed: 2466999
2019-06-18 22:27:45 -07:00
Akshay Kosigi
fb0877f2d6 qcacmn: Use module specific kbuilds for config params
write module specific macros inside module/config and
use these inc files inside the kbuild of the module using those
macros.

Change-Id: Ide18770973f35d0e5c45e2474b24256107f40d8c
2019-06-12 20:04:12 -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
Varun Reddy Yeturu
23fbb8796b qcacmn: Free pdev configuration parameters during pdev detach
Free the memory allocated for the pdev configuration parameters
during pdev detach so that there are no memory leaks

Change-Id: I856cc6e6082197e98ad105053f1e4cffc2d25c53
CRs-Fixed: 2444000
2019-05-27 04:23:32 -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
sumedh baikady
3c05f9720d qcacmn: Reduce min slab size allocation to <1M
System running out of 2M chunks inspite of large
free memory available. This is WAR till original
issue is root caused.

Change-Id: I379f8a56c31d76b74164a85978659d87ad74f87b
CRs-fixed: 2436495
2019-05-02 21:37:26 -07:00