From: Lukas Wunner <lukas@wunner.de>
To: Alex Deucher <alexander.deucher@amd.com>
Cc: Michael Jamet <michael.jamet@intel.com>,
amd-gfx list <amd-gfx@lists.freedesktop.org>,
dri-devel@lists.freedesktop.org,
Bjorn Helgaas <bhelgaas@google.com>,
Mika Westerberg <mika.westerberg@linux.intel.com>,
Christian Koenig <christian.koenig@amd.com>,
Peter Wu <peter@lekensteyn.nl>
Subject: Re: [PATCH 4/5] drm/radeon: Don't register Thunderbolt eGPU with vga_switcheroo
Date: Thu, 9 Mar 2017 11:55:04 +0100 [thread overview]
Message-ID: <20170309105504.GA7402@h08.hostsharing.net> (raw)
In-Reply-To: <CADnq5_P9yV8W+4gbgUQoL8yC_5ZBHagvcZbJUOkkRCYiL8GjfQ@mail.gmail.com>
On Wed, Mar 08, 2017 at 03:34:47PM -0500, Alex Deucher wrote:
> On Wed, Mar 8, 2017 at 12:01 AM, Lukas Wunner <lukas@wunner.de> wrote:
> > On Tue, Mar 07, 2017 at 03:30:30PM -0500, Alex Deucher wrote:
> >> On Fri, Feb 24, 2017 at 2:19 PM, Lukas Wunner <lukas@wunner.de> wrote:
> >> > An external Thunderbolt GPU can neither drive the laptop's panel nor be
> >> > powered off by the platform, so there's no point in registering it with
> >> > vga_switcheroo. In fact, when the external GPU is runtime suspended,
> >> > vga_switcheroo will cut power to the internal discrete GPU, resulting in
> >> > a lockup.
> >>
> >> I'm not necessarily opposed to this, but I'd prefer something more
> >> generic. E.g., what happens if someone uses another dGPU in a docking
> >> station or some other sort of PCIe bridge?
> >
> > Such a dGPU is only relevant to vga_switcheroo if it can either drive
> > the panel or be powered off by the platform. Does such a product exist?
> >
> > I've never heard of one, and think that's because such a product doesn't
> > make sense: A docking staton is not power-constrained, it's stationary
> > and connected to a wall outlet, so there's no need to power the dGPU off
> > when it's not in use.
> >
> > And at a docking station you're usually connected to a larger monitor,
> > so having the dGPU drive the laptop's smaller panel isn't necessary either.
> > In the rare cases where there's no larger monitor, you just use the dGPU
> > for render offloading, just as you would for contemporary ATPX laptops.
> >
> > OTOH, dGPUs in Thunderbolt enclosures *do* exist and connecting them
> > to an ATPX machine causes failure, as explained in the commit message.
>
> Whether you introduce additional dGPUs via thunderbolt or some
> proprietary interface or a pci bridge in a docking station the result
> is still the same. You end up with the potential scenario you
> described in this commit message that there may be confusion as to
> which GPU is controlled via ACPI power controls.
>
> I talked to the windows team. They special case thunderbolt as well,
Very interesting, thanks for reaching out to them. I've already heard
that Windows 10 supports Thunderbolt eGPUs, but only with Thunderbolt 3.
I think it's desirable that we achieve feature parity with them (without
the unnecessary restriction to Thunderbolt 3). Older Windows versions as
well as macOS apparently require all sorts of awful hacks for eGPUs.
> so the patch is probably fine.
Is that an ack or are there any remaining concerns?
> For pcie ports in a docking station, I
> suspect there may not actually be any docking stations supported by PX
> laptops where this could be an issue.
If/when such products do become available, they can probably be identified
via specific ACPI methods or if all else fails, DMI quirks.
> For non-thunderbolt detachable
> graphics there is a new ATIF function to query the bus number of the
> supported device. I'll send a patch out for that in a bit.
Great, thanks.
> Thinking about this more, long term we should probably only register
> with vga_switcheroo if we support display muxing which is a legacy
> feature these days. Most systems are mux-less so we just need to
> handle dgpu power control via runtime pm.
Right now registering with vga_switcheroo is still necessary even for
muxless systems primarily because DRM drivers call
vga_switcheroo_set_dynamic_switch() to pause the HDA driver and update
the power state stored internally by vga_switcheroo.
I plan to address the former by reworking vga_switcheroo audio handling
using functional device dependencies (a new PM mechanism that appeared
in v4.10, see documentation in aad800403a87), and I think the latter will
then become obsolete as well. I've got a concept in my head and am
pumped to code it up, just a little time-constrained at the moment. :-)
Thanks,
Lukas
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2017-03-09 10:55 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-24 19:19 [PATCH 0/5] Thunderbolt GPU fixes Lukas Wunner
2017-02-24 19:19 ` Lukas Wunner
2017-02-24 19:19 ` [PATCH 4/5] drm/radeon: Don't register Thunderbolt eGPU with vga_switcheroo Lukas Wunner
[not found] ` <d466d25ba40b5289f2cafa881b990bf687b29abd.1487938189.git.lukas-JFq808J9C/izQB+pC5nmwQ@public.gmane.org>
2017-03-07 20:30 ` Alex Deucher
2017-03-08 5:01 ` Lukas Wunner
2017-03-08 10:46 ` Peter Wu
2017-03-08 12:22 ` Lukas Wunner
[not found] ` <20170308050154.GA4250-JFq808J9C/izQB+pC5nmwQ@public.gmane.org>
2017-03-08 20:34 ` Alex Deucher
2017-03-09 10:55 ` Lukas Wunner [this message]
2017-03-09 13:57 ` Alex Deucher
2017-02-24 19:19 ` [PATCH 2/5] apple-gmux: Don't switch external DP port on 2011+ MacBook Pros Lukas Wunner
2017-02-24 19:19 ` [PATCH 3/5] drm/nouveau: Don't register Thunderbolt eGPU with vga_switcheroo Lukas Wunner
2017-02-24 20:59 ` Bjorn Helgaas
2017-03-04 10:16 ` Lukas Wunner
[not found] ` <cover.1487938188.git.lukas-JFq808J9C/izQB+pC5nmwQ@public.gmane.org>
2017-02-24 19:19 ` [PATCH 5/5] drm/amdgpu: " Lukas Wunner
2017-02-24 19:19 ` [PATCH 1/5] PCI: Recognize Thunderbolt devices Lukas Wunner
2017-02-24 19:19 ` Lukas Wunner
2017-02-24 22:17 ` Bjorn Helgaas
2017-02-24 22:17 ` Bjorn Helgaas
2017-02-25 7:40 ` Lukas Wunner
2017-02-25 14:44 ` Bjorn Helgaas
[not found] ` <20170224221724.GA26430-1RhO1Y9PlrlHTL0Zs8A6p5iNqAH0jzoTYJqu5kTmcBRl57MIdRCFDg@public.gmane.org>
2017-03-04 11:14 ` Lukas Wunner
2017-03-04 11:14 ` Lukas Wunner
2017-03-09 15:03 ` [PATCH 0/5] Thunderbolt GPU fixes Daniel Vetter
2017-03-09 15:03 ` Daniel Vetter
[not found] ` <20170309150347.a4k4w2sclox2365t-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2017-03-10 12:07 ` Lukas Wunner
2017-03-10 12:07 ` Lukas Wunner
2017-03-10 12:15 ` Andy Shevchenko
2017-03-10 12:15 ` Andy Shevchenko
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=20170309105504.GA7402@h08.hostsharing.net \
--to=lukas@wunner.de \
--cc=alexander.deucher@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=bhelgaas@google.com \
--cc=christian.koenig@amd.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=michael.jamet@intel.com \
--cc=mika.westerberg@linux.intel.com \
--cc=peter@lekensteyn.nl \
/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.