On Fri, Mar 01, 2024 at 12:32:12PM +0100, Paul Menzel wrote: > Dear Linux folks, > > > I noticed on the Dell XPS 13 9360 some devices do not have power management > enabled by default. From PowerTOP: > > Bad Runtime PM for PCI Device Intel Corporation Sunrise > Point-LP PCI Express Root Port #1 > Bad Runtime PM for PCI Device Intel Corporation Sunrise > Point-LP LPC Controller I don't know what this "Bad" is based on, so I don't know where to look for something Linux might be doing. I don't see any code that mentions 9d10 or 9d58 Device IDs in relation to power. > These are the two devices below: > > 1. 00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-LP PCI > Express Root Port #1 [8086:9d10] (rev f1) > 2. 00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-LP LPC > Controller [8086:9d58] (rev 21) > > $ sudo dmesg | grep -e 9d10 -e 9d58 > [ 0.200876] pci 0000:00:1c.0: [8086:9d10] type 01 class 0x060400 PCIe > Root Port > [ 0.202637] pci 0000:00:1f.0: [8086:9d58] type 00 class 0x060100 > conventional PCI endpoi > > Is that a decision made by the system manufacturer or should the Linux > kernel enable power management by default? The complete dmesg log might have a clue. I try to encourage quirks to log a breadcrumb when they disable features to workaround a bug or something. But code like pci_bridge_d3_possible() is not structured that way and doesn't leave clues like that. But possibly the dmesg log and "sudo lspci -vv" output would enable us to figure something out. Bjorn > $ lspci -tvnn > -[0000:00]-+-00.0 Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor > Host Bridge/DRAM Registers [8086:5904] > +-02.0 Intel Corporation HD Graphics 620 [8086:5916] > +-04.0 Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core > Processor Thermal Subsystem [8086:1903] > +-14.0 Intel Corporation Sunrise Point-LP USB 3.0 xHCI > Controller [8086:9d2f] > +-14.2 Intel Corporation Sunrise Point-LP Thermal subsystem > [8086:9d31] > +-15.0 Intel Corporation Sunrise Point-LP Serial IO I2C > Controller #0 [8086:9d60] > +-15.1 Intel Corporation Sunrise Point-LP Serial IO I2C > Controller #1 [8086:9d61] > +-16.0 Intel Corporation Sunrise Point-LP CSME HECI #1 > [8086:9d3a] > +-1c.0-[01-39]----00.0-[02-39]--+-00.0-[03]-- > | +-01.0-[04-38]-- > | \-02.0-[39]----00.0 Intel > Corporation DSL6340 USB 3.1 Controller [Alpine Ridge] [8086:15b5] > +-1c.4-[3a]----00.0 Qualcomm Atheros QCA6174 802.11ac Wireless > Network Adapter [168c:003e] > +-1d.0-[3b]----00.0 SK hynix PC300 NVMe Solid State Drive 512GB > [1c5c:1284] > +-1f.0 Intel Corporation Sunrise Point-LP LPC Controller > [8086:9d58] > +-1f.2 Intel Corporation Sunrise Point-LP PMC [8086:9d21] > +-1f.3 Intel Corporation Sunrise Point-LP HD Audio [8086:9d71] > \-1f.4 Intel Corporation Sunrise Point-LP SMBus [8086:9d23] > $ lspci -nn > 00:00.0 Host bridge [0600]: Intel Corporation Xeon E3-1200 v6/7th Gen Core > Processor Host Bridge/DRAM Registers [8086:5904] (rev 02) > 00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 620 > [8086:5916] (rev 02) > 00:04.0 Signal processing controller [1180]: Intel Corporation Xeon E3-1200 > v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem [8086:1903] (rev 02) > 00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-LP USB 3.0 > xHCI Controller [8086:9d2f] (rev 21) > 00:14.2 Signal processing controller [1180]: Intel Corporation Sunrise > Point-LP Thermal subsystem [8086:9d31] (rev 21) > 00:15.0 Signal processing controller [1180]: Intel Corporation Sunrise > Point-LP Serial IO I2C Controller #0 [8086:9d60] (rev 21) > 00:15.1 Signal processing controller [1180]: Intel Corporation Sunrise > Point-LP Serial IO I2C Controller #1 [8086:9d61] (rev 21) > 00:16.0 Communication controller [0780]: Intel Corporation Sunrise Point-LP > CSME HECI #1 [8086:9d3a] (rev 21) > 00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-LP PCI Express > Root Port #1 [8086:9d10] (rev f1) > 00:1c.4 PCI bridge [0604]: Intel Corporation Sunrise Point-LP PCI Express > Root Port #5 [8086:9d14] (rev f1) > 00:1d.0 PCI bridge [0604]: Intel Corporation Sunrise Point-LP PCI Express > Root Port #9 [8086:9d18] (rev f1) > 00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-LP LPC Controller > [8086:9d58] (rev 21) > 00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-LP PMC > [8086:9d21] (rev 21) > 00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-LP HD Audio > [8086:9d71] (rev 21) > 00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-LP SMBus [8086:9d23] > (rev 21) > 01:00.0 PCI bridge [0604]: Intel Corporation DSL6340 Thunderbolt 3 Bridge > [Alpine Ridge 2C 2015] [8086:1576] > 02:00.0 PCI bridge [0604]: Intel Corporation DSL6340 Thunderbolt 3 Bridge > [Alpine Ridge 2C 2015] [8086:1576] > 02:01.0 PCI bridge [0604]: Intel Corporation DSL6340 Thunderbolt 3 Bridge > [Alpine Ridge 2C 2015] [8086:1576] > 02:02.0 PCI bridge [0604]: Intel Corporation DSL6340 Thunderbolt 3 Bridge > [Alpine Ridge 2C 2015] [8086:1576] > 39:00.0 USB controller [0c03]: Intel Corporation DSL6340 USB 3.1 Controller > [Alpine Ridge] [8086:15b5] > 3a:00.0 Network controller [0280]: Qualcomm Atheros QCA6174 802.11ac > Wireless Network Adapter [168c:003e] (rev 32) > 3b:00.0 Non-Volatile memory controller [0108]: SK hynix PC300 NVMe Solid > State Drive 512GB [1c5c:1284]