You are not logged in.

#1 2024-04-20 07:53:21

mtawame
Member
Registered: 2024-04-12
Posts: 6

How to remove PCIE bandwidth cap on AMD eGPU?

hello guys, anyone using TH3P4G3 eGPU dock? i set up one with Readon RTX 7900 to my ASUS FLow X16 , it works but the PCIe bandwidth is caped in Gen1

nvtop shows:

Device 1 [AMD Radeon RX 7900 XTX]             PCIe GEN 1@ 4x RX: N/A TX: N/A

here are some information about my hardware:

$ lspci -knn | grep VGA
0000:00:02.0 VGA compatible controller [0300]: Intel Corporation Raptor Lake-P [Iris Xe Graphics] [8086:a7a0] (rev 04)
0000:01:00.0 VGA compatible controller [0300]: NVIDIA Corporation AD106M [GeForce RTX 4070 Max-Q / Mobile] [10de:2860] (rev a1)
0000:0a:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900 XTX/7900M] [1002:744c] (rev c8)
$ lspci -knn | grep JHL7540
0000:06:00.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge DD 2018] [8086:15ef] (rev 06)
0000:07:01.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge DD 2018] [8086:15ef] (rev 06)
0000:07:02.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge DD 2018] [8086:15ef] (rev 06)
0000:07:04.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge DD 2018] [8086:15ef] (rev 06)
0000:1b:00.0 USB controller [0c03]: Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge DD 2018] [8086:15f0] (rev 06)
$ sudo dmesg | grep 'PCIe bandwidth'
[    0.716116] pci 0000:06:00.0: 8.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x4 link at 0000:00:07.0 (capable of 31.504 Gb/s with 8.0 GT/s PCIe x4 link)
[    0.725605] pci 0000:08:00.0: 8.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x4 link at 0000:00:07.0 (capable of 252.048 Gb/s with 16.0 GT/s PCIe x16 link)
[    0.738151] pci 0000:0a:00.0: 8.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x4 link at 0000:00:07.0 (capable of 252.048 Gb/s with 16.0 GT/s PCIe x16 link)
[    0.739387] pci 0000:1b:00.0: 8.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x4 link at 0000:00:07.0 (capable of 31.504 Gb/s with 8.0 GT/s PCIe x4 link)
[    0.773438] pci 0000:30:00.0: 2.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x1 link at 0000:00:1c.0 (capable of 4032.000 Gb/s with 64.0 GT/s PCIe x63 link)

i read the wiki which says need to set modprob with

/etc/modprobe.d/amd-egpu-pcie-speed.conf
options amdgpu pcie_gen_cap=0x80000

But still no luck...

Thanks a bunch for any help you can offer!

Offline

#2 2024-04-20 11:15:24

Lone_Wolf
Forum Moderator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,969

Re: How to remove PCIE bandwidth cap on AMD eGPU?

Try to verify what is used first.

Post the output of  (replace ? with the number corresponding to the card ).

cat /sys/class/drm/card?/device/pcie_bw

Check https://www.kernel.org/doc/html//v5.18/ … misc.html#  for pcie_bw for info about the values.

For reference here's the output for my internal videocard in a PCIe gen 3 x16 slot .

$ cat /sys/class/drm/card1/device/pcie_bw
428 418 256
$

Last edited by Lone_Wolf (2024-04-20 11:15:58)


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#3 2024-04-20 13:54:49

mtawame
Member
Registered: 2024-04-12
Posts: 6

Re: How to remove PCIE bandwidth cap on AMD eGPU?

Thank you so much for the reply

i try to run cat command, but it seems there is no data inside my card2's pcie_bw file, is this the reason why i got caped?

$ cat /sys/class/drm/card2/device/pcie_bw
cat: /sys/class/drm/card2/device/pcie_bw: No data available

Offline

#4 2024-04-21 10:29:47

Lone_Wolf
Forum Moderator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,969

Re: How to remove PCIE bandwidth cap on AMD eGPU?

Hard to tell, atm I'm just trying to get reliable data .

nvtop also shows my videocard as pcie GEN 1 x16 .


