Re: [PATCH] ASoC: da7219-aad: Fix detection of plugged jack after resume

From: Mark Brown
Date: Tue Nov 12 2024 - 08:16:32 EST


On Tue, Nov 12, 2024 at 07:40:47AM +0000, Marek Maslanka wrote:
> Don't notify and mark the jack as unplugged during the "set_jack" action,
> because this action is called very late in during the resume process, forcing
> the jack to be unplugged after the resume, even if the jack is plugged in. Let's
> leave the responsibility of managing the insertion of the jack to IRQ.

> @@ -33,10 +33,6 @@ void da7219_aad_jack_det(struct snd_soc_component *component, struct snd_soc_jac
> struct da7219_priv *da7219 = snd_soc_component_get_drvdata(component);
>
> da7219->aad->jack = jack;
> - da7219->aad->jack_inserted = false;
> -
> - /* Send an initial empty report */
> - snd_soc_jack_report(jack, 0, DA7219_AAD_REPORT_ALL_MASK);
>
> /* Enable/Disable jack detection */
> snd_soc_component_update_bits(component, DA7219_ACCDET_CONFIG_1,

This path is also (AFAICT only?) called when registering the jack by
da7219_set_jack(), I'm not immediately seeing the path for resume. This
suggests that what's going on here is an issue with the machine driver
unregistering the jack over suspend?

Attachment: signature.asc
Description: PGP signature