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 ---