نمودار کامیت

51 کامیت‌ها

مولف SHA1 پیام تاریخ
Naman Padhiar
23e8cd3328 wlan_platform: Add CONFIG_CNSS_OUT_OF_TREE flag
Use CONFIG_CNSS_OUT_OF_TREE to control if ICNSS family drivers are
built from in-kernel-tree source or out-of-kernel-tree source since
the exposed header files will be in different paths. This is also
for backward compatibility.
Resolve ICNSS compilation issue with msm-5.15 kernel.

Change-Id: I0a94f70c1be659a00f9401e57ee1dd31b6aa82ae
2022-04-25 19:29:59 +05:30
CNSS_WLAN Service
3d6bc31be2 Merge "icnss2: Add change to enable icnss2 driver unloading" into wlan-platform.lnx.1.0 2022-04-19 22:16:41 -07:00
CNSS_WLAN Service
6bf0b2b888 Merge "icnss2: create soc wake wq only for wcn6750 device" into wlan-platform.lnx.1.0 2022-04-19 22:16:40 -07:00
CNSS_WLAN Service
7f88b5b7d4 Merge "icnss2: Enable wpss ssr for adrastea target" into wlan-platform.lnx.1.0 2022-04-19 22:16:31 -07:00
CNSS_WLAN Service
9daa172011 Merge "icnss2: Enable dms get mac address for wpss supported target" into wlan-platform.lnx.1.0 2022-04-19 22:16:30 -07:00
CNSS_WLAN Service
0cba3b1723 Merge "icnss2: Enable wpss loading for adrastea targets using rproc" into wlan-platform.lnx.1.0 2022-04-19 22:16:29 -07:00
Manikandan Mohan
e8d76601a7 cnss2: Fix PBL / SBL logs collection for KIWI device
Fix PBL / SBL logs collection for KIWI device.

Change-Id: I271f1dc605f49db60339f1d7470bdd6c60770eb2
2022-04-18 11:32:29 -07:00
Sandeep Singh
c0e7f285a0 icnss2: Add change to enable icnss2 driver unloading
Rproc_put should gets called only after rproc
subsys shutdown as it decreases refcount. Rproc_put
should not be called from icnss_remove as refcount should
not be decreased without incrementing it using rproc
get_by_phandle api.

Change-Id: I26dc83d9750e45726e9e59d33a75d4ff402caa62
Signed-off-by: Sandeep Singh <quic_sandsing@quicinc.com>
2022-04-18 17:53:27 +05:30
Sandeep Singh
3f3761e143 icnss2: create soc wake wq only for wcn6750 device
Soc wake feature is only required for wcn6750 device.
So, this change moves soc wake wq creation only for
wcn6750 device.

Change-Id: Ib564d8bfd10c98aad3595bb10e5a2660f9049f85
Signed-off-by: Sandeep Singh <quic_sandsing@quicinc.com>
2022-04-18 17:43:05 +05:30
Sandeep Singh
2d00bd1bf8 icnss2: Enable wpss ssr for adrastea target
This change enables wpss ssr recovery handling
for adrastea targets.

Change-Id: I68a855db2b67d17dc4ba57337efb5ca406ba0873
Signed-off-by: Sandeep Singh <quic_sandsing@quicinc.com>
2022-04-18 17:18:43 +05:30
Sandeep Singh
e4e94ffa0d icnss2: Enable dms get mac address for wpss supported target
Enable dms get mac address for wpss supported target.
This change enables get dms mac address for adrastea
targets where rproc wpss loading is supported.

Change-Id: I76e4ae46833afb1d1150c3757cb2fc2f87ede2ec
Signed-off-by: Sandeep Singh <quic_sandsing@quicinc.com>
2022-04-18 16:53:08 +05:30
Sandeep Singh
a3d650f48a icnss2: Enable wpss loading for adrastea targets using rproc
This change enables wpss loading for adrastea targets using
rproc framework.

Change-Id: Ib9293a407c54da050d94b013ba6b6db58ab46893
Signed-off-by: Sandeep Singh <quic_sandsing@quicinc.com>
2022-04-18 12:41:53 +05:30
Wade Song
b12d988719 cnss2: Enable support for qca6390 on hana-au
To enable support for qca6390 on hana-au:

1) Return 0, instead of an error code, when 'qcom,icc-path-count'
   isn't present in the device tree, given some chipsets like
   qca6390 don't need this parameter to get probed successfully;

2) Add one more vreg config, 'vdd-wlan-rfa3', into the vreg list
   as it's required for qca6390 to get probed;

3) Add one more dts parameter, 'qcom,multi-wlan-exchg' into the
   wlan device tree node on auto platforms, to reflect the fact
   that multiple wlan chipsets can be plugged, while only one of
   them exists at a time.

