[PATCH 2/2] drm/amd/display: Add drm_audio_component support to amdgpu_dm

Kazlauskas, Nicholas Nicholas.Kazlauskas at amd.com
Wed Jul 10 14:31:40 UTC 2019


On 7/10/19 9:48 AM, Takashi Iwai wrote:
> On Tue, 09 Jul 2019 18:30:19 +0200,
> Nicholas Kazlauskas wrote:
>>
>> [Why]
>> The drm_audio_component can be used to give pin ELD notifications
>> directly to the sound driver. This fixes audio endpoints disappearing
>> due to missing unsolicited notifications.
>>
>> [How]
>> Send the notification via the audio component whenever we enable or
>> disable audio state on a stream. This matches what i915 does with
>> their drm_audio_component and what Takashi Iwai's proposed hack for
>> radeon/amdpgu did.
>>
>> This is a bit delayed in when the notification actually occurs, however.
>> We wait until after all the programming is complete rather than sending
>> the notification mid sequence.
>>
>> Particular care is needed for the get ELD callback since it can happen
>> outside the locking and fencing DRM does for atomic commits.
>>
>> Cc: Takashi Iwai <tiwai at suse.de>
>> Cc: Leo Li <sunpeng.li at amd.com>
>> Cc: Harry Wentland <harry.wentland at amd.com>
>> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas at amd.com>
> 
> Thanks for the patch, this has been a long-standing TODO for me, too!
> 
> Do you have the patch for HD-audio part as well?  Or you tested with
> my old patch?  Then I'll resurrect my patch set as well.

I've tested this series with and without that patch. The notifications 
work and the driver will query back with get_eld as expected.

Without the patch it should just retain the existing behavior.

> 
> This patch itself looks almost good.  One caveat is that you might
> want the reverse select of CONFIG_SND_HDA_COMPONENT, something like:

I can try adding this select based on DC for now (since it's the only 
part that actually uses it at the moment).

> 
> ================================================================
> --- a/drivers/gpu/drm/Kconfig
> +++ b/drivers/gpu/drm/Kconfig
> @@ -223,6 +223,7 @@ config DRM_AMDGPU
>   	select BACKLIGHT_CLASS_DEVICE
>   	select INTERVAL_TREE
>   	select CHASH
> +	select SND_HDA_COMPONENT if SND_HDA_CORE
>   	help
>   	  Choose this option if you have a recent AMD Radeon graphics card.
>   
> ================================================================
> 
> Other than that, feel free to take my r-b tag:
>    Reviewed-by: Takashi Iwai <tiwai at suse.de>

Thanks for the review!

Just to note, audio is currently broken after hotplug at the moment for 
AMDGPU with DC enabled, but this is unrelated to this particular series. 
I have a patch that resolves that issue that should show up sometime 
soon on amdgfx.

Nicholas Kazlauskas

> 
> 
> thanks,
> 
> Takashi
> 



More information about the amd-gfx mailing list