mirror of
https://github.com/torvalds/linux.git
synced 2026-06-05 21:15:53 +02:00
pci-v6.16-fixes-1
-----BEGIN PGP SIGNATURE-----
iQJIBAABCgAyFiEEgMe7l+5h9hnxdsnuWYigwDrT+vwFAmhVtw4UHGJoZWxnYWFz
QGdvb2dsZS5jb20ACgkQWYigwDrT+vy4BA/+PouZNJagFPM2obMdGoEEbDws/oV8
CIeVO6gkpcKtHQ6Dy8hNk22Q2Mn+WdwnhJm0lvrTJ4EaAms5cV/nYqUzeFHXrGso
K/NbkCtyx6yA5X8l5VBubRUXh24aO1RyUXTzi980aWe2Mte02KiVgdOnM7fzT2Yo
AJD2JybmdRI5SIXsOGPSJpaqH3gORuTZlcZf0XHE/KfuTLDDZpSLjoe5QqKLohmE
OmbYCT9jyjFMHlp3xrP+KsN+q6XgzuzsKY2JovlztC/n0jbBYilZT5KciSNFtH56
gNpjbZaelxEU4SucPbrqOFCdAuWDw/pGRGB83XHXDr8+YHjwwW/xZc5eJM2Jl+vj
bJYs3h3w4iWfCjqHCq7DiYuaB/J2hqCjc6yz9XsIeXv2307ogj9BExFX0accz3bJ
+rDocdjiOTVk+wpNECdFXm1xSHVMEYR5Tr1T+0bJUaMwSuVzUEc8sN3GryDZB3Pd
yXDASaHnUq6RUeNSECsj/cJYH9zYYxMqage48EByNcNX8nSrcp682VkkVdC7tLi9
XxMiJCnQq5Wqt1ZFMa4nlvtLbtHXCPOEgU0VeFqu5rU7e3Ugt0b3KZzyUHo8cSGn
wT4eAr6uPmqWKMSoaN2P2tiCxA5cwQfKvBx5omJ9z8Aw+BI9igwTOG1mlQFmOYxq
LAj/+Q+24jKqG+U=
=ZjGp
-----END PGP SIGNATURE-----
Merge tag 'pci-v6.16-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci
Pull PCI fixes from Bjorn Helgaas:
- Set up runtime PM even for devices that lack a PM Capability as we
did before 4d4c10f763 ("PCI: Explicitly put devices into D0 when
initializing"), which broke resume in some VFIO scenarios (Mario
Limonciello)
- Ignore pciehp Presence Detect Changed events caused by DPC, even if
they occur after a Data Link Layer State Changed event, to fix a VFIO
GPU passthrough regression in v6.13 (Lukas Wunner)
* tag 'pci-v6.16-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci:
PCI: pciehp: Ignore belated Presence Detect Changed caused by DPC
PCI/PM: Set up runtime PM even for devices without PCI PM
This commit is contained in:
commit
f0eeb5f6f6
|
|
@ -771,7 +771,7 @@ static irqreturn_t pciehp_ist(int irq, void *dev_id)
|
|||
u16 ignored_events = PCI_EXP_SLTSTA_DLLSC;
|
||||
|
||||
if (!ctrl->inband_presence_disabled)
|
||||
ignored_events |= events & PCI_EXP_SLTSTA_PDC;
|
||||
ignored_events |= PCI_EXP_SLTSTA_PDC;
|
||||
|
||||
events &= ~ignored_events;
|
||||
pciehp_ignore_link_change(ctrl, pdev, irq, ignored_events);
|
||||
|
|
|
|||
|
|
@ -3217,14 +3217,14 @@ void pci_pm_init(struct pci_dev *dev)
|
|||
/* find PCI PM capability in list */
|
||||
pm = pci_find_capability(dev, PCI_CAP_ID_PM);
|
||||
if (!pm)
|
||||
return;
|
||||
goto poweron;
|
||||
/* Check device's ability to generate PME# */
|
||||
pci_read_config_word(dev, pm + PCI_PM_PMC, &pmc);
|
||||
|
||||
if ((pmc & PCI_PM_CAP_VER_MASK) > 3) {
|
||||
pci_err(dev, "unsupported PM cap regs version (%u)\n",
|
||||
pmc & PCI_PM_CAP_VER_MASK);
|
||||
return;
|
||||
goto poweron;
|
||||
}
|
||||
|
||||
dev->pm_cap = pm;
|
||||
|
|
@ -3269,6 +3269,7 @@ void pci_pm_init(struct pci_dev *dev)
|
|||
pci_read_config_word(dev, PCI_STATUS, &status);
|
||||
if (status & PCI_STATUS_IMM_READY)
|
||||
dev->imm_ready = 1;
|
||||
poweron:
|
||||
pci_pm_power_up_and_verify_state(dev);
|
||||
pm_runtime_forbid(&dev->dev);
|
||||
pm_runtime_set_active(&dev->dev);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user