WORKAROUND: Disable L0s to fix wlan functionality#506
WORKAROUND: Disable L0s to fix wlan functionality#506krishnachaitanya-linux wants to merge 2 commits intoqualcomm-linux:qcom-6.18.yfrom
Conversation
|
@krishnachaitanya-linux Why are you reverting the MSI capability change also? I understand that some hardware issue got unmasked by that change, but for that you added the WA in board dts already. Is that not enough? |
@Mani-Sadhasivam Krishna is reverting the old workaround which is the revert of MSI capability change, i.e. it's a revert of revert. |
|
@krishnachaitanya-linux As this seems to be an issue with SoCs rather than boards. I wonder whether we should apply the change below instead. The commit log needs to be updated though. https://lore.kernel.org/all/20260419093934.1223027-1-shengchao.guo@oss.qualcomm.com/ |
Ack, I will update the PR now. |
15c045b to
d55bd7f
Compare
shashim-quic
left a comment
There was a problem hiding this comment.
PCIe errors are resolved for now by disabling L0s for now.
So, add the change back.
Please also give a reference to the commit that addresses the earlier issue.
|
@krishnachaitanya-linux You need to update the commit message of the patch from Shawn as per the comments given. Even though this is a temp WA, we should use accurate commit message. |
|
This is needed for RC3 release, with out this the switch functionality is broken. In cascade switch which is enabled in this release we are seeing issues with smmu, we found that issue is due to msi capability in root complex(this is not supported in hw when synopsys SPI's are used). so we tried to backport upstream change which disables msi capability. This change is actual uncovered AER issue which is not seen till now in other targets(rb4 & rb8) very late. so we raised this PR very late to have rc3 release. |
ack |
d55bd7f to
9b6479a
Compare
9b6479a to
98f6360
Compare
Ack updated it. |
There was a problem hiding this comment.
Revert "Revert "FROMLIST: PCI: dwc: Remove MSI/MSIX capability if iMSI-RX is used as MSI controller""
see if following looks better:
Revert "Revert "FROMLIST: PCI: dwc: Remove MSI/MSIX capability if iMSI-RX is used as MSI controller""
Commit bf62c12 ("Revert "FROMLIST: PCI: dwc: Remove MSI/MSIX capability if
iMSI-RX is used as MSI controller"") was applied due to excessive AER
logging and functional breakage after INTx fallback.
The AER issue is now mitigated by disabling L0s, so restore the original
behavior and remove MSI/MSI-X capabilities from Root Ports using iMSI-RX.
This reverts commit bf62c12 ("Revert "FROMLIST: PCI: dwc: Remove MSI/MSIX
capability if iMSI-RX is used as MSI controller"").
Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
FROMLIST: PCI: qcom: Disable ASPM L0s for SA8775P
Missed Link: in this commit log
…I-RX is used as MSI controller"" Commit bf62c12 ("Revert "FROMLIST: PCI: dwc: Remove MSI/MSIX capability if iMSI-RX is used as MSI controller"") was applied due to excessive AER logging and functional breakage after INTx fallback. The AER issue is now mitigated by disabling L0s, so restore the original behavior and remove MSI/MSI-X capabilities from Root Ports using iMSI-RX. This reverts commit bf62c12 ("Revert "FROMLIST: PCI: dwc: Remove MSI/MSIX capability if iMSI-RX is used as MSI controller""). Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
Commit f5cd8a9 ("PCI: dwc: Remove MSI/MSIX capability for Root Port if iMSI-RX is used as MSI controller") removed MSI/MSI-X capabilities from the Root Port on platforms using iMSI-RX (including SA8775P, which has no msi-parent/msi-map in DT). This causes PME and AER service drivers to fall back from MSI to INTx. There are lot of AER's seen after this change, the reason for this AER's can be board specific, and recently discovered refgen voting required by phy driver. [ 13.069528] pcieport 0000:00:00.0: PME: Signaling with IRQ 332 [ 13.082436] pcieport 0000:00:00.0: AER: enabled with IRQ 332 [ 13.082447] pcieport 0000:00:00.0: AER: Correctable error message received from 0000:01:00.0 [ 13.101347] pci 0000:01:00.0: PCIe Bus Error: severity=Correctable, type=Data Link Layer, (Transmitter ID) [ 13.111281] pci 0000:01:00.0: device [17cb:1103] error status/mask=00001000/0000e000 [ 13.111284] pci 0000:01:00.0: [12] Timeout [ 13.111313] pcieport 0000:00:00.0: AER: Multiple Correctable error message received from 0000:01:00.0 [ 13.130512] pcieport 0000:00:00.0: PCIe Bus Error: severity=Correctable, type=Data Link Layer, (Transmitter ID) [ 13.130514] pcieport 0000:00:00.0: device [17cb:0115] error status/mask=00001000/0000e000 [ 13.130516] pcieport 0000:00:00.0: [12] Timeout Fix this temporarly on SA8775P/Lemans platform by adding no_l0s = true to cfg_1_34_0 for SA8775P, so that PCI_EXP_LNKCAP_ASPM_L0S is cleared from the Root Port and ASPM L0s is prevented from being negotiated. Fixes: f5cd8a9 ("PCI: dwc: Remove MSI/MSIX capability for Root Port if iMSI-RX is used as MSI controller") Assisted-by: Claude:claude-4-6-sonnet Link: https://lore.kernel.org/all/20260419093934.1223027-1-shengchao.guo@oss.qualcomm.com/ Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
98f6360 to
3bb5cae
Compare
Updated now as suggested. |
Test Matrix
|
sgaud-quic
left a comment
There was a problem hiding this comment.
Crash on RB3GEN2 while running opencv_test_video :
https://lava-oss.qualcomm.com/scheduler/job/82143
[INFO] 2026-03-04 13:40:00 - PerfArgs (available, not applied): --perf_impl=plain --perf_min_samples=10 --perf_force_samples=10 --perf_verify_sanity --skip_unstable=1
[INFO] 2026-03-04 13:40:00 - Cmd : /bin/opencv_test_videoio --gtest_color=yes --gtest_filter=-tracking_GOTURN.GOTURN/*
[INFO] 2026-03-04 13:40:00 - Log : /lava-82143/0/tests/0_qcom-next-ci-premerge-tests/Runner/suites/Multimedia/OpenCV/logs/opencv_test_videoio_20260304-134000.log
[ 1172.982398][T12976] [kmalloc Redzone overwritten] 0xffff00008a4ebdf8-0xffff00008a4ebdfb @offset=3576. First byte 0x1 instead of 0xcc
[ 1172.994631][T12976] =============================================================================
[ 1173.003743][T12976] BUG kmalloc-32 (Tainted: G W ): Object corrupt
[ 1173.011518][T12976] -----------------------------------------------------------------------------
[ 1173.011518][T12976]
[ 1173.022850][T12976] Allocated in hfi_gen1_set_property+0x34/0xb0 [qcom_iris] age=6 cpu=7 pid=12976
[ 1173.032063][T12976] __kmalloc_noprof+0x44c/0x690
[ 1173.036905][T12976] hfi_gen1_set_property+0x34/0xb0 [qcom_iris]
[ 1173.043080][T12976] iris_hfi_gen1_session_set_property+0x20/0x38 [qcom_iris]
[ 1173.050418][T12976] iris_set_profile_level_gen1+0xac/0x100 [qcom_iris]
[ 1173.057218][T12976] iris_set_properties+0x64/0x98 [qcom_iris]
[ 1173.063221][T12976] iris_venc_streamon_output+0x24/0xc8 [qcom_iris]
[ 1173.069754][T12976] iris_vb2_start_streaming+0x1cc/0x1e8 [qcom_iris]
[ 1173.076375][T12976] vb2_start_streaming+0x74/0x190 [videobuf2_common]
[ 1173.083091][T12976] vb2_core_streamon+0x108/0x1d8 [videobuf2_common]
[ 1173.089719][T12976] vb2_streamon+0x20/0x78 [videobuf2_v4l2]
[ 1173.095539][T12976] v4l2_m2m_ioctl_streamon+0x64/0xa8 [v4l2_mem2mem]
[ 1173.102168][T12976] v4l_streamon+0x2c/0x40 [videodev]
[ 1173.107473][T12976] __video_do_ioctl+0x2e8/0x3d0 [videodev]
[ 1173.113301][T12976] video_usercopy+0x28c/0x658 [videodev]
[ 1173.118952][T12976] video_ioctl2+0x20/0x48 [videodev]
[ 1173.124249][T12976] v4l2_ioctl+0x48/0x70 [videodev]
[ 1173.129360][T12976] Freed in hfi_gen1_set_property+0x64/0xb0 [qcom_iris] age=6 cpu=7 pid=12976
[ 1173.138208][T12976] kfree+0x370/0x498
[ 1173.142075][T12976] hfi_gen1_set_property+0x64/0xb0 [qcom_iris]
[ 1173.148249][T12976] iris_hfi_gen1_set_num_bufs+0x88/0x158 [qcom_iris]
[ 1173.154962][T12976] iris_hfi_gen1_session_set_config_params+0xbc/0x138 [qcom_iris]
[ 1173.162829][T12976] iris_set_properties+0x2c/0x98 [qcom_iris]
[ 1173.168832][T12976] iris_venc_streamon_output+0x24/0xc8 [qcom_iris]
[ 1173.175372][T12976] iris_vb2_start_streaming+0x1cc/0x1e8 [qcom_iris]
[ 1173.181994][T12976] vb2_start_streaming+0x74/0x190 [videobuf2_common]
[ 1173.188706][T12976] vb2_core_streamon+0x108/0x1d8 [videobuf2_common]
[ 1173.195330][T12976] vb2_streamon+0x20/0x78 [videobuf2_v4l2]
[ 1173.201150][T12976] v4l2_m2m_ioctl_streamon+0x64/0xa8 [v4l2_mem2mem]
[ 1173.207777][T12976] v4l_streamon+0x2c/0x40 [videodev]
[ 1173.213075][T12976] __video_do_ioctl+0x2e8/0x3d0 [videodev]
[ 1173.218900][T12976] video_usercopy+0x28c/0x658 [videodev]
[ 1173.224550][T12976] video_ioctl2+0x20/0x48 [videodev]
[ 1173.229846][T12976] v4l2_ioctl+0x48/0x70 [videodev]
[ 1173.234961][T12976] Slab 0xfffffdffc2293ac0 objects=25 used=20 fp=0xffff00008a4eb3e0 flags=0xbfffe0000000200(workingset|node=0|zone=2|lastcpupid=0x1ffff)
[ 1173.249053][T12976] Object 0xffff00008a4ebde0 @offset=3552 fp=0xffff00008a4eb3e0
[ 1173.249053][T12976]
[ 1173.258879][T12976] Redzone ffff00008a4ebdc0: cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc ................
[ 1173.269329][T12976] Redzone ffff00008a4ebdd0: cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc ................
[ 1173.279775][T12976] Object ffff00008a4ebde0: 1c 00 00 00 01 10 01 00 00 a0 a8 6b 01 00 00 00 ...........k....
[ 1173.290224][T12976] Object ffff00008a4ebdf0: 05 10 00 00 04 00 00 00 01 00 00 00 cc cc cc cc ................
[ 1173.300673][T12976] Redzone ffff00008a4ebe00: cc cc cc cc cc cc cc cc ........
[ 1173.310412][T12976] Padding ffff00008a4ebe58: 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZ
[ 1173.320151][T12976] Disabling lock debugging due to kernel taint
[ 1173.326332][T12976] ------------[ cut here ]------------
[ 1173.331792][T12976] WARNING: CPU: 7 PID: 12976 at mm/slub.c:1231 object_err+0x9c/0x118
Test Matrix
|
Enabling MSI on the Root Port triggers frequent AER errors and, in some cases,
SMMU faults on RB4 and RB8 platforms. The PCIe controller does not reliably
support MSI when using the Synopsys MSI implementation, and disabling MSI on
the Root Port exposed these AER issues.
A proper fix is under discussion with the SVE team. Until then, disable PCIe
L0s on RB4 and RB8 as a temporary workaround to stabilize the link and unblock
WLAN functionality for the RC3 release.
This change is a platform-specific mitigation and should be reverted once a
correct fix is available.
CRs-Fixed: 4489177