# lspci -s 42:00.0 -vv
42:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] (rev e7) (prog-if 00 [VGA controller])
        Subsystem: Micro-Star International Co., Ltd. [MSI] Radeon RX 580 ARMOR 8G OC
        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 52
        NUMA node: 1
        IOMMU group: 30
        Region 0: Memory at 7fa00000000 (64-bit, prefetchable) [size=8G]
        Region 2: Memory at 7fc00000000 (64-bit, prefetchable) [size=2M]
        Region 4: I/O ports at 3000 [size=256]
        Region 5: Memory at 82400000 (32-bit, non-prefetchable) [size=256K]
        Expansion ROM at 82440000 [disabled] [size=128K]
        Capabilities: [48] Vendor Specific Information: Len=08 <?>
        Capabilities: [50] 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: [58] Express (v2) Legacy Endpoint, IntMsgNum 0
                DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
                        ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- TEE-IO-
                DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
                        RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
                        MaxPayload 256 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr- TransPend-
                LnkCap: Port #0, Speed 8GT/s, Width x16, ASPM L1, Exit Latency L1 <1us
                        ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM Disabled; RCB 64 bytes, LnkDisable- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 2.5GT/s (downgraded), Width x16
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Not Supported, TimeoutDis- NROPrPrP- LTR+
                         10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt+ EETLPPrefix+, MaxEETLPPrefixes 1
                         EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
                         FRS-
                         AtomicOpsCap: 32bit+ 64bit+ 128bitCAS-
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-
                         AtomicOpsCtl: ReqEn+
                         IDOReq- IDOCompl- LTR- EmergencyPowerReductionReq-
                         10BitTagReq- OBFF Disabled, EETLPPrefixBlk-
                LnkCap2: Supported Link Speeds: 2.5-8GT/s, Crosslink- Retimer- 2Retimers- DRS-
                LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance Preset/De-emphasis: -6dB de-emphasis, 0dB preshoot
                LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete+ EqualizationPhase1+
                         EqualizationPhase2+ EqualizationPhase3+ LinkEqualizationRequest-
                         Retimer- 2Retimers- CrosslinkRes: unsupported
        Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
                Address: 00000000fee00000  Data: 0000
        Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
        Capabilities: [150 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- AdvNonFatalErr+
                CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
                AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
                        MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
                HeaderLog: 00000000 00000000 00000000 00000000
        Capabilities: [200 v1] Physical Resizable BAR
                BAR 0: current size: 8GB, supported: 256MB 512MB 1GB 2GB 4GB 8GB
        Capabilities: [270 v1] Secondary PCI Express
                LnkCtl3: LnkEquIntrruptEn- PerformEqu-
                LaneErrStat: 0
        Capabilities: [2b0 v1] Address Translation Service (ATS)
                ATSCap: Invalidate Queue Depth: 00
                ATSCtl: Enable+, Smallest Translation Unit: 00
        Capabilities: [2c0 v1] Page Request Interface (PRI)
                PRICtl: Enable+ Reset-
                PRISta: RF- UPRGI- Stopped+ PASID-
                Page Request Capacity: 00000020, Page Request Allocation: 00000020
        Capabilities: [2d0 v1] Process Address Space ID (PASID)
                PASIDCap: Exec+ Priv+, Max PASID Width: 10
                PASIDCtl: Enable- Exec- Priv-
        Capabilities: [320 v1] Latency Tolerance Reporting
                Max snoop latency: 0ns
                Max no snoop latency: 0ns
        Capabilities: [328 v1] Alternative Routing-ID Interpretation (ARI)
                ARICap: MFVC- ACS-, Next Function: 1
                ARICtl: MFVC- ACS-, Function Group: 0
        Capabilities: [370 v1] L1 PM Substates
                L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
                          PortCommonModeRestoreTime=0us PortTPowerOnTime=170us
                L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
                           T_CommonMode=0us LTR1.2_Threshold=0ns
                L1SubCtl2: T_PwrOn=10us
        Kernel driver in use: amdgpu
        Kernel modules: amdgpu

# 

confirms the card is capable of PCIe 3 in LnkCap , but is downgraded to PCIe v1 in LnkSta .

https://unix.stackexchange.com/question … and-pcie-2 suggests the pci bridges in use also play a role .

https://superuser.com/questions/1095073 … tion-occur does give a better explanation .
Apparently the used speed is negiotated on hardware level and influenced by firmware settings .


Please post the output (run as root) of lspci -vv -s 0000:0a:00.0 and lspci -tv (user) .


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#5 2024-04-21 13:09:17

mtawame
Member
Registered: 2024-04-12
Posts: 6

Re: How to remove PCIE bandwidth cap on AMD eGPU?

Lone_Wolf wrote:

nvtop also shows my videocard as pcie GEN 1 x16 .

I've noticed that my dGPU (PCIE:01:00.0) also shows PCIe GEN 1 in nvtop, but during computing tasks, it automatically switches to GEN4. However, my eGPU doesn't behave in the same way. Regardless of its working conditions, it's always capped at Gen 1.

here are my outputs :

sudo lspci -vv -s 0000:0a:00.0                                       (04-21 21:04)
[sudo] password for sim: 
0000:0a:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900 XTX/7900M] (rev c8) (prog-if 00 [VGA controller])
	Subsystem: Sapphire Technology Limited NITRO+ RX 7900 XTX Vapor-X
	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 253
	IOMMU group: 25
	Region 0: Memory at 6000000000 (64-bit, prefetchable) [size=32G]
	Region 2: Memory at 6800000000 (64-bit, prefetchable) [size=256M]
	Region 4: I/O ports at 3000 [size=256]
	Region 5: Memory at 7e000000 (32-bit, non-prefetchable) [size=1M]
	Expansion ROM at 7e100000 [disabled] [size=128K]
	Capabilities: [48] Vendor Specific Information: Len=08 <?>
	Capabilities: [50] 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: [64] Express (v2) Legacy Endpoint, IntMsgNum 0
		DevCap:	MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
			ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- TEE-IO-
		DevCtl:	CorrErr- NonFatalErr- FatalErr- UnsupReq-
			RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr- TransPend-
		LnkCap:	Port #0, Speed 16GT/s, Width x16, ASPM L1, Exit Latency L1 <1us
			ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, LnkDisable- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 16GT/s, Width x16
			TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
		DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR+
			 10BitTagComp+ 10BitTagReq+ OBFF Not Supported, ExtFmt+ EETLPPrefix+, MaxEETLPPrefixes 1
			 EmergencyPowerReduction Form Factor Dev Specific, EmergencyPowerReductionInit-
			 FRS-
			 AtomicOpsCap: 32bit+ 64bit+ 128bitCAS-
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-
			 AtomicOpsCtl: ReqEn-
			 IDOReq- IDOCompl- LTR+ EmergencyPowerReductionReq-
			 10BitTagReq- OBFF Disabled, EETLPPrefixBlk-
		LnkCap2: Supported Link Speeds: 2.5-16GT/s, Crosslink- Retimer+ 2Retimers+ DRS-
		LnkCtl2: Target Link Speed: 16GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance Preset/De-emphasis: -6dB de-emphasis, 0dB preshoot
		LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete+ EqualizationPhase1+
			 EqualizationPhase2+ EqualizationPhase3+ LinkEqualizationRequest-
			 Retimer- 2Retimers- CrosslinkRes: unsupported
	Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
		Address: 00000000fee00df8  Data: 0000
	Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
	Capabilities: [150 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- AdvNonFatalErr+
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		AERCap:	First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
			MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
		HeaderLog: 00000000 00000000 00000000 00000000
	Capabilities: [200 v1] Physical Resizable BAR
		BAR 0: current size: 32GB, supported: 256MB 512MB 1GB 2GB 4GB 8GB 16GB 32GB
		BAR 2: current size: 256MB, supported: 2MB 4MB 8MB 16MB 32MB 64MB 128MB 256MB
	Capabilities: [240 v1] Power Budgeting <?>
	Capabilities: [270 v1] Secondary PCI Express
		LnkCtl3: LnkEquIntrruptEn- PerformEqu-
		LaneErrStat: 0
	Capabilities: [2a0 v1] Access Control Services
		ACSCap:	SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-
		ACSCtl:	SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-
	Capabilities: [2d0 v1] Process Address Space ID (PASID)
		PASIDCap: Exec+ Priv+, Max PASID Width: 10
		PASIDCtl: Enable- Exec- Priv-
	Capabilities: [320 v1] Latency Tolerance Reporting
		Max snoop latency: 1048576ns
		Max no snoop latency: 1048576ns
	Capabilities: [410 v1] Physical Layer 16.0 GT/s <?>
	Capabilities: [450 v1] Lane Margining at the Receiver
		PortCap: Uses Driver-
		PortSta: MargReady+ MargSoftReady-
	Kernel driver in use: amdgpu
	Kernel modules: amdgpu
lspci -tv                                                       (04-21 21:04)
-[0000:00]-+-00.0  Intel Corporation Raptor Lake-P 6p+8e cores Host Bridge/DRAM Controller
           +-01.0-[01-05]--+-00.0  NVIDIA Corporation AD106M [GeForce RTX 4070 Max-Q / Mobile]
           |               \-00.1  NVIDIA Corporation Device 22bd
           +-02.0  Intel Corporation Raptor Lake-P [Iris Xe Graphics]
           +-04.0  Intel Corporation Raptor Lake Dynamic Platform and Thermal Framework Processor Participant
           +-06.0  Intel Corporation RST VMD Managed Controller
           +-07.0-[06-2f]----00.0-[07-2f]--+-01.0-[08-1a]----00.0-[09-0a]----00.0-[0a]--+-00.0  Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900 XTX/7900M]
           |                               |                                            \-00.1  Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 HDMI/DP Audio
           |                               +-02.0-[1b]----00.0  Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge DD 2018]
           |                               \-04.0-[1c-2f]--
           +-08.0  Intel Corporation GNA Scoring Accelerator module
           +-0a.0  Intel Corporation Raptor Lake Crashlog and Telemetry
           +-0d.0  Intel Corporation Raptor Lake-P Thunderbolt 4 USB Controller
           +-0d.2  Intel Corporation Raptor Lake-P Thunderbolt 4 NHI #0
           +-0e.0  Intel Corporation Volume Management Device NVMe RAID Controller Intel Corporation
           +-12.0  Intel Corporation Alder Lake-P Integrated Sensor Hub
           +-14.0  Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller
           +-14.2  Intel Corporation Alder Lake PCH Shared SRAM
           +-14.3  Intel Corporation Raptor Lake PCH CNVi WiFi
           +-15.0  Intel Corporation Alder Lake PCH Serial IO I2C Controller #0
           +-15.1  Intel Corporation Alder Lake PCH Serial IO I2C Controller #1
           +-16.0  Intel Corporation Alder Lake PCH HECI Controller
           +-1c.0-[30]----00.0  Genesys Logic, Inc GL9755 SD Host Controller
           +-1e.0  Intel Corporation Alder Lake PCH UART #0
           +-1e.3  Intel Corporation Alder Lake SPI Controller
           +-1f.0  Intel Corporation Raptor Lake LPC/eSPI Controller
           +-1f.3  Intel Corporation Raptor Lake-P/U/H cAVS
           +-1f.4  Intel Corporation Alder Lake PCH-P SMBus Host Controller
           \-1f.5  Intel Corporation Alder Lake-P PCH SPI Controller
-[10000:e0]-+-06.0-[e1]----00.0  Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983
            \-06.2-[e2]----00.0  Micron/Crucial Technology P2 [Nick P2] / P3 / P3 Plus NVMe PCIe SSD (DRAM-less)

Offline

#6 2024-04-22 18:06:31

mtawame
Member
Registered: 2024-04-12
Posts: 6

Re: How to remove PCIE bandwidth cap on AMD eGPU?

i searched a way to do bendwitdh test by following command

$ echo 4 | sudo tee /sys/kernel/debug/dri/2/amdgpu_benchmark

and check result in dmesg, it is definately caped

dmesg
[11540.530077] amdgpu 0000:0a:00.0: amdgpu: amdgpu: dma 1024 bo moves of 4 kB from 4 to 2 in 40 ms, throughput: 816 Mb/s or 102 MB/s
[11540.556684] amdgpu 0000:0a:00.0: amdgpu: amdgpu: dma 1024 bo moves of 8 kB from 4 to 2 in 26 ms, throughput: 2520 Mb/s or 315 MB/s
[11540.583783] amdgpu 0000:0a:00.0: amdgpu: amdgpu: dma 1024 bo moves of 16 kB from 4 to 2 in 26 ms, throughput: 5040 Mb/s or 630 MB/s
[11540.616820] amdgpu 0000:0a:00.0: amdgpu: amdgpu: dma 1024 bo moves of 32 kB from 4 to 2 in 32 ms, throughput: 8192 Mb/s or 1024 MB/s
[11540.660417] amdgpu 0000:0a:00.0: amdgpu: amdgpu: dma 1024 bo moves of 64 kB from 4 to 2 in 43 ms, throughput: 12192 Mb/s or 1524 MB/s
[11540.724421] amdgpu 0000:0a:00.0: amdgpu: amdgpu: dma 1024 bo moves of 128 kB from 4 to 2 in 63 ms, throughput: 16640 Mb/s or 2080 MB/s
[11540.836445] amdgpu 0000:0a:00.0: amdgpu: amdgpu: dma 1024 bo moves of 256 kB from 4 to 2 in 111 ms, throughput: 18888 Mb/s or 2361 MB/s
[11541.036311] amdgpu 0000:0a:00.0: amdgpu: amdgpu: dma 1024 bo moves of 512 kB from 4 to 2 in 199 ms, throughput: 21072 Mb/s or 2634 MB/s
[11541.472369] amdgpu 0000:0a:00.0: amdgpu: amdgpu: dma 1024 bo moves of 1024 kB from 4 to 2 in 435 ms, throughput: 19280 Mb/s or 2410 MB/s
[11542.229627] amdgpu 0000:0a:00.0: amdgpu: amdgpu: dma 1024 bo moves of 2048 kB from 4 to 2 in 756 ms, throughput: 22192 Mb/s or 2774 MB/s
[11543.741302] amdgpu 0000:0a:00.0: amdgpu: amdgpu: dma 1024 bo moves of 4096 kB from 4 to 2 in 1510 ms, throughput: 22216 Mb/s or 2777 MB/s
[11546.784525] amdgpu 0000:0a:00.0: amdgpu: amdgpu: dma 1024 bo moves of 8192 kB from 4 to 2 in 3041 ms, throughput: 22064 Mb/s or 2758 MB/s
[11552.630359] amdgpu 0000:0a:00.0: amdgpu: amdgpu: dma 1024 bo moves of 16384 kB from 4 to 2 in 5843 ms, throughput: 22968 Mb/s or 2871 MB/s
[11564.402252] amdgpu 0000:0a:00.0: amdgpu: amdgpu: dma 1024 bo moves of 32768 kB from 4 to 2 in 11767 ms, throughput: 22808 Mb/s or 2851 MB/s
[11587.458711] amdgpu 0000:0a:00.0: amdgpu: amdgpu: dma 1024 bo moves of 65536 kB from 4 to 2 in 23050 ms, throughput: 23288 Mb/s or 2911 MB/s

Last edited by mtawame (2024-04-22 18:12:45)

Offline

#7 2024-05-04 18:56:22

Egorich7869
Member
Registered: 2024-05-04
Posts: 1

Re: How to remove PCIE bandwidth cap on AMD eGPU?

I have the same problem with my USB 4 TH3P4G3 Mini eGPU dock with AMD RX 6750 XT and Lenovo Xiaoxin 14 pro Ryzen 7 8845H
Here is the terminal output to prove my problem:

sudo lspci -s 8:00.0 -vv
08:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT] (rev c0) (prog-if 00 [VGA controller])
    Subsystem: Sapphire Technology Limited Device e465
    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 98
    IOMMU group: 2
    Region 0: Memory at 7000000000 (64-bit, prefetchable) [size=256M]
    Region 2: Memory at 7010000000 (64-bit, prefetchable) [size=2M]
    Region 4: I/O ports at 2000 [size=256]
    Region 5: Memory at 80000000 (32-bit, non-prefetchable) [size=1M]
    Expansion ROM at 80100000 [disabled] [size=128K]
    Capabilities: [48] Vendor Specific Information: Len=08 <?>
    Capabilities: [50] 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: [64] Express (v2) Legacy Endpoint, IntMsgNum 0
        DevCap:    MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
            ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- TEE-IO-
        DevCtl:    CorrErr- NonFatalErr- FatalErr- UnsupReq-
            RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
            MaxPayload 128 bytes, MaxReadReq 512 bytes
        DevSta:    CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr- TransPend-
        LnkCap:    Port #0, Speed 16GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <64ns, L1 <1us
            ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
        LnkCtl:    ASPM Disabled; RCB 64 bytes, LnkDisable- CommClk+
            ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
        LnkSta:    Speed 16GT/s, Width x16
            TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
        DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR+
             10BitTagComp+ 10BitTagReq+ OBFF Not Supported, ExtFmt+ EETLPPrefix+, MaxEETLPPrefixes 1
             EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
             FRS-
             AtomicOpsCap: 32bit+ 64bit+ 128bitCAS-
        DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-
             AtomicOpsCtl: ReqEn-
             IDOReq- IDOCompl- LTR+ EmergencyPowerReductionReq-
             10BitTagReq- OBFF Disabled, EETLPPrefixBlk-
        LnkCap2: Supported Link Speeds: 2.5-16GT/s, Crosslink- Retimer+ 2Retimers+ DRS-
        LnkCtl2: Target Link Speed: 16GT/s, EnterCompliance- SpeedDis-
             Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
             Compliance Preset/De-emphasis: -6dB de-emphasis, 0dB preshoot
        LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete+ EqualizationPhase1+
             EqualizationPhase2+ EqualizationPhase3+ LinkEqualizationRequest-
             Retimer- 2Retimers- CrosslinkRes: unsupported
    Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Address: 00000000fee00000  Data: 0000
    Kernel driver in use: amdgpu
    Kernel modules: amdgpu

