1bb42b3d3SRoman SudarikovWhat:           /sys/devices/uncore_iio_x/dieX
2bb42b3d3SRoman SudarikovDate:           February 2020
3*61fb0f7eSAlexander AntonovContact:        Alexander Antonov <alexander.antonov@linux.intel.com>
4bb42b3d3SRoman SudarikovDescription:
5bb42b3d3SRoman Sudarikov                Each IIO stack (PCIe root port) has its own IIO PMON block, so
6bb42b3d3SRoman Sudarikov                each dieX file (where X is die number) holds "Segment:Root Bus"
7bb42b3d3SRoman Sudarikov                for PCIe root port, which can be monitored by that IIO PMON
8bb42b3d3SRoman Sudarikov                block.
9bb42b3d3SRoman Sudarikov                For example, on 4-die Xeon platform with up to 6 IIO stacks per
10bb42b3d3SRoman Sudarikov                die and, therefore, 6 IIO PMON blocks per die, the mapping of
1154a19b4dSMauro Carvalho Chehab                IIO PMON block 0 exposes as the following::
12bb42b3d3SRoman Sudarikov
13bb42b3d3SRoman Sudarikov		    $ ls /sys/devices/uncore_iio_0/die*
14bb42b3d3SRoman Sudarikov		    -r--r--r-- /sys/devices/uncore_iio_0/die0
15bb42b3d3SRoman Sudarikov		    -r--r--r-- /sys/devices/uncore_iio_0/die1
16bb42b3d3SRoman Sudarikov		    -r--r--r-- /sys/devices/uncore_iio_0/die2
17bb42b3d3SRoman Sudarikov		    -r--r--r-- /sys/devices/uncore_iio_0/die3
18bb42b3d3SRoman Sudarikov
19bb42b3d3SRoman Sudarikov		    $ tail /sys/devices/uncore_iio_0/die*
20bb42b3d3SRoman Sudarikov		    ==> /sys/devices/uncore_iio_0/die0 <==
21bb42b3d3SRoman Sudarikov		    0000:00
22bb42b3d3SRoman Sudarikov		    ==> /sys/devices/uncore_iio_0/die1 <==
23bb42b3d3SRoman Sudarikov		    0000:40
24bb42b3d3SRoman Sudarikov		    ==> /sys/devices/uncore_iio_0/die2 <==
25bb42b3d3SRoman Sudarikov		    0000:80
26bb42b3d3SRoman Sudarikov		    ==> /sys/devices/uncore_iio_0/die3 <==
27bb42b3d3SRoman Sudarikov		    0000:c0
28bb42b3d3SRoman Sudarikov
2954a19b4dSMauro Carvalho Chehab                Which means::
3054a19b4dSMauro Carvalho Chehab
31bb42b3d3SRoman Sudarikov		    IIO PMU 0 on die 0 belongs to PCI RP on bus 0x00, domain 0x0000
32bb42b3d3SRoman Sudarikov		    IIO PMU 0 on die 1 belongs to PCI RP on bus 0x40, domain 0x0000
33bb42b3d3SRoman Sudarikov		    IIO PMU 0 on die 2 belongs to PCI RP on bus 0x80, domain 0x0000
34bb42b3d3SRoman Sudarikov		    IIO PMU 0 on die 3 belongs to PCI RP on bus 0xc0, domain 0x0000
35*61fb0f7eSAlexander Antonov
36*61fb0f7eSAlexander AntonovWhat:           /sys/devices/uncore_upi_x/dieX
37*61fb0f7eSAlexander AntonovDate:           March 2022
38*61fb0f7eSAlexander AntonovContact:        Alexander Antonov <alexander.antonov@linux.intel.com>
39*61fb0f7eSAlexander AntonovDescription:
40*61fb0f7eSAlexander Antonov                Each /sys/devices/uncore_upi_X/dieY file holds "upi_Z,die_W"
41*61fb0f7eSAlexander Antonov                value that means UPI link number X on die Y is connected to UPI
42*61fb0f7eSAlexander Antonov                link Z on die W and this link between sockets can be monitored
43*61fb0f7eSAlexander Antonov                by UPI PMON block.
44*61fb0f7eSAlexander Antonov                For example, 4-die Sapphire Rapids platform has the following
45*61fb0f7eSAlexander Antonov                UPI 0 topology::
46*61fb0f7eSAlexander Antonov
47*61fb0f7eSAlexander Antonov		    # tail /sys/devices/uncore_upi_0/die*
48*61fb0f7eSAlexander Antonov		    ==> /sys/devices/uncore_upi_0/die0 <==
49*61fb0f7eSAlexander Antonov		    upi_1,die_1
50*61fb0f7eSAlexander Antonov		    ==> /sys/devices/uncore_upi_0/die1 <==
51*61fb0f7eSAlexander Antonov		    upi_0,die_3
52*61fb0f7eSAlexander Antonov		    ==> /sys/devices/uncore_upi_0/die2 <==
53*61fb0f7eSAlexander Antonov		    upi_1,die_3
54*61fb0f7eSAlexander Antonov		    ==> /sys/devices/uncore_upi_0/die3 <==
55*61fb0f7eSAlexander Antonov		    upi_0,die_1
56*61fb0f7eSAlexander Antonov
57*61fb0f7eSAlexander Antonov                Which means::
58*61fb0f7eSAlexander Antonov
59*61fb0f7eSAlexander Antonov		    UPI link 0 on die 0 is connected to UPI link 1 on die 1
60*61fb0f7eSAlexander Antonov		    UPI link 0 on die 1 is connected to UPI link 0 on die 3
61*61fb0f7eSAlexander Antonov		    UPI link 0 on die 2 is connected to UPI link 1 on die 3
62*61fb0f7eSAlexander Antonov		    UPI link 0 on die 3 is connected to UPI link 0 on die 1