Also, reorder the parameters passed for debug printing in function
cnss_plat_ipc_init_fn(), given the original ordering is not
matching with the debug message literally.

Change-Id: I94d33fcfa2343646c55d8021894f35bc3cf8a56b
2022-04-13 06:23:16 -07:00
Yue Ma
1f16ed3cb1 cnss2: Explicitly enable/disable dev SOL interrupt during power on/off
Dev SOL GPIO will be pulled down (interrupt will be triggered then) by
design when WLAN_EN GPIO is pulled down. Hence enable/disable dev SOL
interrupt during power on/off to avoid handling such case.

Change-Id: Ia0ddcbd438d533832c944632443000e2a087a300
2022-04-11 14:19:57 -07:00
Manikandan Mohan
11e6daf9bf cnss2: Refactor calibration timeout handling
WLAN driver register requires calibration to complete if enabled.
Calibration timeout can happen due to FW or file system mount delay.

Update driver to assert only for calibration timeout due to FW.

In some cases file system mount may take longer if file system repair
is attempted. Thus update cnss platform driver to wait for this
operation to complete and only log the time elapsed.

Change-Id: Iacd4d4565fb05ae1557c94c574c0153b5995b226
2022-04-04 13:51:28 -07:00
Manikandan Mohan
abe9d5bfb6 cnss2: Add sysfs entry for charger mode
WLAN is not needed in charger mode. Thus add a sysfs entry to notify
charger mode to cnss platform driver to ignore wlan initialization
request.

Change-Id: I4719b16e7fa6914c253018284b5a5d80acf14bbb
2022-04-04 13:49:57 -07:00
Naman Padhiar
04d2478bcc Icnss2: Remove deprecated ICNSS_BDF_DUMMY type
ICNSS_BDF_DUMMY type board data file is no longer used. Hence remove
it. A BDF file with regular name and dummy content should be sent as
dummy BDF instead of just sending a dummy string.

Change-Id: I9bbdf8a59bb178afe8c27e709b3a360c5de4fa68
2022-04-01 11:29:22 +05:30
Yue Ma
35d040ea76 cnss2: Add time sync support for kiwi device
Enable time sync feature for kiwi device which uses MHI registers
to get device time and uses shadow register #0 and #1 to get time
difference.

Change-Id: I72749c7b0328d278d9157adf254911280604ad60
2022-03-30 13:49:42 -07:00
Yue Ma
ce5d7eafbc cnss2: Add pinctrl support for SOL GPIOs
Add pinctrl support for SOL GPIOs so that default state of the
GPIOs can be set properly.

Change-Id: I2694d5d61074df04ab2e14251a743d387f814ae1
2022-03-29 14:58:40 -07:00
Yue Ma
c4cba5ad7b cnss2: Add support to handle SOL GPIOs
The side-band SOL (Sign-Of-Life) GPIOs are introduced to help make
RDDM more reliable so that device dump can be copied correctly. When
device SOL GPIO is triggered from device, it means there is watchdog
reset happened in device and driver should expect RDDM to happen.
When host SOL GPIO is triggered from host, it will result watchdog
reset as well as PCIe controller reset in device which should try to
enter RDDM always. This commit also adds debug hooks for the GPIOs.

Change-Id: I61a0f252d04ab0a62c5bf838850fe9a1bec2273b
2022-03-29 14:57:36 -07:00
Sandeep Singh
9c8339eabe icnss2: Add code to pass device configs to wlan host driver
Add code to pass device configs to wlan host driver.

Change-Id: I977fc564914f9fbdabc0004eff4c5c2f14a1fc7c
Signed-off-by: Sandeep Singh <quic_sandsing@quicinc.com>
2022-03-22 22:35:22 -07:00
Sandeep Singh
3974704e22 icnss2: Remove vbatt feature code from icnss2
This change removes vbatt feature code as adc tm
api's functionalities has been changed and no
longer supports vbatt feature.

Change-Id: I431c1dfe1a5529809fd7d68d1cb15632de3b801b
Signed-off-by: Sandeep Singh <quic_sandsing@quicinc.com>
2022-03-22 18:47:20 -07:00
Naman Padhiar
09128bd57d icnss2: Properly handle ramdump device creation failure
Check return value from function and handle it properly.

Change-Id: I8016f2a63d3d951e3ee0557397cbb80b9c51bebc
2022-03-17 09:15:48 +05:30
CNSS_WLAN Service
c2f080e4b2 Merge "icnss2: Register early SSR notification for WPSS" into wlan-platform.lnx.1.0 2022-03-15 12:22:10 -07:00
Yue Ma
c0e31d3b6f cnss2: Add MHI channels for ADSP
These channels are for MHI satellite driver to config and open
so that WLAN device can directly communicate with ADSP through
PCIe.

