linux/sound/pci/mixart/mixart_mixer.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Driver for Digigram miXart soundcards
 *
 * mixer callbacks
 *
 * Copyright (c) 2003 by Digigram <[email protected]>
 */

#include <linux/time.h>
#include <linux/interrupt.h>
#include <linux/init.h>
#include <linux/mutex.h>

#include <sound/core.h>
#include "mixart.h"
#include "mixart_core.h"
#include "mixart_hwdep.h"
#include <sound/control.h>
#include <sound/tlv.h>
#include "mixart_mixer.h"

static const u32 mixart_analog_level[256] =;

#define MIXART_ANALOG_CAPTURE_LEVEL_MIN
#define MIXART_ANALOG_CAPTURE_LEVEL_MAX
#define MIXART_ANALOG_CAPTURE_ZERO_LEVEL

#define MIXART_ANALOG_PLAYBACK_LEVEL_MIN
#define MIXART_ANALOG_PLAYBACK_LEVEL_MAX
#define MIXART_ANALOG_PLAYBACK_ZERO_LEVEL

static int mixart_update_analog_audio_level(struct snd_mixart* chip, int is_capture)
{}

/*
 * analog level control
 */
static int mixart_analog_vol_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)
{}

static int mixart_analog_vol_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
{}

static int mixart_analog_vol_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
{}

static const DECLARE_TLV_DB_SCALE(db_scale_analog, -9600, 50, 0);

static const struct snd_kcontrol_new mixart_control_analog_level =;

/* shared */
#define mixart_sw_info

static int mixart_audio_sw_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
{}

static int mixart_audio_sw_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
{}

static const struct snd_kcontrol_new mixart_control_output_switch =;

static const u32 mixart_digital_level[256] =;

#define MIXART_DIGITAL_LEVEL_MIN
#define MIXART_DIGITAL_LEVEL_MAX
#define MIXART_DIGITAL_ZERO_LEVEL


int mixart_update_playback_stream_level(struct snd_mixart* chip, int is_aes, int idx)
{}

int mixart_update_capture_stream_level(struct snd_mixart* chip, int is_aes)
{}


/* shared */
static int mixart_digital_vol_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)
{}

#define MIXART_VOL_REC_MASK
#define MIXART_VOL_AES_MASK

static int mixart_pcm_vol_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
{}

static int mixart_pcm_vol_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
{}

static const DECLARE_TLV_DB_SCALE(db_scale_digital, -10950, 50, 0);

static const struct snd_kcontrol_new snd_mixart_pcm_vol =;


static int mixart_pcm_sw_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
{}

static int mixart_pcm_sw_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
{}

static const struct snd_kcontrol_new mixart_control_pcm_switch =;

static int mixart_update_monitoring(struct snd_mixart* chip, int channel)
{}

/*
 * monitoring level control
 */

static int mixart_monitor_vol_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
{}

static int mixart_monitor_vol_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
{}

static const struct snd_kcontrol_new mixart_control_monitor_vol =;

/*
 * monitoring switch control
 */

static int mixart_monitor_sw_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
{}

static int mixart_monitor_sw_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
{}

static const struct snd_kcontrol_new mixart_control_monitor_sw =;


static void mixart_reset_audio_levels(struct snd_mixart *chip)
{}


int snd_mixart_create_mixer(struct mixart_mgr *mgr)
{}