AMD-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Alex Deucher <alexdeucher@gmail.com>
Cc: "alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>, "Qu, Jim" <Jim.Qu@amd.com>,
	Lukas Wunner <lukas@wunner.de>,
	"amd-gfx@lists.freedesktop.org" <amd-gfx@lists.freedesktop.org>,
	"Deucher, Alexander" <Alexander.Deucher@amd.com>
Subject: Re: ??????: [PATCH] vgaswitchroo: set audio client id according to bound gpu client id
Date: Mon, 09 Jul 2018 18:02:23 +0200	[thread overview]
Message-ID: <s5hmuv0cs8g.wl-tiwai@suse.de> (raw)
In-Reply-To: <CADnq5_Mgtwdi9sY2BYRV=NhWB2ZGuGdNi2CpNP=UQDkmqh_2kg@mail.gmail.com>

On Mon, 09 Jul 2018 17:59:00 +0200,
Alex Deucher wrote:
> 
> On Mon, Jul 9, 2018 at 11:52 AM, Takashi Iwai <tiwai@suse.de> wrote:
> > On Mon, 09 Jul 2018 17:47:34 +0200,
> > Lukas Wunner wrote:
> >>
> >> On Mon, Jul 09, 2018 at 05:04:22PM +0200, Takashi Iwai wrote:
> >> > On Mon, 09 Jul 2018 15:58:51 +0200, Alex Deucher wrote:
> >> > > On Mon, Jul 9, 2018 at 6:16 AM, Qu, Jim <Jim.Qu@amd.com> wrote:
> >> > > > > You're saying above that the HDA controller isn't runtime resumed on
> >> > > > > hotplug of a display.  Is that necessary to retrieve ELD or something?
> >> > > > > I'm not sure if there's code in the HDA driver to acquire a runtime PM
> >> > > > > ref on HPD, but maybe it's necessary.  Or maybe the code is there but
> >> > > > > somehow no HPD interrupt is received by the HDA driver?
> >> > > >
> >> > > > So far, I do not find any code about audio response HPD in kernel.
> >> > > > the HPD interrupt will sent to user mode via uevent, not sure whether
> >> > > > audio user mode driver can receive the event or not.
> >> > >
> >> > > On the gfx side at least, we can get a hotplug event via ACPI
> >> > > (depending on the OEM design) if displays are attached/detached while
> >> > > the dGPU is powered down.  I suppose the gfx driver could call into
> >> > > the audio driver during one of those events.  On the gfx side at least
> >> > > we just generate the gfx hotplug event and let userspace deal with it.
> >> >
> >> > IMO, a more proper way would be to have the direct communication
> >> > between the graphics driver and the audio driver like i915 driver
> >> > does.  Then the audio driver can get plug/unplug event at more
> >> > accurate timing without races.
> >>
> >> Since v4.17, every time the GPU is powered up, the HDA controller is
> >> runtime resumed to PCI_D0.  (See the call to pci_wakeup_bus() in
> >> vga_switcheroo_runtime_resume() added by dcac86b7d0.)
> >>
> >> If the HDA controller can't detect presence of an HDMI display even
> >> if it's in PCI_D0, then I suppose that needs to be adressed in the HDA
> >> driver.  Thus so far I don't see the need to call from amdgpu into the
> >> HDA driver.
> >
> > It's not about the PCI power state, but the problem is that the
> > detection of the HDMI and its ELD read is somewhat asynchronous.
> > Basically it's handled via the hardware unsolicited event emitted over
> > HD-audio bus, which was originally generated by GPU at dealing with
> > the hotplug/unplug.  So, this part is racy and not 100% reliable --
> > although usually it shouldn't be a big problem.
> >
> > That said, it's not the exact "need" but it would make things more
> > reliable and accurate (even consumes less power as we don't need to
> > power up/down just for the HDMI detection).
> 
> Well for display detection, we don't actually have to wake the GPU, we
> get the notification from the embedded controller via ACPI if the GPU
> is powered down, so in the GPU driver we just pass the event along to
> userspace if the GPU is asleep.  I think if we wanted to pass the info
> along to the audio driver, we'd need to wake both the GPU and the
> audio to update the audio connect status.

I guess that It's not enough to have an ACPI event but we need to read
ELD upon hotplugging (not at unplugging, of course, though).  So a GPU
wakeup would be mandatory, if I'm not mistaken.


Takashi

  reply	other threads:[~2018-07-09 16:02 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-28  6:22 [PATCH] vgaswitchroo: set audio client id according to bound gpu client id Jim Qu
2018-06-28 12:43 ` Alex Deucher
     [not found]   ` <CADnq5_NcNfMD9UDN17c-513rD--kQY7nzw6OTgimV0pVqLjbOg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-06-29  7:39     ` 答复: " Qu, Jim
2018-06-29  8:06       ` Lukas Wunner
     [not found]         ` <20180629080634.GA7357-JFq808J9C/izQB+pC5nmwQ@public.gmane.org>
2018-06-29  8:55           ` 答复: " Qu, Jim
     [not found]             ` <DM3PR12MB08737DC9FB94BB6F3AEF5634994E0-4hRkV8tDpBiYEITDcfEJ8AdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2018-06-29  9:21               ` Lukas Wunner
     [not found]                 ` <20180629092138.GA11849-JFq808J9C/izQB+pC5nmwQ@public.gmane.org>
2018-06-29 10:40                   ` Qu, Jim
2018-06-29 11:11                     ` Lukas Wunner
2018-07-09  8:52                       ` 答复: " Qu, Jim
     [not found]                         ` <DM3PR12MB0873FEC702770190057B49F799440-4hRkV8tDpBiYEITDcfEJ8AdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2018-07-09  9:27                           ` Lukas Wunner
     [not found]                             ` <20180709092759.GA3649-JFq808J9C/izQB+pC5nmwQ@public.gmane.org>
2018-07-09 10:16                               ` 答复: " Qu, Jim
     [not found]                                 ` <DM3PR12MB087309CBC2CD3A934327EBCE99440-4hRkV8tDpBiYEITDcfEJ8AdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2018-07-09 13:58                                   ` Alex Deucher
     [not found]                                     ` <CADnq5_OpZz=AgNomX7+5BzeN77CRZT7mXDT7kn620TE-OjqS0w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-07-09 15:04                                       ` [alsa-devel] " Takashi Iwai
2018-07-09 15:47                                         ` [alsa-devel] ??????: " Lukas Wunner
2018-07-09 15:52                                           ` Takashi Iwai
2018-07-09 15:59                                             ` Alex Deucher
2018-07-09 16:02                                               ` Takashi Iwai [this message]
     [not found]                                             ` <s5hsh4scsoe.wl-tiwai-l3A5Bk7waGM@public.gmane.org>
2018-07-09 16:06                                               ` Lukas Wunner
2018-07-09 16:15                                                 ` Alex Deucher
     [not found]                                                   ` <CADnq5_OqsZyMJx5TCqdr4iydzVyb3UHtqadvuq0szG+kNPe9dg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-07-09 17:04                                                     ` Takashi Iwai
     [not found]                                           ` <20180709154734.GA30496-JFq808J9C/izQB+pC5nmwQ@public.gmane.org>
2018-07-09 15:53                                             ` 答复: " Qu, Jim
2018-07-09 15:57                                               ` Takashi Iwai
2018-07-09 16:03                                                 ` 答复: " Alex Deucher
2018-07-09 17:06                                                   ` 答复: [alsa-devel] " Takashi Iwai
     [not found]                                         ` <s5hr2kco3gp.wl-tiwai-l3A5Bk7waGM@public.gmane.org>
2018-07-09 15:56                                           ` [alsa-devel] 答复: " Daniel Vetter
     [not found]                                             ` <20180709155643.GE3008-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2018-07-09 15:58                                               ` Takashi Iwai
2018-07-09 16:05                                                 ` 答复: " Qu, Jim
     [not found]                                                   ` <DM3PR12MB0873E9DD8B7448CB8A6829DA99440-4hRkV8tDpBiYEITDcfEJ8AdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2018-07-09 17:09                                                     ` Takashi Iwai
2018-07-10  7:44                                                       ` 答复: " Qu, Jim
2018-07-10  7:50                                                         ` Qu, Jim
     [not found]                                                   ` <DM3PR12MB0873205E27A9241DB3B10EA5995B0-4hRkV8tDpBiYEITDcfEJ8AdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2018-07-10  8:01                                                     ` Takashi Iwai
     [not found]                                                       ` <s5hr2kbr03k.wl-tiwai-l3A5Bk7waGM@public.gmane.org>
2018-07-10  9:13                                                         ` jimqu
     [not found]                                                           ` <a37f08e7-734e-977c-597f-46d5c3ec34bc-5C7GfCeVMHo@public.gmane.org>
2018-07-10  9:50                                                             ` Takashi Iwai
2018-07-10 11:11                                                               ` jimqu
     [not found]                                                                 ` <733011b9-1880-76a8-d00f-076591e93c53-5C7GfCeVMHo@public.gmane.org>
2018-07-10 11:21                                                                   ` Takashi Iwai
2018-07-11  7:19                                                                     ` 答复: 答复: " Takashi Iwai
     [not found]                                                                       ` <s5hfu0qp7cv.wl-tiwai-l3A5Bk7waGM@public.gmane.org>
2018-07-11  8:41                                                                         ` 答复: 答复: [alsa-devel] " jimqu
     [not found]                                                                           ` <1936c752-f858-2caf-35e7-98bea431fb7c-5C7GfCeVMHo@public.gmane.org>
2018-07-11  9:04                                                                             ` Takashi Iwai
     [not found]                                                                               ` <s5h1scap2h2.wl-tiwai-l3A5Bk7waGM@public.gmane.org>
2018-07-11  9:26                                                                                 ` jimqu
2018-07-11  9:53                                                                                   ` Takashi Iwai
     [not found]                                                                                     ` <s5h601mayk0.wl-tiwai-l3A5Bk7waGM@public.gmane.org>
2018-07-11 10:21                                                                                       ` jimqu
2018-07-11 11:12                                                                                         ` Takashi Iwai
     [not found]                                                                                           ` <s5hwou29gce.wl-tiwai-l3A5Bk7waGM@public.gmane.org>
2018-07-13 15:07                                                                                             ` Takashi Iwai
2018-07-14 12:03                                                                                               ` jimqu
2018-07-14 16:31                                                                                                 ` Takashi Iwai
     [not found]                                                                                                   ` <s5hy3edlqxw.wl-tiwai-l3A5Bk7waGM@public.gmane.org>
2018-07-15 14:36                                                                                                     ` Alex Deucher
2018-07-16 15:10                                                                                                       ` Harry Wentland
     [not found]                                                                                                         ` <84b8615e-9de1-a279-e103-55367e2f0f85-5C7GfCeVMHo@public.gmane.org>
2018-07-16 15:25                                                                                                           ` Takashi Iwai
2018-07-16 16:56                                                                                                             ` Alex Deucher
2018-07-09 14:02                                   ` Alex Deucher
     [not found]                                     ` <CADnq5_PS_ZO2Y35HHnp3DcvN9wopQGavpDtMNCuuz4A1mDnD7g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-07-09 15:09                                       ` [alsa-devel] " Takashi Iwai
     [not found] ` <1530166933-21655-1-git-send-email-Jim.Qu-5C7GfCeVMHo@public.gmane.org>
2018-06-29  2:54   ` Zhang, Jerry (Junwei)
     [not found]     ` <5B359F5E.5080502-5C7GfCeVMHo@public.gmane.org>
2018-06-29  4:01       ` Alex Deucher
     [not found]         ` <CADnq5_PTsyc9HFsGrvTsjnPOJKF3B_nzgVsp_wZWguTb6e3F0Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-06-29  5:59           ` 答复: " Qu, Jim
     [not found]             ` <DM3PR12MB0873339C6A535584C2C787B3994E0-4hRkV8tDpBiYEITDcfEJ8AdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2018-06-29  7:40               ` Zhang, Jerry (Junwei)
     [not found]                 ` <5B35E25E.9020708-5C7GfCeVMHo@public.gmane.org>
2018-06-29  8:06                   ` 答复: " Qu, Jim
     [not found]                     ` <DM3PR12MB08739DC1ADB8BBF9AE6E8B0D994E0-4hRkV8tDpBiYEITDcfEJ8AdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2018-06-29  8:54                       ` Zhang, Jerry (Junwei)
     [not found]                         ` <5B35F3C5.8060709-5C7GfCeVMHo@public.gmane.org>
2018-06-29  8:58                           ` 答复: " Qu, Jim
     [not found]                             ` <DM3PR12MB0873E459AC9D7F6CECDDBAB3994E0-4hRkV8tDpBiYEITDcfEJ8AdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2018-06-29  9:16                               ` Zhang, Jerry (Junwei)
2018-06-29  7:35           ` Zhang, Jerry (Junwei)

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=s5hmuv0cs8g.wl-tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=Alexander.Deucher@amd.com \
    --cc=Jim.Qu@amd.com \
    --cc=alexdeucher@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=lukas@wunner.de \
    /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