diff mbox

[Ilw] Intel Wireless 7260 hardware timed out randomly

Message ID 87k3gco1k3.fsf@nemi.mork.no (mailing list archive)
State New, archived
Delegated to: Bjorn Helgaas
Headers show

Commit Message

Bjørn Mork Nov. 13, 2013, 1:48 p.m. UTC
"Grumbach, Emmanuel" <emmanuel.grumbach@intel.com> 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.

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?


Bjørn

Comments

Emmanuel Grumbach Nov. 13, 2013, 2:16 p.m. UTC | #1
PiANCj4gIkdydW1iYWNoLCBFbW1hbnVlbCIgPGVtbWFudWVsLmdydW1iYWNoQGludGVsLmNvbT4g
d3JpdGVzOg0KPiANCj4gPiBPayAtIHNvIEkgaGF2ZSBub3cgdGhlIGNvbXBsZXRlIHBpY3R1cmUu
DQo+IA0KPiA+IFRoaXMgZGV2aWNlIHdhcyBkZXNpZ25lZCBiZWZvcmUgUENJLVNJRyBnYXZlIGFu
IElEIHRvIEwxIFBNIFN1YnN0YXRlcywNCj4gPiBzbyBJbnRlbCBoYWQgdG8gdXNlIHRoZSBMMSBQ
TSBTdWJzdGF0ZSBhcyBhIFZlbmRvciBEZWZpbmUgd2hvc2UgSUQgaXMNCj4gPiAweENBRkUuIExh
eW91dCBpcyB0aGUgc2FtZSBhcyBkZWZpbmVkIG5vdyBpbiBQQ0ktU0lHIChwYWdlIDIxIGluDQo+
ID4NCj4gaHR0cDovL3d3dy5wY2lzaWcuY29tL3NwZWNpZmljYXRpb25zL3BjaWV4cHJlc3Mvc3Bl
Y2lmaWNhdGlvbnMvRUNOX0wxX1BNDQo+IF9TdWJzdGF0ZXNfd2l0aF9DTEtSRVFfMzFfTWF5XzIw
MTNfUmV2MTBhLnBkZikuDQo+ID4NCj4gPiBTbzoNCj4gPiAxNTA6IDAzIDEwIDAzIDEwIDBiIDAw
IDAxIDAwIGZlIGNhIDQxIDAxIDFmIDFlIGYwIDAwDQo+ID4gMTYwOiAwZiAwMCBhMCA0MCBmMCAw
MCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMA0KPiA+DQo+ID4gV2UgY2FuIHNlZSB0aGF0
IEwxIFBNIFN1YnN0YXRlICppcyogZW5hYmxlZDoNCj4gPiAwMDRoID0gNDEgMDEgMWYgMWUNCj4g
PiAwMDhoID0gMGYgMDAgZjAgMDANCj4gPiAwMENoID0gYTAgNDAgZjAgMDANCj4gDQo+IFdvdyEg
IFRoYXQncyBleHRyZW1lbHkgdXNlZnVsLg0KPiANCj4gQnV0IEkgZG8gaGF2ZSBzb21lIHByb2Js
ZW1zIHBsYWNpbmcgdGhlIGluZGl2aWRpdWFsIGJpdHMgcmlnaHQgaW4gdGhlc2UgTEUNCj4gcmVn
aXN0ZXJzLiAgQW5kIHNvIGhhdmUgeW91LCBJIGJlbGlldmUuLi4gIFlvdSBhcmUgMiBieXRlcyBv
ZmYuDQo+ICI0MSAwMSIgaXMgcGFydCBvZiB0aGUgdmVuZG9yIHNwZWNpZmljIGhlYWRlciAoMTIg
Yml0cyBsZW5ndGggPT0gMHgwMTQgYW5kIDQNCj4gYml0cyB2ZXJzaW9uID09IDB4MS4NCj4gDQoN
CnllYWggLSBpdCBzZWVtZWQgYXdrd2FyZCB0byBtZSB0aGF0IHRoZSBoZWFkZXIgaXNuJ3QgNC1i
eXRlcyBhbGlnbmVkLCBidXQgc29tZSBiaXRzIHNlZW1lZCAuLi4gc3RyYW5nZSB0aGVuLiBTbyBJ
IG9wdGVkIHRvIHRoZSB0aGF0ICh3cm9uZykgcGFyc2luZy4NCk15IHBvb3IgYnJhaW4gaGFzIGFs
d2F5cyBpc3N1ZXMgcGFyc2luZyB0aGlzIGtpbmQgb2YgdGhpbmdzIGFuZCB0YWtlIGluIGNvdW50
IHRoZSBlbmRpYW5pdHkgZXRjLi4gOikNCg0KPiBTbyBJIG1hZGUgYSBzaW1wbGUgcGF0Y2ggZm9y
IGxzcGNpIGJhc2VkIG9uIHlvdXIgaW5mby4gIFNlZW1zIHRvIHdvcmsgZm9yIG1lOg0KPiANCj4g
DQo+IDAzOjAwLjAgTmV0d29yayBjb250cm9sbGVyIFswMjgwXTogSW50ZWwgQ29ycG9yYXRpb24g
V2lyZWxlc3MgNzI2MA0KPiBbODA4NjowOGIxXSAocmV2IDYzKQ0KPiAJU3Vic3lzdGVtOiBJbnRl
bCBDb3Jwb3JhdGlvbiBEdWFsIEJhbmQgV2lyZWxlc3MtQUMgNzI2MA0KPiBbODA4Njo0MDcwXQ0K
PiAJUGh5c2ljYWwgU2xvdDogMQ0KPiAJQ29udHJvbDogSS9PLSBNZW0rIEJ1c01hc3RlcisgU3Bl
Y0N5Y2xlLSBNZW1XSU5WLSBWR0FTbm9vcC0NCj4gUGFyRXJyLSBTdGVwcGluZy0gU0VSUisgRmFz
dEIyQi0gRGlzSU5UeCsNCj4gCVN0YXR1czogQ2FwKyA2Nk1Iei0gVURGLSBGYXN0QjJCLSBQYXJF
cnItIERFVlNFTD1mYXN0ID5UQWJvcnQtDQo+IDxUQWJvcnQtIDxNQWJvcnQtID5TRVJSLSA8UEVS
Ui0gSU5UeC0NCj4gCUxhdGVuY3k6IDAsIENhY2hlIExpbmUgU2l6ZTogNjQgYnl0ZXMNCj4gCUlu
dGVycnVwdDogcGluIEEgcm91dGVkIHRvIElSUSA0NQ0KPiAJUmVnaW9uIDA6IE1lbW9yeSBhdCBm
MDUwMDAwMCAoNjQtYml0LCBub24tcHJlZmV0Y2hhYmxlKSBbc2l6ZT04S10NCj4gCUNhcGFiaWxp
dGllczogW2M4XSBQb3dlciBNYW5hZ2VtZW50IHZlcnNpb24gMw0KPiAJCUZsYWdzOiBQTUVDbGst
IERTSSsgRDEtIEQyLSBBdXhDdXJyZW50PTBtQSBQTUUoRDArLEQxLQ0KPiAsRDItLEQzaG90KyxE
M2NvbGQrKQ0KPiAJCVN0YXR1czogRDAgTm9Tb2Z0UnN0LSBQTUUtRW5hYmxlLSBEU2VsPTAgRFNj
YWxlPTAgUE1FLQ0KPiAJQ2FwYWJpbGl0aWVzOiBbZDBdIE1TSTogRW5hYmxlKyBDb3VudD0xLzEg
TWFza2FibGUtIDY0Yml0Kw0KPiAJCUFkZHJlc3M6IDAwMDAwMDAwZmVlMDEwMGMgIERhdGE6IDQx
NTINCj4gCUNhcGFiaWxpdGllczogWzQwXSBFeHByZXNzICh2MikgRW5kcG9pbnQsIE1TSSAwMA0K
PiAJCURldkNhcDoJTWF4UGF5bG9hZCAxMjggYnl0ZXMsIFBoYW50RnVuYyAwLCBMYXRlbmN5DQo+
IEwwcyA8NTEybnMsIEwxIHVubGltaXRlZA0KPiAJCQlFeHRUYWctIEF0dG5CdG4tIEF0dG5JbmQt
IFB3ckluZC0gUkJFKyBGTFJlc2V0Kw0KPiAJCURldkN0bDoJUmVwb3J0IGVycm9yczogQ29ycmVj
dGFibGUtIE5vbi1GYXRhbC0gRmF0YWwtDQo+IFVuc3VwcG9ydGVkLQ0KPiAJCQlSbHhkT3JkKyBF
eHRUYWctIFBoYW50RnVuYy0gQXV4UHdyKyBOb1Nub29wKw0KPiBGTFJlc2V0LQ0KPiAJCQlNYXhQ
YXlsb2FkIDEyOCBieXRlcywgTWF4UmVhZFJlcSAxMjggYnl0ZXMNCj4gCQlEZXZTdGE6CUNvcnJF
cnIrIFVuY29yckVyci0gRmF0YWxFcnItIFVuc3VwcFJlcS0NCj4gQXV4UHdyKyBUcmFuc1BlbmQt
DQo+IAkJTG5rQ2FwOglQb3J0ICMwLCBTcGVlZCAyLjVHVC9zLCBXaWR0aCB4MSwgQVNQTSBMMHMN
Cj4gTDEsIEV4aXQgTGF0ZW5jeSBMMHMgPDR1cywgTDEgPDMydXMNCj4gCQkJQ2xvY2tQTSsgU3Vy
cHJpc2UtIExMQWN0UmVwLSBCd05vdC0NCj4gCQlMbmtDdGw6CUFTUE0gTDEgRW5hYmxlZDsgUkNC
IDY0IGJ5dGVzIERpc2FibGVkLSBDb21tQ2xrKw0KPiAJCQlFeHRTeW5jaC0gQ2xvY2tQTSsgQXV0
V2lkRGlzLSBCV0ludC0gQXV0QldJbnQtDQo+IAkJTG5rU3RhOglTcGVlZCAyLjVHVC9zLCBXaWR0
aCB4MSwgVHJFcnItIFRyYWluLSBTbG90Q2xrKw0KPiBETEFjdGl2ZS0gQldNZ210LSBBQldNZ210
LQ0KPiAJCURldkNhcDI6IENvbXBsZXRpb24gVGltZW91dDogUmFuZ2UgQiwgVGltZW91dERpcyss
IExUUissDQo+IE9CRkYgVmlhIFdBS0UjDQo+IAkJRGV2Q3RsMjogQ29tcGxldGlvbiBUaW1lb3V0
OiAxNm1zIHRvIDU1bXMsIFRpbWVvdXREaXMtLA0KPiBMVFItLCBPQkZGIERpc2FibGVkDQo+IAkJ
TG5rQ3RsMjogVGFyZ2V0IExpbmsgU3BlZWQ6IDIuNUdUL3MsIEVudGVyQ29tcGxpYW5jZS0NCj4g
U3BlZWREaXMtDQo+IAkJCSBUcmFuc21pdCBNYXJnaW46IE5vcm1hbCBPcGVyYXRpbmcgUmFuZ2Us
DQo+IEVudGVyTW9kaWZpZWRDb21wbGlhbmNlLSBDb21wbGlhbmNlU09TLQ0KPiAJCQkgQ29tcGxp
YW5jZSBEZS1lbXBoYXNpczogLTZkQg0KPiAJCUxua1N0YTI6IEN1cnJlbnQgRGUtZW1waGFzaXMg
TGV2ZWw6IC0zLjVkQiwNCj4gRXF1YWxpemF0aW9uQ29tcGxldGUtLCBFcXVhbGl6YXRpb25QaGFz
ZTEtDQo+IAkJCSBFcXVhbGl6YXRpb25QaGFzZTItLCBFcXVhbGl6YXRpb25QaGFzZTMtLA0KPiBM
aW5rRXF1YWxpemF0aW9uUmVxdWVzdC0NCj4gCUNhcGFiaWxpdGllczogWzEwMCB2MV0gQWR2YW5j
ZWQgRXJyb3IgUmVwb3J0aW5nDQo+IAkJVUVTdGE6CURMUC0gU0RFUy0gVExQLSBGQ1AtIENtcGx0
VE8tIENtcGx0QWJydC0NCj4gVW54Q21wbHQtIFJ4T0YtIE1hbGZUTFAtIEVDUkMtIFVuc3VwUmVx
LSBBQ1NWaW9sLQ0KPiAJCVVFTXNrOglETFAtIFNERVMtIFRMUC0gRkNQLSBDbXBsdFRPLSBDbXBs
dEFicnQtDQo+IFVueENtcGx0LSBSeE9GLSBNYWxmVExQLSBFQ1JDLSBVbnN1cFJlcS0gQUNTVmlv
bC0NCj4gCQlVRVN2cnQ6CURMUCsgU0RFUysgVExQLSBGQ1ArIENtcGx0VE8tIENtcGx0QWJydC0N
Cj4gVW54Q21wbHQtIFJ4T0YrIE1hbGZUTFArIEVDUkMtIFVuc3VwUmVxLSBBQ1NWaW9sLQ0KPiAJ
CUNFU3RhOglSeEVyci0gQmFkVExQKyBCYWRETExQLSBSb2xsb3Zlci0gVGltZW91dC0NCj4gTm9u
RmF0YWxFcnIrDQo+IAkJQ0VNc2s6CVJ4RXJyLSBCYWRUTFAtIEJhZERMTFAtIFJvbGxvdmVyLSBU
aW1lb3V0LQ0KPiBOb25GYXRhbEVycisNCj4gCQlBRVJDYXA6CUZpcnN0IEVycm9yIFBvaW50ZXI6
IDAwLCBHZW5DYXAtIENHZW5Fbi0NCj4gQ2hrQ2FwLSBDaGtFbi0NCj4gCUNhcGFiaWxpdGllczog
WzE0MCB2MV0gRGV2aWNlIFNlcmlhbCBOdW1iZXIgMGMtOGItZmQtZmYtZmYtMDgtMDktNzENCj4g
CUNhcGFiaWxpdGllczogWzE0YyB2MV0gTGF0ZW5jeSBUb2xlcmFuY2UgUmVwb3J0aW5nDQo+IAkJ
TWF4IHNub29wIGxhdGVuY3k6IDBucw0KPiAJCU1heCBubyBzbm9vcCBsYXRlbmN5OiAwbnMNCj4g
CUNhcGFiaWxpdGllczogWzE1NCB2MV0gVmVuZG9yIFNwZWNpZmljIEluZm9ybWF0aW9uOiBJRD1j
YWZlIFJldj0xDQo+IExlbj0wMTQgTDEgUE0gU3Vic3RhdGVzDQo+IAkJTDFTdWJDYXA6IFBDSS1Q
TV9MMS4yKyBQQ0ktUE1fTDEuMSsgQVNQTV9MMS4yKw0KPiBBU1BNX0wxLjErIEwxX1BNX1N1YnN0
YXRlcysNCj4gCQkJICBQb3J0Q29tbW9uTW9kZVJlc3RvcmVUaW1lPTMwdXMNCj4gUG9ydFRQb3dl
ck9uVGltZT02MHVzDQo+IAlLZXJuZWwgZHJpdmVyIGluIHVzZTogaXdsd2lmaQ0KPiAwMDogODYg
ODAgYjEgMDggMDYgMDUgMTAgMDAgNjMgMDAgODAgMDIgMTAgMDAgMDAgMDANCj4gMTA6IDA0IDAw
IDUwIGYwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwDQo+IDIwOiAwMCAwMCAw
MCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCA4NiA4MCA3MCA0MA0KPiAzMDogMDAgMDAgMDAg
MDAgYzggMDAgMDAgMDAgMDAgMDAgMDAgMDAgMGIgMDEgMDAgMDANCj4gNDA6IDEwIDAwIDAyIDAw
IGMwIDhlIDAwIDEwIDEwIDBjIDExIDAwIDExIGVjIDA2IDAwDQo+IDUwOiA0MiAwMSAxMSAxMCAw
MCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMA0KPiA2MDogMDAgMDAgMDAgMDAgMTIg
MDggMDggMDAgMDUgMDAgMDAgMDAgMDAgMDAgMDAgMDANCj4gNzA6IDAxIDAwIDAxIDAwIDAwIDAw
IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwDQo+IDgwOiAwMCAwMCAwMCAwMCAwMCAwMCAw
MCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMA0KPiA5MDogMDAgMDAgMDAgMDAgMDAgMDAgMDAg
MDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDANCj4gYTA6IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAw
IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwDQo+IGIwOiAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAw
MCAwMCAwMCAwMCAwMCAwMCAwMCAwMA0KPiBjMDogMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDEg
ZDAgMjMgYzggMDAgMDAgMDAgMGQNCj4gZDA6IDA1IDQwIDgxIDAwIDBjIDEwIGUwIGZlIDAwIDAw
IDAwIDAwIDUyIDQxIDAwIDAwDQo+IGUwOiAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAw
MCAwMCAwMCAwMCAwMCAwMA0KPiBmMDogMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAg
MDAgMDAgMDAgMDAgMDANCj4gMTAwOiAwMSAwMCAwMSAxNCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAw
MCAzMSAyMCA0NiAwMA0KPiAxMTA6IDQwIDIwIDAwIDAwIDAwIDIwIDAwIDAwIDAwIDAwIDAwIDAw
IDAwIDAwIDAwIDAwDQo+IDEyMDogMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAg
MDAgMDAgMDAgMDANCj4gMTMwOiAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAw
MCAwMCAwMCAwMA0KPiAxNDA6IDAzIDAwIGMxIDE0IDcxIDA5IDA4IGZmIGZmIGZkIDhiIDBjIDE4
IDAwIDQxIDE1DQo+IDE1MDogMDAgMDAgMDAgMDAgMGIgMDAgMDEgMDAgZmUgY2EgNDEgMDEgMWYg
MWUgZjAgMDANCj4gMTYwOiAwMCAwMCAwMCAwMCAyOCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAw
MCAwMCAwMA0KPiAxNzA6IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAw
IDAwIDAwDQo+IDE4MDogMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAg
MDAgMDANCj4gMTkwOiAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAw
MCAwMA0KPiAxYTA6IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAw
IDAwDQo+IDFiMDogMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAg
MDANCj4gMWMwOiAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAw
MA0KPiAxZDA6IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAw
DQo+IDFlMDogMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAN
Cj4gMWYwOiAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMA0K
PiAyMDA6IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwDQo+
IDIxMDogMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDANCj4g
MjIwOiAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMA0KPiAy
MzA6IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwDQo+IDI0
MDogMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgW3NuaXBw
ZWQgdGhlIHJlbWFpbmcgMDANCj4gYnl0ZXNdDQo+IA0KPiANCj4gPiBJIG1heSBoYXZlIG1lc3Nl
ZCB1cCB0aGluZ3MgaGVyZS4uLg0KPiA+DQo+ID4gQWNjb3JkaW5nIHRvIFN5c3RlbSAvIEhXLCBp
dCBpcyB1bnNhZmUgdG8gZGlzYWJsZSBMMSBQTSBTdWJzdGF0ZSB1c2luZw0KPiBzZXRwY2ksIGV2
ZW4gaWYgd2UgZGlzYWJsZSBpdCBmcm9tIGJvdGggc2lkZXMgKGRldmljZSBhbmQgYnJpZGdlKS4g
VGhpcyBraW5kIG9mDQo+IHNldHRpbmdzIHNob3VsZCBiZSBkb25lIGJ5IEJJT1Mgb25seS4NCj4g
PiBTbyB3ZSBoYXZlIDIgb3B0aW9ucyBoZXJlIChhc3N1bWluZyB0aGF0IHdlIGNhbid0IGRpc2Fi
bGUgdGhhdCBpbiBCSU9TKToNCj4gPiAqIGVpdGhlciB3ZSB0cnkgdG8gZGlzYWJsZSBMMSBQTSBT
dWJzdGF0ZSBldmVuIG15IGNvbGxlYWd1ZXMgdGhpbmsgaXQNCj4gPiBpcyBub3Qgc2FmZQ0KPiA+
ICogZWl0aGVyIHdlIGp1c3QgZGlzYWJsZSBMMSBhbHRvZ2V0aGVyDQo+IA0KPiBIb3cgYWJvdXQg
Zm9yY2luZyBBU1BNIGV2ZW4gaWYgdGhlIEJJT1Mgc2F5cyBpdCdzIHVuc3VwcG9ydGVkPyAgSGFz
IHRoYXQNCj4gYmVlbiB0ZXN0ZWQ/DQo+IA0KDQpXZWxsLi4uIE5vLi4uIEF0IGxlYXN0IG5vdCBi
eSBtZS4gUGVvcGxlIHVzdWFsbHkgY2FyZSBtb3JlIGFib3V0IGNvbm5lY3Rpdml0eSB0aGFuIHNh
dmluZyBwb3dlciA6KQ0K
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

