* SiS7018 S/PDIF support by Thomas Winischhofer <thomas@winischhofer.net>
*/
-#include <sound/driver.h>
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/interrupt.h>
Description: This routine will complete and write the 5 hardware channel
registers to hardware.
- Paramters: trident - pointer to target device class for 4DWave.
+ Parameters: trident - pointer to target device class for 4DWave.
voice - synthesizer voice structure
Each register field.
Description: This routine will write the new CSO offset
register to hardware.
- Paramters: trident - pointer to target device class for 4DWave.
+ Parameters: trident - pointer to target device class for 4DWave.
voice - synthesizer voice structure
CSO - new CSO value
Description: This routine will write the new ESO offset
register to hardware.
- Paramters: trident - pointer to target device class for 4DWave.
+ Parameters: trident - pointer to target device class for 4DWave.
voice - synthesizer voice structure
ESO - new ESO value
Description: This routine will write the new voice volume
register to hardware.
- Paramters: trident - pointer to target device class for 4DWave.
+ Parameters: trident - pointer to target device class for 4DWave.
voice - synthesizer voice structure
Vol - new voice volume
Description: This routine will write the new voice pan
register to hardware.
- Paramters: trident - pointer to target device class for 4DWave.
+ Parameters: trident - pointer to target device class for 4DWave.
voice - synthesizer voice structure
Pan - new pan value
Description: This routine will write the new reverb volume
register to hardware.
- Paramters: trident - pointer to target device class for 4DWave.
+ Parameters: trident - pointer to target device class for 4DWave.
voice - synthesizer voice structure
RVol - new reverb volume
Description: This routine will write the new chorus volume
register to hardware.
- Paramters: trident - pointer to target device class for 4DWave.
+ Parameters: trident - pointer to target device class for 4DWave.
voice - synthesizer voice structure
CVol - new chorus volume
Description: This routine converts rate in HZ to hardware delta value.
- Paramters: trident - pointer to target device class for 4DWave.
+ Parameters: trident - pointer to target device class for 4DWave.
rate - Real or Virtual channel number.
Returns: Delta value.
Description: This routine converts rate in HZ to hardware delta value.
- Paramters: trident - pointer to target device class for 4DWave.
+ Parameters: trident - pointer to target device class for 4DWave.
rate - Real or Virtual channel number.
Returns: Delta value.
Description: This routine converts rate in HZ to spurious threshold.
- Paramters: trident - pointer to target device class for 4DWave.
+ Parameters: trident - pointer to target device class for 4DWave.
rate - Real or Virtual channel number.
Returns: Delta value.
Description: This routine returns a control mode for a PCM channel.
- Paramters: trident - pointer to target device class for 4DWave.
+ Parameters: trident - pointer to target device class for 4DWave.
substream - PCM substream
Returns: Control value.
Description: Device I/O control handler for playback/capture parameters.
- Paramters: substream - PCM substream class
+ Parameters: substream - PCM substream class
cmd - what ioctl message to process
arg - additional message infoarg
Description: This routine return the capture position
- Paramters: pcm1 - PCM device class
+ Parameters: pcm1 - PCM device class
Returns: position of buffer
Description: This routine registers the 4DWave device for PCM support.
- Paramters: trident - pointer to target device class for 4DWave.
+ Parameters: trident - pointer to target device class for 4DWave.
Returns: None
Description: This routine registers the 4DWave device for foldback PCM support.
- Paramters: trident - pointer to target device class for 4DWave.
+ Parameters: trident - pointer to target device class for 4DWave.
Returns: None
Description: This routine registers the 4DWave-NX device for SPDIF support.
- Paramters: trident - pointer to target device class for 4DWave-NX.
+ Parameters: trident - pointer to target device class for 4DWave-NX.
Returns: None
Description: This routine registers the 4DWave device for mixer support.
- Paramters: trident - pointer to target device class for 4DWave.
+ Parameters: trident - pointer to target device class for 4DWave.
Returns: None
snd_iprintf(buffer, "Memory Free : %d\n", snd_util_mem_avail(trident->tlb.memhdr));
}
}
-#if defined(CONFIG_SND_SEQUENCER) || (defined(MODULE) && defined(CONFIG_SND_SEQUENCER_MODULE))
- snd_iprintf(buffer,"\nWavetable Synth\n");
- snd_iprintf(buffer, "Memory Maximum : %d\n", trident->synth.max_size);
- snd_iprintf(buffer, "Memory Used : %d\n", trident->synth.current_size);
- snd_iprintf(buffer, "Memory Free : %d\n", (trident->synth.max_size-trident->synth.current_size));
-#endif
}
static void __devinit snd_trident_proc_init(struct snd_trident * trident)
Description: Allocate and set up the TLB page table on 4D NX.
Each entry has 4 bytes (physical PCI address).
- Paramters: trident - pointer to target device class for 4DWave.
+ Parameters: trident - pointer to target device class for 4DWave.
Returns: 0 or negative error code
Description: This routine will create the device specific class for
the 4DWave card. It will also perform basic initialization.
- Paramters: card - which card to create
+ Parameters: card - which card to create
pci - interface to PCI bus resource info
dma1ptr - playback dma buffer
dma2ptr - capture dma buffer
Description: This routine will free the device specific class for
the 4DWave card.
- Paramters: trident - device specific private data for 4DWave card
+ Parameters: trident - device specific private data for 4DWave card
Returns: None.
Description: ISR for Trident 4DWave device
- Paramters: trident - device specific private data for 4DWave card
+ Parameters: trident - device specific private data for 4DWave card
Problems: It seems that Trident chips generates interrupts more than
one time in special cases. The spurious interrupts are
return IRQ_HANDLED;
}
-/*---------------------------------------------------------------------------
- snd_trident_attach_synthesizer
-
- Description: Attach synthesizer hooks
-
- Paramters: trident - device specific private data for 4DWave card
-
- Returns: None.
-
- ---------------------------------------------------------------------------*/
-int snd_trident_attach_synthesizer(struct snd_trident *trident)
-{
-#if defined(CONFIG_SND_SEQUENCER) || (defined(MODULE) && defined(CONFIG_SND_SEQUENCER_MODULE))
- if (snd_seq_device_new(trident->card, 1, SNDRV_SEQ_DEV_ID_TRIDENT,
- sizeof(struct snd_trident *), &trident->seq_dev) >= 0) {
- strcpy(trident->seq_dev->name, "4DWave");
- *(struct snd_trident **)SNDRV_SEQ_DEVICE_ARGPTR(trident->seq_dev) = trident;
- }
-#endif
- return 0;
-}
-
struct snd_trident_voice *snd_trident_alloc_voice(struct snd_trident * trident, int type, int client, int port)
{
struct snd_trident_voice *pvoice;