/* SPDX-License-Identifier: GPL-2.0-or-later */ /********************************************************************* * * msnd.h * * Turtle Beach MultiSound Sound Card Driver for Linux * * Some parts of this header file were derived from the Turtle Beach * MultiSound Driver Development Kit. * * Copyright (C) 1998 Andrew Veliath * Copyright (C) 1993 Turtle Beach Systems, Inc. *
********************************************************************/ #ifndef __MSND_H #define __MSND_H
struct snd_msnd { void __iomem *mappedbase; int play_period_bytes; int playLimit; int playPeriods; int playDMAPos; int banksPlayed; int captureDMAPos; int capturePeriodBytes; int captureLimit; int capturePeriods; struct snd_card *card; struct snd_rawmidi *rmidi;
/* Hardware resources */ long io; int memid, irqid; int irq, irq_ref; unsignedlong base;
/* State variables */ enum { msndClassic, msndPinnacle } type;
fmode_t mode; unsignedlong flags; #define F_RESETTING 0 #define F_HAVEDIGITAL 1 #define F_AUDIO_WRITE_INUSE 2 #define F_WRITING 3 #define F_WRITEBLOCK 4 #define F_WRITEFLUSH 5 #define F_AUDIO_READ_INUSE 6 #define F_READING 7 #define F_READBLOCK 8 #define F_EXT_MIDI_INUSE 9 #define F_HDR_MIDI_INUSE 10 #define F_DISABLE_WRITE_NDELAY 11
spinlock_t lock;
spinlock_t mixer_lock; int nresets; unsigned recsrc; #define LEVEL_ENTRIES 32 int left_levels[LEVEL_ENTRIES]; int right_levels[LEVEL_ENTRIES]; int calibrate_signal; int play_sample_size, play_sample_rate, play_channels; int play_ndelay; int capture_sample_size, capture_sample_rate, capture_channels; int capture_ndelay;
u8 bCurrentMidiPatch;
int last_playbank, last_recbank; struct snd_pcm_substream *playback_substream; struct snd_pcm_substream *capture_substream;
};
void snd_msnd_init_queue(void __iomem *base, int start, int size);
int snd_msnd_send_dsp_cmd(struct snd_msnd *chip, u8 cmd); int snd_msnd_send_word(struct snd_msnd *chip, unsignedchar high, unsignedchar mid, unsignedchar low); int snd_msnd_upload_host(struct snd_msnd *chip, const u8 *bin, int len); int snd_msnd_enable_irq(struct snd_msnd *chip); int snd_msnd_disable_irq(struct snd_msnd *chip); void snd_msnd_dsp_halt(struct snd_msnd *chip, struct file *file); int snd_msnd_DAPQ(struct snd_msnd *chip, int start); int snd_msnd_DARQ(struct snd_msnd *chip, int start); int snd_msnd_pcm(struct snd_card *card, int device);
void snd_msndmix_setup(struct snd_msnd *chip); int snd_msndmix_new(struct snd_card *card); int snd_msndmix_force_recsrc(struct snd_msnd *chip, int recsrc); #endif/* __MSND_H */
Messung V0.5
¤ Dauer der Verarbeitung: 0.2 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.