search for: pci_fixup_device

Displaying 17 results from an estimated 17 matches for "pci_fixup_device".

2018 Feb 21
2
[PATCH 1/7] PCI: Restore BARs on runtime resume despite being unbound
...to D3cold as a result of suspending the bridge above + * it, so restore the config spaces of all devices here. */ + pci_restore_standard_config(pci_dev); if (!pci_dev->driver) return 0; if (!pm || !pm->runtime_resume) return -ENOSYS; - pci_restore_standard_config(pci_dev); pci_fixup_device(pci_fixup_resume_early, pci_dev); pci_enable_wake(pci_dev, PCI_D0, false); pci_fixup_device(pci_fixup_resume, pci_dev);
2018 Feb 25
0
[PATCH 1/7] PCI: Restore BARs on runtime resume despite being unbound
...t; + * it, so restore the config spaces of all devices here. > */ > + pci_restore_standard_config(pci_dev); > if (!pci_dev->driver) > return 0; > > if (!pm || !pm->runtime_resume) > return -ENOSYS; > > - pci_restore_standard_config(pci_dev); > pci_fixup_device(pci_fixup_resume_early, pci_dev); > pci_enable_wake(pci_dev, PCI_D0, false); > pci_fixup_device(pci_fixup_resume, pci_dev); >
2018 Mar 03
0
[PATCH v2 1/7] PCI: Restore config space on runtime resume despite being unbound
...ecause although we left it in D0, it may have gone to + * D3cold when the bridge above it runtime suspended. */ + pci_restore_standard_config(pci_dev); + if (!pci_dev->driver) return 0; if (!pm || !pm->runtime_resume) return -ENOSYS; - pci_restore_standard_config(pci_dev); pci_fixup_device(pci_fixup_resume_early, pci_dev); pci_enable_wake(pci_dev, PCI_D0, false); pci_fixup_device(pci_fixup_resume, pci_dev); -- 2.15.1
2018 Feb 20
2
[PATCH 1/7] PCI: Restore BARs on runtime resume despite being unbound
On Sun, Feb 18, 2018 at 09:38:32AM +0100, Lukas Wunner wrote: > PCI devices not bound to a driver are supposed to stay in D0 during > runtime suspend. Doesn't "runtime suspend" mean an individual device is suspended while the rest of the system remains active? If so, maybe it would be more direct to say "PCI devices not bound to a driver cannot be runtime
2018 Mar 03
12
[PATCH v2 0/7] Modernize vga_switcheroo by using device link for HDA
Modernize vga_switcheroo by using a device link to enforce a runtime PM dependency from an HDA controller to the GPU it's integrated into, v2. Changes since v1: - Replace patch [1/7] to use pci_save_state() / pci_restore_state() for consistency between runtime PM code path of bound and unbound devices. (Rafael, Bjorn) - Patch [5/7]: Drop an unnecessary initialization. (Bjorn) Rephrase
2018 Sep 07
9
[PATCH] PCI: Reprogram bridge prefetch registers on resume
...ts appear to be intact + * at resume time, rewriting the value of PREF_BASE_UPPER32 is + * required to make the GPU work. + * Windows 10 also reprograms these registers during S3 resume. + */ + if (pci_dev->class == PCI_CLASS_BRIDGE_PCI << 8) + pci_setup_bridge_mmio_pref(pci_dev); + pci_fixup_device(pci_fixup_resume_early, pci_dev); } diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c index 79b1824e83b4..cb88288d2a69 100644 --- a/drivers/pci/setup-bus.c +++ b/drivers/pci/setup-bus.c @@ -630,7 +630,7 @@ static void pci_setup_bridge_mmio(struct pci_dev *bridge) pci_write_config_...
2014 Aug 20
1
[RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
...; > pci_msix_shutdown(dev); > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 74043a2..6e9e7bd 100644 > --- a/drivers/pci/pci.c > +++ b/drivers/pci/pci.c > @@ -1206,7 +1206,7 @@ static int do_pci_enable_device(struct pci_dev *dev, int > bars) > return err; > pci_fixup_device(pci_fixup_enable, dev); > > - if (dev->msi_enabled || dev->msix_enabled) > + if (pci_dev_msi_enabled(dev, MSI_TYPE | MSIX_TYPE)) > return 0; > > pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin); @@ -1361,9 +1361,9 @@ > static void pcim_release(struct device *...
2014 Aug 20
1
[RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
...; > pci_msix_shutdown(dev); > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 74043a2..6e9e7bd 100644 > --- a/drivers/pci/pci.c > +++ b/drivers/pci/pci.c > @@ -1206,7 +1206,7 @@ static int do_pci_enable_device(struct pci_dev *dev, int > bars) > return err; > pci_fixup_device(pci_fixup_enable, dev); > > - if (dev->msi_enabled || dev->msix_enabled) > + if (pci_dev_msi_enabled(dev, MSI_TYPE | MSIX_TYPE)) > return 0; > > pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin); @@ -1361,9 +1361,9 @@ > static void pcim_release(struct device *...
2006 Mar 07
8
PCI delegation works, access to the delegated NIC doesn''t
Hi all, has anyone seen such a behaviour?: I delegated successfully my NIC to a domU, but access to it from domU is not possible. Device appears, but access to it via ''ifconfig ethX up'' doesn''t work. Ends up in dmesg output like: tg3: tg3_reset_hw timed out for eth1, firmware will not restart magic=00000000 Delegating my USB controllers e.g. works flawlessly. Full
2008 Sep 27
1
[PATCH 2/6 v3] PCI: add new general functions
...Vital Product Data */ + pci_vpd_pci22_init(dev); +} + void pci_device_add(struct pci_dev *dev, struct pci_bus *bus) { device_initialize(&dev->dev); @@ -1024,8 +1037,8 @@ void pci_device_add(struct pci_dev *dev, struct pci_bus *bus) /* Fix up broken headers */ pci_fixup_device(pci_fixup_header, dev); - /* Initialize power management of the device */ - pci_pm_init(dev); + /* Initialize various capabilities */ + pci_init_capabilities(dev); /* * Add the device to our list of discovered devices diff --git a/drivers/pci/proc.c b/driv...
2008 Sep 27
1
[PATCH 2/6 v3] PCI: add new general functions
...Vital Product Data */ + pci_vpd_pci22_init(dev); +} + void pci_device_add(struct pci_dev *dev, struct pci_bus *bus) { device_initialize(&dev->dev); @@ -1024,8 +1037,8 @@ void pci_device_add(struct pci_dev *dev, struct pci_bus *bus) /* Fix up broken headers */ pci_fixup_device(pci_fixup_header, dev); - /* Initialize power management of the device */ - pci_pm_init(dev); + /* Initialize various capabilities */ + pci_init_capabilities(dev); /* * Add the device to our list of discovered devices diff --git a/drivers/pci/proc.c b/driv...
2014 Jul 26
0
[RFC PATCH 03/11] PCI/MSI: Refactor pci_dev_msi_enabled()
..._msi_enabled(dev, MSIX_TYPE)) return; pci_msix_shutdown(dev); diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 74043a2..6e9e7bd 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -1206,7 +1206,7 @@ static int do_pci_enable_device(struct pci_dev *dev, int bars) return err; pci_fixup_device(pci_fixup_enable, dev); - if (dev->msi_enabled || dev->msix_enabled) + if (pci_dev_msi_enabled(dev, MSI_TYPE | MSIX_TYPE)) return 0; pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin); @@ -1361,9 +1361,9 @@ static void pcim_release(struct device *gendev, void *res) struct pci_d...
2014 Jul 26
20
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
Hi all, The series is a draft of generic MSI driver that supports PCI and Non-PCI device which have MSI capability. If you're not interested it, sorry for the noise. The series is based on Linux-3.16-rc1. MSI was introduced in PCI Spec 2.2. Currently, kernel MSI driver codes are bonding with PCI device. Because MSI has a lot advantages in design. More and more non-PCI devices want to use
2014 Jul 26
20
[RFC PATCH 00/11] Refactor MSI to support Non-PCI device
Hi all, The series is a draft of generic MSI driver that supports PCI and Non-PCI device which have MSI capability. If you're not interested it, sorry for the noise. The series is based on Linux-3.16-rc1. MSI was introduced in PCI Spec 2.2. Currently, kernel MSI driver codes are bonding with PCI device. Because MSI has a lot advantages in design. More and more non-PCI devices want to use
2011 Jun 02
0
[PATCH] pci: Use pr_<level> and pr_fmt
...8 +2883,7 @@ static int __init pci_apply_final_quirks(void) u8 tmp; if (pci_cache_line_size) - printk(KERN_DEBUG "PCI: CLS %u bytes\n", - pci_cache_line_size << 2); + pr_debug("CLS %u bytes\n", pci_cache_line_size << 2); for_each_pci_dev(dev) { pci_fixup_device(pci_fixup_final, dev); @@ -2898,15 +2899,15 @@ static int __init pci_apply_final_quirks(void) if (!tmp || cls == tmp) continue; - printk(KERN_DEBUG "PCI: CLS mismatch (%u != %u), " - "using %u bytes\n", cls << 2, tmp << 2, - pci_dfl_cac...
2011 Jun 02
0
[PATCH] pci: Use pr_<level> and pr_fmt
...8 +2883,7 @@ static int __init pci_apply_final_quirks(void) u8 tmp; if (pci_cache_line_size) - printk(KERN_DEBUG "PCI: CLS %u bytes\n", - pci_cache_line_size << 2); + pr_debug("CLS %u bytes\n", pci_cache_line_size << 2); for_each_pci_dev(dev) { pci_fixup_device(pci_fixup_final, dev); @@ -2898,15 +2899,15 @@ static int __init pci_apply_final_quirks(void) if (!tmp || cls == tmp) continue; - printk(KERN_DEBUG "PCI: CLS mismatch (%u != %u), " - "using %u bytes\n", cls << 2, tmp << 2, - pci_dfl_cac...
2011 Jun 02
0
[PATCH] pci: Use pr_<level> and pr_fmt
...8 +2883,7 @@ static int __init pci_apply_final_quirks(void) u8 tmp; if (pci_cache_line_size) - printk(KERN_DEBUG "PCI: CLS %u bytes\n", - pci_cache_line_size << 2); + pr_debug("CLS %u bytes\n", pci_cache_line_size << 2); for_each_pci_dev(dev) { pci_fixup_device(pci_fixup_final, dev); @@ -2898,15 +2899,15 @@ static int __init pci_apply_final_quirks(void) if (!tmp || cls == tmp) continue; - printk(KERN_DEBUG "PCI: CLS mismatch (%u != %u), " - "using %u bytes\n", cls << 2, tmp << 2, - pci_dfl_cac...