Messages in this thread | | | Date | Thu, 30 Aug 2007 08:44:37 -0600 | From | "Jordan Crouse" <> | Subject | Re: ALSA: cs5535audio: correctly set dma->substream |
| |
On 29/08/07 23:28 -0400, Andres Salomon wrote: > > We're never actually setting dma->substream to the current substream; that > means the dma->substream checks that we do in the suspend/resume path > are never satisfied, and the PRD registers are never correctly managed. This > changes it so that we set the substream when constructing the specific > bus master DMA, and unsetting it when we tear down the BM's DMA. > > Signed-off-by: Andres Salomon <dilinger@debian.org> Acked-by: Jordan Crouse <jordan.crouse@amd.com>
> --- > > sound/pci/cs5535audio/cs5535audio_pcm.c | 2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) > > diff --git a/sound/pci/cs5535audio/cs5535audio_pcm.c b/sound/pci/cs5535audio/cs5535audio_pcm.c > index 5450a9e..e61f972 100644 > --- a/sound/pci/cs5535audio/cs5535audio_pcm.c > +++ b/sound/pci/cs5535audio/cs5535audio_pcm.c > @@ -164,6 +164,7 @@ static int cs5535audio_build_dma_packets(struct cs5535audio *cs5535au, > jmpprd_addr = cpu_to_le32(lastdesc->addr + > (sizeof(struct cs5535audio_dma_desc)*periods)); > > + dma->substream = substream; > dma->period_bytes = period_bytes; > dma->periods = periods; > spin_lock_irq(&cs5535au->reg_lock); > @@ -241,6 +242,7 @@ static void cs5535audio_clear_dma_packets(struct cs5535audio *cs5535au, > { > snd_dma_free_pages(&dma->desc_buf); > dma->desc_buf.area = NULL; > + dma->substream = NULL; > } > > static int snd_cs5535audio_hw_params(struct snd_pcm_substream *substream, > >
-- Jordan Crouse Systems Software Development Engineer Advanced Micro Devices, Inc.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |