Add module parameter to pass napi budget for dp interrupts. Default value is
set to 128.
Change-Id: I6b3761c6908ed9cec4e40118a657b39da6ac2532
CRs-Fixed: 2095242
Runtime PM lock init API right now returns pointer to a context
but this would cause confusion to the caller if feature is not
defined and dummy function return NULL as caller can't find real
failure versus dummy function returning because feature not being
enabled.
Fix declaring a data structure in QDF layer that caller can use
but it hides the internal details of HIF implementation for
Runtime PM locks.
CRs-fixed: 1116509
Change-Id: I4dcba604e803faa0e14fac6403610391895e382e
hif_exec_context extends hif_ext_groups to support napi and tasklet models.
Some of the rename and enahancements have been done to support merging of
the execution context management code between the CE and DP contexts, as
well as supporting irq affinity for both napi & tasklet contexts.
Change-Id: I82c8abf2e906f027ec80faf7353a7685536bb79b
CRs-Fixed: 2051902
Unit-Test suspend needs to be decoupled from the copy engine
implementation in HIF. Split the HIF portion of Unit-Test suspend into
their own files, and clean up naming, etc.
Change-Id: Ic36c5b98c505f6b62ddf94336838a9e53fe8aa78
CRs-Fixed: 2055328
To fix the following compilation error:
warning: assignment discards ‘const’
qualifier from pointer target type, at:
reg_table->section = ar6320v2_reg_table
in ol_fw.c.
It's because the register table is a
const array, while reg_table->section does
not point to a const.
So add 'const' for 'section'.
Change-Id: Idfef358817241e73d660d2730b74c2ca88e23af1
CRs-Fixed: 2017786
The hif_napi_info structure has a dummy netdev included.
The dummy netdev is large. Avoiding unneeded allocation
save 30kb of memory. Dynamically allocating the
hif_napi_info structures also reduces the size of
the contiguous memory needed for the parent structure.
Change-Id: I58044e5b1d0a834b3b6d17f66d6f4b2462873f2a
CRs-Fixed: 2016355
Modify the legacy LRO implementation to use the implementation
in QDF instead. This is to avoid code duplication and to unify
the LRO implementations for Napier and Helium.
CRs-Fixed: 2042812
Change-Id: I38e9da3b54392a1c5781133916361aac3875d43d
The existing HIF NAPI blacklist feature uses irq_blacklist_on(off) APIs
which make a call to the userspace irq_balancer.
Replace these APIs with kernel API irq_modify_status to mark (or unmark) the
individual interrupts with IRQ_NO_BALANCING flag. Once marked, the
msm-irq-balancer will not be able to move the CE interrupts around.
Change-Id: I4d780fa8780b42a668006e13a49eb1299304e633
CRs-Fixed: 1114161
Interrupt blacklisting in kernel 4.4 happens through a user-space
entity. The kernel APIs irq_blacklist_on(off) essentially send
a message to the user space service(irq balancer) and
therefore are not synchronous and do not guarantee that blacklisting
has actually taken effect. It will be granted with some latency
(userspace entity's processing delay).
Make blacklisting more robust by:
a) move irq (if it has been moved around after blacklist_on call
has been made and not yet honored) to the designated CPU
on IRQ reception
b) stop cpu_isolation in blacklisting mode boost API
c) modify NAPI stats to indicate blacklisting mode
Change-Id: I13e478adbed1a6a66d320f69acdb012bee3dc1e8
CRs-Fixed: 1093770
Currently NAPI stats are retrieved as a part of iwpriv getStats command.
The buffer available for this command is limited and NAPI stats get
trucncated.
Add a new dumpStats parameter (9) to dump NAPI stats.
Change-Id: Iaf52a3dcecac2f7b24fde2f8220fbfddc767965b
CRs-Fixed: 1076563
Fastpath DP should be resumed after WOW is disabled from FW. Move
it to correct place.
Change-Id: I9108ee4393cc4ee5f8a232c3de14d68b47aa760e
CRs-fixed: 2023358
Upper layers are failing to block disallowed traffic durring suspend.
Hif can enqueue the messages on the ce rings without letting hardware
know they are there. When fw is ready to recieve non wmi packets,
hif can inform hw of the queued packets.
Change-Id: I32810d9548416021c1da4f48a4ac539f75f1d907
CRs-Fixed: 2003582
pld_disable_irq is a no-op for PCI devices, causing unit-test resume
to fail in some cases. Define new IRQ disable/enable API's in HIF for
unit-test suspend/resume to use.
Change-Id: Ib3e6007025e791c867463c7d9f64512628c4ca0b
CRs-Fixed: 2023978
In case of IPA hw version less than 3.0, only 32 bit DMA
address can be handled as it is only 32 bit compliant.
Because of this, setting DMA coherent mask of 37 when
IPA hw version is less than 3.0, crash is happening.
Do IPA version based DMA coherent mask setting such that
when IPA hw version is less than 3.0, set DMA coherent mask
as 32 only.
Change-Id: I8dec7da47766985ab0590f885b29f345f153cd08
CRs-Fixed: 1114605
Adding lock stats print upon spinlock & mutex destroy.
Without the destroy api invoked the lock stats are not printed.
Change-Id: Id3c432e1f6982ea47bdf1de5c15f1a3568df4eb9
CRs-Fixed: 1100505
Changes needed to support the new definitions introduced
in the R102 hardware header files for QCA6290.
Change-Id: I4e3c27dfdc48b4d6a44f0f50f3e4a907be20e53d
CRs-Fixed: 1105853
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
Instead of using cds to get the hif context in the notifier callback
rely on the context_of semantics to traverse back to the hif context.
Change-Id: I7d57f9dcf8c09836c34ce16a4acaa8c3bc1624b9
CRs-Fixed: 1092842
When new hardware is not found in the lookup table
for human readable hardware names, print the hex
value of the hardware version info.
Change-Id: If821ba04c83f2d9b54587379d92bdc1918d7a094
CRs-Fixed: 1092353
Add device id for QCA6290 emulation platform.
Add target def support for QCA6290
Needs HIF_TYPE_QCA6290 defined
Change-Id: I4edd5a5b600007ebe7416195648815d80025e768
CRs-Fixed: 1089874
Wifi 3.0 compile against cdp apis.
Make compilable against mobile code base.
selective hw common header include.
Change-Id: I051f917001c0d13c762d9cb5a3ec141cd278d0e7
CRs-fixed: 1075736
Change CONFIG_SLUB_DEBUG_ON to HIF_CONFIG_SLUB_DEBUG_ON to differentiate
kernel CONFIG_SLUB_DEBUG_ON macro with hif specific debug option.
Change-Id: I8922d5c37363da382f3f0b23489f8fd3544eed7d
CRs-Fixed: 1088928
In current code ext group interrupts are not support. Defined these
functions to NULL to avoid compilation issue.
Change-Id: I7e1e027a3faabce1a8844606c5c5c3a412256ded
CRs-Fixed: 1088926
Before disabling the interrupts, disable NAPI so that
the softirq cannot be [re-]scheduled.
Remove the affinity notification on the irq.
Change-Id: I64061d2b4f2e1e6eff67416133b928faa9c0dd4c
CRs-Fixed: 1089166
Make changes for per per Rx context LRO manager, this addresses
all parallel Rx concurrency issues. There by removes all the contention.
Change-Id: I90604ffdf7b7fd930eee636426a4c7fc9b92c7d7
CRs-Fixed: 1079320
Function prototype for hif_get_dev_ba is c file to avoid
warning. This should be ideally added in header file. Adding this
prototype in hif.h.
Change-Id: Ic61c5b8278e6e888931721e716de74c4703ace82
CRs-Fixed: 1079655
X86 uses PCI to connect to qca8074. ATH_AHB is not enabled on x86
but regdef is required to set correct offset for registers. Move the
initialization code out of ATH_AHB compiler flag.
Change-Id: I369f9c87e006fa3ae929e18a6922332d84f01382
CRs-Fixed: 1079647
Compilation error is seen for 32 bit builds as arch_get_cpu_efficiency
is not exported in 64 bit architecture cpu.
Remove arch_get_cpu_efficiency references from hif napi layer as this
information is not used as of now.
Change-Id: I68c31b1008696fc84bc5a563d45eaa507ae92981
CRs-Fixed: 1071783
For supporting low memory platforms, if fastpath is enabled, the number
of destinaton ring receive buffers are reduced from 512 to 64 for CE1.
Also when pktlog has been disabled, avoid allocating receive buffers
for CE8.
Change-Id: Ia4cd991ec14a5d69f13efee8e6f72db6da99f83a
Acked-by: Sahoo, Amarendra Kumar <c_aksah@qti.qualcomm.com>
CRs-Fixed: 1066302
Add a new mode with a pair of new NAPI events, NAPI_EVT_USR_SERIAL
and NAPI_EVT_USR_NORMAL, which allows client force NAPI to move all
instances onto the same CPU and peg them there (blacklist); and
to move back to normal mode of operation.
This part implements the HIF portion. Goes with the corresponding
HDD code.
Change-Id: Id301267d654ef24de706f81b0bd712ed751d8265
CRs-Fixed: 1078976
Recently host power offload suspend/resume has switched to 3
stage process. Enhance power offload unit test framework accordingly, and
improve error handling. This is a companion change for
I8cc1e955fbaca631ee7fd76b0c907d1e68c836bf in qcacld-3.0.
Change-Id: I8c4e062d4a51a7a245500bc135571fc67cf1b4d0
CRs-Fixed: 1072424
Modify the CE register debug dump routine to print the read,
write indexes on the console.
Add new function to return vector used for specific radio.
WIN uses this routine to retrieve the irq and assign the same
to radio netdev irq field. Assign the radio netdev with
the right irq number which helps qrfs to steer to traffic
towards a specific core.
Change-Id: I94bdcc323afbee53946ea9e50a773ffe35224ae6
Acked-by: Balamurugan Mahalingam <bmahalin@codeaurora.org>
CRs-Fixed: 1066208
Packetlog framework needs pipe specific callbacks. Change is done to
support pipe specific callbacks.
Change-Id: Iabd442acc8bef19ad9b8ad9ff2660e273a859f54
CRs-Fixed: 1072220
Address compilation issues for WIN with new Lithium Firmware headers.
Also removed dependency on htt.h from header files, which may need to
add explicit dependency on htt.h in .c files.
Change-Id: Ia5027963837e645bc3f81a3db98c2ea06789aea8
CRs-Fixed: 1061096