Displaying 11 results from an estimated 11 matches for "pci_platform_power_transit".
2018 Feb 18
0
[PATCH 2/7] PCI: Make pci_wakeup_bus() & pci_bus_set_current_state() public
There are PCI devices which are power-manageable by a nonstandard means,
such as a custom ACPI method. One example are discrete GPUs in hybrid
graphics laptops, another are Thunderbolt controllers in Macs.
Such devices can't be put into D3cold with pci_set_power_state() because
pci_platform_power_transition() fails with -ENODEV. Instead they're put
into D3hot by pci_set_power_state() and subsequently into D3cold by
invoking the nonstandard means. However as a consequence the cached
current_state is incorrectly left at D3hot.
What we need to do is walk the hierarchy below such a PCI device on...
2011 Feb 28
12
[RFC PATCH] set current_state to D0 in register_slot
...ody is going to set
current_state = PCI_D0 for this device. This is what I think it is
happening:
pci_enable_device
|
__pci_enable_device_flags
/* here we do not set current_state because !pm_cap */
|
do_pci_enable_device
|
pci_set_power_state
|
__pci_start_power_transition
|
pci_platform_power_transition
/* platform_pci_power_manageable() calls acpi_pci_power_manageable that
* returns true */
|
platform_pci_set_power_state
/* acpi_pci_set_power_state gets called and does nothing because the
* acpi device has _EJ0, see the comment "If the ACPI device has _EJ0,
* ignore the device"...
2019 Oct 16
3
[PATCH v3] pci: prevent putting nvidia GPUs into lower device states on certain intel bridges
...ate(D3cold)
> if (PCI_DEV_FLAGS_NO_D3)
> return 0 <-- nothing at all if quirked
> pci_raw_set_power_state
> pci_write_config_word(PCI_PM_CTRL, D3hot) <-- set to D3hot
> __pci_complete_power_transition(D3cold)
> pci_platform_power_transition(D3cold)
> platform_pci_set_power_state(D3cold)
> acpi_pci_set_power_state(D3cold)
> acpi_device_set_power(ACPI_STATE_D3_COLD)
> ...
> acpi_evaluate_object("_OFF") <-- set to D3cold
>
> I did not und...
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 21
1
[PATCH v4] pci: prevent putting nvidia GPUs into lower device states on certain intel bridges
On Thu, Nov 21, 2019 at 12:03 PM Rafael J. Wysocki <rafael at kernel.org> wrote:
>
> On Thu, Nov 21, 2019 at 11:14 AM Mika Westerberg
> <mika.westerberg at intel.com> wrote:
> >
> > On Wed, Nov 20, 2019 at 10:36:31PM +0100, Karol Herbst wrote:
> > > with the branch and patch applied:
> > >
2019 Oct 21
0
[PATCH v3] pci: prevent putting nvidia GPUs into lower device states on certain intel bridges
...> > return 0 <-- nothing at all if quirked
> > > pci_raw_set_power_state
> > > pci_write_config_word(PCI_PM_CTRL, D3hot) <-- set to D3hot
> > > __pci_complete_power_transition(D3cold)
> > > pci_platform_power_transition(D3cold)
> > > platform_pci_set_power_state(D3cold)
> > > acpi_pci_set_power_state(D3cold)
> > > acpi_device_set_power(ACPI_STATE_D3_COLD)
> > > ...
> > > acpi_evaluate_object("_OFF"...
2019 Oct 21
1
[PATCH v3] pci: prevent putting nvidia GPUs into lower device states on certain intel bridges
...PCI_DEV_FLAGS_NO_D3)
> > return 0 <-- nothing at all if quirked
> > pci_raw_set_power_state
> > pci_write_config_word(PCI_PM_CTRL, D3hot) <-- set to D3hot
> > __pci_complete_power_transition(D3cold)
> > pci_platform_power_transition(D3cold)
> > platform_pci_set_power_state(D3cold)
> > acpi_pci_set_power_state(D3cold)
> > acpi_device_set_power(ACPI_STATE_D3_COLD)
> > ...
> > acpi_evaluate_object("_OFF") <-- set to D3col...
2019 Oct 16
2
[PATCH v3] pci: prevent putting nvidia GPUs into lower device states on certain intel bridges
but setting the PCI_DEV_FLAGS_NO_D3 flag does prevent using the
platform means of putting the device into D3cold, right? That's
actually what should still happen, just the D3hot step should be
skipped.
On Wed, Oct 16, 2019 at 9:14 PM Bjorn Helgaas <helgaas at kernel.org> wrote:
>
> On Wed, Oct 16, 2019 at 04:44:49PM +0200, Karol Herbst wrote:
> > Fixes state transitions of
2019 Oct 16
0
[PATCH v3] pci: prevent putting nvidia GPUs into lower device states on certain intel bridges
...like this:
pci_set_power_state(D3cold)
if (PCI_DEV_FLAGS_NO_D3)
return 0 <-- nothing at all if quirked
pci_raw_set_power_state
pci_write_config_word(PCI_PM_CTRL, D3hot) <-- set to D3hot
__pci_complete_power_transition(D3cold)
pci_platform_power_transition(D3cold)
platform_pci_set_power_state(D3cold)
acpi_pci_set_power_state(D3cold)
acpi_device_set_power(ACPI_STATE_D3_COLD)
...
acpi_evaluate_object("_OFF") <-- set to D3cold
I did not understand the connection with platfo...
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
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