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
Align the string entries inside the rtpm_string_from_dbgid()
function in the order of wlan_rtpm_dbgid enum entries.
Change-Id: I455e93723f5df882babb758a4979d1b1cecd8e7e
CRs-Fixed: 3128352
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
There is no need to update LF date if using QuIC account.
Revise I29b998939cfa25f0547a9871721c6daeb0fdd961.
Change-Id: Id27e90487df4023e45482792e726ba82c59f0b84
CRs-Fixed: 3119512
Different targets can have different WMI endpoint count. Add an API to
get this count from the target service map. This API can be used to get
max WMI ep count for a target to perform endpoint connect request only
till possible count.
Change-Id: Id90bcadfb23fbff12d10bf8b6ca825142d3f1bdc
CRs-Fixed: 3121598
Enable the 4th Tx. completion ring to save CPU load
Initialization and interrupt handling for 4th completion ring
is done here.
Change-Id: I2db27218a3c3e14d719d012f03454a6a7aa647fe
As part of new change to support large management frame
the buffer size of CE2 has been increased to 3520 Bytes.
Since CE2 & CE3 shares common EP in Fw because of which any changes
in buffer size in CE2 need to have similar changes on CE3 as well.
So to accommodate change increase CE3 buffer size.
Change-Id: I8e558f11b1c44934cf6d64d1f3027f016d34f526
CRs-Fixed: 3118928
By the time driver reaches prevent l1 call there is chance
of EP vote access getting disabled in-flight, to handle
this skip vote request if EP vote access disabled in-flight.
Change-Id: I91e1cdfc08492188ad8614339d5918c294bf10e4
CRs-Fixed: 3113786
Currently window register accessing with PLD lock is not enabled for
HIF path of KIWI, enable it so there is no race condition with HAL
register accessing path.
Change-Id: Iceeba36ca6febdeca0e7f7bc0dcb7d4adc17bc51
CRs-Fixed: 3110425
Current there is no ce debug history when testing
perf build, so it is hard to debug some issue.
Here it only enable ce2/ce3 on perf build, which keep
only necessary log here.
Change-Id: I29b998939cfa25f0547a9871721c6daeb0fdd961
CRs-Fixed: 3058740
Add a log message to indicate RTPM resume is requested by RTPM
prevent runtime suspend API.
Change-Id: Ifb90493d1ea48601bb40708b1a2d7a821144a9b2
CRs-Fixed: 3110580
Currently, in the case of single pdev we return the PCI slot as 0.
But in case where the device is attached to PCI slot 1, API will
still return 0.
Make changes to always get PCI slot from PLD API instead of
returning PCI slot as 0 in case of single pdev.
Change-Id: I39b55eeb3ebfbd6c08d7cc15a1ac49932af78b51
CRs-Fixed: 3103192
In QCA6750 target hif sleep timer is not used but timer
delete is performed during deinit path.
Fix this so that hif sleep timer delete operation is not
performed in QCA6750 target.
Change-Id: I54790f3b20af4f4b265ab37b593d300032f00fa5
CRs-Fixed: 3108047
For Kiwi, if UMAC force wake is enabled, HIF window register
support is needed as well. currently hal_soc->init_phase just be
true for a very short periord, this lead to hif_force_wake_request
is called frequently when configure register during initialization,
this is not necessary as pld and device is not in power collapse
state during this period.
Enable HIF window register and increase init_phase true period
Change-Id: I0b5394bbc1ca73d20b2fcabbf2a261e6f8335626
CRs-Fixed: 3097991
The current platforms support 4 pci slots, so increasing
WLAN_CFG_MAX_PCIE_GROUPS to 4 to have unique irq name
Change-Id: Ifca25ee075611c75a5fa5e56782835ad89d26f91
Use the tracepoints to trace delayed register write, ce
tasklet scheduling latency, tx, and rx packets.
Change-Id: I63a89276177a9d0466dcb0c831eeb8e938a2bf79
CRs-Fixed: 3081870
Currently EP wake delay timeout is less and there is chance
of timeout to happen, so increase the timeout value.
Change-Id: I59261ade269908cd4d9c17025838807f39913999
CRs-Fixed: 3086547
Add support to affine individual grp irqs to either
perf or non-perf cluster for ipci.
Change-Id: Ifae0f2a5a77068587d99513a1902f850860f2329
CRs-Fixed: 3075398
For specific QCA6174 device, need clear LOW_POWER_INT_MASK register
bit3/4 to disable pcie low power interrupt after suspend, bit3 is for
INTR_L1SS and bit4 is for INTR_CLKPM, this is to fix issue that PMIC
VREG_L30A don't turn off when XO is in shutdown state.
Change-Id: I4833e4143c48a3bf734745a5e772a7a76a94d63c
CRs-Fixed: 3028269
Add HIF events to track NAPI POLL exit time, this gives
information about actual time spent by wlan host in napi softirq.
Change-Id: I7548fd05f2f7db714ac9bcf79171ffb3d478e936
CRs-Fixed: 3052902