diff options
author | Roel Kluin <roel.kluin@gmail.com> | 2009-08-26 12:01:20 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-08-26 12:42:43 +0200 |
commit | f1d269bac24e5ddb3a0650aaeb4117aa806b99f1 (patch) | |
tree | 4744cfe08ef1cf2929fdf31c849874396b7a3d39 /sound/oss/vwsnd.c | |
parent | sound: fix OSS MIDI output data loss (diff) | |
download | linux-f1d269bac24e5ddb3a0650aaeb4117aa806b99f1.tar.xz linux-f1d269bac24e5ddb3a0650aaeb4117aa806b99f1.zip |
sound: vwsnd: Fix setting of cfgval and ctlval in li_setup_dma()
Since !LI_CCFG_* evaluates to 0, this did not change anything to
cfgval and ctlval.
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/oss/vwsnd.c')
-rw-r--r-- | sound/oss/vwsnd.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sound/oss/vwsnd.c b/sound/oss/vwsnd.c index 187f72750e8f..6713110bdc75 100644 --- a/sound/oss/vwsnd.c +++ b/sound/oss/vwsnd.c @@ -628,7 +628,7 @@ static void li_setup_dma(dma_chan_t *chan, ASSERT(!(buffer_paddr & 0xFF)); chan->baseval = (buffer_paddr >> 8) | 1 << (37 - 8); - chan->cfgval = (!LI_CCFG_LOCK | + chan->cfgval = ((chan->cfgval & ~LI_CCFG_LOCK) | SHIFT_FIELD(desc->ad1843_slot, LI_CCFG_SLOT) | desc->direction | mode | @@ -638,9 +638,9 @@ static void li_setup_dma(dma_chan_t *chan, tmask = 13 - fragshift; /* See Lithium DMA Notes above. */ ASSERT(size >= 2 && size <= 7); ASSERT(tmask >= 1 && tmask <= 7); - chan->ctlval = (!LI_CCTL_RESET | + chan->ctlval = ((chan->ctlval & ~LI_CCTL_RESET) | SHIFT_FIELD(size, LI_CCTL_SIZE) | - !LI_CCTL_DMA_ENABLE | + (chan->ctlval & ~LI_CCTL_DMA_ENABLE) | SHIFT_FIELD(tmask, LI_CCTL_TMASK) | SHIFT_FIELD(0, LI_CCTL_TPTR)); |