نمودار کامیت

358 کامیت‌ها

مولف SHA1 پیام تاریخ
Linux Build Service Account
ba9ccd5db9 Merge 02e22639bc on remote branch
Change-Id: Ia5482794c3693c6e6d13c7a4479712f6c79df9db
2024-01-24 10:22:43 -08:00
Sandeep Singh
02e22639bc icnss2: enable icnss2 compilation for volcano
Enable icnss2 compilation and bazel related configs
for volcano.

Change-Id: Iff95b1983f323c76651564a94a35618781966ec6
CRs-Fixed: 3684107
2023-12-26 10:35:07 -08:00
Alan Z. Chen
c532da94b6 cnss2: Remove DIAG related MHI channel configuration for Peach
As DIAG is now deprecated on Peach chipset onwards, create a new
MHI config struct that removes DIAG related channel configuration.
Then, register this new struct for peach chipset onwards.

Change-Id: I1ba1cadaa0d1a022d6c9af6d8ff14942d4f219cf
CRs-Fixed: 3684700
2023-12-22 13:14:05 -08:00
Lin Bai
5a888e90a2 cnss2: Add segment CALDB support flag in FW Cap
When FW supports segment CALDB memory in memory request,
it sets CALDB_SEG_DDR in its capability which is sent to
host by Target Cap QMI message.

Change-Id: I84b62336ea2616cb2d663c604ac4af8a8d9966b8
CRs-Fixed: 3681105
2023-12-21 00:01:02 -08:00
Prateek Patil
dc9f45faee cnss2: Send QMI message to download TME binaries
Send QMI message with SEC, RPR and DPR file information to WLAN FW, to
download TME binaries (sec, rpr, dpr files)

Change-Id: I0a4ab7ab127d493ef62d14658be2aa08b7d41606
CRs-Fixed: 3684131
2023-12-20 05:31:07 -08:00
Prateek Patil
6d5176c254 cnss2: Update TME-L patch name
Update TME-L patch name as per the target version 1.0 and change the
patch file location.

Change-Id: I1e5e8e6ac330a093f61e34029f8aec35fd3f26aa
CRs-Fixed: 3687807
2023-12-17 15:45:14 -08:00
Prateek Patil
36a061b235 cnss2: Add dump collection for CAL memory
Add CNSS_FW_CAL dump segement for dump collection of CAL memory

Change-Id: Ie3d339f3db8898e087d8460d1efb7b9a8f75a13d
CRs-Fixed: 3684125
2023-12-15 09:26:28 -08:00
Sandeep Singh
b33774b0e9 icnss2: add bazel config files for pitti
Add bazel config files for pitti.

Change-Id: I53571d0408aa53b9ac9ed7c55297a52c214d3c8d
CRs-Fixed: 3681289
2023-12-14 01:36:50 -08:00
Linux Build Service Account
5eb073b2b4 Merge 42fc0fe2e5 on remote branch
Change-Id: I3159e29c56d99afb2eb56e6d9f9eee83a1ff6520
2023-12-12 11:30:09 -08:00
Prateek Patil
2dec17eda3 icnss2: Add PDC init table support for WLAN device
Send PDC init table as configured in DT for WLAN device.

Change-Id: I75ce3182e844787bb78646df4a6dad023520a94d
CRs-Fixed: 3672179
2023-12-05 19:51:29 -08:00
Yeshwanth Sriram Guntuka
42fc0fe2e5 cnss2: Add support to get LPASS-FW shared memory info
Add support for host driver to get LPASS-FW shared
memory information in the context of direct link
use case.

CRs-Fixed: 3667595
Change-Id: I8254919814d578c9f28084db52a22f8cb9779112
2023-11-27 04:41:54 -08:00
Yeshwanth Sriram Guntuka
3d8ea8bbb7 cnss_utils: Add LPASS SSR reason code and new memory type
Add LPASS SSR reason code that would be used to indicate
the reason for LPASS crash and also add memory type for
FW to request shared memory with LPASS for direct link
use case.

