linux/sound/pci/pcxhr/pcxhr.h

/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * Driver for Digigram pcxhr soundcards
 *
 * main header file
 *
 * Copyright (c) 2004 by Digigram <[email protected]>
 */

#ifndef __SOUND_PCXHR_H
#define __SOUND_PCXHR_H

#include <linux/interrupt.h>
#include <linux/mutex.h>
#include <sound/pcm.h>

#define PCXHR_DRIVER_VERSION
#define PCXHR_DRIVER_VERSION_STRING


#define PCXHR_MAX_CARDS
#define PCXHR_PLAYBACK_STREAMS

#define PCXHR_GRANULARITY
/* transfer granularity of pipes and the dsp time (MBOX4) */
#define PCXHR_GRANULARITY_MIN
/* TODO : granularity could be 64 or 128 */
#define PCXHR_GRANULARITY_HR22

struct snd_pcxhr;
struct pcxhr_mgr;

struct pcxhr_stream;
struct pcxhr_pipe;

enum pcxhr_clock_type {};

struct pcxhr_mgr {};


enum pcxhr_stream_status {};

struct pcxhr_stream {};


enum pcxhr_pipe_status {};

struct pcxhr_pipe {};


struct snd_pcxhr {};

struct pcxhr_hostport
{};

/* exported */
int pcxhr_create_pcm(struct snd_pcxhr *chip);
int pcxhr_set_clock(struct pcxhr_mgr *mgr, unsigned int rate);
int pcxhr_get_external_clock(struct pcxhr_mgr *mgr,
			     enum pcxhr_clock_type clock_type,
			     int *sample_rate);

#endif /* __SOUND_PCXHR_H */