All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Wu <peter-VTkQYDcBqhK7DlmcbJSQ7g@public.gmane.org>
To: Alex Deucher <alexdeucher-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Alex Deucher <alexander.deucher-5C7GfCeVMHo@public.gmane.org>,
	Nayan Deshmukh
	<nayan26deshmukh-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	amd-gfx list
	<amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>
Subject: Re: [PATCH 1/2] drm/amdgpu: fix power state when port pm is unavailable
Date: Wed, 23 Nov 2016 18:12:55 +0100	[thread overview]
Message-ID: <20161123171255.GA18537@al> (raw)
In-Reply-To: <CADnq5_On72XmLrE3wjD0u1=tmwghv6GofzfEGM5mhGoVtJav+Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

On Wed, Nov 23, 2016 at 12:01:55PM -0500, Alex Deucher wrote:
>  On Tue, Nov 22, 2016 at 8:22 PM, Peter Wu <peter@lekensteyn.nl> wrote:
> > When PCIe port PM is not enabled (system BIOS is pre-2015 or the
> > pcie_port_pm=off parameter is set), legacy ATPX PM should still be
> > marked as supported. Otherwise the GPU can fail to power on after
> > runtime suspend. This affected a Dell Inspiron 5548.
> >
> > Ideally the BIOS date in the PCI core is lowered to 2013 (the first year
> > where hybrid graphics platforms using power resources was introduced),
> > but that seems more risky at this point and would not solve the
> > pcie_port_pm=off issue.
> >
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98505
> > Reported-and-tested-by: Nayan Deshmukh <nayan26deshmukh@gmail.com>
> > Signed-off-by: Peter Wu <peter@lekensteyn.nl>
> > ---
> > Hi,
> >
> > This patch is already three weeks old. One alternative idea was lowering BIOS
> > date in PCI core, but as pcie_port_pm=force did not have the desired effect, I
> > do not think that this would help though.
> 
> Thanks for doing this.
> 
> >
> > I have also not contacted linux-pci or Mika about lowering the year due to the
> > lack of a good reason.  Might do it later though once ACPICA bug 1333 is sorted
> > out such that lowering the year actually has benefits for a Nvidia laptop (or if
> > some amdgpu problem can be solved by this).
> >
> > Both patches should probably be Cc stable (4.8+), fixing 2f5af82eeab2 and
> > b8c9fd5ad4b4 ("track whether if this is a hybrid graphics platform"). There have
> > been some ifdef 0's and reverts in between, so I was not sure if adding the
> > Fixes tag is appropriate.
> 
> I don't think we need to cc stable.  In kernel 4.8 we don't attempt to
> do d3cold at all.  4.8 and older kernels have:
> c63695cc5e5f685e924e25a8f9555f6e846f1fc6 (drm/amdgpu: work around lack
> of upstream ACPI support for D3cold)
> which was reverted for 4.9.

That patch was already reverted in 4.8 as far as I can see:

$ git tag --contains c39b487f195b93235ee76384427467786f7bf29f | grep v4.8
v4.8

Can you double-check? v4.8 was the first kernel with D3cold support in
PCI core.

> Series is:
> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

Thanks!

Kind regards,
Peter

> 
> >
> > Kind regards,
> > Peter
> > ---
> >  drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c | 9 ++++++++-
> >  1 file changed, 8 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c
> > index 10b5ddf..951addf 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c
> > @@ -33,6 +33,7 @@ struct amdgpu_atpx {
> >
> >  static struct amdgpu_atpx_priv {
> >         bool atpx_detected;
> > +       bool bridge_pm_usable;
> >         /* handle for device - and atpx */
> >         acpi_handle dhandle;
> >         acpi_handle other_handle;
> > @@ -200,7 +201,11 @@ static int amdgpu_atpx_validate(struct amdgpu_atpx *atpx)
> >         atpx->is_hybrid = false;
> >         if (valid_bits & ATPX_MS_HYBRID_GFX_SUPPORTED) {
> >                 printk("ATPX Hybrid Graphics\n");
> > -               atpx->functions.power_cntl = false;
> > +               /*
> > +                * Disable legacy PM methods only when pcie port PM is usable,
> > +                * otherwise the device might fail to power off or power on.
> > +                */
> > +               atpx->functions.power_cntl = !amdgpu_atpx_priv.bridge_pm_usable;
> >                 atpx->is_hybrid = true;
> >         }
> >
> > @@ -471,6 +476,7 @@ static int amdgpu_atpx_power_state(enum vga_switcheroo_client_id id,
> >   */
> >  static bool amdgpu_atpx_pci_probe_handle(struct pci_dev *pdev)
> >  {
> > +       struct pci_dev *parent_pdev = pci_upstream_bridge(pdev);
> >         acpi_handle dhandle, atpx_handle;
> >         acpi_status status;
> >
> > @@ -485,6 +491,7 @@ static bool amdgpu_atpx_pci_probe_handle(struct pci_dev *pdev)
> >         }
> >         amdgpu_atpx_priv.dhandle = dhandle;
> >         amdgpu_atpx_priv.atpx.handle = atpx_handle;
> > +       amdgpu_atpx_priv.bridge_pm_usable = parent_pdev && parent_pdev->bridge_d3;
> >         return true;
> >  }
> >
> > --
> > 2.10.2
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

  parent reply	other threads:[~2016-11-23 17:12 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-23  1:22 [PATCH 1/2] drm/amdgpu: fix power state when port pm is unavailable Peter Wu
     [not found] ` <20161123012225.11586-1-peter-VTkQYDcBqhK7DlmcbJSQ7g@public.gmane.org>
2016-11-23  1:22   ` [PATCH 2/2] drm/radeon: " Peter Wu
2016-11-23  7:53   ` [PATCH 1/2] drm/amdgpu: " Christian König
2016-11-23 17:01   ` Alex Deucher
     [not found]     ` <CADnq5_On72XmLrE3wjD0u1=tmwghv6GofzfEGM5mhGoVtJav+Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-11-23 17:12       ` Peter Wu [this message]
2016-11-23 17:16         ` Deucher, Alexander
     [not found]           ` <MWHPR12MB16949832E9DB44C53995493AF7B70-Gy0DoCVfaSW4WA4dJ5YXGAdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2016-11-26  0:36             ` Mike Lothian
     [not found]               ` <CAHbf0-FgRU=6tYe2SYcm8E0ZvJuRFoqPpk77_DZdQKXdxZSsGg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-11-26 10:19                 ` Peter Wu
2016-11-26 11:00                   ` Mike Lothian
     [not found]                     ` <CAHbf0-HfHGt5HvAosxgVf=rgevPK3KqBCQt4cJqjDiEaQWM1pQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-11-26 11:20                       ` Mike Lothian
     [not found]                         ` <CAHbf0-HHFFthD3Li0wM8x5rciRreeWoE0SkQOvsENT9+ZRFEcg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-11-26 11:38                           ` Peter Wu
2016-11-26 13:43                             ` Mike Lothian
2016-11-26 13:49                             ` Mike Lothian
     [not found]                               ` <CAHbf0-GjBMb2GfFoTADxYjfuLU=+hkJ8AcZCbh70zrpn56cD8A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-11-26 14:14                                 ` Peter Wu
2016-11-28  5:48                                   ` Mike Lothian
     [not found]                                     ` <CAHbf0-HzBPXOqS_XLctTu-eTuxUUwP62_TcODVPwKb8T2PFrFg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-11-28 22:28                                       ` Alex Deucher
     [not found]                                         ` <CADnq5_MfLP+Ym+beD+Oak+CTxvyMVYfb9+DQDZuR9pbBWqwQtA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-11-29  0:58                                           ` Peter Wu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20161123171255.GA18537@al \
    --to=peter-vtkqydcbqhk7dlmcbjsq7g@public.gmane.org \
    --cc=alexander.deucher-5C7GfCeVMHo@public.gmane.org \
    --cc=alexdeucher-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=nayan26deshmukh-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.