CRs-Fixed: 3653551
Change-Id: I4d6ed721857289f43c01c8522d844656ef15c1b1
2023-11-22 17:51:34 -08:00
Naman Padhiar
2f61e5043c cnss2: Set FUNC_SEL for SW_CTRL and SW_CTRL_WLAN GPIO
From Sun onwards FUNC_SEL for SW_CTRL and SW_CTRL_WLAN
GPIO needs to be set by client. Add support to set
funtion to "wcn_sw_ctrl" and "wcn_sw" for SW_CTRL and
SW_CTRL_WLAN GPIO so that, when these GPIOs goes high,
PDC get interrupted and TCS sequence(which enables RF_CLK)
can be started.

Change-Id: Ia2ba7d8a89fe6bb54b6563f5319d50c90df2210d
CRs-Fixed: 3668322
2023-11-22 10:04:35 -08:00
Linux Build Service Account
178e55e7c4 Merge 34e74266d2 on remote branch
Change-Id: I0ce9a36a68142729b5a8d8e6053c7a9f4ee3c66a
2023-11-22 09:50:49 -08:00
Prateek Patil
21931a8db7 cnss2: Add PBL error logging on host console
Add PBL error logging on host console and dump SOC reset cause
register and PCIE_PCIE_BHIE_DEBUG_n register

Change-Id: I80ae44354b1efc05ed72f69a7e3ee8d358d840d7
CRs-Fixed: 3661767
2023-11-17 22:27:21 -08:00
Dundi Raviteja
920df40d31 icnss2: Add bazel configs for monaco
Add bazel config files for monaco compilation.

Change-Id: Ib16ae673065849b941c52ec1cb26114fa71edfe5
CRs-Fixed: 3650989
2023-11-13 15:45:54 -08:00
Dundi Raviteja
94cdab90a2 icnss2: Update hardcoded path for BOARD_COMMON_DIR
Some targets use a different location for the build scripts and
set the BOARD_COMMON_DIR build variable accordingly. If this variable
is set, pick up the Build_external_kernelmodule.mk makefile
from this location.

Change-Id: I983849f8f250ea9e9cbf5ee09c71687893abb605
CRs-Fixed: 3636186
2023-11-13 06:52:38 -08:00
Sandeep Singh
b0a979e08c icnss2: enable wpss supported for wcn6450 device
Enable wpss supported for wcn6450 device.

Change-Id: Ida818999538e7366ac1a2326b3563accc7cb5da7
CRs-Fixed: 3661363
2023-11-12 15:22:29 -08:00
Naman Padhiar
0e4171f329 cnss2: Initialize completion event at right place
CNSS2 registers PCI event callback for wake irq from
PCI driver. When callback is called CNSS2 completes
wake_event to notify the waiting threads. Currently,
initialization of wake_event completion is done after
PCI event callback registration causing issue when
PCI even callback for wake irq is called before wake_event
completion could initialize.

Initialize wake_event completion before PCIe event callback
registration.

Change-Id: If8c6ca5a5d5de5fc903b479d6d32ac0e5349f069
CRs-Fixed: 3648865
2023-11-12 15:22:29 -08:00
Prateek Patil
027c253616 icnss2: Fix compilation error when CONFIG_MSM_QMP is not enabled
'qmp' is not defined in 'struct icnss_priv' when CONFIG_MSM_QMP
is not set, use 'use_direct_qmp' to check if 'qmp' is configured
or not.

Change-Id: I3095f7173c4368d04bfab0c1cefc901ea58fccd4
CRs-Fixed: 3661758
2023-11-12 15:22:28 -08:00
Yu Ouyang
34e74266d2 cnss2: Genoa window enable bit set wrong
Genoa window enable bit should be set before function writel_relaxed.

Change-Id: I7592e3975fad76c5232377cc51a9c4906a90aab6
CRs-Fixed: 3646876
2023-11-07 05:06:10 -08:00
Meng Yuan
6bb3f633f3 cnss2: Add PCIe's link resume failed event
Add BUS_EVENT_PCIE_LINK_RESUME_FAIL type to bus event type.

