Re: [PATCH v3 0/4] DT schema changes for HiKey970 PCIe hardware to work

From: Mauro Carvalho Chehab
Date: Wed Aug 04 2021 - 02:50:56 EST


Em Tue, 3 Aug 2021 16:11:42 -0600
Rob Herring <robh+dt@xxxxxxxxxx> escreveu:

> On Mon, Aug 2, 2021 at 10:39 PM Mauro Carvalho Chehab
> <mchehab+huawei@xxxxxxxxxx> wrote:
> >
> > Hi Rob,
> >
> > That's the third version of the DT bindings for Kirin 970 PCIE and its
> > corresponding PHY.
> >
> > It is identical to v2, except by:
> > - pcie@7,0 { // Lane 7: Ethernet
> > + pcie@7,0 { // Lane 6: Ethernet
>
> Can you check whether you have DT node links in sysfs for the PCI
> devices? If you don't, then something is wrong still in the topology
> or the PCI core is failing to set the DT node pointer in struct
> device. Though you don't rely on that currently, we want the topology
> to match. It's possible this never worked on arm/arm64 as mainly
> powerpc relied on this.
>
> I'd like some way to validate the DT matches the PCI topology. We
> could have a tool that generates the DT structure based on the PCI
> topology.

The of_node node link is on those places:

$ find /sys/devices/platform/soc/f4000000.pcie/ -name of_node
/sys/devices/platform/soc/f4000000.pcie/of_node
/sys/devices/platform/soc/f4000000.pcie/pci0000:00/0000:00:00.0/of_node
/sys/devices/platform/soc/f4000000.pcie/pci0000:00/0000:00:00.0/pci_bus/0000:01/of_node
/sys/devices/platform/soc/f4000000.pcie/pci0000:00/pci_bus/0000:00/of_node

This is the pci stuff under firmware:

$ tree /sys/firmware/devicetree/base/soc/pcie@f4000000/
/sys/firmware/devicetree/base/soc/pcie@f4000000/
├── #address-cells
├── bus-range
├── compatible
├── device_type
├── hisilicon,clken-gpios
├── #interrupt-cells
├── interrupt-map
├── interrupt-map-mask
├── interrupt-names
├── interrupts
├── msi-parent
├── name
├── num-lanes
├── pcie@0,0
│   ├── #address-cells
│   ├── compatible
│   ├── device_type
│   ├── name
│   ├── pcie@1,0
│   │   ├── #address-cells
│   │   ├── compatible
│   │   ├── device_type
│   │   ├── name
│   │   ├── ranges
│   │   ├── reg
│   │   ├── reset-gpios
│   │   └── #size-cells
│   ├── pcie@5,0
│   │   ├── #address-cells
│   │   ├── compatible
│   │   ├── device_type
│   │   ├── name
│   │   ├── ranges
│   │   ├── reg
│   │   ├── reset-gpios
│   │   └── #size-cells
│   ├── pcie@7,0
│   │   ├── #address-cells
│   │   ├── compatible
│   │   ├── device_type
│   │   ├── name
│   │   ├── ranges
│   │   ├── reg
│   │   ├── reset-gpios
│   │   └── #size-cells
│   ├── ranges
│   ├── reg
│   └── #size-cells
├── phys
├── ranges
├── reg
├── reg-names
├── reset-gpios
└── #size-cells

And this is what we get from the pcie devnode:

/sys/devices/platform/soc/f4000000.pcie/
├── driver -> ../../../../bus/platform/drivers/kirin-pcie
├── driver_override
├── modalias
├── of_node -> ../../../../firmware/devicetree/base/soc/pcie@f4000000
├── pci0000:00
│   ├── 0000:00:00.0
│   │   ├── 0000:00:00.0:pcie001
│   │   │   ├── driver -> ../../../../../../../bus/pci_express/drivers/pcie_pme
│   │   │   ├── power
│   │   │   ├── subsystem -> ../../../../../../../bus/pci_express
│   │   │   └── uevent
│   │   ├── 0000:00:00.0:pcie002
│   │   │   ├── driver -> ../../../../../../../bus/pci_express/drivers/aer
│   │   │   ├── power
│   │   │   ├── subsystem -> ../../../../../../../bus/pci_express
│   │   │   └── uevent
│   │   ├── 0000:00:00.0:pcie010
│   │   │   ├── power
│   │   │   ├── subsystem -> ../../../../../../../bus/pci_express
│   │   │   └── uevent
│   │   ├── 0000:01:00.0
│   │   │   ├── 0000:01:00.0:pcie102
│   │   │   │   ├── power
│   │   │   │   ├── subsystem -> ../../../../../../../../bus/pci_express
│   │   │   │   └── uevent
│   │   │   ├── 0000:02:01.0
│   │   │   │   ├── 0000:02:01.0:pcie202
│   │   │   │   │   ├── power
│   │   │   │   │   ├── subsystem -> ../../../../../../../../../bus/pci_express
│   │   │   │   │   └── uevent
│   │   │   │   ├── 0000:02:01.0:pcie210
│   │   │   │   │   ├── power
│   │   │   │   │   ├── subsystem -> ../../../../../../../../../bus/pci_express
│   │   │   │   │   └── uevent
│   │   │   │   ├── 0000:03:00.0
│   │   │   │   │   ├── aer_dev_correctable
│   │   │   │   │   ├── aer_dev_fatal
│   │   │   │   │   ├── aer_dev_nonfatal
│   │   │   │   │   ├── ari_enabled
│   │   │   │   │   ├── broken_parity_status
│   │   │   │   │   ├── class
│   │   │   │   │   ├── config
│   │   │   │   │   ├── consistent_dma_mask_bits
│   │   │   │   │   ├── current_link_speed
│   │   │   │   │   ├── current_link_width
│   │   │   │   │   ├── d3cold_allowed
│   │   │   │   │   ├── device
│   │   │   │   │   ├── devspec
│   │   │   │   │   ├── dma_mask_bits
│   │   │   │   │   ├── driver -> ../../../../../../../../../bus/pci/drivers/nvme
│   │   │   │   │   ├── driver_override
│   │   │   │   │   ├── enable
│   │   │   │   │   ├── irq
│   │   │   │   │   ├── link
│   │   │   │   │   │   ├── clkpm
│   │   │   │   │   │   └── l1_aspm
│   │   │   │   │   ├── local_cpulist
│   │   │   │   │   ├── local_cpus
│   │   │   │   │   ├── max_link_speed
│   │   │   │   │   ├── max_link_width
│   │   │   │   │   ├── modalias
│   │   │   │   │   ├── msi_bus
│   │   │   │   │   ├── numa_node
│   │   │   │   │   ├── nvme
│   │   │   │   │   │   └── nvme0
│   │   │   │   │   │   ├── address
│   │   │   │   │   │   ├── cntlid
│   │   │   │   │   │   ├── dev
│   │   │   │   │   │   ├── device -> ../../../0000:03:00.0
│   │   │   │   │   │   ├── firmware_rev
│   │   │   │   │   │   ├── kato
│   │   │   │   │   │   ├── model
│   │   │   │   │   │   ├── ng0n1
│   │   │   │   │   │   │   ├── dev
│   │   │   │   │   │   │   ├── device -> ../../nvme0
│   │   │   │   │   │   │   ├── power
│   │   │   │   │   │   │   │   ├── autosuspend_delay_ms
│   │   │   │   │   │   │   │   ├── control
│   │   │   │   │   │   │   │   ├── runtime_active_time
│   │   │   │   │   │   │   │   ├── runtime_status
│   │   │   │   │   │   │   │   └── runtime_suspended_time
│   │   │   │   │   │   │   ├── subsystem -> ../../../../../../../../../../../../class/nvme-generic
│   │   │   │   │   │   │   └── uevent
│   │   │   │   │   │   ├── numa_node
│   │   │   │   │   │   ├── nvme0n1
│   │   │   │   │   │   │   ├── alignment_offset
│   │   │   │   │   │   │   ├── bdi -> ../../../../../../../../../../../virtual/bdi/259:0
│   │   │   │   │   │   │   ├── capability
│   │   │   │   │   │   │   ├── dev
│   │   │   │   │   │   │   ├── device -> ../../nvme0
│   │   │   │   │   │   │   ├── discard_alignment
│   │   │   │   │   │   │   ├── eui
│   │   │   │   │   │   │   ├── events
│   │   │   │   │   │   │   ├── events_async
│   │   │   │   │   │   │   ├── events_poll_msecs
│   │   │   │   │   │   │   ├── ext_range
│   │   │   │   │   │   │   ├── hidden
│   │   │   │   │   │   │   ├── holders
│   │   │   │   │   │   │   ├── inflight
│   │   │   │   │   │   │   ├── integrity
│   │   │   │   │   │   │   │   ├── device_is_integrity_capable
│   │   │   │   │   │   │   │   ├── format
│   │   │   │   │   │   │   │   ├── protection_interval_bytes
│   │   │   │   │   │   │   │   ├── read_verify
│   │   │   │   │   │   │   │   ├── tag_size
│   │   │   │   │   │   │   │   └── write_generate
│   │   │   │   │   │   │   ├── mq
│   │   │   │   │   │   │   │   └── 0
│   │   │   │   │   │   │   │   ├── cpu0
│   │   │   │   │   │   │   │   ├── cpu1
│   │   │   │   │   │   │   │   ├── cpu2
│   │   │   │   │   │   │   │   ├── cpu3
│   │   │   │   │   │   │   │   ├── cpu4
│   │   │   │   │   │   │   │   ├── cpu5
│   │   │   │   │   │   │   │   ├── cpu6
│   │   │   │   │   │   │   │   ├── cpu7
│   │   │   │   │   │   │   │   ├── cpu_list
│   │   │   │   │   │   │   │   ├── nr_reserved_tags
│   │   │   │   │   │   │   │   └── nr_tags
│   │   │   │   │   │   │   ├── nsid
│   │   │   │   │   │   │   ├── nvme0n1p1
│   │   │   │   │   │   │   │   ├── alignment_offset
│   │   │   │   │   │   │   │   ├── dev
│   │   │   │   │   │   │   │   ├── discard_alignment
│   │   │   │   │   │   │   │   ├── holders
│   │   │   │   │   │   │   │   ├── inflight
│   │   │   │   │   │   │   │   ├── partition
│   │   │   │   │   │   │   │   ├── power
│   │   │   │   │   │   │   │   │   ├── autosuspend_delay_ms
│   │   │   │   │   │   │   │   │   ├── control
│   │   │   │   │   │   │   │   │   ├── runtime_active_time
│   │   │   │   │   │   │   │   │   ├── runtime_status
│   │   │   │   │   │   │   │   │   └── runtime_suspended_time
│   │   │   │   │   │   │   │   ├── ro
│   │   │   │   │   │   │   │   ├── size
│   │   │   │   │   │   │   │   ├── start
│   │   │   │   │   │   │   │   ├── stat
│   │   │   │   │   │   │   │   ├── subsystem -> ../../../../../../../../../../../../../class/block
│   │   │   │   │   │   │   │   └── uevent
│   │   │   │   │   │   │   ├── power
│   │   │   │   │   │   │   │   ├── autosuspend_delay_ms
│   │   │   │   │   │   │   │   ├── control
│   │   │   │   │   │   │   │   ├── runtime_active_time
│   │   │   │   │   │   │   │   ├── runtime_status
│   │   │   │   │   │   │   │   └── runtime_suspended_time
│   │   │   │   │   │   │   ├── queue
│   │   │   │   │   │   │   │   ├── add_random
│   │   │   │   │   │   │   │   ├── chunk_sectors
│   │   │   │   │   │   │   │   ├── dax
│   │   │   │   │   │   │   │   ├── discard_granularity
│   │   │   │   │   │   │   │   ├── discard_max_bytes
│   │   │   │   │   │   │   │   ├── discard_max_hw_bytes
│   │   │   │   │   │   │   │   ├── discard_zeroes_data
│   │   │   │   │   │   │   │   ├── fua
│   │   │   │   │   │   │   │   ├── hw_sector_size
│   │   │   │   │   │   │   │   ├── io_poll
│   │   │   │   │   │   │   │   ├── io_poll_delay
│   │   │   │   │   │   │   │   ├── iosched
│   │   │   │   │   │   │   │   │   ├── aging_expire
│   │   │   │   │   │   │   │   │   ├── async_depth
│   │   │   │   │   │   │   │   │   ├── fifo_batch
│   │   │   │   │   │   │   │   │   ├── front_merges
│   │   │   │   │   │   │   │   │   ├── read_expire
│   │   │   │   │   │   │   │   │   ├── write_expire
│   │   │   │   │   │   │   │   │   └── writes_starved
│   │   │   │   │   │   │   │   ├── iostats
│   │   │   │   │   │   │   │   ├── io_timeout
│   │   │   │   │   │   │   │   ├── logical_block_size
│   │   │   │   │   │   │   │   ├── max_discard_segments
│   │   │   │   │   │   │   │   ├── max_hw_sectors_kb
│   │   │   │   │   │   │   │   ├── max_integrity_segments
│   │   │   │   │   │   │   │   ├── max_sectors_kb
│   │   │   │   │   │   │   │   ├── max_segments
│   │   │   │   │   │   │   │   ├── max_segment_size
│   │   │   │   │   │   │   │   ├── minimum_io_size
│   │   │   │   │   │   │   │   ├── nomerges
│   │   │   │   │   │   │   │   ├── nr_requests
│   │   │   │   │   │   │   │   ├── nr_zones
│   │   │   │   │   │   │   │   ├── optimal_io_size
│   │   │   │   │   │   │   │   ├── physical_block_size
│   │   │   │   │   │   │   │   ├── read_ahead_kb
│   │   │   │   │   │   │   │   ├── rotational
│   │   │   │   │   │   │   │   ├── rq_affinity
│   │   │   │   │   │   │   │   ├── scheduler
│   │   │   │   │   │   │   │   ├── stable_writes
│   │   │   │   │   │   │   │   ├── virt_boundary_mask
│   │   │   │   │   │   │   │   ├── wbt_lat_usec
│   │   │   │   │   │   │   │   ├── write_cache
│   │   │   │   │   │   │   │   ├── write_same_max_bytes
│   │   │   │   │   │   │   │   ├── write_zeroes_max_bytes
│   │   │   │   │   │   │   │   ├── zone_append_max_bytes
│   │   │   │   │   │   │   │   ├── zoned
│   │   │   │   │   │   │   │   └── zone_write_granularity
│   │   │   │   │   │   │   ├── range
│   │   │   │   │   │   │   ├── removable
│   │   │   │   │   │   │   ├── ro
│   │   │   │   │   │   │   ├── size
│   │   │   │   │   │   │   ├── slaves
│   │   │   │   │   │   │   ├── stat
│   │   │   │   │   │   │   ├── subsystem -> ../../../../../../../../../../../../class/block
│   │   │   │   │   │   │   ├── uevent
│   │   │   │   │   │   │   └── wwid
│   │   │   │   │   │   ├── power
│   │   │   │   │   │   │   ├── autosuspend_delay_ms
│   │   │   │   │   │   │   ├── control
│   │   │   │   │   │   │   ├── pm_qos_latency_tolerance_us
│   │   │   │   │   │   │   ├── runtime_active_time
│   │   │   │   │   │   │   ├── runtime_status
│   │   │   │   │   │   │   └── runtime_suspended_time
│   │   │   │   │   │   ├── queue_count
│   │   │   │   │   │   ├── rescan_controller
│   │   │   │   │   │   ├── reset_controller
│   │   │   │   │   │   ├── serial
│   │   │   │   │   │   ├── sqsize
│   │   │   │   │   │   ├── state
│   │   │   │   │   │   ├── subsysnqn
│   │   │   │   │   │   ├── subsystem -> ../../../../../../../../../../../class/nvme
│   │   │   │   │   │   ├── transport
│   │   │   │   │   │   └── uevent
│   │   │   │   │   ├── pools
│   │   │   │   │   ├── power
│   │   │   │   │   │   ├── autosuspend_delay_ms
│   │   │   │   │   │   ├── control
│   │   │   │   │   │   ├── runtime_active_time
│   │   │   │   │   │   ├── runtime_status
│   │   │   │   │   │   ├── runtime_suspended_time
│   │   │   │   │   │   ├── wakeup
│   │   │   │   │   │   ├── wakeup_abort_count
│   │   │   │   │   │   ├── wakeup_active
│   │   │   │   │   │   ├── wakeup_active_count
│   │   │   │   │   │   ├── wakeup_count
│   │   │   │   │   │   ├── wakeup_expire_count
│   │   │   │   │   │   ├── wakeup_last_time_ms
│   │   │   │   │   │   ├── wakeup_max_time_ms
│   │   │   │   │   │   └── wakeup_total_time_ms
│   │   │   │   │   ├── power_state
│   │   │   │   │   ├── remove
│   │   │   │   │   ├── rescan
│   │   │   │   │   ├── reset
│   │   │   │   │   ├── resource
│   │   │   │   │   ├── resource0
│   │   │   │   │   ├── revision
│   │   │   │   │   ├── subsystem -> ../../../../../../../../../bus/pci
│   │   │   │   │   ├── subsystem_device
│   │   │   │   │   ├── subsystem_vendor
│   │   │   │   │   ├── uevent
│   │   │   │   │   └── vendor
│   │   │   │   ├── aer_dev_correctable
│   │   │   │   ├── aer_dev_fatal
│   │   │   │   ├── aer_dev_nonfatal
│   │   │   │   ├── ari_enabled
│   │   │   │   ├── broken_parity_status
│   │   │   │   ├── class
│   │   │   │   ├── config
│   │   │   │   ├── consistent_dma_mask_bits
│   │   │   │   ├── current_link_speed
│   │   │   │   ├── current_link_width
│   │   │   │   ├── d3cold_allowed
│   │   │   │   ├── device
│   │   │   │   ├── devspec
│   │   │   │   ├── dma_mask_bits
│   │   │   │   ├── driver -> ../../../../../../../../bus/pci/drivers/pcieport
│   │   │   │   ├── driver_override
│   │   │   │   ├── enable
│   │   │   │   ├── irq
│   │   │   │   ├── link
│   │   │   │   ├── local_cpulist
│   │   │   │   ├── local_cpus
│   │   │   │   ├── max_link_speed
│   │   │   │   ├── max_link_width
│   │   │   │   ├── modalias
│   │   │   │   ├── msi_bus
│   │   │   │   ├── numa_node
│   │   │   │   ├── pci_bus
│   │   │   │   │   └── 0000:03
│   │   │   │   │   ├── cpuaffinity
│   │   │   │   │   ├── cpulistaffinity
│   │   │   │   │   ├── device -> ../../../0000:02:01.0
│   │   │   │   │   ├── power
│   │   │   │   │   │   ├── autosuspend_delay_ms
│   │   │   │   │   │   ├── control
│   │   │   │   │   │   ├── runtime_active_time
│   │   │   │   │   │   ├── runtime_status
│   │   │   │   │   │   └── runtime_suspended_time
│   │   │   │   │   ├── rescan
│   │   │   │   │   ├── subsystem -> ../../../../../../../../../../class/pci_bus
│   │   │   │   │   └── uevent
│   │   │   │   ├── power
│   │   │   │   │   ├── autosuspend_delay_ms
│   │   │   │   │   ├── control
│   │   │   │   │   ├── runtime_active_time
│   │   │   │   │   ├── runtime_status
│   │   │   │   │   ├── runtime_suspended_time
│   │   │   │   │   ├── wakeup
│   │   │   │   │   ├── wakeup_abort_count
│   │   │   │   │   ├── wakeup_active
│   │   │   │   │   ├── wakeup_active_count
│   │   │   │   │   ├── wakeup_count
│   │   │   │   │   ├── wakeup_expire_count
│   │   │   │   │   ├── wakeup_last_time_ms
│   │   │   │   │   ├── wakeup_max_time_ms
│   │   │   │   │   └── wakeup_total_time_ms
│   │   │   │   ├── power_state
│   │   │   │   ├── remove
│   │   │   │   ├── rescan
│   │   │   │   ├── reset
│   │   │   │   ├── resource
│   │   │   │   ├── revision
│   │   │   │   ├── secondary_bus_number
│   │   │   │   ├── subordinate_bus_number
│   │   │   │   ├── subsystem -> ../../../../../../../../bus/pci
│   │   │   │   ├── subsystem_device
│   │   │   │   ├── subsystem_vendor
│   │   │   │   ├── uevent
│   │   │   │   └── vendor
│   │   │   ├── 0000:02:04.0
│   │   │   │   ├── 0000:02:04.0:pcie202
│   │   │   │   │   ├── power
│   │   │   │   │   ├── subsystem -> ../../../../../../../../../bus/pci_express
│   │   │   │   │   └── uevent
│   │   │   │   ├── 0000:02:04.0:pcie210
│   │   │   │   │   ├── power
│   │   │   │   │   ├── subsystem -> ../../../../../../../../../bus/pci_express
│   │   │   │   │   └── uevent
│   │   │   │   ├── aer_dev_correctable
│   │   │   │   ├── aer_dev_fatal
│   │   │   │   ├── aer_dev_nonfatal
│   │   │   │   ├── ari_enabled
│   │   │   │   ├── broken_parity_status
│   │   │   │   ├── class
│   │   │   │   ├── config
│   │   │   │   ├── consistent_dma_mask_bits
│   │   │   │   ├── current_link_speed
│   │   │   │   ├── current_link_width
│   │   │   │   ├── d3cold_allowed
│   │   │   │   ├── device
│   │   │   │   ├── devspec
│   │   │   │   ├── dma_mask_bits
│   │   │   │   ├── driver -> ../../../../../../../../bus/pci/drivers/pcieport
│   │   │   │   ├── driver_override
│   │   │   │   ├── enable
│   │   │   │   ├── irq
│   │   │   │   ├── link
│   │   │   │   ├── local_cpulist
│   │   │   │   ├── local_cpus
│   │   │   │   ├── max_link_speed
│   │   │   │   ├── max_link_width
│   │   │   │   ├── modalias
│   │   │   │   ├── msi_bus
│   │   │   │   ├── numa_node
│   │   │   │   ├── pci_bus
│   │   │   │   │   └── 0000:04
│   │   │   │   │   ├── cpuaffinity
│   │   │   │   │   ├── cpulistaffinity
│   │   │   │   │   ├── device -> ../../../0000:02:04.0
│   │   │   │   │   ├── power
│   │   │   │   │   │   ├── autosuspend_delay_ms
│   │   │   │   │   │   ├── control
│   │   │   │   │   │   ├── runtime_active_time
│   │   │   │   │   │   ├── runtime_status
│   │   │   │   │   │   └── runtime_suspended_time
│   │   │   │   │   ├── rescan
│   │   │   │   │   ├── subsystem -> ../../../../../../../../../../class/pci_bus
│   │   │   │   │   └── uevent
│   │   │   │   ├── power
│   │   │   │   │   ├── autosuspend_delay_ms
│   │   │   │   │   ├── control
│   │   │   │   │   ├── runtime_active_time
│   │   │   │   │   ├── runtime_status
│   │   │   │   │   ├── runtime_suspended_time
│   │   │   │   │   ├── wakeup
│   │   │   │   │   ├── wakeup_abort_count
│   │   │   │   │   ├── wakeup_active
│   │   │   │   │   ├── wakeup_active_count
│   │   │   │   │   ├── wakeup_count
│   │   │   │   │   ├── wakeup_expire_count
│   │   │   │   │   ├── wakeup_last_time_ms
│   │   │   │   │   ├── wakeup_max_time_ms
│   │   │   │   │   └── wakeup_total_time_ms
│   │   │   │   ├── power_state
│   │   │   │   ├── remove
│   │   │   │   ├── rescan
│   │   │   │   ├── resource
│   │   │   │   ├── revision
│   │   │   │   ├── secondary_bus_number
│   │   │   │   ├── subordinate_bus_number
│   │   │   │   ├── subsystem -> ../../../../../../../../bus/pci
│   │   │   │   ├── subsystem_device
│   │   │   │   ├── subsystem_vendor
│   │   │   │   ├── uevent
│   │   │   │   └── vendor
│   │   │   ├── 0000:02:05.0
│   │   │   │   ├── 0000:02:05.0:pcie202
│   │   │   │   │   ├── power
│   │   │   │   │   ├── subsystem -> ../../../../../../../../../bus/pci_express
│   │   │   │   │   └── uevent
│   │   │   │   ├── 0000:02:05.0:pcie210
│   │   │   │   │   ├── power
│   │   │   │   │   ├── subsystem -> ../../../../../../../../../bus/pci_express
│   │   │   │   │   └── uevent
│   │   │   │   ├── 0000:05:00.0
│   │   │   │   │   ├── aer_dev_correctable
│   │   │   │   │   ├── aer_dev_fatal
│   │   │   │   │   ├── aer_dev_nonfatal
│   │   │   │   │   ├── ari_enabled
│   │   │   │   │   ├── broken_parity_status
│   │   │   │   │   ├── class
│   │   │   │   │   ├── config
│   │   │   │   │   ├── consistent_dma_mask_bits
│   │   │   │   │   ├── current_link_speed
│   │   │   │   │   ├── current_link_width
│   │   │   │   │   ├── d3cold_allowed
│   │   │   │   │   ├── device
│   │   │   │   │   ├── devspec
│   │   │   │   │   ├── dma_mask_bits
│   │   │   │   │   ├── driver_override
│   │   │   │   │   ├── enable
│   │   │   │   │   ├── irq
│   │   │   │   │   ├── link
│   │   │   │   │   │   ├── clkpm
│   │   │   │   │   │   ├── l0s_aspm
│   │   │   │   │   │   └── l1_aspm
│   │   │   │   │   ├── local_cpulist
│   │   │   │   │   ├── local_cpus
│   │   │   │   │   ├── max_link_speed
│   │   │   │   │   ├── max_link_width
│   │   │   │   │   ├── modalias
│   │   │   │   │   ├── msi_bus
│   │   │   │   │   ├── numa_node
│   │   │   │   │   ├── power
│   │   │   │   │   │   ├── autosuspend_delay_ms
│   │   │   │   │   │   ├── control
│   │   │   │   │   │   ├── runtime_active_time
│   │   │   │   │   │   ├── runtime_status
│   │   │   │   │   │   ├── runtime_suspended_time
│   │   │   │   │   │   ├── wakeup
│   │   │   │   │   │   ├── wakeup_abort_count
│   │   │   │   │   │   ├── wakeup_active
│   │   │   │   │   │   ├── wakeup_active_count
│   │   │   │   │   │   ├── wakeup_count
│   │   │   │   │   │   ├── wakeup_expire_count
│   │   │   │   │   │   ├── wakeup_last_time_ms
│   │   │   │   │   │   ├── wakeup_max_time_ms
│   │   │   │   │   │   └── wakeup_total_time_ms
│   │   │   │   │   ├── power_state
│   │   │   │   │   ├── remove
│   │   │   │   │   ├── rescan
│   │   │   │   │   ├── reset
│   │   │   │   │   ├── resource
│   │   │   │   │   ├── resource0
│   │   │   │   │   ├── revision
│   │   │   │   │   ├── subsystem -> ../../../../../../../../../bus/pci
│   │   │   │   │   ├── subsystem_device
│   │   │   │   │   ├── subsystem_vendor
│   │   │   │   │   ├── uevent
│   │   │   │   │   └── vendor
│   │   │   │   ├── aer_dev_correctable
│   │   │   │   ├── aer_dev_fatal
│   │   │   │   ├── aer_dev_nonfatal
│   │   │   │   ├── ari_enabled
│   │   │   │   ├── broken_parity_status
│   │   │   │   ├── class
│   │   │   │   ├── config
│   │   │   │   ├── consistent_dma_mask_bits
│   │   │   │   ├── current_link_speed
│   │   │   │   ├── current_link_width
│   │   │   │   ├── d3cold_allowed
│   │   │   │   ├── device
│   │   │   │   ├── devspec
│   │   │   │   ├── dma_mask_bits
│   │   │   │   ├── driver -> ../../../../../../../../bus/pci/drivers/pcieport
│   │   │   │   ├── driver_override
│   │   │   │   ├── enable
│   │   │   │   ├── irq
│   │   │   │   ├── link
│   │   │   │   ├── local_cpulist
│   │   │   │   ├── local_cpus
│   │   │   │   ├── max_link_speed
│   │   │   │   ├── max_link_width
│   │   │   │   ├── modalias
│   │   │   │   ├── msi_bus
│   │   │   │   ├── numa_node
│   │   │   │   ├── pci_bus
│   │   │   │   │   └── 0000:05
│   │   │   │   │   ├── cpuaffinity
│   │   │   │   │   ├── cpulistaffinity
│   │   │   │   │   ├── device -> ../../../0000:02:05.0
│   │   │   │   │   ├── power
│   │   │   │   │   │   ├── autosuspend_delay_ms
│   │   │   │   │   │   ├── control
│   │   │   │   │   │   ├── runtime_active_time
│   │   │   │   │   │   ├── runtime_status
│   │   │   │   │   │   └── runtime_suspended_time
│   │   │   │   │   ├── rescan
│   │   │   │   │   ├── subsystem -> ../../../../../../../../../../class/pci_bus
│   │   │   │   │   └── uevent
│   │   │   │   ├── power
│   │   │   │   │   ├── autosuspend_delay_ms
│   │   │   │   │   ├── control
│   │   │   │   │   ├── runtime_active_time
│   │   │   │   │   ├── runtime_status
│   │   │   │   │   ├── runtime_suspended_time
│   │   │   │   │   ├── wakeup
│   │   │   │   │   ├── wakeup_abort_count
│   │   │   │   │   ├── wakeup_active
│   │   │   │   │   ├── wakeup_active_count
│   │   │   │   │   ├── wakeup_count
│   │   │   │   │   ├── wakeup_expire_count
│   │   │   │   │   ├── wakeup_last_time_ms
│   │   │   │   │   ├── wakeup_max_time_ms
│   │   │   │   │   └── wakeup_total_time_ms
│   │   │   │   ├── power_state
│   │   │   │   ├── remove
│   │   │   │   ├── rescan
│   │   │   │   ├── resource
│   │   │   │   ├── revision
│   │   │   │   ├── secondary_bus_number
│   │   │   │   ├── subordinate_bus_number
│   │   │   │   ├── subsystem -> ../../../../../../../../bus/pci
│   │   │   │   ├── subsystem_device
│   │   │   │   ├── subsystem_vendor
│   │   │   │   ├── uevent
│   │   │   │   └── vendor
│   │   │   ├── 0000:02:07.0
│   │   │   │   ├── 0000:02:07.0:pcie202
│   │   │   │   │   ├── power
│   │   │   │   │   ├── subsystem -> ../../../../../../../../../bus/pci_express
│   │   │   │   │   └── uevent
│   │   │   │   ├── 0000:02:07.0:pcie210
│   │   │   │   │   ├── power
│   │   │   │   │   ├── subsystem -> ../../../../../../../../../bus/pci_express
│   │   │   │   │   └── uevent
│   │   │   │   ├── 0000:06:00.0
│   │   │   │   │   ├── aer_dev_correctable
│   │   │   │   │   ├── aer_dev_fatal
│   │   │   │   │   ├── aer_dev_nonfatal
│   │   │   │   │   ├── ari_enabled
│   │   │   │   │   ├── broken_parity_status
│   │   │   │   │   ├── class
│   │   │   │   │   ├── config
│   │   │   │   │   ├── consistent_dma_mask_bits
│   │   │   │   │   ├── current_link_speed
│   │   │   │   │   ├── current_link_width
│   │   │   │   │   ├── d3cold_allowed
│   │   │   │   │   ├── device
│   │   │   │   │   ├── devspec
│   │   │   │   │   ├── dma_mask_bits
│   │   │   │   │   ├── driver -> ../../../../../../../../../bus/pci/drivers/r8169
│   │   │   │   │   ├── driver_override
│   │   │   │   │   ├── enable
│   │   │   │   │   ├── irq
│   │   │   │   │   ├── link
│   │   │   │   │   │   ├── clkpm
│   │   │   │   │   │   └── l1_aspm
│   │   │   │   │   ├── local_cpulist
│   │   │   │   │   ├── local_cpus
│   │   │   │   │   ├── max_link_speed
│   │   │   │   │   ├── max_link_width
│   │   │   │   │   ├── mdio_bus
│   │   │   │   │   │   └── r8169-600
│   │   │   │   │   │   ├── device -> ../../../0000:06:00.0
│   │   │   │   │   │   ├── power
│   │   │   │   │   │   │   ├── autosuspend_delay_ms
│   │   │   │   │   │   │   ├── control
│   │   │   │   │   │   │   ├── runtime_active_time
│   │   │   │   │   │   │   ├── runtime_status
│   │   │   │   │   │   │   └── runtime_suspended_time
│   │   │   │   │   │   ├── r8169-600:00
│   │   │   │   │   │   │   ├── attached_dev -> ../../../net/enp6s0
│   │   │   │   │   │   │   ├── driver -> ../../../../../../../../../../../../bus/mdio_bus/drivers/RTL8211E Gigabit Ethernet
│   │   │   │   │   │   │   ├── phy_dev_flags
│   │   │   │   │   │   │   ├── phy_has_fixups
│   │   │   │   │   │   │   ├── phy_id
│   │   │   │   │   │   │   ├── phy_interface
│   │   │   │   │   │   │   ├── power
│   │   │   │   │   │   │   │   ├── autosuspend_delay_ms
│   │   │   │   │   │   │   │   ├── control
│   │   │   │   │   │   │   │   ├── runtime_active_time
│   │   │   │   │   │   │   │   ├── runtime_status
│   │   │   │   │   │   │   │   └── runtime_suspended_time
│   │   │   │   │   │   │   ├── statistics
│   │   │   │   │   │   │   │   ├── errors
│   │   │   │   │   │   │   │   ├── reads
│   │   │   │   │   │   │   │   ├── transfers
│   │   │   │   │   │   │   │   └── writes
│   │   │   │   │   │   │   ├── subsystem -> ../../../../../../../../../../../../bus/mdio_bus
│   │   │   │   │   │   │   └── uevent
│   │   │   │   │   │   ├── statistics
│   │   │   │   │   │   │   ├── errors
│   │   │   │   │   │   │   ├── errors_0
│   │   │   │   │   │   │   ├── errors_1
│   │   │   │   │   │   │   ├── errors_10
│   │   │   │   │   │   │   ├── errors_11
│   │   │   │   │   │   │   ├── errors_12
│   │   │   │   │   │   │   ├── errors_13
│   │   │   │   │   │   │   ├── errors_14
│   │   │   │   │   │   │   ├── errors_15
│   │   │   │   │   │   │   ├── errors_16
│   │   │   │   │   │   │   ├── errors_17
│   │   │   │   │   │   │   ├── errors_18
│   │   │   │   │   │   │   ├── errors_19
│   │   │   │   │   │   │   ├── errors_2
│   │   │   │   │   │   │   ├── errors_20
│   │   │   │   │   │   │   ├── errors_21
│   │   │   │   │   │   │   ├── errors_22
│   │   │   │   │   │   │   ├── errors_23
│   │   │   │   │   │   │   ├── errors_24
│   │   │   │   │   │   │   ├── errors_25
│   │   │   │   │   │   │   ├── errors_26
│   │   │   │   │   │   │   ├── errors_27
│   │   │   │   │   │   │   ├── errors_28
│   │   │   │   │   │   │   ├── errors_29
│   │   │   │   │   │   │   ├── errors_3
│   │   │   │   │   │   │   ├── errors_30
│   │   │   │   │   │   │   ├── errors_31
│   │   │   │   │   │   │   ├── errors_4
│   │   │   │   │   │   │   ├── errors_5
│   │   │   │   │   │   │   ├── errors_6
│   │   │   │   │   │   │   ├── errors_7
│   │   │   │   │   │   │   ├── errors_8
│   │   │   │   │   │   │   ├── errors_9
│   │   │   │   │   │   │   ├── reads
│   │   │   │   │   │   │   ├── reads_0
│   │   │   │   │   │   │   ├── reads_1
│   │   │   │   │   │   │   ├── reads_10
│   │   │   │   │   │   │   ├── reads_11
│   │   │   │   │   │   │   ├── reads_12
│   │   │   │   │   │   │   ├── reads_13
│   │   │   │   │   │   │   ├── reads_14
│   │   │   │   │   │   │   ├── reads_15
│   │   │   │   │   │   │   ├── reads_16
│   │   │   │   │   │   │   ├── reads_17
│   │   │   │   │   │   │   ├── reads_18
│   │   │   │   │   │   │   ├── reads_19
│   │   │   │   │   │   │   ├── reads_2
│   │   │   │   │   │   │   ├── reads_20
│   │   │   │   │   │   │   ├── reads_21
│   │   │   │   │   │   │   ├── reads_22
│   │   │   │   │   │   │   ├── reads_23
│   │   │   │   │   │   │   ├── reads_24
│   │   │   │   │   │   │   ├── reads_25
│   │   │   │   │   │   │   ├── reads_26
│   │   │   │   │   │   │   ├── reads_27
│   │   │   │   │   │   │   ├── reads_28
│   │   │   │   │   │   │   ├── reads_29
│   │   │   │   │   │   │   ├── reads_3
│   │   │   │   │   │   │   ├── reads_30
│   │   │   │   │   │   │   ├── reads_31
│   │   │   │   │   │   │   ├── reads_4
│   │   │   │   │   │   │   ├── reads_5
│   │   │   │   │   │   │   ├── reads_6
│   │   │   │   │   │   │   ├── reads_7
│   │   │   │   │   │   │   ├── reads_8
│   │   │   │   │   │   │   ├── reads_9
│   │   │   │   │   │   │   ├── transfers
│   │   │   │   │   │   │   ├── transfers_0
│   │   │   │   │   │   │   ├── transfers_1
│   │   │   │   │   │   │   ├── transfers_10
│   │   │   │   │   │   │   ├── transfers_11
│   │   │   │   │   │   │   ├── transfers_12
│   │   │   │   │   │   │   ├── transfers_13
│   │   │   │   │   │   │   ├── transfers_14
│   │   │   │   │   │   │   ├── transfers_15
│   │   │   │   │   │   │   ├── transfers_16
│   │   │   │   │   │   │   ├── transfers_17
│   │   │   │   │   │   │   ├── transfers_18
│   │   │   │   │   │   │   ├── transfers_19
│   │   │   │   │   │   │   ├── transfers_2
│   │   │   │   │   │   │   ├── transfers_20
│   │   │   │   │   │   │   ├── transfers_21
│   │   │   │   │   │   │   ├── transfers_22
│   │   │   │   │   │   │   ├── transfers_23
│   │   │   │   │   │   │   ├── transfers_24
│   │   │   │   │   │   │   ├── transfers_25
│   │   │   │   │   │   │   ├── transfers_26
│   │   │   │   │   │   │   ├── transfers_27
│   │   │   │   │   │   │   ├── transfers_28
│   │   │   │   │   │   │   ├── transfers_29
│   │   │   │   │   │   │   ├── transfers_3
│   │   │   │   │   │   │   ├── transfers_30
│   │   │   │   │   │   │   ├── transfers_31
│   │   │   │   │   │   │   ├── transfers_4
│   │   │   │   │   │   │   ├── transfers_5
│   │   │   │   │   │   │   ├── transfers_6
│   │   │   │   │   │   │   ├── transfers_7
│   │   │   │   │   │   │   ├── transfers_8
│   │   │   │   │   │   │   ├── transfers_9
│   │   │   │   │   │   │   ├── writes
│   │   │   │   │   │   │   ├── writes_0
│   │   │   │   │   │   │   ├── writes_1
│   │   │   │   │   │   │   ├── writes_10
│   │   │   │   │   │   │   ├── writes_11
│   │   │   │   │   │   │   ├── writes_12
│   │   │   │   │   │   │   ├── writes_13
│   │   │   │   │   │   │   ├── writes_14
│   │   │   │   │   │   │   ├── writes_15
│   │   │   │   │   │   │   ├── writes_16
│   │   │   │   │   │   │   ├── writes_17
│   │   │   │   │   │   │   ├── writes_18
│   │   │   │   │   │   │   ├── writes_19
│   │   │   │   │   │   │   ├── writes_2
│   │   │   │   │   │   │   ├── writes_20
│   │   │   │   │   │   │   ├── writes_21
│   │   │   │   │   │   │   ├── writes_22
│   │   │   │   │   │   │   ├── writes_23
│   │   │   │   │   │   │   ├── writes_24
│   │   │   │   │   │   │   ├── writes_25
│   │   │   │   │   │   │   ├── writes_26
│   │   │   │   │   │   │   ├── writes_27
│   │   │   │   │   │   │   ├── writes_28
│   │   │   │   │   │   │   ├── writes_29
│   │   │   │   │   │   │   ├── writes_3
│   │   │   │   │   │   │   ├── writes_30
│   │   │   │   │   │   │   ├── writes_31
│   │   │   │   │   │   │   ├── writes_4
│   │   │   │   │   │   │   ├── writes_5
│   │   │   │   │   │   │   ├── writes_6
│   │   │   │   │   │   │   ├── writes_7
│   │   │   │   │   │   │   ├── writes_8
│   │   │   │   │   │   │   └── writes_9
│   │   │   │   │   │   ├── subsystem -> ../../../../../../../../../../../class/mdio_bus
│   │   │   │   │   │   └── uevent
│   │   │   │   │   ├── modalias
│   │   │   │   │   ├── msi_bus
│   │   │   │   │   ├── net
│   │   │   │   │   │   └── enp6s0
│   │   │   │   │   │   ├── addr_assign_type
│   │   │   │   │   │   ├── address
│   │   │   │   │   │   ├── addr_len
│   │   │   │   │   │   ├── broadcast
│   │   │   │   │   │   ├── carrier
│   │   │   │   │   │   ├── carrier_changes
│   │   │   │   │   │   ├── carrier_down_count
│   │   │   │   │   │   ├── carrier_up_count
│   │   │   │   │   │   ├── device -> ../../../0000:06:00.0
│   │   │   │   │   │   ├── dev_id
│   │   │   │   │   │   ├── dev_port
│   │   │   │   │   │   ├── dormant
│   │   │   │   │   │   ├── duplex
│   │   │   │   │   │   ├── flags
│   │   │   │   │   │   ├── gro_flush_timeout
│   │   │   │   │   │   ├── ifalias
│   │   │   │   │   │   ├── ifindex
│   │   │   │   │   │   ├── iflink
│   │   │   │   │   │   ├── link_mode
│   │   │   │   │   │   ├── mtu
│   │   │   │   │   │   ├── name_assign_type
│   │   │   │   │   │   ├── napi_defer_hard_irqs
│   │   │   │   │   │   ├── netdev_group
│   │   │   │   │   │   ├── operstate
│   │   │   │   │   │   ├── phydev -> ../../mdio_bus/r8169-600/r8169-600:00
│   │   │   │   │   │   ├── phys_port_id
│   │   │   │   │   │   ├── phys_port_name
│   │   │   │   │   │   ├── phys_switch_id
│   │   │   │   │   │   ├── power
│   │   │   │   │   │   │   ├── autosuspend_delay_ms
│   │   │   │   │   │   │   ├── control
│   │   │   │   │   │   │   ├── runtime_active_time
│   │   │   │   │   │   │   ├── runtime_status
│   │   │   │   │   │   │   └── runtime_suspended_time
│   │   │   │   │   │   ├── proto_down
│   │   │   │   │   │   ├── queues
│   │   │   │   │   │   │   ├── rx-0
│   │   │   │   │   │   │   │   ├── rps_cpus
│   │   │   │   │   │   │   │   └── rps_flow_cnt
│   │   │   │   │   │   │   └── tx-0
│   │   │   │   │   │   │   ├── byte_queue_limits
│   │   │   │   │   │   │   │   ├── hold_time
│   │   │   │   │   │   │   │   ├── inflight
│   │   │   │   │   │   │   │   ├── limit
│   │   │   │   │   │   │   │   ├── limit_max
│   │   │   │   │   │   │   │   └── limit_min
│   │   │   │   │   │   │   ├── traffic_class
│   │   │   │   │   │   │   ├── tx_maxrate
│   │   │   │   │   │   │   ├── tx_timeout
│   │   │   │   │   │   │   ├── xps_cpus
│   │   │   │   │   │   │   └── xps_rxqs
│   │   │   │   │   │   ├── speed
│   │   │   │   │   │   ├── statistics
│   │   │   │   │   │   │   ├── collisions
│   │   │   │   │   │   │   ├── multicast
│   │   │   │   │   │   │   ├── rx_bytes
│   │   │   │   │   │   │   ├── rx_compressed
│   │   │   │   │   │   │   ├── rx_crc_errors
│   │   │   │   │   │   │   ├── rx_dropped
│   │   │   │   │   │   │   ├── rx_errors
│   │   │   │   │   │   │   ├── rx_fifo_errors
│   │   │   │   │   │   │   ├── rx_frame_errors
│   │   │   │   │   │   │   ├── rx_length_errors
│   │   │   │   │   │   │   ├── rx_missed_errors
│   │   │   │   │   │   │   ├── rx_nohandler
│   │   │   │   │   │   │   ├── rx_over_errors
│   │   │   │   │   │   │   ├── rx_packets
│   │   │   │   │   │   │   ├── tx_aborted_errors
│   │   │   │   │   │   │   ├── tx_bytes
│   │   │   │   │   │   │   ├── tx_carrier_errors
│   │   │   │   │   │   │   ├── tx_compressed
│   │   │   │   │   │   │   ├── tx_dropped
│   │   │   │   │   │   │   ├── tx_errors
│   │   │   │   │   │   │   ├── tx_fifo_errors
│   │   │   │   │   │   │   ├── tx_heartbeat_errors
│   │   │   │   │   │   │   ├── tx_packets
│   │   │   │   │   │   │   └── tx_window_errors
│   │   │   │   │   │   ├── subsystem -> ../../../../../../../../../../../class/net
│   │   │   │   │   │   ├── testing
│   │   │   │   │   │   ├── threaded
│   │   │   │   │   │   ├── tx_queue_len
│   │   │   │   │   │   ├── type
│   │   │   │   │   │   └── uevent
│   │   │   │   │   ├── numa_node
│   │   │   │   │   ├── power
│   │   │   │   │   │   ├── autosuspend_delay_ms
│   │   │   │   │   │   ├── control
│   │   │   │   │   │   ├── runtime_active_time
│   │   │   │   │   │   ├── runtime_status
│   │   │   │   │   │   ├── runtime_suspended_time
│   │   │   │   │   │   ├── wakeup
│   │   │   │   │   │   ├── wakeup_abort_count
│   │   │   │   │   │   ├── wakeup_active
│   │   │   │   │   │   ├── wakeup_active_count
│   │   │   │   │   │   ├── wakeup_count
│   │   │   │   │   │   ├── wakeup_expire_count
│   │   │   │   │   │   ├── wakeup_last_time_ms
│   │   │   │   │   │   ├── wakeup_max_time_ms
│   │   │   │   │   │   └── wakeup_total_time_ms
│   │   │   │   │   ├── power_state
│   │   │   │   │   ├── remove
│   │   │   │   │   ├── rescan
│   │   │   │   │   ├── reset
│   │   │   │   │   ├── resource
│   │   │   │   │   ├── resource2
│   │   │   │   │   ├── resource4
│   │   │   │   │   ├── resource4_wc
│   │   │   │   │   ├── revision
│   │   │   │   │   ├── subsystem -> ../../../../../../../../../bus/pci
│   │   │   │   │   ├── subsystem_device
│   │   │   │   │   ├── subsystem_vendor
│   │   │   │   │   ├── uevent
│   │   │   │   │   ├── vendor
│   │   │   │   │   └── vpd
│   │   │   │   ├── aer_dev_correctable
│   │   │   │   ├── aer_dev_fatal
│   │   │   │   ├── aer_dev_nonfatal
│   │   │   │   ├── ari_enabled
│   │   │   │   ├── broken_parity_status
│   │   │   │   ├── class
│   │   │   │   ├── config
│   │   │   │   ├── consistent_dma_mask_bits
│   │   │   │   ├── current_link_speed
│   │   │   │   ├── current_link_width
│   │   │   │   ├── d3cold_allowed
│   │   │   │   ├── device
│   │   │   │   ├── devspec
│   │   │   │   ├── dma_mask_bits
│   │   │   │   ├── driver -> ../../../../../../../../bus/pci/drivers/pcieport
│   │   │   │   ├── driver_override
│   │   │   │   ├── enable
│   │   │   │   ├── irq
│   │   │   │   ├── link
│   │   │   │   ├── local_cpulist
│   │   │   │   ├── local_cpus
│   │   │   │   ├── max_link_speed
│   │   │   │   ├── max_link_width
│   │   │   │   ├── modalias
│   │   │   │   ├── msi_bus
│   │   │   │   ├── numa_node
│   │   │   │   ├── pci_bus
│   │   │   │   │   └── 0000:06
│   │   │   │   │   ├── cpuaffinity
│   │   │   │   │   ├── cpulistaffinity
│   │   │   │   │   ├── device -> ../../../0000:02:07.0
│   │   │   │   │   ├── power
│   │   │   │   │   │   ├── autosuspend_delay_ms
│   │   │   │   │   │   ├── control
│   │   │   │   │   │   ├── runtime_active_time
│   │   │   │   │   │   ├── runtime_status
│   │   │   │   │   │   └── runtime_suspended_time
│   │   │   │   │   ├── rescan
│   │   │   │   │   ├── subsystem -> ../../../../../../../../../../class/pci_bus
│   │   │   │   │   └── uevent
│   │   │   │   ├── power
│   │   │   │   │   ├── autosuspend_delay_ms
│   │   │   │   │   ├── control
│   │   │   │   │   ├── runtime_active_time
│   │   │   │   │   ├── runtime_status
│   │   │   │   │   ├── runtime_suspended_time
│   │   │   │   │   ├── wakeup
│   │   │   │   │   ├── wakeup_abort_count
│   │   │   │   │   ├── wakeup_active
│   │   │   │   │   ├── wakeup_active_count
│   │   │   │   │   ├── wakeup_count
│   │   │   │   │   ├── wakeup_expire_count
│   │   │   │   │   ├── wakeup_last_time_ms
│   │   │   │   │   ├── wakeup_max_time_ms
│   │   │   │   │   └── wakeup_total_time_ms
│   │   │   │   ├── power_state
│   │   │   │   ├── remove
│   │   │   │   ├── rescan
│   │   │   │   ├── resource
│   │   │   │   ├── revision
│   │   │   │   ├── secondary_bus_number
│   │   │   │   ├── subordinate_bus_number
│   │   │   │   ├── subsystem -> ../../../../../../../../bus/pci
│   │   │   │   ├── subsystem_device
│   │   │   │   ├── subsystem_vendor
│   │   │   │   ├── uevent
│   │   │   │   └── vendor
│   │   │   ├── 0000:02:09.0
│   │   │   │   ├── 0000:02:09.0:pcie202
│   │   │   │   │   ├── power
│   │   │   │   │   ├── subsystem -> ../../../../../../../../../bus/pci_express
│   │   │   │   │   └── uevent
│   │   │   │   ├── 0000:02:09.0:pcie210
│   │   │   │   │   ├── power
│   │   │   │   │   ├── subsystem -> ../../../../../../../../../bus/pci_express
│   │   │   │   │   └── uevent
│   │   │   │   ├── aer_dev_correctable
│   │   │   │   ├── aer_dev_fatal
│   │   │   │   ├── aer_dev_nonfatal
│   │   │   │   ├── ari_enabled
│   │   │   │   ├── broken_parity_status
│   │   │   │   ├── class
│   │   │   │   ├── config
│   │   │   │   ├── consistent_dma_mask_bits
│   │   │   │   ├── current_link_speed
│   │   │   │   ├── current_link_width
│   │   │   │   ├── d3cold_allowed
│   │   │   │   ├── device
│   │   │   │   ├── devspec
│   │   │   │   ├── dma_mask_bits
│   │   │   │   ├── driver -> ../../../../../../../../bus/pci/drivers/pcieport
│   │   │   │   ├── driver_override
│   │   │   │   ├── enable
│   │   │   │   ├── irq
│   │   │   │   ├── link
│   │   │   │   ├── local_cpulist
│   │   │   │   ├── local_cpus
│   │   │   │   ├── max_link_speed
│   │   │   │   ├── max_link_width
│   │   │   │   ├── modalias
│   │   │   │   ├── msi_bus
│   │   │   │   ├── numa_node
│   │   │   │   ├── pci_bus
│   │   │   │   │   └── 0000:07
│   │   │   │   │   ├── cpuaffinity
│   │   │   │   │   ├── cpulistaffinity
│   │   │   │   │   ├── device -> ../../../0000:02:09.0
│   │   │   │   │   ├── power
│   │   │   │   │   │   ├── autosuspend_delay_ms
│   │   │   │   │   │   ├── control
│   │   │   │   │   │   ├── runtime_active_time
│   │   │   │   │   │   ├── runtime_status
│   │   │   │   │   │   └── runtime_suspended_time
│   │   │   │   │   ├── rescan
│   │   │   │   │   ├── subsystem -> ../../../../../../../../../../class/pci_bus
│   │   │   │   │   └── uevent
│   │   │   │   ├── power
│   │   │   │   │   ├── autosuspend_delay_ms
│   │   │   │   │   ├── control
│   │   │   │   │   ├── runtime_active_time
│   │   │   │   │   ├── runtime_status
│   │   │   │   │   ├── runtime_suspended_time
│   │   │   │   │   ├── wakeup
│   │   │   │   │   ├── wakeup_abort_count
│   │   │   │   │   ├── wakeup_active
│   │   │   │   │   ├── wakeup_active_count
│   │   │   │   │   ├── wakeup_count
│   │   │   │   │   ├── wakeup_expire_count
│   │   │   │   │   ├── wakeup_last_time_ms
│   │   │   │   │   ├── wakeup_max_time_ms
│   │   │   │   │   └── wakeup_total_time_ms
│   │   │   │   ├── power_state
│   │   │   │   ├── remove
│   │   │   │   ├── rescan
│   │   │   │   ├── resource
│   │   │   │   ├── revision
│   │   │   │   ├── secondary_bus_number
│   │   │   │   ├── subordinate_bus_number
│   │   │   │   ├── subsystem -> ../../../../../../../../bus/pci
│   │   │   │   ├── subsystem_device
│   │   │   │   ├── subsystem_vendor
│   │   │   │   ├── uevent
│   │   │   │   └── vendor
│   │   │   ├── aer_dev_correctable
│   │   │   ├── aer_dev_fatal
│   │   │   ├── aer_dev_nonfatal
│   │   │   ├── ari_enabled
│   │   │   ├── broken_parity_status
│   │   │   ├── class
│   │   │   ├── config
│   │   │   ├── consistent_dma_mask_bits
│   │   │   ├── current_link_speed
│   │   │   ├── current_link_width
│   │   │   ├── d3cold_allowed
│   │   │   ├── device
│   │   │   ├── devspec
│   │   │   ├── dma_mask_bits
│   │   │   ├── driver -> ../../../../../../../bus/pci/drivers/pcieport
│   │   │   ├── driver_override
│   │   │   ├── enable
│   │   │   ├── irq
│   │   │   ├── link
│   │   │   │   ├── l0s_aspm
│   │   │   │   └── l1_aspm
│   │   │   ├── local_cpulist
│   │   │   ├── local_cpus
│   │   │   ├── max_link_speed
│   │   │   ├── max_link_width
│   │   │   ├── modalias
│   │   │   ├── msi_bus
│   │   │   ├── numa_node
│   │   │   ├── pci_bus
│   │   │   │   └── 0000:02
│   │   │   │   ├── cpuaffinity
│   │   │   │   ├── cpulistaffinity
│   │   │   │   ├── device -> ../../../0000:01:00.0
│   │   │   │   ├── power
│   │   │   │   │   ├── autosuspend_delay_ms
│   │   │   │   │   ├── control
│   │   │   │   │   ├── runtime_active_time
│   │   │   │   │   ├── runtime_status
│   │   │   │   │   └── runtime_suspended_time
│   │   │   │   ├── rescan
│   │   │   │   ├── subsystem -> ../../../../../../../../../class/pci_bus
│   │   │   │   └── uevent
│   │   │   ├── power
│   │   │   │   ├── autosuspend_delay_ms
│   │   │   │   ├── control
│   │   │   │   ├── runtime_active_time
│   │   │   │   ├── runtime_status
│   │   │   │   ├── runtime_suspended_time
│   │   │   │   ├── wakeup
│   │   │   │   ├── wakeup_abort_count
│   │   │   │   ├── wakeup_active
│   │   │   │   ├── wakeup_active_count
│   │   │   │   ├── wakeup_count
│   │   │   │   ├── wakeup_expire_count
│   │   │   │   ├── wakeup_last_time_ms
│   │   │   │   ├── wakeup_max_time_ms
│   │   │   │   └── wakeup_total_time_ms
│   │   │   ├── power_state
│   │   │   ├── remove
│   │   │   ├── rescan
│   │   │   ├── reset
│   │   │   ├── resource
│   │   │   ├── resource0
│   │   │   ├── revision
│   │   │   ├── secondary_bus_number
│   │   │   ├── subordinate_bus_number
│   │   │   ├── subsystem -> ../../../../../../../bus/pci
│   │   │   ├── subsystem_device
│   │   │   ├── subsystem_vendor
│   │   │   ├── uevent
│   │   │   └── vendor
│   │   ├── aer_dev_correctable
│   │   ├── aer_dev_fatal
│   │   ├── aer_dev_nonfatal
│   │   ├── aer_rootport_total_err_cor
│   │   ├── aer_rootport_total_err_fatal
│   │   ├── aer_rootport_total_err_nonfatal
│   │   ├── ari_enabled
│   │   ├── broken_parity_status
│   │   ├── class
│   │   ├── config
│   │   ├── consistent_dma_mask_bits
│   │   ├── current_link_speed
│   │   ├── current_link_width
│   │   ├── d3cold_allowed
│   │   ├── device
│   │   ├── devspec
│   │   ├── dma_mask_bits
│   │   ├── driver -> ../../../../../../bus/pci/drivers/pcieport
│   │   ├── driver_override
│   │   ├── enable
│   │   ├── irq
│   │   ├── link
│   │   ├── local_cpulist
│   │   ├── local_cpus
│   │   ├── max_link_speed
│   │   ├── max_link_width
│   │   ├── modalias
│   │   ├── msi_bus
│   │   ├── numa_node
│   │   ├── of_node -> ../../../../../../firmware/devicetree/base/soc/pcie@f4000000/pcie@0,0
│   │   ├── pci_bus
│   │   │   └── 0000:01
│   │   │   ├── cpuaffinity
│   │   │   ├── cpulistaffinity
│   │   │   ├── device -> ../../../0000:00:00.0
│   │   │   ├── of_node -> ../../../../../../../../firmware/devicetree/base/soc/pcie@f4000000/pcie@0,0
│   │   │   ├── power
│   │   │   │   ├── autosuspend_delay_ms
│   │   │   │   ├── control
│   │   │   │   ├── runtime_active_time
│   │   │   │   ├── runtime_status
│   │   │   │   └── runtime_suspended_time
│   │   │   ├── rescan
│   │   │   ├── subsystem -> ../../../../../../../../class/pci_bus
│   │   │   ├── uevent
│   │   │   └── waiting_for_supplier
│   │   ├── power
│   │   │   ├── autosuspend_delay_ms
│   │   │   ├── control
│   │   │   ├── runtime_active_time
│   │   │   ├── runtime_status
│   │   │   ├── runtime_suspended_time
│   │   │   ├── wakeup
│   │   │   ├── wakeup_abort_count
│   │   │   ├── wakeup_active
│   │   │   ├── wakeup_active_count
│   │   │   ├── wakeup_count
│   │   │   ├── wakeup_expire_count
│   │   │   ├── wakeup_last_time_ms
│   │   │   ├── wakeup_max_time_ms
│   │   │   └── wakeup_total_time_ms
│   │   ├── power_state
│   │   ├── remove
│   │   ├── rescan
│   │   ├── reset
│   │   ├── resource
│   │   ├── resource0
│   │   ├── revision
│   │   ├── secondary_bus_number
│   │   ├── subordinate_bus_number
│   │   ├── subsystem -> ../../../../../../bus/pci
│   │   ├── subsystem_device
│   │   ├── subsystem_vendor
│   │   ├── uevent
│   │   └── vendor
│   ├── pci_bus
│   │   └── 0000:00
│   │   ├── cpuaffinity
│   │   ├── cpulistaffinity
│   │   ├── device -> ../../../pci0000:00
│   │   ├── of_node -> ../../../../../../../firmware/devicetree/base/soc/pcie@f4000000
│   │   ├── power
│   │   │   ├── autosuspend_delay_ms
│   │   │   ├── control
│   │   │   ├── runtime_active_time
│   │   │   ├── runtime_status
│   │   │   └── runtime_suspended_time
│   │   ├── rescan
│   │   ├── subsystem -> ../../../../../../../class/pci_bus
│   │   ├── uevent
│   │   └── waiting_for_supplier
│   ├── power
│   │   ├── autosuspend_delay_ms
│   │   ├── control
│   │   ├── runtime_active_time
│   │   ├── runtime_status
│   │   └── runtime_suspended_time
│   └── uevent
├── power
│   ├── autosuspend_delay_ms
│   ├── control
│   ├── runtime_active_time
│   ├── runtime_status
│   └── runtime_suspended_time
├── subsystem -> ../../../../bus/platform
├── supplier:amba:e8a12000.gpio -> ../../../virtual/devlink/amba:e8a12000.gpio--platform:f4000000.pcie
├── supplier:amba:e8a1c000.gpio -> ../../../virtual/devlink/amba:e8a1c000.gpio--platform:f4000000.pcie
├── supplier:amba:e8a1f000.gpio -> ../../../virtual/devlink/amba:e8a1f000.gpio--platform:f4000000.pcie
├── supplier:amba:fff10000.gpio -> ../../../virtual/devlink/amba:fff10000.gpio--platform:f4000000.pcie
├── supplier:phy:phy-fc000000.pcie-phy.1 -> ../../../virtual/devlink/phy:phy-fc000000.pcie-phy.1--platform:f4000000.pcie
├── supplier:platform:fc000000.pcie-phy -> ../../../virtual/devlink/platform:fc000000.pcie-phy--platform:f4000000.pcie
└── uevent

Thanks,
Mauro