lspci -knn | grep JHL7540
pcilib: Error reading /sys/bus/pci/devices/0000:00:08.3/label: Operation not permitted
04:00.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge DD 2018] [8086:15ef] (rev 06)
05:01.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge DD 2018] [8086:15ef] (rev 06)
05:02.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge DD 2018] [8086:15ef] (rev 06)
05:04.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge DD 2018] [8086:15ef] (rev 06)
34:00.0 USB controller [0c03]: Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge DD 2018] [8086:15f0] (rev 06)

lspci -knn | grep VGA
pcilib: Error reading /sys/bus/pci/devices/0000:00:08.3/label: Operation not permitted
08:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT] [1002:73df] (rev c0)
63:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Phoenix3 [1002:1900] (rev cc)

nvtop shows:

Device 1 [AMD Radeon RX 6750 XT] PCIe GEN 1@ 1x RX: N/A TX: N/A

Fastfetch:

fastfetch
                  -`                     egorich@Hrenovo-Laptop
                 .o+`                    ----------------------
                `ooo/                    OS: Arch Linux x86_64
               `+oooo:                   Host: 83D3 (XiaoXinPro 14 AHP9)
              `+oooooo:                  Kernel: 6.8.9-zen1-1-zen
              -+oooooo+:                 Uptime: 23 hours, 53 mins
            `/:-:++oooo+:                Packages: 1329 (pacman), 37 (flatpak)
           `/++++/+++++++:               Shell: bash 5.2.26
          `/++++++++++++++:              Display (SDC419F): 2880x1800 @ 120Hz (as 1440x900) [Built-in]
         `/+++ooooooooooooo/`            DE: Gnome 46.1
        ./ooosssso++osssssso+`           WM: Mutter (Wayland)
       .oossssso-````/ossssss+`          WM Theme: Adwaita
      -osssssso.      :ssssssso.         Theme: Adwaita [GTK2/3/4]
     :osssssss/        osssso+++.        Icons: Adwaita [GTK2/3/4]
    /ossssssss/        +ssssooo/-        Font: Cantarell (11pt) [GTK2/3/4]
  `/ossssso+/:-        -:/+osssso+-      Cursor: Adwaita (24px)
`+sso+:-`                 `.-/+oso:     Terminal: GNOME Console 46.0
`++:.                           `-/+/    Terminal Font: Source Code Pro (10pt)
.`                                 `/    CPU: AMD Ryzen 7 8845H w/ Radeon 780M Graphics (16) @ 6,68 GHz
                                         GPU 1: AMD Phoenix3 @ 0,80 GHz [Integrated]
                                         GPU 2: AMD Radeon RX 6750 XT [Discrete]
                                         Memory: 7,37 GiB / 27,21 GiB (27%)
                                         Swap: 1,00 MiB / 4,00 GiB (0%)
                                         Disk (/): 875,21 GiB / 953,37 GiB (92%) - btrfs
                                         Local IP (wlp2s0): 192.168.3.61/24 *
                                         Battery: 72% [Charging]
                                         Locale: ru_RU.UTF-8

Last edited by Egorich7869 (2024-05-04 19:00:07)

Offline

Board footer

Powered by FluxBB