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

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Fri Nov 17 03:31:48 CET 2017


Hi Sakamoto-san

> > > 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.

I asked detail to AsahiKASEI.
This "the first command" was confusable expression.
We need dummy write every after command, and everytime needs 5LRCKs.

	1.   PowerDownRelease by Power Management1 <= call 1.x after 5LRCK
	1.x  Dummy write      to Power Management1 
	2.   PowerDownRelease by Power Management3 <= call 2.x after 5LRCK
	2.x  Dummy write      to Power Management3

To avoid too many dummy write, this patch is merging it

	1.   PowerDownRelease by Power Management1
	2.   PowerDownRelease by Power Management3    <= call 2.x after 5LRCK
	2.x  Dummy write      to Power Management1/3  <= merge both dummy write

Best regards
---
Kuninori Morimoto


More information about the Alsa-devel mailing list