1. Changes to support cmem write for AHB devices.
2. Interrupt enablement issue - Incorrect CE address was given which is
fixed.
3. dp_soc_init failure - dev_base_addr of Miami was NULL, which is
fixed.
4. Missing interrupt error logs - Added dummy entires for missing
interrupt in DTS and changes to support shared IRQ in wifi-drivers
Change-Id: I00e7666b2b978c35b5ccec5da21bf442ed0a7998
CRs-Fixed: 3268936
Currently HMT, HSP_KAILUA, HSP_WAIPIO, NETRANI_HL, NETRANI_MSL
device ids are not present in host driver code.
To address this issue add these device ids in qwlan_hw_list array.
Change-Id: I6ab7399545204e1df6ada836b7ab092fab064b38
CRs-Fixed: 3271889
Limit error logging when ce id does not match to tasklet_entry's ce
id. And dump all tasklet entries info to get more clue in the next
cycle.
Change-Id: Idcd9cb6ff45ef8e05fcea33cad48fa464e4f9a1e
CRs-Fixed: 3284277
Hif and tgt if layer changes to handle Umac post reset
and post reset complete events from firmware.
Change-Id: I08bbd90741708fe76b2db0371ccfda7bfe7b0b2d
CRs-Fixed: 3267222
Throughput based RTPM logic of ring access may fail and
lead to NOC error in some corner cases. Change is aimed
to add additional link states check to prevent invalid SRNG
access.
Change-Id: I7e7edbadfd21b4857efa4faff0ada6d94d682f2c
CRs-Fixed: 3256702
Add provision to call sync prevent suspend which will wait for
system to resume and increment usage_count before returning.
Change-Id: I855e3fc2660dc7f3f78bb70f8eef6228cbef96d3
CRs-Fixed: 3253335
Added new file specific to qcn9224 v1 defs. Use qcn9224defs.c for v2.
Added changes specific to soc version check.
Change-Id: I5b6aedbb8aba2de847e0f4d47212a25b36bfa7c8
CRs-Fixed: 3243676
BIT() is unsigned long int, and is being printed using
an incorrect format specifier. This leads to a compilation
failure.
Fix the format specifier for macro which uses BIT().
Change-Id: I42a71c3c4a388285809ad17dc62a50bf2df13a5f
CRs-Fixed: 3249816
Add support to log latest CE descriptor history which helps
to identify CE scheduling/reaping delays when full debug
history dump is not available.
Change-Id: I44a5c86a3e1dd4861bfd2e77b3f772d5d53bcedf
CRs-Fixed: 3225155
If there is no resourse to send packet via HTC, then check if interrupts
are not processed from that CE for last 3 seconds. If so, schedule a
tasklet to reap available entries. Also if Queue has reached 1024 entries
within 3 seconds, then also schedule tasklet.
This change is added because there is a case where intermittently
completion interrupts are not received from CE3 and hence adding
this WAR in host to come out of this issue scenario.
Change-Id: I126cd5e678517127659237308f8f6b1313f8f422
CRs-Fixed: 3234943
Create a HIF context for UMAC reset handler, register the datapath UMAC HW
reset callback handler with HIF layer, request for UMAC HW reset interrupt,
and schedule a high priority tasklet to process the interrupt in which
call the registered DP callback handler.
CRs-Fixed: 3184312
Change-Id: Iefc811bf0d1b093c3c63bf2238c94a1448f4f139
Enable CE7 event history for perf build to
have more debug information in-order to
debug issues.
Change-Id: I35f295ca1fef8f29ffa27af49b1aa4e2b3963a87
CRs-Fixed: 3237420
Currently in some cases due to pending Fw diag entries in CE7
UMAC is not able to power down.
So to avoid issues during PCI bus suspend reap all the available
diag events to make sure that diag event ring
is empty before allowing the bus to suspend.
Change-Id: Ie628719e3b75ea97e8220fe2b5db5770148d3c93
CRs-Fixed: 3234478
As part of SSR, usage count of RTPM is reset to zero which
should not be the case as during RTPM stop, usage count is
incremented to 2.
To fix this, do not reset RTPM usage count to 0 when SSR
happens.
Change-Id: Ifab58075b1aa733500a635e34d209ab65c5f63a8
CRs-Fixed: 3233572
Currently even if shadow config v3 is enabled,
the logging of shadow registers attempts to print
it from shadow config v2 data structure.
Fix this logging of v3 shadow registers.
Change-Id: Id61eed9477682a91992ccad1eb4864698a0678c1
CRs-Fixed: 3230547
While registering a client, HIF_RTPM_ID_MAX is also being
checked for registering.
Fix is to exclude HIF_RTPM_ID_MAX id.
Change-Id: I57e572abc22a27586cf350af423293a8b455af1c
CRs-Fixed: 3223394
Currently, different modules had different ways of allowing
and preventing runtime suspend. Multiple debug mechanisms
were introduced and workarounds are present as well bloating
the runtime PM module.
This change is done to clean up and restructure HIF runtime
PM module. Modules using Runtime PM module need to register
with an ID present in hif_rtpm_client_id.
hif_rtpm_get() will increment the device usage_count and
prevent device from suspending. Based on argument type, if
system is suspended, subsequent resume action will be done.
hif_rtpm_put() will decrement the usage_count of device and
if it is NULL, based on type of put call, idle sequence will
start. Register HIF module and update respective get and put
calls done from HIF module.
Change-Id: I23747f0f7208e689c1c9eb55789aa81945f596ec
CRs-Fixed: 3169272
Shadow config v2 can support max of 36 shadow
registers only. For KIWI target, there are 40
shadow registers supported.
Hence add support to send shadow config v3
for KIWI.
Change-Id: If57e6597397da3e239f25a6c0cc24f8fd37dcdf1
CRs-Fixed: 3167758
Kernel change d4455fa ''proc: mandate ->proc_lseek in "struct proc_ops"'
by default use proc_lseek for file operations, so add default_llseek
for athdiag ops to avoid crash.
Change-Id: I9a36193f8eab44dd619e0c51ccc1f145969027eb
CRs-Fixed: 3197004
Modify CE4 flag in host configuration to support enablement of
copy completion interrupt for Lithium and Beryllium based
targets.
Change-Id: I71ccbaec9707dad59bcb2ee98919285a22eef351
CRs-Fixed: 3195349
Copy Engine(CE14) is used for diag events on qcn9224. Add changes to
configure this CE as dest ring and fix diag event handler to use
wmi_handle from first pdev similar to other WMI events.
Change-Id: I314939169f9be32cd277af68dcd3ef7a0eb06187
CRs-Fixed: 3177987
For KIWI, FISA FSE table is moved from host DDR to CMEM,
then for each time flow learning, it request to force UMAC wake
up then update FSE info in CMEM. currently hif_force_wake_request
will print PCIE_SCRATCH_0_SOC_PCIE_REG register value always,
so when flow learning happened frequently, it might lead to excessive
logging.
Remove the print for successful case, only print register value if
wake up failed.
Change-Id: I87f3b1c8f4ac0fa6270410cf8564b55446b3a40f
CRs-Fixed: 3180175
Modify Kiwi CE host, target, and target_to_service config
to support LPASS datapath service.
Change-Id: Ib4cf47e924b0380bf25828b60ad329f7d8a2789f
CRs-Fixed: 3180744
As dynamic allocation occupy cnss prealloc memory, which may
cause this prealloc pool to be exhausted.
Move dynamic memory to static.
Change-Id: Ia3500868cbcdbd9676f72a3588462ab0d6a21088
CRs-Fixed: 3171015
When RRI over DDR feature is not enabled,
the variable rri_over_ddr_cfg_valid goes uninitialzed.
This can lead to unpredictable behaviour.
Fix this by initializing pld_wlan_enable_cfg to zero
before use.
Change-Id: I485dc552201111834375411b9a493ddbf9a7505c
CRs-Fixed: 3176497
Currently while setting affinity mask we are logging
error print for offline CPUs for which we are not
able to set affinity mask.
Change the log print from error to debug as failing to
set affinity for IRQ on offline CPU is not an actual issue.
Change-Id: Ifbdd3f806022a875bc05e1bdd325c54b267f68cc
CRs-Fixed: 3169900
Access dev from scn instead of pci_dev since pci_dev
can be null for some chipsets like QCN6122
Change-Id: I80c1c13df999f5df900f5cde23d636ed15c551fc
CRs-Fixed: 3151171
16 CEs are available in WKK. Extend ce_names array to include 16 CEs to
fix out-of-bound access
Change-Id: I681aee58cb189b726af9d24f3d8fc2bab4ea6f1a
CRs-Fixed: 3136045
Currently if write non-shadow register and not in initial
phase, host will call hif_force_wake_request()-->
pld_force_wake_request_sync(), but this API can not guarantee
MHI/PCIe is in wake state if runtime PM suspending is ongoing
in parallel, later any register accessing through PCIe bus will hit
NOC error.
Add hif_pm_runtime_get_sync() in hif_force_wake_request() to prevent
runtime PM suspending.
Change-Id: Id60c6041a830d9ad27b0b4173a036c9c57fbf350
CRs-Fixed: 3120170
Add Legacy interrupt changes for Beryllium target. Added code to initialize
legacy interrupt for Copy engines and also to request irq for hif group.
Change-Id: Idb5635d376b9dfcf1e4c595a829d7bef467870b4
Change location of HIF_CE_TASKLET_ENTRY and HIF_CE_TASKLET_RESCHEDULE
to record the timestamp of entering ce tasklet and ce rescheduling
more precisely. This change can provide a more reliable scene when some
exception occurs.
Change-Id: Ia70488372201ffb906355722043d8405af766c10
CRs-Fixed: 3112970