# [SOLVED] nvidia and PCI-e gen

## MorpheuS.Ibis

Hi

I have an issue with my new nvidia card under Linux (newest drivers in portage, 195.36.24)

my Linux drivers say that I am using "PCI Express x16 Gen1" bus, but windows ones say "PCI Express x16 Gen2"

from what I understand the Gen2 is faster, and as the bus being the bottleneck for computation (cuda/openCL) performance, this troubles me greatly

is there a way to determine what bus I am really using, other than nvidia-settings? is it possible that Linux somehow can't do PCI-e Gen 2?

Thanks for answers.

PS: the card is GTX480, on an x58 motherboardLast edited by MorpheuS.Ibis on Wed Apr 28, 2010 5:55 pm; edited 1 time in total

----------

## HeXiLeD

This should show you the capabilities of your hardware

# lshw  and # lspci -vvv

Saying that the card and board is such and such does not help. We need "details".

Then you have to have a few things in mind:

The capabilities of your motherboard

The capabilities of your video card

The supported capabilities of your video card drivers

Here is my lswh output for the pci-e 16x and video card:

```
*-pci:0

             description: PCI bridge

             product: 4 Series Chipset PCI Express Root Port

             vendor: Intel Corporation

             physical id: 1

             bus info: pci@0000:00:01.0

             version: 02

             width: 32 bits

             clock: 33MHz

             capabilities: pci pm msi pciexpress normal_decode bus_master cap_list

             configuration: driver=pcieport-driver

             resources: irq:16 ioport:8000(size=4096) memory:fa000000-fe5fffff ioport:d0000000(size=268435456)

           *-display

                description: VGA compatible controller

                product: G84 [GeForce 8600 GT]

                vendor: nVidia Corporation

                physical id: 0

                bus info: pci@0000:01:00.0

                version: a1

                width: 64 bits

                clock: 33MHz

                capabilities: pm msi pciexpress vga_controller bus_master cap_list rom

                configuration: driver=nvidia latency=0

                resources: irq:16 memory:fd000000-fdffffff memory:d0000000-dfffffff(prefetchable) memory:fa000000-fbffffff ioport:8c00(size=128) memory:fe5e0000-fe5fffff(prefetchable)
```

PCI:  version: 02

VGA: version: a1

# lspci -vvv

```
00:01.0 PCI bridge: Intel Corporation 4 Series Chipset PCI Express Root Port (rev 02) (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: 32 bytes

        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0

        I/O behind bridge: 00008000-00008fff

        Memory behind bridge: fa000000-fe5fffff

        Prefetchable memory behind bridge: 00000000d0000000-00000000dfffffff

        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: [88] Subsystem: ASUSTeK Computer Inc. Device 82d3

        Capabilities: [80] 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: [90] MSI: Enable- Count=1/1 Maskable- 64bit-

                Address: 00000000  Data: 0000

        Capabilities: [a0] Express (v2) Root Port (Slot+), MSI 00

                DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us

                        ExtTag- RBE+ FLReset-

                DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-

                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-

                        MaxPayload 128 bytes, MaxReadReq 128 bytes

                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-

                LnkCap: Port #2, Speed 5GT/s, Width x16, ASPM L0s, Latency L0 <256ns, L1 <4us

                        ClockPM- Surprise- LLActRep- BwNot+

                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+

                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-

                LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt+ ABWMgmt-

                SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surpise-

                        Slot #  0, PowerLimit 75.000000; Interlock- NoCompl-

                SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-

                        Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-

                SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-

                        Changed: MRL- PresDet+ LinkState-

                RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-

                RootCap: CRSVisible-

                RootSta: PME ReqID 0000, PMEStatus- PMEPending-

                DevCap2: Completion Timeout: Not Supported, TimeoutDis- ARIFwd-

                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- ARIFwd-

                LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB

                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-

                         Compliance De-emphasis: -6dB

                LnkSta2: Current De-emphasis Level: -6dB

        Capabilities: [100] Virtual Channel <?>

        Capabilities: [140] Root Complex Link <?>

        Kernel driver in use: pcieport-driver
```

