Commit Graph
14 Commits
Author SHA1 Message Date
Nisha Menon a767adf5f4 qcacld-3.0: Enable feature to dump reo queue info in DDR
Enable DUMP_REO_QUEUE_INFO_IN_DDR to send cache flush cmd
to REO using cmd: iwpriv wlan0 txrx_stats 34 0

Cache flush cmd will invalidate the h/w cache and ensure
that h/w writes to DDR.
In the cmd callback, the reo status tlvs are processed
and the vaddr of the reo queue desc is used to read the
queue information from DDR and dump it in the host driver logs.

Change-Id: I4521b777d13c490ac687f9ff673182262bc52f62
CRs-Fixed: 2899824
2022-05-18 23:29:44 -07:00
Nisha Menon 86a184dd32 qcacld-3.0: Stop BW monitoring before disabling IPA pipes
Stop the BW monitoring and stats collection for IPA before
disabling the pipes. Add this to the the case where WLAN
is in SSR and IPA pipes are being disabled when last client
is disconnecting.

Change-Id: I29e8ec6d73287cf601f829e74ba03aa611564d3a
CRs-Fixed: 2922079
2021-04-30 10:24:21 -07:00
Nisha Menon 66fc012dbb qcacld-3.0: Add feature to enable generic shadow reg write
Add feature GENERIC_SHADOW_REGISTER_ACCESS_ENABLE to enable
shadow reg write for generic shadow registers.
This is enabled only for HSP.

Change-Id: I90302aa050baa9128313dbaf0c4ab57e426289b3
CRs-Fixed: 2794917
2020-10-19 18:45:12 -07:00
Nisha Menon e9f74a8d2e qcacld-3.0: Set IRQ affinity for CE IRQs to gold cores
CE2 status ring full condition results in WMI req timeout
in host resulting in self recovery being triggered.
Set IRQ affinity of CE IRQs to gold cores for defconfig
builds only.
This is to alleviate the processing of all DP rings and
CE rings on CPU0 in defconfig builds. CE2 status ring will
be reaped fast enough to ensure host has enough credits from
FW to send out the WMI reqs to FW.

Change-Id: I17b85f75f106bf2dfd69c4885aaa742868e16eec
CRs-Fixed: 2746250
2020-08-20 14:01:14 -07:00
Nisha Menon 821183cf5c qcacld-3.0: Fix bandwidth vote level for device in monitor mode
Bandwidth level was set correctly to PLD_BUS_WIDTH_VERY_HIGH
but current vote level was not updated for monitor mode.
Due to this during PCI link down the reg writes for SW2WBM
release ring were enqueued in delayed register write work
queue instead of being written directly.

Delay in scheduling the workqueue results in SW2WBM release
ring getting full which results in invoking panic.
Hence update the current vote level along with the bus
bandwidth in HDD open function for monitor mode.

Change-Id: Ib9861a038afa6ca7758ea35afcae2bcfe9e69b60
CRs-Fixed: 2690247
2020-05-29 17:17:42 -07:00
Nisha Menon aee3f3f2f4 qcacld-3.0: Enable flag to check return val of deliver to stack
Enable DELIVERY_TO_STACK_STATUS_CHECK to check if return status
of deliver to stack function is a success. If not then drop the
nbufs and update the appropriate stat counters.

Change-Id: I0576016b66ada8696824855da1893ce0b18ee50e
CRs-Fixed: 2677414
2020-05-05 22:13:59 -07:00
Nisha Menon a4b5da94f8 qcacld-3.0: Enable MCL feature flag HIF_CPU_PERF_AFFINE_MASK
This feature is enabled in order to move the WLAN IRQs
to the gold cores only for defconfig builds. The IRQ
affinity hint is updated on boot up and when the cpu
hotplugs in.

Change-Id: I8014c181c8ba66875f13736638db91f6a5174f49
CRs-Fixed: 2656331
2020-04-12 18:49:11 -07:00
Nisha Menon 3776fe19fb qcacld-3.0: Remove excessive logging in hdd_rx_deliver_to_stack
Remove the excess error log in hdd_rx_deliver_to_stack. The hdd
rx/tx stats are incremented in caller for success and failed
cases for delivering the skb to network stack. This error log
is redundtant as stats for rx packets refused is incremented
when packets are dropped by the network stack.

Change-Id: I5a774db18966f9b43721278daef936de7524d6f7
CRs-Fixed: 2633475
2020-03-06 16:36:55 -08:00
Nisha Menon b706ef6904 qcacld-3.0: Enable MCL feature flag MAX_ALLOC_PAGE_SIZE
This feature flag is used to set the page size to 4KB
for MCL and to use the max_alloc_size config ini param
for page size in the WIN specific code.

The page size is used to allocate link descriptor pages
for the WBM idle link ring instead of the desc bank
contiguous memory allocations..

Change-Id: I9ff575efc475473654cb4b66a95285c779599b24
CRs-Fixed: 2612385
2020-02-28 20:30:43 -08:00
Nisha Menon cda811c37b qcacld-3.0: Enable MCL feature flag RXDMA_ERR_PKT_DROP
If the flag is enabled drop the packet if msdu_done bit
is not set while processing rxdma err frames. This is
not expected while reaping WBM RX release ring.

Change-Id: Ic8a09ba5a6952510e82a209d6ef609343a9bc09a
CRs-Fixed: 2608661
2020-01-24 02:30:20 -08:00
Nisha Menon 9db78810c9 qcacld-3.0: Update Wifi netdevs for IPA exception path NAPI
Starting Kernel 4.19 IPA LAN RX supports NAPI polling
mechanism. Netdevs that hook into IPA need to call
netif_receive_skb() or similar to deliver the packet
to network stack instead of using netif_rx_ni().

IPA driver exports ipa_get_lan_rx_napi(void) API for
this purpose. If this API call returns true use
netif_receive_skb() or fallback on legacy api.

Add the changes under a feature flag IPA_LAN_RX_NAPI_SUPPORT.
The flag is enabled only for linux kernel version 4.19 and
above.

Change-Id: I3bf200c993461e45da0d07697678c634760e9a89
CRs-Fixed: 2560360
2020-01-20 14:01:33 -08:00
Nisha Menon d6c2c37657 qcacld-3.0: Enable MCL feature flag REO_DESC_DEFER_FREE
In the REO status callback function for RX tid delete if the
cache flush cmd is not sent successfully to REO, add the REO
descriptor back to the free desc list and defer the deletion
to the callback function.

Changes are made under MCL feature flag REO_DESC_DEFER_FREE.

Change-Id: Ib6c077ebf763ab8feb4c45c17ff37d03252fe093
CRs-Fixed: 2558052
2019-11-07 13:43:49 -08:00
Nisha Menon 33030f8cd0 qcacld-3.0: CPU mask not set for affine cores on init
Set cpu_mask for affine cores on init before sending a
request to PM QoS interface to insert a element into the
list for DMA latency in the QoS framework.

Change-Id: I81f17077c6ddce69c99047c46cef008b6b195d77
CRs-Fixed: 2551349
2019-10-30 04:38:23 -07:00
Nisha Menon 0333f2d173 qcacld-3.0: Remove Datapath items in WCNSS_qcom_cfg.ini
Remove certain DP params from .ini and update their default
values in header file.
Parameters updated are:
rx_mode = 20(DP_RX_THREAD | NAPI),
ce_service_max_rx_ind_flush = 1,
ce_service_max_yield_time = 500.
Parameters removed:
gEnableFastPath=1.

Change-Id: I397c40270444a7370e455425dd72bdffdb7c831d
CRs-Fixed: 2542264
2019-10-12 02:34:02 -07:00