From de4befe40cb12a57a6edc4dd22271fa8a000d8f1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B8rn=20Mork?= <bjorn@mork.no>
Date: Wed, 13 Nov 2013 14:24:06 +0100
Subject: [PATCH] lspci: decode Intel vendor specific L1 PM Substates
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Bjørn Mork <bjorn@mork.no>
---
 ls-ecaps.c |   14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/ls-ecaps.c b/ls-ecaps.c
index c6f217e..144bf77 100644
--- a/ls-ecaps.c
+++ b/ls-ecaps.c
@@ -429,10 +429,13 @@  cap_rclink(struct device *d, int where)
     }
 }
 
+static void cap_l1pm(struct device *d, int where);
+
 static void
 cap_evendor(struct device *d, int where)
 {
   u32 hdr;
+  u16 id;
 
   printf("Vendor Specific Information: ");
   if (!config_fetch(d, where + PCI_EVNDR_HEADER, 4))
@@ -442,10 +445,17 @@  cap_evendor(struct device *d, int where)
     }
 
   hdr = get_conf_long(d, where + PCI_EVNDR_HEADER);
-  printf("ID=%04x Rev=%d Len=%03x <?>\n",
-    BITS(hdr, 0, 16),
+  id = BITS(hdr, 0, 16);
+  printf("ID=%04x Rev=%d Len=%03x ",
+    id,
     BITS(hdr, 16, 4),
     BITS(hdr, 20, 12));
+
+  /* Intel used this vendor specific ID prior to PCI-SIG allocating 0x001e */
+  if (d->dev->vendor_id == cpu_to_le16(0x8086) && id == cpu_to_le16(0xcafe))
+	  cap_l1pm(d, where + PCI_EVNDR_HEADER);
+  else
+	  printf("<?>\n");
 }
 
 static void
-- 
1.7.10.4