Change-Id: If13f53ed9f2c6968eed5e11343cc493e740d82bd
CRs-Fixed: 3646812
2023-11-04 04:41:19 -07:00
Xiaoning Ma
cd3b976590 cnss2: Fix compilation error when CONFIG_MSM_QMP is not enabled
'qmp' is not defined in 'struct cnss_plat_data' when CONFIG_MSM_QMP
is not set, use 'use_direct_qmp' to check if 'qmp' is configured
or not.

Change-Id: If8f822a3bb1acfe10ecf175f742f3f5abd5f7df7
CRs-Fixed: 3647012
2023-10-26 19:21:41 -07:00
Chaoli Zhou
3350d6f679 cnss2: Add logic to support hang data for GNO
Support hang data enabled for genoa.

Change-Id: I93ac07159cddf067aa5f74bd26c9420f48d31710
CRs-Fixed: 3646227
2023-10-26 19:21:40 -07:00
Linux Build Service Account
7a9117a28d Merge 41022800bc on remote branch
Change-Id: I0b533918eae5cd0b7d9eef89f3c18fe212120f8c
2023-10-20 04:22:37 -07:00
Naman Padhiar
d897e63881 cnss2: Remove wlan-connection-roaming INI download
Remove QMI message to download wlan-connection-roaming.ini
file to FW. This way, for all the OEMs, we would not download
any of this file. Separate change will be raised to download this
files with invalid character check in CNSS2 platform driver and
maintained as hot fix.

Change-Id: Id9f990751d30f28d2d1aac180c24cb6d673e1205
CRs-Fixed: 3640676
2023-10-20 03:45:02 -07:00
Yu Wang
da6fe13a18 cnss2: free host ramdump device properly
As per description of device_add(), never directly free
a device after calling device_add(), should always
use put_device() to give up the reference and free it
in callback function 'release' if it's required.

Change-Id: I5b07b49bcf2e2af6994c05ef038deebc92a825b7
CRs-Fixed: 3637349
2023-10-17 21:38:54 -07:00
Prateek Patil
20021f2826 cnss2: Print sw_ctrl_gpio value setting pci_link up fails
This change will print sw_ctrl_gpio value during pci_link up fails.

Change-Id: Ifc92f52911e64b69ba80787763de0b5d1e15c217
CRs-Fixed: 3641068
2023-10-17 21:38:53 -07:00
Mohammed Ahmed
0a9f61aed2 icnss2: Additional platform changes for sun
Current code has compilation errors for sun kernel.
Fix this by resolving the errors.

Change-Id: I903f4c4ca0301626062c3b5d11069feaba48850a
CRs-Fixed: 3632179
2023-10-17 21:38:53 -07:00
Sandeep Singh
41022800bc icnss2: Add two vectors for DP in wcn6450 msi config
Add two vectors for DP in wcn6450 msi config which will
be used in monitor mode and increase number of ce interrupts
to 12 for wcn6450.

Change-Id: I386c98310441fd7c4f9dc8b4cfc7f2da727fe35e
CRs-Fixed: 3629007
2023-10-04 16:14:52 -07:00
Linux Build Service Account
ed21b03539 Merge a883a8f321 on remote branch
Change-Id: I7f8c32ad85fba8a8633c7b254787493477da6df3
2023-10-03 13:05:59 -07:00
Naman Padhiar
b031b47122 cnss2: Release rddm_complete wait during default recovery
Currently Host driver calls cnss_force_collect_rddm API
to trigger RDDM and wait for dump collection. If device
fails to move to RDDM, CNSS driver initiate DEFAULT recovery
(which is recovery without RDDM dump collection) and return
failure to Host driver. Host driver sees error and again try
recovery which results in double recovery.
To avoid this issue, return success to Host driver if
CNSS driver has already initiated the DEFAULT recovery
and release rddm_complete wait event for DEFAULT recovery
cases also.

Change-Id: Ib4b324704d15b40ec98985745b1981522b3b4f2d
CRs-Fixed: 3627928
2023-09-29 23:47:19 -07:00
Naman Padhiar
b791c15d0c cnss2: Optimize link down recovery sequence
Remove unwanted delay from PCIe link down recovery sequence
1. Wait for wake event from PCIe driver instead of hardcoded wait.
2. After link recovers, wait for device to move to RDDM mode
   instead of starting rddm timer.
