RE: [Ilw] Intel Wireless 7260 hardware timed out randomly

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 
> "Grumbach, Emmanuel" <emmanuel.grumbach@xxxxxxxxx> writes:
> 
> > Ok - so I have now the complete picture.
> 
> > This device was designed before PCI-SIG gave an ID to L1 PM Substates,
> > so Intel had to use the L1 PM Substate as a Vendor Define whose ID is
> > 0xCAFE. Layout is the same as defined now in PCI-SIG (page 21 in
> >
> http://www.pcisig.com/specifications/pciexpress/specifications/ECN_L1_PM
> _Substates_with_CLKREQ_31_May_2013_Rev10a.pdf).
> >
> > So:
> > 150: 03 10 03 10 0b 00 01 00 fe ca 41 01 1f 1e f0 00
> > 160: 0f 00 a0 40 f0 00 00 00 00 00 00 00 00 00 00 00
> >
> > We can see that L1 PM Substate *is* enabled:
> > 004h = 41 01 1f 1e
> > 008h = 0f 00 f0 00
> > 00Ch = a0 40 f0 00
> 
> Wow!  That's extremely useful.
> 
> But I do have some problems placing the individiual bits right in these LE
> registers.  And so have you, I believe...  You are 2 bytes off.
> "41 01" is part of the vendor specific header (12 bits length == 0x014 and 4
> bits version == 0x1.
> 

yeah - it seemed awkward to me that the header isn't 4-bytes aligned, but some bits seemed ... strange then. So I opted to the that (wrong) parsing.
My poor brain has always issues parsing this kind of things and take in count the endianity etc.. :)

> So I made a simple patch for lspci based on your info.  Seems to work for me:
> 
> 
> 03:00.0 Network controller [0280]: Intel Corporation Wireless 7260
> [8086:08b1] (rev 63)
> 	Subsystem: Intel Corporation Dual Band Wireless-AC 7260
> [8086:4070]
> 	Physical Slot: 1
> 	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
> 	Interrupt: pin A routed to IRQ 45
> 	Region 0: Memory at f0500000 (64-bit, non-prefetchable) [size=8K]
> 	Capabilities: [c8] 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: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
> 		Address: 00000000fee0100c  Data: 4152
> 	Capabilities: [40] Express (v2) Endpoint, MSI 00
> 		DevCap:	MaxPayload 128 bytes, PhantFunc 0, Latency
> L0s <512ns, L1 unlimited
> 			ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+
> 		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal-
> Unsupported-
> 			RlxdOrd+ ExtTag- PhantFunc- AuxPwr+ NoSnoop+
> FLReset-
> 			MaxPayload 128 bytes, MaxReadReq 128 bytes
> 		DevSta:	CorrErr+ UncorrErr- FatalErr- UnsuppReq-
> AuxPwr+ TransPend-
> 		LnkCap:	Port #0, Speed 2.5GT/s, Width x1, ASPM L0s
> L1, Exit Latency L0s <4us, L1 <32us
> 			ClockPM+ Surprise- LLActRep- BwNot-
> 		LnkCtl:	ASPM L1 Enabled; 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 B, TimeoutDis+, LTR+,
> OBFF Via WAKE#
> 		DevCtl2: Completion Timeout: 16ms to 55ms, 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: [140 v1] Device Serial Number 0c-8b-fd-ff-ff-08-09-71
> 	Capabilities: [14c v1] Latency Tolerance Reporting
> 		Max snoop latency: 0ns
> 		Max no snoop latency: 0ns
> 	Capabilities: [154 v1] Vendor Specific Information: ID=cafe Rev=1
> Len=014 L1 PM Substates
> 		L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+
> ASPM_L1.1+ L1_PM_Substates+
> 			  PortCommonModeRestoreTime=30us
> PortTPowerOnTime=60us
> 	Kernel driver in use: iwlwifi
> 00: 86 80 b1 08 06 05 10 00 63 00 80 02 10 00 00 00
> 10: 04 00 50 f0 00 00 00 00 00 00 00 00 00 00 00 00
> 20: 00 00 00 00 00 00 00 00 00 00 00 00 86 80 70 40
> 30: 00 00 00 00 c8 00 00 00 00 00 00 00 0b 01 00 00
> 40: 10 00 02 00 c0 8e 00 10 10 0c 11 00 11 ec 06 00
> 50: 42 01 11 10 00 00 00 00 00 00 00 00 00 00 00 00
> 60: 00 00 00 00 12 08 08 00 05 00 00 00 00 00 00 00
> 70: 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
> 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> c0: 00 00 00 00 00 00 00 00 01 d0 23 c8 00 00 00 0d
> d0: 05 40 81 00 0c 10 e0 fe 00 00 00 00 52 41 00 00
> e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 100: 01 00 01 14 00 00 00 00 00 00 00 00 31 20 46 00
> 110: 40 20 00 00 00 20 00 00 00 00 00 00 00 00 00 00
> 120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 140: 03 00 c1 14 71 09 08 ff ff fd 8b 0c 18 00 41 15
> 150: 00 00 00 00 0b 00 01 00 fe ca 41 01 1f 1e f0 00
> 160: 00 00 00 00 28 00 00 00 00 00 00 00 00 00 00 00
> 170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 1a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 1b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 1c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 1d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 1e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 1f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 210: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 240: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [snipped the remaing 00
> bytes]
> 
> 
> > I may have messed up things here...
> >
> > According to System / HW, it is unsafe to disable L1 PM Substate using
> setpci, even if we disable it from both sides (device and bridge). This kind of
> settings should be done by BIOS only.
> > So we have 2 options here (assuming that we can't disable that in BIOS):
> > * either we try to disable L1 PM Substate even my colleagues think it
> > is not safe
> > * either we just disable L1 altogether
> 
> How about forcing ASPM even if the BIOS says it's unsupported?  Has that
> been tested?
> 

Well... No... At least not by me. People usually care more about connectivity than saving power :)
��.n��������+%������w��{.n�����{���"�)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥





[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux