On Wed, 25 Jul 2018 10:02:34 +0200, jimqu wrote: > > > > On 2018å¹´07æ??25æ?¥ 13:46, Takashi Iwai wrote: > > On Wed, 25 Jul 2018 07:38:37 +0200, > > Qu, Jim wrote: > >> Jim: Just like Alex said, we want driver can get eld info when hotplug in new device. amdgpu driver is a bit difference from radeon driver, it is not a suitable place to call notify() function in *_audio_enable() , since they are not in the hotplug process context like them in radeon driver, but the mode setting. > >> > >> IMO, the right place to call notify() function is also in the amdgpu_connector_xxxx_detect() in amdgpu_connector.c. > > Hm, but by the modesetting, it actually enables / disables the audio > > as well, no? If so, the notifier is exactly for that purpose. The > > audio driver needs to know not only about the physical connection but > > whether the audio can be actually driven. > > > > That is, even if the monitor is connected, the audio won't come out if > > the mode is off. That is equivalent with the unplugged state for the > > audio driver. > > > > The i915 driver deals with the notifier just like the above, so the > > behavior is intentional. > > > > > > thanks, > > > > Takashi > > I am afraid if device hotplug out, how is audio state if it follow up > eld info? Since the modesetting is never performed for the display > which is plugged out, so there is no notify() call on it. In principle, the HDMI audio just needs to follows the video state, and it doesn't need to care actual physical connections. As long as video can go out, it's fine, audio can, too. When video is disabled (even if connected), audio can't be used as well, so it must follow to off, too. The notifier is used to follow this video state change. Practically seen, the user-space shall switch off the video accordingly upon hot unplug, then the audio notifier is sent, and the audio gets off, too. thanks, Takashi