Change-Id: If91b847f40d6a71e09ba62cc1cdb370b76b4e05d
2022-03-14 21:39:39 -07:00
CNSS_WLAN Service
3533798214 Merge "cnss2: Try to collect RDDM even when it's timed out" into wlan-platform.lnx.1.0 2022-03-14 21:12:36 -07:00
CNSS_WLAN Service
6ad2619093 Merge "cnss2: Add NULL check for a few exposed APIs" into wlan-platform.lnx.1.0 2022-03-14 17:40:04 -07:00
Naman Padhiar
8b84662a7d icnss2: Register early SSR notification for WPSS
Consider a scenario where WPSS watchdog happens RPROC driver
gets interrupt and notified to GLINK layer(underlying layer
within QMI) now if ICNSS driver tries to send any QMI message
it will fail and ASSERTS. If ICNSS would have received legacy
SSR notifier it could have ignore ASSERT. But there is a race
where ICNSS sends QMI message between GLINK layer received
WPSS down and ICNSS receives WPSS down and ASSERT of QMI
failure cannot be avoided. To resolve this register early
SSR notifier from ICNSS which notifies about WPSS down to
ICNSS before GLINK. Based on that ICNSS can either avoid
sending QMI message or can ignore ASSERT.

Change-Id: Iada85a1bfff6ae420123afc5f86a738b662171fc
2022-03-12 08:43:47 +05:30
Sandeep Singh
48c98ff79f icnss2: Add prefix in file path for adrastea targets
This change will add adrastea prefix in fw file path
of adreatea targets. This changes enables fw files
to be picked from /vendor/firmware_mnt/image/adrastea
path.

Change-Id: Ic0ce57b7a8db08e4bf55c8a493a1f1500d93c427
CRs-Fixed: 3140070
2022-03-10 10:55:49 +05:30
Naman Padhiar
7f324af0bf Check if FW_DOWN is reason for SOC_WAKE REQ timeout
There is possiblity that after sending SOC_WAKE_REQ/RESP
SMP2P message WPSS might go down for some reason in that
case ACK for SOC_WAKE REQ/RESP from WPSS can never come
and request will get timedout and ICNSS asserts.To avoid
this, check if FW_DOWN is reason for SOC_WAKE REQ timeout
and avoid assert.

Change-Id: Id371d625b880847bf02392d0f722b58aa30fc2b2
2022-03-09 07:45:26 -08:00
Yue Ma
5719f4aa59 cnss2: Try to collect RDDM even when it's timed out
There are some cases that device has entered RDDM mode, but RDDM
notification fails to reach driver. Hence when RDDM timeout happens,
do a last check to see if device is in RDDM mode. If yes, just wait
and collect the dump.

Change-Id: Ic7a6cc2d791277d166a9c4da1743be4e3f14e3af
2022-03-08 15:20:31 -08:00
Yue Ma
f6441910dc cnss2: Add NULL check for a few exposed APIs
Per static analysis, NULL check is needed for a few exposed APIs,
hence add it.

Change-Id: I614418cd47e6cc8f7c58e294b7bd5de596b6362c
2022-03-08 15:13:23 -08:00
Lin Bai
ed7cc00bfc cnss2: Include memory_dump.h when CONFIG_QCOM_MINIDUMP enabled
MSM_DUMP_DATA_CNSS_WLAN not defined during compilation,
if CONFIG_QCOM_MEMORY_DUMP_V2 disabled.
To resolve it, also include memory_dump.h header as well,
when CONFIG_QCOM_MINIDUMP enabled.

Change-Id: I55fe3ccd606168fb48d6c3a129960f01f1f72a07
2022-03-08 10:51:06 +08:00
Naman Padhiar
3983bc4503 wlan_platform: Bring initial files for ICNSS family drivers
Bring ICNSS family drivers from msm-5.10 kernel as of commit
'cb298739ee51 ("icnss2: Download bdf file for helium targets")'
to WLAN platform project.

Updated wlan_firmware_service files and makefiles to support
ICNSS2 compilation.

Change-Id: I02cf792b61772f07ac0607be7bb6b3bfda7815e4
2022-03-02 09:04:18 +05:30
Kai Liu
6df6dd4662 cnss2: Check chip version before accepting wlan registration
There are multiple subversions of one chip, platform driver needs check
chip version info that wlan driver provides to decide whether reject
this registration.

Change-Id: I43bc9cb0c20021a2add3e8e5f812d82c31f217f4
2022-02-22 08:23:26 -08:00
Yue Ma
7fa736b0cb cnss2: Fix a few issues which may impact DRV feature
Always use default PCIe link width since it will not change for the
device at run time. Also avoid accessing the bus if preventing PCIe
L1 state fails.

