Displaying 20 results from an estimated 82 matches for "_pr3".
Did you mean:
_pr
2016 Jun 01
1
[PATCH 4/4] drm/nouveau/acpi: fix lockup with PCIe runtime PM
...eeds to fallback to the DSM method (but not
> > > when runtime PM is deliberately disabled by writing control=on).
> >
> > Do you know what Windows does then? I think we should do the same if
> > possible.
>
> If the BIOS is too old, then it probably does not have _PR3 objects nor
> calls to _OSI("Windows 2013"). See below.
>
> > If user has disabled runtime PM from the root port deliberately, there
> > might be good reason to do so. Why we want to fallback to something that
> > could cause problems? I mean _DSM on such systems...
2016 May 31
2
[PATCH 4/4] drm/nouveau/acpi: fix lockup with PCIe runtime PM
On Mon, May 30, 2016 at 06:13:51PM +0200, Peter Wu wrote:
> Do you have any suggestions for the case where the pcieport driver
> refuses to put the bridge in D3 (because the BIOS is too old)? In that
> case the nouveau driver needs to fallback to the DSM method (but not
> when runtime PM is deliberately disabled by writing control=on).
Do you know what Windows does then? I think we
2020 Apr 23
1
[PATCH 1/1] drm/nouveau: Use generic helper to check _PR3 presence
Replace nouveau_pr3_present() in favor of a more generic one,
pci_pr3_present().
Also the presence of upstream bridge _PR3 doesn't need to go hand in
hand with device's _DSM, so check _PR3 before _DSM.
Signed-off-by: Kai-Heng Feng <kai.heng.feng at canonical.com>
---
drivers/gpu/drm/nouveau/nouveau_ac...
2016 May 31
0
[PATCH 4/4] drm/nouveau/acpi: fix lockup with PCIe runtime PM
...> case the nouveau driver needs to fallback to the DSM method (but not
> > when runtime PM is deliberately disabled by writing control=on).
>
> Do you know what Windows does then? I think we should do the same if
> possible.
If the BIOS is too old, then it probably does not have _PR3 objects nor
calls to _OSI("Windows 2013"). See below.
> If user has disabled runtime PM from the root port deliberately, there
> might be good reason to do so. Why we want to fallback to something that
> could cause problems? I mean _DSM on such systems is probably not that
>...
2016 Oct 29
1
Acer Aspire V7-582PG (Haswell, GTX 750M) fails to power off GPU via Power Resources
...i_extract_power_resources is failing. Note that in the
> > SSDT, the power resource NVP3 was referenced before it was defined,
> > could that result in this enumeration failure? Relevant SSDT excerpt:
> >
> > Scope (\_SB.PCI0.RP05)
> > {
> > Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
> > {
> > NVP3
> > })
> > // ...
> > }
> >
> > PowerResource (NVP3, 0x00, 0x0000)
Looks wrong order to me.
However, _PR3 is a package, for AML opcode that cont...
2016 Oct 27
3
Acer Aspire V7-582PG (Haswell, GTX 750M) fails to power off GPU via Power Resources
...d is indeed a package with some elements, it
seems that acpi_extract_power_resources is failing. Note that in the
SSDT, the power resource NVP3 was referenced before it was defined,
could that result in this enumeration failure? Relevant SSDT excerpt:
Scope (\_SB.PCI0.RP05)
{
Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
{
NVP3
})
// ...
}
PowerResource (NVP3, 0x00, 0x0000)
Kind regards,
Peter
> diff --git a/drivers/acpi/power.c b/drivers/acpi/power.c
> index fcd4ce6f78d5..af9c3e15dd74 100644
> --- a/drivers/...
2016 May 25
3
[PATCH 4/4] drm/nouveau/acpi: fix lockup with PCIe runtime PM
...cheroo_handler nouveau_dsm_handler = {
> .get_client_id = nouveau_dsm_get_client_id,
> };
>
> +/* Firmware supporting Windows 8 or later do not use _DSM to put the device into
> + * D3cold, they instead rely on disabling power resources on the parent. */
> +static bool nouveau_pr3_present(struct pci_dev *pdev)
> +{
> + struct pci_dev *parent_pdev = pci_upstream_bridge(pdev);
> + struct acpi_device *ad;
Nit: please call this adev instead of ad.
> +
> + if (!parent_pdev)
> + return false;
> +
> + ad = ACPI_COMPANION(&parent_pdev->dev);
> +...
2016 Oct 26
2
[Bug 98398] Acer Aspire V7-582PG (Haswell, GTX 750M) fails to power off GPU with runtime PM
...e should instead happen:
- \_SB.PCI0.RP05.PEGP._PS3 (does nothing besides updating _STA)
- PCIe core removes power for the PCIe port since all its children are in
D3 and are willing to transition to D3cold. It does so by invoking
\NVP3._OFF (where \NVP3 is the power resource from \_SB.PCI0.RP05._PR3)
That is how I think it should work in theory, but on Ricks laptop running
4.8.4,
/sys/bus/devices/0000:1c.4/firmware_node/ does not have power_resources_D0
devices (which I do have on my own laptop for 0000:01:0).
The SSDT1 of Rick's Acer laptop shows this structure:
If (\_OSI ("Wi...
2016 May 30
3
[PATCH 4/4] drm/nouveau/acpi: fix lockup with PCIe runtime PM
...> > > };
> > > > >
> > > > > +/* Firmware supporting Windows 8 or later do not use _DSM to put the device into
> > > > > + * D3cold, they instead rely on disabling power resources on the parent. */
> > > > > +static bool nouveau_pr3_present(struct pci_dev *pdev)
> > > > > +{
> > > > > + struct pci_dev *parent_pdev = pci_upstream_bridge(pdev);
> > > > > + struct acpi_device *ad;
> > > >
> > > > Nit: please call this adev instead of ad.
> > >
> &g...
2016 Jul 15
1
[PATCH v3 0/4] nouveau RPM fixes for Optimus (final)
...report for a GT 525M
(laptop brand/model unknown).
Maybe there are more affected users, but then they did not notice it
because they did not use HDMI audio.
> >
> > The powered on issue will also only appear on devices produced in 2013
> > and newer that happen to have this ACPI _PR3 ACPI method (which is quite
> > common for new machines supporting Windows 8 though).
> >
> > For these newer laptops, after the pci/pm merge and after a patch like
> > http://www.spinics.net/lists/linux-pci/msg52601.html, the user can
> > revert to the old DSM method...
2016 May 30
2
[PATCH 4/4] drm/nouveau/acpi: fix lockup with PCIe runtime PM
..._client_id = nouveau_dsm_get_client_id,
> > > };
> > >
> > > +/* Firmware supporting Windows 8 or later do not use _DSM to put the device into
> > > + * D3cold, they instead rely on disabling power resources on the parent. */
> > > +static bool nouveau_pr3_present(struct pci_dev *pdev)
> > > +{
> > > + struct pci_dev *parent_pdev = pci_upstream_bridge(pdev);
> > > + struct acpi_device *ad;
> >
> > Nit: please call this adev instead of ad.
>
> Will do.
>
> > > +
> > > + if (!parent_p...
2016 Oct 27
2
Acer Aspire V7-582PG (Haswell, GTX 750M) fails to power off GPU via Power Resources
...B.PCI0.RP05.PEGP._PS3 (does nothing besides updating _STA)
> > - PCIe core removes power for the PCIe port since all its children are in
> > D3 and are willing to transition to D3cold. It does so by invoking
> > \NVP3._OFF (where \NVP3 is the power resource from \_SB.PCI0.RP05._PR3)
> >
> > That is how I think it should work in theory, but on Ricks laptop running
> > 4.8.4,
> > /sys/bus/devices/0000:1c.4/firmware_node/ does not have power_resources_D0
> > devices (which I do have on my own laptop for 0000:01:0).
> >
> > The SSDT1 of...
2016 May 30
0
[PATCH 4/4] drm/nouveau/acpi: fix lockup with PCIe runtime PM
...;
> > > > > > + if (!ad)
> > > > > > + return false;
> > > > > > +
> > > > > > + return ad->power.flags.power_resources;
> > > > >
> > > > > Is this sufficient to tell if the parent device has _PR3? I thought it
> > > > > returns true if it has power resources in general, not necessarily _PR3.
> > > > >
> > > > > Otherwise this looks okay to me.
> > > >
> > > > It is indeed set whenever there is any _PRx method. I wonder i...
2016 Oct 30
0
Acer Aspire V7-582PG (Haswell, GTX 750M) fails to power off GPU via Power Resources
...ailing. Note that in the
> > > SSDT, the power resource NVP3 was referenced before it was defined,
> > > could that result in this enumeration failure? Relevant SSDT excerpt:
> > >
> > > Scope (\_SB.PCI0.RP05)
> > > {
> > > Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
> > > {
> > > NVP3
> > > })
> > > // ...
> > > }
> > >
> > > PowerResource (NVP3, 0x00, 0x0000)
>
> Looks wrong order to me.
>
&g...
2016 Oct 28
2
[PATCH] drm/nouveau/acpi: fix check for power resources support
...1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/nouveau/nouveau_acpi.c b/drivers/gpu/drm/nouveau/nouveau_acpi.c
index dc57b62..193573d 100644
--- a/drivers/gpu/drm/nouveau/nouveau_acpi.c
+++ b/drivers/gpu/drm/nouveau/nouveau_acpi.c
@@ -240,7 +240,8 @@ static bool nouveau_pr3_present(struct pci_dev *pdev)
if (!parent_adev)
return false;
- return acpi_has_method(parent_adev->handle, "_PR3");
+ return parent_adev->power.flags.power_resources &&
+ acpi_has_method(parent_adev->handle, "_PR3");
}
static void nouveau_dsm_pci_pr...
2016 Oct 31
2
[PATCH v2] drm/nouveau/acpi: fix check for power resources support
...ork in these cases where PR does not).
This is a workaround for a problem where ACPICA and Windows 10 differ in
behavior. ACPICA does not correctly enumerate power resources within a
conditional block (due to delayed execution of such blocks) and as a
result power_resources is set to false even if _PR3 exists.
Fixes: 692a17dcc292 ("drm/nouveau/acpi: fix lockup with PCIe runtime PM")
Link: https://bugs.freedesktop.org/show_bug.cgi?id=98398
Reported-and-tested-by: Rick Kerkhof <rick.2889 at gmail.com>
Reviewed-by: Mika Westerberg <mika.westerberg at linux.intel.com>
Signed-of...
2016 May 27
0
[PATCH 4/4] drm/nouveau/acpi: fix lockup with PCIe runtime PM
...dler = {
> > .get_client_id = nouveau_dsm_get_client_id,
> > };
> >
> > +/* Firmware supporting Windows 8 or later do not use _DSM to put the device into
> > + * D3cold, they instead rely on disabling power resources on the parent. */
> > +static bool nouveau_pr3_present(struct pci_dev *pdev)
> > +{
> > + struct pci_dev *parent_pdev = pci_upstream_bridge(pdev);
> > + struct acpi_device *ad;
>
> Nit: please call this adev instead of ad.
Will do.
> > +
> > + if (!parent_pdev)
> > + return false;
> > +
> &...
2016 Jul 15
2
[PATCH v3 0/4] nouveau RPM fixes for Optimus (final)
....freedesktop.org/show_bug.cgi?id=75985). For my laptop I
also had to runtime suspend/resume before lspci -H1 shows the device,
loading with runpm=0 didn't return my HDMI audio device.
The powered on issue will also only appear on devices produced in 2013
and newer that happen to have this ACPI _PR3 ACPI method (which is quite
common for new machines supporting Windows 8 though).
For these newer laptops, after the pci/pm merge and after a patch like
http://www.spinics.net/lists/linux-pci/msg52601.html, the user can
revert to the old DSM method by booting with pcie_port_pm=off which will
retai...
2016 May 31
2
[PATCH 4/4] drm/nouveau/acpi: fix lockup with PCIe runtime PM
...ds to fallback to the DSM method (but not
> when runtime PM is deliberately disabled by writing control=on).
The BIOS cut-off date is meant to avoid issues when suspending ports
on older chipsets. However if the port is used for an Optimus GPU
and we can clearly identify that, and there's a _PR3 method provided,
it's probably safe to say that the port is *intended* to be suspended.
So you may want to consider amending pci_bridge_d3_possible() to
allow D3 for such ports regardless of the BIOS date, as I've done
for Thunderbolt in this commit:
https://github.com/l1k/linux/commit/3cb...
2016 May 30
0
[PATCH 4/4] drm/nouveau/acpi: fix lockup with PCIe runtime PM
...get_client_id,
> > > > };
> > > >
> > > > +/* Firmware supporting Windows 8 or later do not use _DSM to put the device into
> > > > + * D3cold, they instead rely on disabling power resources on the parent. */
> > > > +static bool nouveau_pr3_present(struct pci_dev *pdev)
> > > > +{
> > > > + struct pci_dev *parent_pdev = pci_upstream_bridge(pdev);
> > > > + struct acpi_device *ad;
> > >
> > > Nit: please call this adev instead of ad.
> >
> > Will do.
> >
> &g...