Re: [PATCH] ASoC: ak4613: call dummy write for PW_MGMT1/3 when Playback

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Nov 14, 2017 at 05:27:42PM +0900, Takashi Sakamoto wrote:

> In my understanding, kernel's service of delayed work relies on kernel's
> timer service. Resolution of the service is quite coarse in this purpose, at
> least for several phases of word select clock. In the worst case when task
> scheduling is too delay, many audio samples are not presented by the DAC in
> the beginning of playback. I can easily imagine that users get confused.

Yes, the delayed work might be delayed a lot more than expected under
load (or possibly for other reasons).

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

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.

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux