This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/DRA746: Linux PCIE host lost MSI interrupts from WIFI

Part Number: DRA746

Tool/software: Linux

Hello

I'm testing WIFI stability, board is DRA762+CYPRESS PCIE WIFI Chip,software is LINUX4.4 TI PSDKLA3.03

the problem is PCIE host sometimes lost WIFI PCIE-MSI interrupts, WIFI AE analysis and doubt that PCIE interrupts is not stable.

After adding this print(attachment jpeg), problem didn’t reproduce. Can you help me to analysis why PCIE host lost MSI interrupts.Thanks

 error log:

dhd_msgbuf_wait_ioctl_cmplt: resumed on timeout rxcnt_timeout 1 ioctl_cmd 263 trans_id 45 state 3 busstate=2 ioctl_received=0
[ 58.476456] 
[ 58.476456] ------- DUMPING IOCTL RING RD WR Pointers ------- 
[ 58.483994] CtrlPost: Mem Info: BASE(VA) ec066000 BASE(PA) 0:ac066000 SIZE 2560 
[ 58.491640] CtrlPost: From Host mem: RD: 63 WR 43 
[ 58.496590] CtrlPost: From Shared Mem: RD: 43 WR 43 
[ 58.501678] CtrlCpl: Mem Info: BASE(VA) ed6e5000 BASE(PA) 0:ad6e5000 SIZE 1536 
[ 58.509150] CtrlCpl: From Host mem: RD: 25 WR 25 
[ 58.513965] CtrlCpl: From Shared Mem: RD: 25 WR 27 
[ 58.518989] CtrlCpl: Expected seq num: 343 
[ 58.523287] 
[ 58.523287] ------- DUMPING INTR Status and Masks ------- 
[ 58.530498] intstatus=0x10000 intmask=0x30300 mbintstatus=0x12345678
,d2h_mb_data=0x0 def_intmask=0xff0300 
[ 58.540503] dhd_msgbuf_wait_ioctl_cmplt: timeout > MAX_CNTL_TX_TIMEOUT
[ 58.547076] dhd_prot_ioctl: status ret value is -110 
[ 58.552147] dhd_wl_ioctl: 'resumed on timeout' error is occurred before the interface does not bring up
[ 58.561962] dhd_interworking_enable: enableing interworking failed, ret=-110
[ 58.569061] dhd_wl_ioctl: returning as busstate=0
[ 58.573789] dhd_preinit_ioctls failed to set ShubHub disable
[ 58.579650] dhd_wl_ioctl: returning as busstate=0
[ 58.584393] dhd_preinit_ioctls Could not set csa_count
[ 58.589559] dhd_bus_devreset: WLAN Power On Done

pci information:

root@dra7xx-evm:~# lspci -vv
00:00.0 PCI bridge: Texas Instruments Device 8888 (rev 01) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Region 0: Memory at 20100000 (32-bit, non-prefetchable) [size=1M]
Region 1: Memory at 20020000 (32-bit, non-prefetchable) [size=64K]
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity+ SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [40] Power Management version 3
Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0+,D1+,D2-,D3hot+,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
Address: 00000000ae0b3000 Data: 0000
Capabilities: [70] Express (v2) Root Port (Slot-), MSI 00
DevCap: MaxPayload 256 bytes, PhantFunc 0
ExtTag- RBE+
DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
LnkCap: Port #0, Speed 5GT/s, Width x2, ASPM L0s L1, Exit Latency L0s <512ns, L1 <64us
ClockPM- Surprise- LLActRep+ BwNot+
LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt+ ABWMgmt-
RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna+ CRSVisible-
RootCap: CRSVisible-
RootSta: PME ReqID 0000, PMEStatus- PMEPending-
DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, LTR-, OBFF Not Supported ARIFwd-
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled ARIFwd-
LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
Capabilities: [100 v2] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
Kernel driver in use: pcieport

01:00.0 Network controller: Broadcom Corporation Device 4355 (rev 05)
Subsystem: Broadcom Corporation Device 4355
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 440
Region 0: Memory at 20200000 (64-bit, non-prefetchable) [size=32K]
Region 2: Memory at 20400000 (64-bit, non-prefetchable) [size=4M]
Capabilities: [48] Power Management version 3
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst+ PME-Enable+ DSel=0 DScale=2 PME-
Capabilities: [58] MSI: Enable+ Count=1/16 Maskable- 64bit+
Address: 00000000ae0b3000 Data: 0001
Capabilities: [68] Vendor Specific Information: Len=44 <?>
Capabilities: [ac] Express (v2) Endpoint, MSI 00
DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr+ NoSnoop+
MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <2us, L1 <32us
ClockPM+ Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, LTR+, OBFF Via WAKE#
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
Capabilities: [100 v1] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
Capabilities: [13c v1] Device Serial Number 00-00-00-ff-ff-00-00-00
Capabilities: [150 v1] Power Budgeting <?>
Capabilities: [160 v1] Virtual Channel
Caps: LPEVC=0 RefClk=100ns PATEntryBits=1
Arb: Fixed- WRR32- WRR64- WRR128-
Ctrl: ArbSelect=Fixed
Status: InProgress-
VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
Status: NegoPending- InProgress-
Capabilities: [1b0 v1] Latency Tolerance Reporting
Max snoop latency: 0ns
Max no snoop latency: 0ns
Capabilities: [220 v1] #15
Capabilities: [240 v1] L1 PM Substates
L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
PortCommonModeRestoreTime=8us PortTPowerOnTime=3100us
Kernel driver in use: pcieh
Kernel modules: bcmdhd