Change-Id: Id6d55c47f4e60788a157f060a33f5fd6e52fef1b
2022-02-21 11:18:37 -08:00
Yue Ma
eff13adc0c cnss2: Check qcom,drv-name for DRV support
qcom,drv-name is used to specify the DRV subsystem which will be used
in the target. Add the support to check it for DRV support as well.

Change-Id: If1c588f1a0b870e020466b1cb6d9ee8bedc87ef3
2022-02-21 11:18:26 -08:00
CNSS_WLAN Service
28ed2c727f Merge "cnss2: Add regulator entry for sleep clock" into wlan-platform.lnx.1.0 2022-02-20 18:15:29 -08:00
Yue Ma
74770284f9 cnss2: Add regulator entry for sleep clock
For some platforms there will be a fixed regulator (GPIO) to supply
sleep clock for WLAN device. Add that entry for power on regulator
list.

Change-Id: I93a44b2466603abc98de17bdbf09c9ddb44ec8ec
2022-02-16 13:19:20 -08:00
Yue Ma
dd1545bf66 cnss2: Add support to download correct ucode for kiwi v2
Use correct ucode name for kiwi v2.

Change-Id: I452bbd4f0d6ba705758ff44b2358549ae836eb49
2022-02-11 13:26:23 -08:00
Yue Ma
481237eeaf cnss2: Add support to download FW for kiwi v2 device
Use correct name to download FW for kiwi v2 device.

Change-Id: I4af73a96100deca8370adea15bd8b849448edd67
2022-02-11 13:25:53 -08:00
Mohammed Siddiq
7efdab657b cnss2: Add api to return the pci slot in use
Add api to return the pci slot in use. With the new targets,
QCA6490/kiwi devices are getting attached on pci slot 1
as well, so host driver call this exported api to get the pci
slot of device attached.

Change-Id: Ief51204258090df16b48267f3aeb851ded365525
2021-12-29 17:43:01 +05:30
Yue Ma
be03060a66 cnss2: Use correct device code name
Correct code name for kiwi device.

Change-Id: Ic52ba0abfc7049fd353eb1416a5c77c5bfec4bb5
2021-11-15 13:16:26 -08:00
Yue Ma
2aa7359c06 cnss2: Add dev coredump support
Support dev coredump feature if QC ramdump related features are
not present so that WLAN dump can be saved to file system using
userspace binary. Most of the logic here is referred from QC
ramdump driver.

Change-Id: I9a0966f66f3d7999948216a7b83f57beff1ef519
2021-11-02 10:53:37 -07:00
Yue Ma
f0010c72ed cnss2: Fix a few issues when compile against 5.15 kernel
Fix compilation issues when build the driver against 5.15 kernel.

Change-Id: Ifa650663b5b8a06ce11bf5e1699ca8b3802c9ab3
2021-11-02 10:13:25 -07:00
Yue Ma
bd8df912fd wlan_platform: Update CNSS family drivers
Update CNSS family drivers from msm-5.10 kernel as of commit
db1b2399e273 (Merge "cnss2: Increase power on retry delay")
to WLAN platform project. Also add proper copyright markings
for some files.

Change-Id: I03a10b929f5460f80a9b1f258df58e0c1a593598
2021-11-01 20:42:30 -07:00
Yue Ma
69db86ce9e wlan_platform: Add Android.mk to build CNSS drivers
Add Android.mk file so that CNSS family drivers can be built under
Android build system.

Change-Id: If29a4b89bb0c510f9cce8ad21997637801a673a1
2021-10-08 15:31:58 -07:00
Yue Ma
50abee9f6f wlan_platform: Add Makefile and Kbuild to build CNSS drivers
Add default Makefile and Kbuild so that CNSS family drivers can be
built directly as kernel modules.

Change-Id: I36636613220a4859b07c0069d83f3d62d39bbec2
2021-10-08 15:31:58 -07:00
Yue Ma
7e3754303f wlan_platform: Add CONFIG_CNSS_OUT_OF_TREE flag
Use CONFIG_CNSS_OUT_OF_TREE to control if CNSS family drivers are
built from in-kernel-tree source or out-of-kernel-tree source since
the exposed header files will be in different paths. This is also
for backward compatibility.

Change-Id: I24111fdb76607bf911c29e415d42d25609f9b26c
2021-10-08 15:31:58 -07:00
Yue Ma
5b29459b17 wlan_platform: Bring initial files for CNSS family drivers
Bring CNSS family drivers from msm-5.10 kernel as of commit
cc3bc4b888af (cnss2: Fix a few switch statement fallthrough
issues) to WLAN platform project. Fix SPDX-License format for
a few files as well.

drivers/net/wireless/cnss* -> .
include/net/cnss* -> inc/

Above shows how directories and header files are relocated.

Change-Id: If8fd40a35c9fdbeb1aa76a8aac5fdb1fc1c7e786
2021-10-08 15:28:40 -07:00