Changes between Version 15 and Version 16 of venice/thermal


Ignore:
Timestamp:
02/04/2026 12:00:58 AM (2 days ago)
Author:
Tim Harvey
Comment:

add details about PI7C9X3G606GP PCIe gen3 switch used on the VeniceFlex products

Legend:

Unmodified
Added
Removed
Modified
  • venice/thermal

    v15 v16  
    128128}}}
    129129
     130
     131[=#pcie]
     132=== PCIe Switch Temperature
     133The PI7C9X3G606GP PCIe Gen3 switch used on the VeniceFLEX family (GW8xxx) has a fairly large power draw which varies based on active lanes, link speed, and internal die temperature. The power draw can range from about 2W up to 6W and the maximum operating die temperature is rated at 125C.
     134
     135Additionally the switch has the ability to determine unused links and put the ports into a lower power mode however this is not enabled by default. Enabling this can save approximately 800mW of power for example on a GW82xx baseboard regardless of what sockets are populated simply due to unused ports that are not routed to sockets. This can be enabled manually via 'setpci -s <bdf> 0x3cc.l=0x1' for bdfs of 2:01.0 through 02:07.0 but is done in the more recent Gateworks 6.12 and 6.18 kernels with a pcie fixup in the kernel: [https://github.com/Gateworks/linux-venice/commit/13911e036445a4a91ca6916f8b925e03e2856164 pci: PI7C9X2G608GP enable PCI power savings for empty ports]
     136
     137
     138You can obtain the temperature of the die via a PCI register on the upstream port:
     139{{{#!bash
     140setpci -s 01:00.0 0x5d8.l=1 # request temperature
     141sleep .1 # allow some time for the reading
     142raw=0x$(setpci -s 01:00.0 0x5d8.l) # obtain the raw value
     143raw=$(($((raw >> 8)) & 0xfff)) # shift off the bits
     144pciet=$(( $((raw * 237700 / 4094)) - 79925)) # convert to millidegree C
     145}}}
     146
     147
    130148== Venice Thermal Protection
    131149