3. If device fails to move to RDDM, assert HOST SOL and initiate
   side band recovery.

Change-Id: I5a4096ac781dd8f5011b07b0ffb669815a968570
CRs-Fixed: 3590419
2023-09-24 19:07:57 -07:00
Linux Build Service Account
22989e7675 Merge 696ac36d11 on remote branch
Change-Id: I30f34f3e3a1fd7959df3e0e6366a96a447a0e724
2023-09-21 07:56:10 -07:00
Sai Kumar Kunchala
d0fbd9bae5 cnss2: enable cnss2 for Niobe target
- Add defconfigs for consoilidated and GKI variants.
 - Add Niobe target to wlan bazel config.

Change-Id: Id6f57de324bf1c89a521236373cdbc61e453b492
CRs-Fixed: 3614358
2023-09-20 20:10:50 -07:00
Amit Mehta
600b1dfc1c cnss2: Add DP rings to host SSR dump
Add DP rings to host SSR dump.

Change-Id: I6e2462085ee41e60cfd2e5772f03d081af86617f
CRs-Fixed: 3604908
2023-09-20 07:11:26 -07:00
Naman Padhiar
a883a8f321 cnss2: Protect PCI bus resume with mutex lock
Race condition seen between WAKE interrupt handler
and HOST triggered recovery. Due to the race PCI
link up is called back to back. Protect PCI bus
resume with bus_lock mutex.

Change-Id: Ifc140921bdf803bc2d46365b4e5a59cba34ee715
CRs-Fixed: 3614970
2023-09-16 14:13:57 -07:00
Sandeep Singh
328d2fa04f icnss2: use firmware_request_nowarn api to load qdsss/bdf file
Use firmware_request_nowarn api to load qdsss/bdf file instead
of request_firmware api. Firmware_request_nowarn doesn't produce
warning messages.

Change-Id: Ia8a2881cdd6eca43396cda0e05b0c75dc3d21610
CRs-Fixed: 3616145
2023-09-15 10:53:09 -07:00
Mohammed Ahmed
e1dd6c2585 cnss2: cnss changes for sun compilation
Current code has compilation errors
when compiling for sun. sched_clock()
was moved to clock.h, and iommu_map API
was changed with new sun kernel. Fix
this by updating code for new kernel
apis.

Change-Id: I77029fcc74142f3f650dc289c8d19c121eba6445
CRs-Fixed: 3603129
2023-09-14 15:14:49 -07:00
Mohammed Ahmed
e144f654b8 cnss2: Add config files for sun compilation
Current code does not contain config files
required for sun compilation. Fix this
by adding sun config files.

Change-Id: I130e6d9f16e36335a0acc52f98715cab622ef8b4
CRs-Fixed: 3603141
2023-09-14 15:14:48 -07:00
Nijun Gong
e921bad259 cnss2: restore to gen2 speed for qca6490
There is known pcie linkdown issue for qca6490 if gen3 speed is used.
Previous solution is to downgrade to gen2 before enumeration, but it
doesn't work if platform support multiple wlan chips where device id
can't be determined until enumeration success.

The fix is:
1, Enumerate all devices with gen1 speed
2, When enumeration done, restore to gen2 if device is qca6490

Change-Id: I55d554c4dc7d01ed82fffe79f666b340b1004765
CRs-Fixed: 3612384
2023-09-13 04:22:26 -07:00
Sandeep Singh
111da9be47 icnss2: enable icnss2 compilation for pineapple
Enable icnss2 compilation for pineapple and remove
unused configs for icnss2.

