http://diosbios.blogspot.tw/2011/05/pcie-aspm.html
Notes:
------------------------------------------------------------------------
2011年5月25日星期三
PCIE ASPM
最近常在找PCIE ASPM register,所以寫下來避免自己忘記。
ASPM control register 是存在PCIE Link Control Register。至於如何找到Link Control Register。
1.先找到PCIE Capability List Pointer Register ,而此Register 存在PCI Congfiguration Registers Offset 0x34
2.檢查Capability ID ( (1st byte))是否為0x10,如果不是,讀取Next Capability Pointer Register (2nd byte ),讀取下一個Capability.
ASPM control register 是存在PCIE Link Control Register。至於如何找到Link Control Register。
1.先找到PCIE Capability List Pointer Register ,而此Register 存在PCI Congfiguration Registers Offset 0x34
2.檢查Capability ID ( (1st byte))是否為0x10,如果不是,讀取Next Capability Pointer Register (2nd byte ),讀取下一個Capability.
3. 當Capability ID 為0x10時,Link Control Register就是在目前Capability的Offset+0x10為Link Control Register
4. Check Link Control Register bit[0:1]
Bits Definition
00 Disabled
01 L0s Entry Enabled
10 L1 Entry Enabled
11 L0s and L1 Entry Enabled
下面就舉個例子來看,比較容易清楚。
1.先找Capability List Pointer Register (offset 0x34), 此register 的值是0x60,表示Capability List 是從Offset 0x60開始。
2. 我們要檢查Capability ID是否為0x10,可以看到0ffset 0x60的值是0x01,代表不是PCIE Capability,所以我們要找Next Capability,而Next Capability在Offset 0x61 是0x68,
同樣的Capaiblity ID 為0x05也不是PCIE Capability,所以要找下一個Capability為0x78.
在Offset 0x78的值為0x10,代表是PCIE Capability ID,所以我們可以找到Link Control Register在Offset 0x88~0x89
Check Link Control Register bit[0:1]為0,所以此PCIE Device ASPM 設定為 L0s and L1均為Disable
References:
PCI Express System Architecture
PCI Express 3.0 Spec
沒有留言:
張貼留言