Commit 72477892 authored by Jaroslav Kysela's avatar Jaroslav Kysela

ALSA CVS update - Takashi Iwai <tiwai@suse.de>

EMU10K1/EMU10K2 driver,Trident driver
fixed the mapping of silent pages on emu10k1 and trident SG buffers.
parent e4bb3f2b
...@@ -426,7 +426,7 @@ start_voice(snd_emux_voice_t *vp) ...@@ -426,7 +426,7 @@ start_voice(snd_emux_voice_t *vp)
snd_emu10k1_ptr_write(hw, CDF, ch, sample); snd_emu10k1_ptr_write(hw, CDF, ch, sample);
/* invalidate maps */ /* invalidate maps */
temp = ((unsigned int)hw->silent_page_dmaaddr << 1) | MAP_PTI_MASK; temp = ((unsigned int)hw->silent_page.addr << 1) | MAP_PTI_MASK;
snd_emu10k1_ptr_write(hw, MAPA, ch, temp); snd_emu10k1_ptr_write(hw, MAPA, ch, temp);
snd_emu10k1_ptr_write(hw, MAPB, ch, temp); snd_emu10k1_ptr_write(hw, MAPB, ch, temp);
......
...@@ -62,7 +62,7 @@ static inline void set_silent_ptb(emu10k1_t *emu, int page) ...@@ -62,7 +62,7 @@ static inline void set_silent_ptb(emu10k1_t *emu, int page)
page *= UNIT_PAGES; page *= UNIT_PAGES;
for (i = 0; i < UNIT_PAGES; i++, page++) for (i = 0; i < UNIT_PAGES; i++, page++)
/* do not increment ptr */ /* do not increment ptr */
__set_ptb_entry(emu, page, emu->silent_page_dmaaddr); __set_ptb_entry(emu, page, emu->silent_page.addr);
} }
#endif /* PAGE_SIZE */ #endif /* PAGE_SIZE */
......
...@@ -76,8 +76,8 @@ static inline void set_tlb_bus(trident_t *trident, int page, unsigned long ptr, ...@@ -76,8 +76,8 @@ static inline void set_tlb_bus(trident_t *trident, int page, unsigned long ptr,
static inline void set_silent_tlb(trident_t *trident, int page) static inline void set_silent_tlb(trident_t *trident, int page)
{ {
page <<= 1; page <<= 1;
__set_tlb_bus(trident, page, (unsigned long)trident->tlb.silent_page, trident->tlb.silent_page_dmaaddr); __set_tlb_bus(trident, page, (unsigned long)trident->tlb.silent_page.area, trident->tlb.silent_page.addr);
__set_tlb_bus(trident, page+1, (unsigned long)trident->tlb.silent_page, trident->tlb.silent_page_dmaaddr); __set_tlb_bus(trident, page+1, (unsigned long)trident->tlb.silent_page.area, trident->tlb.silent_page.addr);
} }
#else #else
...@@ -111,7 +111,7 @@ static inline void set_silent_tlb(trident_t *trident, int page) ...@@ -111,7 +111,7 @@ static inline void set_silent_tlb(trident_t *trident, int page)
int i; int i;
page *= UNIT_PAGES; page *= UNIT_PAGES;
for (i = 0; i < UNIT_PAGES; i++, page++) for (i = 0; i < UNIT_PAGES; i++, page++)
__set_tlb_bus(trident, page, (unsigned long)trident->tlb.silent_page, trident->tlb.silent_page_dmaaddr); __set_tlb_bus(trident, page, (unsigned long)trident->tlb.silent_page.area, trident->tlb.silent_page.addr);
} }
#endif /* PAGE_SIZE */ #endif /* PAGE_SIZE */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment