@@ -187,10 +187,7 @@ static int snd_emu10k1_init(struct snd_emu10k1 *emu, int enable_ir)
187
187
} else if (emu -> card_capabilities -> ca0151_chip ) { /* audigy2 */
188
188
/* Hacks for Alice3 to work independent of haP16V driver */
189
189
/* Setup SRCMulti_I2S SamplingRate */
190
- tmp = snd_emu10k1_ptr_read (emu , A_SPDIF_SAMPLERATE , 0 );
191
- tmp &= 0xfffff1ff ;
192
- tmp |= (0x2 <<9 );
193
- snd_emu10k1_ptr_write (emu , A_SPDIF_SAMPLERATE , 0 , tmp );
190
+ snd_emu10k1_ptr_write (emu , A_I2S_CAPTURE_RATE , 0 , A_I2S_CAPTURE_96000 );
194
191
195
192
/* Setup SRCSel (Enable Spdif,I2S SRCMulti) */
196
193
snd_emu10k1_ptr20_write (emu , SRCSel , 0 , 0x14 );
@@ -206,25 +203,20 @@ static int snd_emu10k1_init(struct snd_emu10k1 *emu, int enable_ir)
206
203
/* Hacks for Alice3 to work independent of haP16V driver */
207
204
dev_info (emu -> card -> dev , "Audigy2 value: Special config.\n" );
208
205
/* Setup SRCMulti_I2S SamplingRate */
209
- tmp = snd_emu10k1_ptr_read (emu , A_SPDIF_SAMPLERATE , 0 );
210
- tmp &= 0xfffff1ff ;
211
- tmp |= (0x2 <<9 );
212
- snd_emu10k1_ptr_write (emu , A_SPDIF_SAMPLERATE , 0 , tmp );
206
+ snd_emu10k1_ptr_write (emu , A_I2S_CAPTURE_RATE , 0 , A_I2S_CAPTURE_96000 );
213
207
214
208
/* Setup SRCSel (Enable Spdif,I2S SRCMulti) */
215
- outl (0x600000 , emu -> port + 0x20 );
216
- outl (0x14 , emu -> port + 0x24 );
209
+ snd_emu10k1_ptr20_write (emu , P17V_SRCSel , 0 , 0x14 );
217
210
218
211
/* Setup SRCMulti Input Audio Enable */
219
- outl (0x7b0000 , emu -> port + 0x20 );
220
- outl (0xFF000000 , emu -> port + 0x24 );
212
+ snd_emu10k1_ptr20_write (emu , P17V_MIXER_I2S_ENABLE , 0 , 0xFF000000 );
221
213
222
214
/* Setup SPDIF Out Audio Enable */
223
215
/* The Audigy 2 Value has a separate SPDIF out,
224
216
* so no need for a mixer switch
225
217
*/
226
- outl ( 0x7a0000 , emu -> port + 0x20 );
227
- outl ( 0xFF000000 , emu -> port + 0x24 );
218
+ snd_emu10k1_ptr20_write ( emu , P17V_MIXER_SPDIF_ENABLE , 0 , 0xFF000000 );
219
+
228
220
tmp = inw (emu -> port + A_IOCFG ) & ~0x8 ; /* Clear bit 3 */
229
221
outw (tmp , emu -> port + A_IOCFG );
230
222
}
0 commit comments