Change-Id: I500cd3dc2ea9f846f80bf1e57427106df4ae2bbc
CRs-Fixed: 3600796
2023-09-09 09:43:00 -07:00
Nijun Gong
744c0f19d7 cnss2: use disable_irq_nosync for rome linkdown
When PCIE linkdown happen, IRQ handler will disable IRQ line then
trigger SSR. disable_irq() is used but it introduce sleep in IRQ
context(unexpected). Crash will happen if CONFIG_SCHED_WALT is set:
	android_rvh_schedule_bug+0x4/0x8
	__might_sleep+0x50/0x84
	synchronize_irq+0x48/0xc4
	disable_irq+0x70/0x9c
	cnss_pci_handle_linkdown+0x1a8/0x1c0 [cnss2]
	cnss_pci_event_cb+0x148/0x348 [cnss2]
	msm_pcie_notify_client+0x110/0x180
	msm_pcie_handle_linkdown+0x2d8/0x2f8
	handle_global_irq+0x464/0x5dc

To avoid this issue, should use disable_irq_nosync(), which doesn't
wait IRQ handler to finish. It should introduce no side effect, as
the whole device will be restated later by SSR.

Change-Id: I5ec96d41337a14280333ab9fea0c1f6132a532af
CRs-Fixed: 3548604
2023-09-08 04:11:00 -07:00
Linux Build Service Account
d1685f0347 Merge e44a22665b on remote branch
Change-Id: Iec6ff7989e967830852594941c7fdb0e4ed69461
2023-09-05 09:06:24 -07:00
Alan Chen
696ac36d11 cnss2: Create new infrastructure for removing sysfs group
Up until kernel 6.1, devm_device_remove_group() was used when
removing sysfs group. From kernel 6.2 onwards,
devm_device_remove_group() is no longer supported. Thus, create
new functions that replicate original functionality of
devm_device_remove_group().

Change-Id: If3a7b380a03eec5a3f918b5a0813830c3136fd1f
CRs-Fixed: 3601923
2023-09-02 09:03:06 -07:00
Prateek Patil
5d5c769c28 cnss2: include qcom_aoss.h file at correct place
There may be multiple time inclusion of inline definition of the
APIs defined in the header file qcom_aoss.h if config
CONFIG_QCOM_AOSS_QMP is disabled for underlying target.
This may result in linking error. Move the header file to the correct
place in power.c.

Change-Id: I5c79eff3be4c758db1ab313843b36a02ecccbef9
CRs-Fixed: 3603827
2023-09-01 07:02:24 -07:00
Balaji Pothunoori
2f4117dcd2 icnss2: send ICNSS_UEVENT_FW_DOWN uevent instead ICNSS_UEVENT_FW_CRASH
PD restart triggered as part of host based SSR triggered,
this will call PLD shutdown and HDD shutdown.
While processing HDD shutdown host driver check CDS recovering state
and then ASSERT if it is not set.
To Avoid this ASSERT, fix introduced to set CDS recovering by
sending ICNSS_UEVENT_FW_DOWN uevent to Host driver during firmware
crash.

Change-Id: I4f06404b02bb7ce0018b3f8e1e5253e0ba155095
CRs-Fixed: 3595285
2023-08-31 21:46:40 -07:00
Naman Padhiar
e9066ddd35 cnss2: Add SMEM based Secure Peripheral check
Check secure peripheral HW state using SMEM APIs instead of
SCM APIs.

Change-Id: I3e652859189221d3b9d26bd2e71e254edf6843b0
CRs-Fixed: 3601121
2023-08-31 21:46:39 -07:00
Balaji Pothunoori
89f8f5e0b2 icnss2: support to add new flag rproc fw download
Currently wpss_supported variable which helps to download
wlan FW binary using rproc channel and also includes SMP2P
communication between platform and FW.
Currently SMP2P is not required for QCS405 target, Hence
introduced rproc_fw_download to download only wlan FW via rproc.

Change-Id: If230e05fc6098d4ea017d8af74b2b1c7a7afce25
CRs-Fixed: 3596283
2023-08-31 21:46:39 -07:00
Balaji Pothunoori
89ebfe7d2c icnss2: Enable icnss2 module for qcs405 target
This change is to enable icnss2 module for qcs405
target.

Change-Id: I9c7565b44a72145e11178fe360f413ff578142bb
CRs-Fixed: 3551635
2023-08-31 21:46:39 -07:00