emupcm.c (fccd6f31a450d58109f64eda2dd9294e160fb0aa) | emupcm.c (b840f8d8fcb3df9e65bb6782a9072897b6ea117d) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * Copyright (c) by Jaroslav Kysela <perex@perex.cz> 4 * Creative Labs, Inc. 5 * Routines for control of EMU10K1 chips / PCM routines 6 * Multichannel PCM support Copyright (c) Lee Revell <rlrevell@joe-job.com> 7 * 8 * BUGS: --- 103 unchanged lines hidden (view full) --- 112 } 113 } 114 if (epcm->extra == NULL) { 115 // The hardware supports only (half-)loop interrupts, so to support an 116 // arbitrary number of periods per buffer, we use an extra voice with a 117 // period-sized loop as the interrupt source. Additionally, the interrupt 118 // timing of the hardware is "suboptimal" and needs some compensation. 119 err = snd_emu10k1_voice_alloc(epcm->emu, | 1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * Copyright (c) by Jaroslav Kysela <perex@perex.cz> 4 * Creative Labs, Inc. 5 * Routines for control of EMU10K1 chips / PCM routines 6 * Multichannel PCM support Copyright (c) Lee Revell <rlrevell@joe-job.com> 7 * 8 * BUGS: --- 103 unchanged lines hidden (view full) --- 112 } 113 } 114 if (epcm->extra == NULL) { 115 // The hardware supports only (half-)loop interrupts, so to support an 116 // arbitrary number of periods per buffer, we use an extra voice with a 117 // period-sized loop as the interrupt source. Additionally, the interrupt 118 // timing of the hardware is "suboptimal" and needs some compensation. 119 err = snd_emu10k1_voice_alloc(epcm->emu, |
120 epcm->type == PLAYBACK_EMUVOICE ? EMU10K1_PCM : EMU10K1_EFX, | 120 epcm->type == PLAYBACK_EMUVOICE ? EMU10K1_PCM_IRQ : EMU10K1_EFX_IRQ, |
121 1, 122 &epcm->extra); 123 if (err < 0) { 124 /* 125 dev_dbg(emu->card->dev, "pcm_channel_alloc: " 126 "failed extra: voices=%d, frame=%d\n", 127 voices, frame); 128 */ --- 1658 unchanged lines hidden --- | 121 1, 122 &epcm->extra); 123 if (err < 0) { 124 /* 125 dev_dbg(emu->card->dev, "pcm_channel_alloc: " 126 "failed extra: voices=%d, frame=%d\n", 127 voices, frame); 128 */ --- 1658 unchanged lines hidden --- |