[alsa-devel] [PATCH] ASoC: ak4613: call dummy write for PW_MGMT1/3 when Playback

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Wed Nov 15 01:02:27 CET 2017


Hi Sakamoto-san, Mark

> > In your patch description, 5 word select phases after 'the first command'.
> > According to "Digital Attenuator" section per page 44 of AK4613 English
> > datasheet (AsahiKASEI 2015, MS1052-E-05)[1], your 'the first command' seems
> > to be the previous command issueing of 'power-down release command'. In my
> > understanding, in ak4613 codec driver, issueing of the previous command is
> > done in 'ak4613_set_bias_level()'. If there's a guarantee for DAPM stuffs to
> > call this function on any non-IRQ context, it's better to call the
> > subsequent commands in the function with interval of sleep functionality
> > with finer resolution (e.g. usleep_range()) but I don't know exactly that
> > any components has guarantee to receive word select clock when the function
> > is called.

Thank you for your feedback.
It seems better idea, will create v2 patch

> The problem with set_bias_level() for this might be that the clocks
> aren't all running until audio is triggered...  it's tricky to find a
> good place to put this that's in line.  I'm thinking we might want to
> add a post trigger callback for cases like this, digital_mute() kind of
> has that job right now (since it exists mainly to cover up things like
> controllers that output nonsense during startup) but it'd be a bit of an
> abuse to just use it as-is.  Probably easiest though.

Yeah, clocks comming after trigger is one of other problem, actually.

Best regards
---
Kuninori Morimoto


More information about the Alsa-devel mailing list