Commit Graph

6 Commits

Author SHA1 Message Date
Jiani Liu
ae1e042498 cnss2: Set and retrain PCIe link for PCIe switch
When WLAN is attached to PCIe switch, set and retrain DSP <-> EP link
in BW scale callback function. It avoids touching RC <-> USP link which
may impact other devices.
With this change, it could support Hamilton PCIe Gen3 on PCIe switch
platform.

Change-Id: Id444ac847613971545bf66db9bb1a6e427028802
CRs-Fixed: 3848272
2024-08-07 03:59:45 -07:00
Jiani Liu
d792a01299 cnss2: Control the power on/off wlan device for PCIe switch platform
CNSS driver controls the power on/off wlan device. because on CPE
platform the link/power status of RC<->USP may be still on when wlan
device is turning on/off, this may cause uncorrectable AER error on
DSP side, to avoid this issue DSP's downstream link should be
disabled before power on/off wlan device, and re-enabled after wlan
power on, and also wait for link training of DSP<->WLAN to complete.

To be compitable with non PCIE switch platform, add a new config
CONFIG_PCIE_SWITCH_SUPPORT to enable/disable this function

Change-Id: Iaca103850d5ffc717a2a8bc40d16358e03c0c9db
CRs-Fixed: 3848272
2024-08-07 03:59:43 -07:00
Chaoli Zhou
74ebfcdb0a cnss2: Skip any adsp operation if DRV not supported
At the auto platform, DRV feature is not applicable.
So do not issue any DRV related operation from cnss2
side, which may cause the RC PHY not ready in the LPM
case.

Change-Id: Iefae9a885c1adc289da518d65a2974e127bdf359
CRs-Fixed: 3419811
2023-03-10 21:15:43 -08:00
Bing Sun
7418239f92 cnss2: Add force one MSI field for quirk
Add new bit FORCE_ONE_MSI for quirk to force one MSI configure

Change-Id: I5053a0f95619ee75aad8a4c3f413affc0f9af3f5
CRs-Fixed: 3313980
2022-10-25 10:08:13 -07:00
Bing Sun
fe37b559b9 cnss2: Add one MSI vector support
Some platforms can't meet the number of MSI interrupt vectors that
wlan driver requires.
Add one MSI interrupt vector support.
If CONFIG_ONE_MSI_VECTOR is not defined, wlan driver fails to load
if reuired MSI vector allocation fails. It is current behavior.
If CONFIG_ONE_MSI_VECTOR is defined, firstly it will allocate multiple
MSI vectors based on MSI config. If MSI vector allocation fails, it
fallbacks to one MSI vector automatically.

Change-Id: I813f7ddf678ecf405e573f3bc72af3e758d1c96d
CRs-Fixed: 3312670
2022-10-25 10:08:12 -07:00
Mohammed Siddiq
29e96e5173 cnss2: Add code to separate MSM PCIe APIs to pci_qcom.c file
Add code to move the platform related apis mainly defined under
CONFIG_ARCH_QCOM and CONFIG_PCI_MSM flags to separate file,
named pci_qcom.c. This change facilitates easy code upgrade for
customer.

Change-Id: Ic81e633829ccfdeb3fc3f123013708e6d712c5c2
2022-05-16 08:26:27 -07:00