All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Gabriel M. Beddingfield" <gabrbedd@gmail.com>
To: yuvaraj r <yuvaraj.tr@gmail.com>
Cc: alsa-devel@alsa-project.org
Subject: Re: DAPM widget power off
Date: Sat, 20 Apr 2013 10:19:15 -0700	[thread overview]
Message-ID: <5172CE13.1040208@gmail.com> (raw)
In-Reply-To: <CAK=eu+d7DTESE3YGCKfA-BZiT0AGVPUUV8iu0FbM1tiC+MRzZg@mail.gmail.com>

On 04/18/2013 12:02 AM, yuvaraj r wrote:
> Hi All,
>
> I have two different dais
>
> 1. Hifi Multimedia
>
> 2.  Voice call dai
>
> Before opening voice call dai. I closed Hifi stream. After 5 sec Voice call
>   stream dapm widget got powered off automatically. I am assuming that
> stream close event of Multimedia causing problem.
>
> What will issue in my cause.

The value of snd_soc_card::pmdown_time and 
snd_soc_pcm_runtime::pmdown_time are initialized to 5000 (i.e. 5 secs) 
by default.  That means that after you close a stream, the kernel waits 
5 seconds and then powers everything down.

There's a few reasons why this can happen:

    1. Your DAPM routing doesn't adequately cover the Voice call case.
       Something that is needed for both Voice and Multimedia isn't
       properly associated with the Voice routing... so DAPM shuts
       it down because it's not "in use."

    2. Some of your power-down code is making a poor assumption.  I.e.
       you're making some decisions outside of DAPM about when a
       component should be powered down, and it's the wrong decision.

    3. I've seen a bug in older kernels (e.g. <= 3.1) where the DAPM
       logic will accidentally shut down a capture stream while powering
       down a playback stream.  (E.g. see
       http://review.omapzoom.org/#/c/21405/)

A quick work-around is to set pmdown_time = 0.  However, there will 
still be a race condition... so don't consider it "fixed."  (Though, I'm 
pretty sure I've seen a device ship with this "fix." :-))

-gabriel

      reply	other threads:[~2013-04-20 17:19 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-18  7:02 DAPM widget power off yuvaraj r
2013-04-20 17:19 ` Gabriel M. Beddingfield [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5172CE13.1040208@gmail.com \
    --to=gabrbedd@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=yuvaraj.tr@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.