PCI: Capabilities: [a0] Express (v2) Root Port (Slot+), MSI 00

```
01:00.0 VGA compatible controller: nVidia Corporation G84 [GeForce 8600 GT] (rev a1) (prog-if 00 [VGA controller])

        Subsystem: eVga.com. Corp. Device c757

        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 16

        Region 0: Memory at fd000000 (32-bit, non-prefetchable) [size=16M]

        Region 1: Memory at d0000000 (64-bit, prefetchable) [size=256M]

        Region 3: Memory at fa000000 (64-bit, non-prefetchable) [size=32M]

        Region 5: I/O ports at 8c00 [size=128]

        [virtual] Expansion ROM at fe5e0000 [disabled] [size=128K]

        Capabilities: [60] Power Management version 2

                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)

                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-

        Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+

                Address: 0000000000000000  Data: 0000

        Capabilities: [78] Express (v1) Endpoint, MSI 00

                DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <512ns, L1 <4us

                        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 x16, ASPM unknown, Latency L0 <512ns, L1 <4us

                        ClockPM- Surprise- LLActRep- BwNot-

                LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- Retrain- CommClk+

                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-

                LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-

        Capabilities: [100] Virtual Channel <?>

        Capabilities: [128] Power Budgeting <?>

        Capabilities: [600] Vendor Specific Information <?>

        Kernel driver in use: nvidia

        Kernel modules: nvidia

```

 Video Card: Capabilities: [78] Express (v1) Endpoint, MSI 00

Drivers:

```
# emerge -pv nvidia-drivers

[ebuild   R   ] x11-drivers/nvidia-drivers-190.42-r3  USE="acpi -custom-cflags gtk (multilib)" 22,506 kB
```

In my case the board supports v2 but the card is v1 and therefore i am limited by my video card resources. (not the board)

If your board is v2 but your video card is v1 you will limited at v1

If your video card is v2 but the board is v1 you will not take advantage of v2 capabilities.

If your hardware is v2 but the software is v1 you will not take advantage of your hardware full capabilities. (i doubt this is the case)

What is your output for # lshw and lspci -vvv ?

----------

## MorpheuS.Ibis

both card (GTX480, brand new) and board (asus P6T SE, intel x58 chipset, newest available for core i7) are gen2 capable, and windows drivers show that

here comes lspci

```

00:03.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 3 (rev 13) (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: 256 bytes

        Bus: primary=00, secondary=02, subordinate=02, sec-latency=0

        I/O behind bridge: 0000a000-0000afff

        Memory behind bridge: f8000000-fbafffff

        Prefetchable memory behind bridge: 00000000d4000000-00000000dfffffff

        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] Subsystem: ASUSTeK Computer Inc. Device 836b

        Capabilities: [60] MSI: Enable+ Count=1/2 Maskable+ 64bit-

                Address: fee002b8  Data: 0000

                Masking: 00000003  Pending: 00000000

        Capabilities: [90] Express (v2) Root Port (Slot+), MSI 00

                DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us

                        ExtTag+ RBE+ FLReset-

                DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-

                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-

                        MaxPayload 128 bytes, MaxReadReq 128 bytes

                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-

                LnkCap: Port #0, Speed 5GT/s, Width x16, ASPM L0s L1, Latency L0 <512ns, L1 <64us

                        ClockPM- Surprise+ LLActRep+ BwNot+

                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+

                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-

                LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive+ BWMgmt+ ABWMgmt-

                SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surprise-

                        Slot #2, PowerLimit 75.000W; Interlock- NoCompl-

                SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-

                        Control: AttnInd Off, PwrInd Off, Power- Interlock-

                SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-

                        Changed: MRL- PresDet+ LinkState+

                RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-

                RootCap: CRSVisible-

                RootSta: PME ReqID 0000, PMEStatus- PMEPending-

                DevCap2: Completion Timeout: Range BCD, TimeoutDis+ ARIFwd+

                DevCtl2: Completion Timeout: 260ms to 900ms, TimeoutDis- ARIFwd-

                LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB

                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-

                         Compliance De-emphasis: -6dB

                LnkSta2: Current De-emphasis Level: -6dB

        Capabilities: [e0] 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: [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: [150 v1] Access Control Services

                ACSCap: SrcValid+ TransBlk+ ReqRedir+ CmpltRedir+ UpstreamFwd+ EgressCtrl- DirectTrans-

                ACSCtl: SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-

        Capabilities: [160 v0] Vendor Specific Information: ID=0002 Rev=0 Len=00c <?>

        Kernel driver in use: pcieport

...

02:00.0 VGA compatible controller: nVidia Corporation Device 06c0 (rev a3) (prog-if 00 [VGA controller])

        Subsystem: nVidia Corporation Device 075f

        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 24

        Region 0: Memory at f8000000 (32-bit, non-prefetchable) [size=32M]

        Region 1: Memory at d8000000 (64-bit, prefetchable) [size=128M]

        Region 3: Memory at d4000000 (64-bit, prefetchable) [size=64M]

        Region 5: I/O ports at ac00 [size=128]

        [virtual] Expansion ROM at fba00000 [disabled] [size=512K]

        Capabilities: [60] 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: [68] MSI: Enable- Count=1/1 Maskable- 64bit+

                Address: 0000000000000000  Data: 0000

        Capabilities: [78] Express (v2) Endpoint, MSI 00

                DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <4us, L1 <64us

                        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 x16, ASPM L0s L1, Latency L0 <256ns, L1 <4us

                        ClockPM+ Surprise- LLActRep- BwNot-

                LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- Retrain- CommClk+

                        ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-

                LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-

                DevCap2: Completion Timeout: Not Supported, TimeoutDis+

                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-

                LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB

                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-

                         Compliance De-emphasis: -6dB

                LnkSta2: Current De-emphasis Level: -6dB

        Capabilities: [b4] Vendor Specific Information: Len=14 <?>

        Capabilities: [100 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=01

                        Status: NegoPending- InProgress-

        Capabilities: [128 v1] Power Budgeting <?>

        Capabilities: [600 v1] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>

        Kernel driver in use: nvidia

        Kernel modules: nvidia

```

and here comes lshw

```
        *-pci:1

             description: PCI bridge

             product: 5520/5500/X58 I/O Hub PCI Express Root Port 3

             vendor: Intel Corporation

             physical id: 3

             bus info: pci@0000:00:03.0

             version: 13

             width: 32 bits

             clock: 33MHz

             capabilities: pci msi pciexpress pm normal_decode bus_master cap_list

             configuration: driver=pcieport

             resources: irq:51 ioport:a000(size=4096) memory:f8000000-fbafffff ioport:d4000000(size=201326592)

           *-display

                description: VGA compatible controller

                product: nVidia Corporation

                vendor: nVidia Corporation

                physical id: 0

                bus info: pci@0000:02:00.0

                version: a3

                width: 64 bits

                clock: 33MHz

                capabilities: pm msi pciexpress vga_controller bus_master cap_list rom

                configuration: driver=nvidia latency=0

                resources: irq:24 memory:f8000000-f9ffffff memory:d8000000-dfffffff(prefetchable) memory:d4000000-d7ffffff(prefetchable) ioport:ac00(size=128) memory:fba00000-fba7ffff(prefetchable)

           *-multimedia UNCLAIMED

                description: Audio device

                product: nVidia Corporation

                vendor: nVidia Corporation

                physical id: 0.1

                bus info: pci@0000:02:00.1

                version: a1

                width: 32 bits

                clock: 33MHz

                capabilities: pm msi pciexpress bus_master cap_list

                configuration: latency=0

                resources: memory:fbafc000-fbafffff

```

Thanks

EDIT: OK, it works now, the problem is adaptive powermizer settings, which lowers the bandwidth when not in use (and nvidia-setting interprets it as Gen1)

----------

