From: Vinod Koul <vinod.koul@intel.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: liam.r.girdwood@linux.intel.com, patches.audio@intel.com,
alsa-devel@alsa-project.org, broonie@kernel.org,
Jeeja KP <jeeja.kp@intel.com>
Subject: Re: [PATCH 2/2] ALSA: hda: fix to wait for RIRB & CORB DMA to set
Date: Thu, 28 Apr 2016 19:32:21 +0530 [thread overview]
Message-ID: <20160428140221.GY2274@localhost> (raw)
In-Reply-To: <s5h8tzxu9f7.wl-tiwai@suse.de>
On Thu, Apr 28, 2016 at 03:53:16PM +0200, Takashi Iwai wrote:
> On Thu, 28 Apr 2016 15:55:54 +0200,
> Vinod Koul wrote:
> >
> > On Thu, Apr 28, 2016 at 03:16:24PM +0200, Takashi Iwai wrote:
> > > On Thu, 28 Apr 2016 15:06:05 +0200,
> > > Vinod Koul wrote:
> > > >
> > > > From: Jeeja KP <jeeja.kp@intel.com>
> > > >
> > > > After setting the stop bit of RIRB/CORB DMA, we should wait for
> > > > stop bit to be set.
> > >
> > > What does this actually fix?
> >
> > We some some stablity issues on SKL that were attributed to DMAs not being
> > quisced properly so recommendation was to to wait till DMAs are stopped
>
> Then please write it up in the changelog.
Sure thing
>
> And, did it actually improve the stability? That's the biggest
> question :)
Yes it did :)
> > > > @@ -88,8 +117,8 @@ void snd_hdac_bus_stop_cmd_io(struct hdac_bus *bus)
> > > > {
> > > > spin_lock_irq(&bus->reg_lock);
> > > > /* disable ringbuffer DMAs */
> > > > - snd_hdac_chip_writeb(bus, RIRBCTL, 0);
> > > > - snd_hdac_chip_writeb(bus, CORBCTL, 0);
> > > > + hdac_stop_rirb_dma(bus);
> > > > + hdac_stop_corb_dma(bus);
> > >
> > > Doing these one after another sequentially is a waste of time.
> > > Clear two once, then sync them.
> >
> > Yes agreed, that sounds better, something like adding a new wait function:
> >
> > hdac_stop_rirb_dma(bus);
> > hdac_stop_corb_dma(bus);
> > hdac_wait_for_cmd_dmas(bus);
>
> Yep, that looks better.
Okay will update and post v2
--
~Vinod
prev parent reply other threads:[~2016-04-28 13:56 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-28 13:06 [PATCH 1/2] ALSA: hda: fix the missing ptr initialization Vinod Koul
2016-04-28 13:06 ` [PATCH 2/2] ALSA: hda: fix to wait for RIRB & CORB DMA to set Vinod Koul
2016-04-28 13:16 ` Takashi Iwai
2016-04-28 13:55 ` Vinod Koul
2016-04-28 13:53 ` Takashi Iwai
2016-04-28 14:02 ` Vinod Koul [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=20160428140221.GY2274@localhost \
--to=vinod.koul@intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=jeeja.kp@intel.com \
--cc=liam.r.girdwood@linux.intel.com \
--cc=patches.audio@intel.com \
--cc=tiwai@suse.de \
/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.