From: Lukas Wunner <lukas@wunner.de>
To: Kai Heng Feng <kai.heng.feng@canonical.com>
Cc: mjg59@srcf.ucam.org, pali.rohar@gmail.com, dvhart@infradead.org,
andy@infradead.org,
Mario Limonciello <mario.limonciello@dell.com>,
tiwai@suse.com, alsa-devel@alsa-project.org,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
platform-driver-x86@vger.kernel.org
Subject: Re: [alsa-devel] [PATCH v2 3/3] ALSA: hda: Disabled unused audio controller for Dell platforms with Switchable Graphics
Date: Thu, 8 Mar 2018 12:30:20 +0100 [thread overview]
Message-ID: <20180308113020.GA23073@wunner.de> (raw)
In-Reply-To: <1A1B9259-DC5B-4C1A-96BD-7FCACDBFFBB3@canonical.com>
On Thu, Mar 08, 2018 at 06:38:45PM +0800, Kai Heng Feng wrote:
> >On Mar 8, 2018, at 5:38 PM, Lukas Wunner <lukas@wunner.de> wrote:
> >On Thu, Mar 08, 2018 at 05:10:23PM +0800, Kai-Heng Feng wrote:
> >>Some Dell platforms (Preicsion 7510/7710/7520/7720) have a BIOS option
> >>"Switchable Graphics" (SG).
> >>
> >>When SG is enabled, we have:
> >>00:02.0 VGA compatible controller: Intel Corporation Device 591b (rev 04)
> >>00:1f.3 Audio device: Intel Corporation CM238 HD Audio Controller (rev 31)
> >>01:00.0 VGA compatible controller: Advanced Micro Devices, Inc.
> >>[AMD/ATI] Ellesmere [Polaris10]
> >>01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere
> >>[Radeon RX 580]
> >>
> >>The Intel Audio outputs all the sound, including HDMI audio. The audio
> >>controller comes with AMD graphics doesn't get used.
> >>
> >>When SG is disabled, we have:
> >>00:1f.3 Audio device: Intel Corporation CM238 HD Audio Controller (rev 31)
> >>01:00.0 VGA compatible controller: Advanced Micro Devices, Inc.
> >>[AMD/ATI] Ellesmere [Polaris10]
> >>01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere
> >>[Radeon RX 580]
> >>
> >>Now it's a typical discrete-only system. HDMI audio comes from AMD audio
> >>controller, others from Intel audio controller.
> >>
> >>When SG is enabled, the unused AMD audio controller still exposes its
> >>sysfs, so userspace still opens the control file and stream. If
> >>userspace tries to output sound through the stream, it hangs when
> >>runtime suspend kicks in:
> >>[ 12.796265] snd_hda_intel 0000:01:00.1: Disabling via vga_switcheroo
> >>[ 12.796367] snd_hda_intel 0000:01:00.1: Cannot lock devices!
> >
> >This should be fixed by the following series:
> >https://lists.freedesktop.org/archives/dri-devel/2018-March/168012.html
> >
> >Please verify that by testing the series on the machine in question.
> >I'm hoping to get those patches in for 4.17. I suspect that your
> >patch may not be necessary then.
>
> I no longer see the warning message with your patch. Thanks!
Awesome, thanks for testing!
> >>Since the discrete audio controller isn't useful when SG enabled, we
> >>should just disable the device.
> >
> >I don't quite follow, when SG is enabled but hda_intel doesn't bind
> >to the AMD audio device, how are you going to stream audio to
> >external displays? Are external DP/HDMI ports muxed to the integrated
> >GPU when SG is enabled?
>
> Yes. It's a muxed port.
> The can directly output via integrated Intel GPU when SG is enabled.
> The discrete audio controller never gets used when SG is enabled.
Okay, that's a crucial piece of information which I think should be
made more explicit in the commit message and probably also in a code
comment so that someone reading through hda_intel.c doesn't have to
look in the git history to understand what's going on.
I'd remove the portion of the commit message pertaining to runtime
suspend and instead write something like:
If Switchable Graphics is enabled, external DP/HDMI ports are
muxed to the Intel GPU and HDA controller and therefore those
on the AMD HDA controller shouldn't be exposed to user space.
Thanks,
Lukas
next prev parent reply other threads:[~2018-03-08 11:30 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-08 9:10 [PATCH v2 1/3] dell-led: Change dell-led.h to dell-common.h Kai-Heng Feng
2018-03-08 9:10 ` [PATCH v2 2/3] platform/x86: dell-*: Add interface for switchable graphics status query Kai-Heng Feng
2018-03-08 16:38 ` Pali Rohár
2018-03-09 8:14 ` Kai Heng Feng
2018-03-08 9:10 ` [PATCH v2 3/3] ALSA: hda: Disabled unused audio controller for Dell platforms with Switchable Graphics Kai-Heng Feng
2018-03-08 9:38 ` [alsa-devel] " Lukas Wunner
2018-03-08 10:38 ` Kai Heng Feng
2018-03-08 11:30 ` Lukas Wunner [this message]
2018-03-09 8:22 ` Kai Heng Feng
2018-03-09 9:02 ` Pali Rohár
2018-03-09 9:30 ` Kai Heng Feng
2018-03-09 9:34 ` Mario.Limonciello
2018-03-09 9:46 ` Pali Rohár
2018-03-09 9:59 ` Mario.Limonciello
2018-03-10 10:38 ` Pali Rohár
2018-03-11 14:03 ` Mario.Limonciello
2018-03-11 14:30 ` Pali Rohár
2018-03-12 1:30 ` Mario.Limonciello
2018-03-13 7:56 ` Kai Heng Feng
2018-03-13 8:13 ` Mario.Limonciello
2018-03-10 6:50 ` Lukas Wunner
2018-03-10 10:40 ` Pali Rohár
2018-03-11 14:06 ` Mario.Limonciello
2018-03-13 8:24 ` Kai Heng Feng
2018-04-07 16:44 ` [PATCH v2 1/3] dell-led: Change dell-led.h to dell-common.h Darren Hart
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=20180308113020.GA23073@wunner.de \
--to=lukas@wunner.de \
--cc=alsa-devel@alsa-project.org \
--cc=andy@infradead.org \
--cc=dvhart@infradead.org \
--cc=kai.heng.feng@canonical.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mario.limonciello@dell.com \
--cc=mjg59@srcf.ucam.org \
--cc=pali.rohar@gmail.com \
--cc=platform-driver-x86@vger.kernel.org \
--cc=tiwai@suse.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox