Displaying 20 results from an estimated 38 matches for "pci_power_t".
2018 Feb 18
0
[PATCH 2/7] PCI: Make pci_wakeup_bus() & pci_bus_set_current_state() public
...- * __pci_bus_set_current_state - Walk given bus and set current state of devices
+ * pci_bus_set_current_state - Walk given bus and set current state of devices
* @bus: Top bus of the subtree to walk.
* @state: state to be set
*/
-static void __pci_bus_set_current_state(struct pci_bus *bus, pci_power_t state)
+void pci_bus_set_current_state(struct pci_bus *bus, pci_power_t state)
{
if (bus)
pci_walk_bus(bus, __pci_dev_set_current_state, &state);
@@ -876,7 +876,7 @@ int __pci_complete_power_transition(struct pci_dev *dev, pci_power_t state)
ret = pci_platform_power_transition(dev, stat...
2019 Sep 27
2
[RFC PATCH] pci: prevent putting pcie devices into lower device states on certain intel bridges
...{
+ pci_err(bridge, "found broken intel bridge\n");
+ return true;
+ }
+ }
+
+ return false;
+}
+
/**
* pci_raw_set_power_state - Use PCI PM registers to set the power state of
* given PCI device
@@ -827,6 +863,9 @@ static int pci_raw_set_power_state(struct pci_dev *dev, pci_power_t state)
if (state < PCI_D0 || state > PCI_D3hot)
return -EINVAL;
+ if (state != PCI_D0 && intel_broken_pci_pm(dev->bus))
+ return 0;
+
/*
* Validate current state:
* Can enter D0 from any state, but if we can only go deeper
--
2.21.0
2019 Oct 17
4
[PATCH v4] pci: prevent putting nvidia GPUs into lower device states on certain intel bridges
...++++++++++++++++++
include/linux/pci.h | 1 +
3 files changed, 61 insertions(+)
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index b97d9e10c9cc..02e71e0bcdd7 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -850,6 +850,13 @@ static int pci_raw_set_power_state(struct pci_dev *dev, pci_power_t state)
|| (state == PCI_D2 && !dev->d2_support))
return -EIO;
+ /*
+ * check if we have a bad combination of bridge controller and nvidia
+ * GPU, see quirk_broken_nv_runpm for more info
+ */
+ if (state != PCI_D0 && dev->broken_nv_runpm)
+ return 0;
+
p...
2019 Oct 16
4
[PATCH v3] pci: prevent putting nvidia GPUs into lower device states on certain intel bridges
...elf)
+ return false;
+ return dev->bus->self->broken_nv_runpm && dev->broken_nv_runpm;
+}
+
/**
* pci_raw_set_power_state - Use PCI PM registers to set the power state of
* given PCI device
@@ -850,6 +857,10 @@ static int pci_raw_set_power_state(struct pci_dev *dev, pci_power_t state)
|| (state == PCI_D2 && !dev->d2_support))
return -EIO;
+ /* check if the bus controller causes issues */
+ if (state != PCI_D0 && parent_broken_child_pm(dev))
+ return 0;
+
pci_read_config_word(dev, dev->pm_cap + PCI_PM_CTRL, &pmcsr);
/*
diff --git...
2020 Mar 03
2
[PATCH v6] pci: prevent putting nvidia GPUs into lower device states on certain intel bridges
...karound */
+ pdev->parent_d3cold = false;
nouveau_drm_device_remove(dev);
}
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 951099279192..6ece05723fa2 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -860,6 +860,14 @@ static int pci_raw_set_power_state(struct pci_dev *dev, pci_power_t state)
|| (state == PCI_D2 && !dev->d2_support))
return -EIO;
+ /*
+ * Power management can be disabled for certain devices as they don't
+ * come back up later on runtime_resume. We rely on platform means to
+ * cut power consumption instead (e.g. ACPI).
+ */
+ if (sta...
2019 Oct 16
2
[PATCH v3] pci: prevent putting nvidia GPUs into lower device states on certain intel bridges
...;& dev->broken_nv_runpm;
> > +}
> > +
> > /**
> > * pci_raw_set_power_state - Use PCI PM registers to set the power state of
> > * given PCI device
> > @@ -850,6 +857,10 @@ static int pci_raw_set_power_state(struct pci_dev *dev, pci_power_t state)
> > || (state == PCI_D2 && !dev->d2_support))
> > return -EIO;
> >
> > + /* check if the bus controller causes issues */
> > + if (state != PCI_D0 && parent_broken_child_pm(dev))
> > + return 0;...
2019 Nov 22
1
[PATCH v5] pci: prevent putting nvidia GPUs into lower device states on certain intel bridges
...++++++++++++++++++
include/linux/pci.h | 1 +
3 files changed, 59 insertions(+)
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 57f15a7e6f0b..e08db2daa924 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -850,6 +850,13 @@ static int pci_raw_set_power_state(struct pci_dev *dev, pci_power_t state)
|| (state == PCI_D2 && !dev->d2_support))
return -EIO;
+ /*
+ * Check if we have a bad combination of bridge controller and nvidia
+ * GPU, see quirk_broken_nv_runpm for more info
+ */
+ if (state != PCI_D0 && dev->broken_nv_runpm)
+ return 0;
+
pci_read...
2018 Feb 18
12
[PATCH 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.
Remove thereby obsoleted code and fix a bunch of bugs.
Device links were introduced in v4.10.
Users might see a small power saving if the discrete GPU is in use and
its HDA controller is not, because the HDA controller is now allowed
to runtime
2019 Sep 27
0
[RFC PATCH] pci: prevent putting pcie devices into lower device states on certain intel bridges
...ar bits.
> + return true;
> + }
> + }
> +
> + return false;
> +}
> +
> /**
> * pci_raw_set_power_state - Use PCI PM registers to set the power state of
> * given PCI device
> @@ -827,6 +863,9 @@ static int pci_raw_set_power_state(struct pci_dev *dev, pci_power_t state)
> if (state < PCI_D0 || state > PCI_D3hot)
> return -EINVAL;
>
> + if (state != PCI_D0 && intel_broken_pci_pm(dev->bus))
> + return 0;
> +
> /*
> * Validate current state:
> * Can enter D0 from any state, but if we can only go deepe...
2019 Oct 16
0
[PATCH v3] pci: prevent putting nvidia GPUs into lower device states on certain intel bridges
...dev->bus->self->broken_nv_runpm && dev->broken_nv_runpm;
> +}
> +
> /**
> * pci_raw_set_power_state - Use PCI PM registers to set the power state of
> * given PCI device
> @@ -850,6 +857,10 @@ static int pci_raw_set_power_state(struct pci_dev *dev, pci_power_t state)
> || (state == PCI_D2 && !dev->d2_support))
> return -EIO;
>
> + /* check if the bus controller causes issues */
> + if (state != PCI_D0 && parent_broken_child_pm(dev))
> + return 0;
> +
> pci_read_config_word(dev, dev->pm_cap + PCI_...
2019 Sep 30
0
[RFC PATCH] pci: prevent putting pcie devices into lower device states on certain intel bridges
...(!dev->bus || !dev->bus->self)
+ return false;
+ return dev->bus->self->broken_child_pm;
+}
+
/**
* pci_raw_set_power_state - Use PCI PM registers to set the power state of
* given PCI device
@@ -844,6 +851,10 @@ static int pci_raw_set_power_state(struct pci_dev *dev, pci_power_t state)
|| (state == PCI_D2 && !dev->d2_support))
return -EIO;
+ /* check if the bus controller causes issues */
+ if (state != PCI_D0 && parent_broken_child_pm(dev))
+ return 0;
+
pci_read_config_word(dev, dev->pm_cap + PCI_PM_CTRL, &pmcsr);
/*
diff --git...
2020 Mar 04
0
[PATCH v6] pci: prevent putting nvidia GPUs into lower device states on certain intel bridges
...lse;
> nouveau_drm_device_remove(dev);
> }
>
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> index 951099279192..6ece05723fa2 100644
> --- a/drivers/pci/pci.c
> +++ b/drivers/pci/pci.c
> @@ -860,6 +860,14 @@ static int pci_raw_set_power_state(struct pci_dev *dev, pci_power_t state)
> || (state == PCI_D2 && !dev->d2_support))
> return -EIO;
>
> + /*
> + * Power management can be disabled for certain devices as they don't
> + * come back up later on runtime_resume. We rely on platform means to
> + * cut power consumption i...
2019 Oct 16
0
[PATCH v3] pci: prevent putting nvidia GPUs into lower device states on certain intel bridges
...;
> > > +}
> > > +
> > > /**
> > > * pci_raw_set_power_state - Use PCI PM registers to set the power state of
> > > * given PCI device
> > > @@ -850,6 +857,10 @@ static int pci_raw_set_power_state(struct pci_dev *dev, pci_power_t state)
> > > || (state == PCI_D2 && !dev->d2_support))
> > > return -EIO;
> > >
> > > + /* check if the bus controller causes issues */
> > > + if (state != PCI_D0 && parent_broken_child_pm(dev))
> >...
2011 Dec 02
6
[PATCH] tools/firmware: remove "_PS0/3" Method
tools/firmware: remove "_PS0/3" Method
Do not expose the ACPI power management "_PS0/3" Method to guest firmware. According to section 3.4 of the APCI specification 4.0, PCI device control the device power through its own specification but not through APCI.
Qemu pushes "_PS0/3" to guest will cause a mess between ACPI PM and PCI PM as a result of incorrect ACPI table
2019 Nov 19
0
[PATCH v4] pci: prevent putting nvidia GPUs into lower device states on certain intel bridges
...ci.h | 1 +
> 3 files changed, 61 insertions(+)
>
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> index b97d9e10c9cc..02e71e0bcdd7 100644
> --- a/drivers/pci/pci.c
> +++ b/drivers/pci/pci.c
> @@ -850,6 +850,13 @@ static int pci_raw_set_power_state(struct pci_dev *dev, pci_power_t state)
> || (state == PCI_D2 && !dev->d2_support))
> return -EIO;
>
> + /*
> + * check if we have a bad combination of bridge controller and nvidia
> + * GPU, see quirk_broken_nv_runpm for more info
Whitespace damage. Capitalized incorrectly (see ot...
2020 Mar 05
1
[PATCH v6] pci: prevent putting nvidia GPUs into lower device states on certain intel bridges
...move(dev);
> > }
> >
> > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> > index 951099279192..6ece05723fa2 100644
> > --- a/drivers/pci/pci.c
> > +++ b/drivers/pci/pci.c
> > @@ -860,6 +860,14 @@ static int pci_raw_set_power_state(struct pci_dev *dev, pci_power_t state)
> > || (state == PCI_D2 && !dev->d2_support))
> > return -EIO;
> >
> > + /*
> > + * Power management can be disabled for certain devices as they don't
> > + * come back up later on runtime_resume. We rely...
2019 Sep 27
2
[RFC PATCH] pci: prevent putting pcie devices into lower device states on certain intel bridges
...+
> > + return false;
> > +}
> > +
> > /**
> > * pci_raw_set_power_state - Use PCI PM registers to set the power state of
> > * given PCI device
> > @@ -827,6 +863,9 @@ static int pci_raw_set_power_state(struct pci_dev *dev, pci_power_t state)
> > if (state < PCI_D0 || state > PCI_D3hot)
> > return -EINVAL;
> >
> > + if (state != PCI_D0 && intel_broken_pci_pm(dev->bus))
> > + return 0;
> > +
> > /*
> > * Validate curre...
2019 Nov 19
3
[PATCH v4] pci: prevent putting nvidia GPUs into lower device states on certain intel bridges
...anged, 61 insertions(+)
> >
> > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> > index b97d9e10c9cc..02e71e0bcdd7 100644
> > --- a/drivers/pci/pci.c
> > +++ b/drivers/pci/pci.c
> > @@ -850,6 +850,13 @@ static int pci_raw_set_power_state(struct pci_dev *dev, pci_power_t state)
> > || (state == PCI_D2 && !dev->d2_support))
> > return -EIO;
> >
> > + /*
> > + * check if we have a bad combination of bridge controller and nvidia
> > + * GPU, see quirk_broken_nv_runpm for more info
&...
2020 Mar 10
2
[PATCH v7] pci: prevent putting nvidia GPUs into lower device states on certain intel bridges
...nt_d3cold = false;
nouveau_drm_device_remove(dev);
pci_disable_device(pdev);
}
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index d828ca835a98..9c4044fc2553 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -861,6 +861,14 @@ static int pci_raw_set_power_state(struct pci_dev *dev, pci_power_t state)
|| (state == PCI_D2 && !dev->d2_support))
return -EIO;
+ /*
+ * Power management can be disabled for certain devices as they don't
+ * come back up later on runtime_resume. We rely on platform means to
+ * cut power consumption instead (e.g. ACPI).
+ */
+ if (sta...
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