root@dra7xx-evm:~# cat /proc/interrupts
CPU0 CPU1
16: 0 0 CBAR 32 Level gp_timer
17: 0 0 GIC 29 Edge arch_timer
18: 3250 2286 GIC 30 Edge arch_timer
22: 0 0 CBAR 4 Level l3-dbg-irq
23: 0 0 WUGEN 10 Level l3-app-irq
25: 8 0 CBAR 232 Level dra7xx-pcie-main
26: 51 0 CBAR 233 Level dra7-pcie-msi
27: 1 0 CBAR 121 Level talert
29: 0 0 CBAR 8 Level omap-dma-engine
32: 85 0 CBAR 361 Level 43300000.edma_ccint
34: 6 0 CBAR 359 Level 43300000.edma_ccerrint
37: 0 0 CBAR 24 Level 4ae10000.gpio
70: 0 0 CBAR 25 Level 48055000.gpio
100: 0 0 48055000.gpio 29 Edge ipcl_reverse
103: 0 0 CBAR 26 Level 48057000.gpio
136: 0 0 CBAR 27 Level 48059000.gpio
151: 0 0 48059000.gpio 14 Edge usb1_oc_irq
152: 0 0 48059000.gpio 15 Edge usb2_oc_irq
165: 0 0 48059000.gpio 28 Edge extcon_usb1
169: 0 0 CBAR 28 Level 4805b000.gpio
202: 0 0 CBAR 29 Level 4805d000.gpio
230: 0 0 4805d000.gpio 27 Edge 4809c000.mmc cd
235: 966 0 CBAR 30 Level 48051000.gpio
248: 966 0 48051000.gpio 12 Edge ipcl
268: 0 0 CBAR 116 Level 48053000.gpio
301: 519 0 CBAR 67 Level 4806a000.serial
306: 23 0 CBAR 251 Level mbox_dsp1_ipc3x
310: 23 0 CBAR 255 Level mbox_ipu2_ipc3x
314: 0 0 CBAR 35 Level rproc-wdt
319: 0 0 CBAR 40 Level rproc-wdt
320: 0 0 CBAR 41 Level rproc-wdt
328: 5 0 CBAR 108 Level omap_dmm_irq_handler
330: 530 0 CBAR 51 Level 48070000.i2c
331: 28 0 CBAR 52 Level 48072000.i2c
332: 39 0 CBAR 56 Level 48060000.i2c
333: 528 0 CBAR 57 Level 4807a000.i2c
334: 696 0 CBAR 55 Level 4807c000.i2c
335: 2244 0 CBAR 78 Level mmc0
336: 2735 0 CBAR 81 Level mmc1
337: 0 0 CBAR 23 Level 40d01000.mmu
338: 0 0 CBAR 145 Level 40d02000.mmu
339: 0 0 CBAR 395 Level 58882000.mmu
340: 0 0 CBAR 396 Level 55082000.mmu
344: 0 0 CBAR 49 Level 4a140000.sata
345: 4 0 CBAR 72 Level dwc3-omap
346: 3 0 CBAR 87 Level dwc3-omap
347: 3 0 CBAR 344 Level dwc3-omap
348: 0 0 CBAR 104 Level 48460000.mcasp_tx
349: 0 0 CBAR 103 Level 48460000.mcasp_rx
350: 0 0 CBAR 149 Level 48464000.mcasp_tx
351: 0 0 CBAR 148 Level 48464000.mcasp_rx
352: 0 0 CBAR 151 Level 48468000.mcasp_tx
353: 0 0 CBAR 150 Level 48468000.mcasp_rx
354: 0 0 CBAR 157 Level 48474000.mcasp_tx
355: 0 0 CBAR 156 Level 48474000.mcasp_rx
356: 0 0 CBAR 159 Level 48478000.mcasp_tx
357: 0 0 CBAR 158 Level 48478000.mcasp_rx
359: 0 0 CBAR 354 Level vpe
360: 0 0 CBAR 351 Level vip1-s0
361: 0 0 CBAR 392 Level vip1-s1
365: 0 0 CBAR 46 Level 4b101000.sham
367: 0 0 CBAR 146 Level 41501000.mmu
368: 0 0 CBAR 147 Level 41502000.mmu
369: 0 0 CBAR 352 Level vip2-s0
370: 0 0 CBAR 393 Level vip2-s1
373: 23208 0 CBAR 20 Level OMAP DISPC
374: 1 0 CBAR 96 Level OMAP HDMI
439: 0 0 PCI-MSI 0 Edge PCIe PME, aerdrv
440: 51 0 PCI-MSI 1 Edge dhdpcie:0000:01:00.0
472: 0 0 pinctrl 992 Edge 4806a000.serial
473: 0 0 CBAR 73 Level xhci-hcd:usb1
474: 0 0 CBAR 88 Level xhci-hcd:usb3
475: 0 0 CBAR 71 Level xhci-hcd:usb5
IPI0: 0 1 CPU wakeup interrupts
IPI1: 0 0 Timer broadcast interrupts
IPI2: 3751 5841 Rescheduling interrupts
IPI3: 0 0 Function call interrupts
IPI4: 109 250 Single function call interrupts
IPI5: 0 0 CPU stop interrupts
IPI6: 0 4 IRQ work interrupts
IPI7: 0 0 completion interrupts
Err: 0
root@dra7xx-evm:~#