FreeBSD kernel sound device code
|
#include <dev/sound/pcm/sound.h>
#include <dev/sound/pcm/ac97.h>
#include <dev/sound/pci/spicds.h>
#include <dev/sound/pci/envy24ht.h>
#include <dev/pci/pcireg.h>
#include <dev/pci/pcivar.h>
#include "mixer_if.h"
Go to the source code of this file.
Data Structures | |
struct | envy24ht_sample |
struct | sc_chinfo |
struct | codec_entry |
struct | cfg_info |
struct | sc_info |
struct | envy24ht_emldma |
struct | envy24ht_spi_codec |
Macros | |
#define | ENVY24HT_PLAY_CHNUM 8 |
#define | ENVY24HT_REC_CHNUM 2 |
#define | ENVY24HT_PLAY_BUFUNIT (4 /* byte/sample */ * 8 /* channel */) |
#define | ENVY24HT_REC_BUFUNIT (4 /* byte/sample */ * 2 /* channel */) |
#define | ENVY24HT_SAMPLE_NUM 4096 |
#define | ENVY24HT_TIMEOUT 1000 |
#define | ENVY24HT_DEFAULT_FORMAT SND_FORMAT(AFMT_S16_LE, 2, 0) |
#define | ENVY24HT_NAMELEN 32 |
Typedefs | |
typedef struct envy24ht_sample | sample32_t |
Functions | |
SND_DECLARE_FILE ("$FreeBSD$") | |
static | MALLOC_DEFINE (M_ENVY24HT, "envy24ht", "envy24ht audio") |
static void | envy24ht_p8u (struct sc_chinfo *) |
static void | envy24ht_p16sl (struct sc_chinfo *) |
static void | envy24ht_p32sl (struct sc_chinfo *) |
static void | envy24ht_r16sl (struct sc_chinfo *) |
static void | envy24ht_r32sl (struct sc_chinfo *) |
static void * | envy24htchan_init (kobj_t, void *, struct snd_dbuf *, struct pcm_channel *, int) |
static int | envy24htchan_setformat (kobj_t, void *, u_int32_t) |
static u_int32_t | envy24htchan_setspeed (kobj_t, void *, u_int32_t) |
static u_int32_t | envy24htchan_setblocksize (kobj_t, void *, u_int32_t) |
static int | envy24htchan_trigger (kobj_t, void *, int) |
static u_int32_t | envy24htchan_getptr (kobj_t, void *) |
static struct pcmchan_caps * | envy24htchan_getcaps (kobj_t, void *) |
static int | envy24htmixer_init (struct snd_mixer *) |
static int | envy24htmixer_reinit (struct snd_mixer *) |
static int | envy24htmixer_uninit (struct snd_mixer *) |
static int | envy24htmixer_set (struct snd_mixer *, unsigned, unsigned, unsigned) |
static u_int32_t | envy24htmixer_setrecsrc (struct snd_mixer *, u_int32_t) |
static void * | envy24ht_spi_create (device_t, void *, int, int) |
static void | envy24ht_spi_destroy (void *) |
static void | envy24ht_spi_init (void *) |
static void | envy24ht_spi_reinit (void *) |
static void | envy24ht_spi_setvolume (void *, int, unsigned int, unsigned int) |
static u_int32_t | envy24ht_rdcs (struct sc_info *sc, int regno, int size) |
static void | envy24ht_wrcs (struct sc_info *sc, int regno, u_int32_t data, int size) |
static u_int32_t | envy24ht_rdmt (struct sc_info *sc, int regno, int size) |
static void | envy24ht_wrmt (struct sc_info *sc, int regno, u_int32_t data, int size) |
static int | envy24ht_rdi2c (struct sc_info *sc, u_int32_t dev, u_int32_t addr) |
static int | envy24ht_wri2c (struct sc_info *sc, u_int32_t dev, u_int32_t addr, u_int32_t data) |
static int | envy24ht_rdrom (struct sc_info *sc, u_int32_t addr) |
static struct cfg_info * | envy24ht_rom2cfg (struct sc_info *sc) |
static void | envy24ht_cfgfree (struct cfg_info *cfg) |
static u_int32_t | envy24ht_gpiord (struct sc_info *sc) |
static void | envy24ht_gpiowr (struct sc_info *sc, u_int32_t data) |
static void | envy24ht_gpiosetmask (struct sc_info *sc, u_int32_t mask) |
static void | envy24ht_gpiosetdir (struct sc_info *sc, u_int32_t dir) |
static void | envy24ht_spi_ctl (void *codec, unsigned int cs, unsigned int cclk, unsigned int cdti) |
static u_int32_t | envy24ht_setspeed (struct sc_info *sc, u_int32_t speed) |
static void | envy24ht_setvolume (struct sc_info *sc, unsigned ch) |
static void | envy24ht_mutevolume (struct sc_info *sc, unsigned ch) |
static u_int32_t | envy24ht_gethwptr (struct sc_info *sc, int dir) |
static void | envy24ht_updintr (struct sc_info *sc, int dir) |
static int | envy24ht_checkintr (struct sc_info *sc, int dir) |
static void | envy24ht_start (struct sc_info *sc, int dir) |
static void | envy24ht_stop (struct sc_info *sc, int dir) |
static int | envy24htchan_free (kobj_t obj, void *data) |
CHANNEL_DECLARE (envy24htchan) | |
MIXER_DECLARE (envy24htmixer) | |
static void | envy24ht_intr (void *p) |
static int | envy24ht_pci_probe (device_t dev) |
static void | envy24ht_dmapsetmap (void *arg, bus_dma_segment_t *segs, int nseg, int error) |
static void | envy24ht_dmarsetmap (void *arg, bus_dma_segment_t *segs, int nseg, int error) |
static void | envy24ht_dmafree (struct sc_info *sc) |
static int | envy24ht_dmainit (struct sc_info *sc) |
static void | envy24ht_putcfg (struct sc_info *sc) |
static int | envy24ht_init (struct sc_info *sc) |
static int | envy24ht_alloc_resource (struct sc_info *sc) |
static int | envy24ht_pci_attach (device_t dev) |
static int | envy24ht_pci_detach (device_t dev) |
DRIVER_MODULE (snd_envy24ht, pci, envy24ht_driver, pcm_devclass, 0, 0) | |
MODULE_DEPEND (snd_envy24ht, sound, SOUND_MINVER, SOUND_PREFVER, SOUND_MAXVER) | |
MODULE_DEPEND (snd_envy24ht, snd_spicds, 1, 1, 1) | |
MODULE_VERSION (snd_envy24ht, 1) | |
Variables | |
static unsigned | envy24ht_chanmap [ENVY24HT_CHAN_NUM] |
static int | envy24ht_mixmap [] |
static u_int32_t | envy24ht_speed [] |
static struct codec_entry | spi_codec |
static struct cfg_info | cfg_table [] |
static u_int32_t | envy24ht_recfmt [] |
static struct pcmchan_caps | envy24ht_reccaps = {8000, 96000, envy24ht_recfmt, 0} |
static u_int32_t | envy24ht_playfmt [] |
static struct pcmchan_caps | envy24ht_playcaps = {8000, 192000, envy24ht_playfmt, 0} |
static struct envy24ht_emldma | envy24ht_pemltab [] |
static struct envy24ht_emldma | envy24ht_remltab [] |
struct { | |
u_int32_t speed | |
u_int32_t code | |
} | envy24ht_speedtab [] |
static kobj_method_t | envy24htchan_methods [] |
static kobj_method_t | envy24htmixer_methods [] |
static device_method_t | envy24ht_methods [] |
static driver_t | envy24ht_driver |
#define ENVY24HT_DEFAULT_FORMAT SND_FORMAT(AFMT_S16_LE, 2, 0) |
Definition at line 72 of file envy24ht.c.
#define ENVY24HT_NAMELEN 32 |
Definition at line 74 of file envy24ht.c.
#define ENVY24HT_PLAY_BUFUNIT (4 /* byte/sample */ * 8 /* channel */) |
Definition at line 66 of file envy24ht.c.
#define ENVY24HT_PLAY_CHNUM 8 |
Definition at line 64 of file envy24ht.c.
#define ENVY24HT_REC_BUFUNIT (4 /* byte/sample */ * 2 /* channel */) |
Definition at line 67 of file envy24ht.c.
#define ENVY24HT_REC_CHNUM 2 |
Definition at line 65 of file envy24ht.c.
#define ENVY24HT_SAMPLE_NUM 4096 |
Definition at line 68 of file envy24ht.c.
#define ENVY24HT_TIMEOUT 1000 |
Definition at line 70 of file envy24ht.c.
typedef struct envy24ht_sample sample32_t |
Definition at line 80 of file envy24ht.c.
CHANNEL_DECLARE | ( | envy24htchan | ) |
DRIVER_MODULE | ( | snd_envy24ht | , |
pci | , | ||
envy24ht_driver | , | ||
pcm_devclass | , | ||
0 | , | ||
0 | |||
) |
|
static |
Definition at line 2400 of file envy24ht.c.
References BUS_SPACE_MAXSIZE_ENVY24, sc_info::cs, sc_info::csh, sc_info::csid, sc_info::cst, sc_info::dev, sc_info::dmat, envy24ht_intr(), ENVY24HT_PCIR_MT, sc_info::ih, sc_info::irq, sc_info::irqid, sc_info::mt, sc_info::mth, sc_info::mtid, sc_info::mtt, PCIR_CCS, PCIR_MT, and snd_setup_intr().
Referenced by envy24ht_pci_attach().
|
static |
Definition at line 709 of file envy24ht.c.
References cfg_info::free, and free.
Referenced by envy24ht_pci_attach(), and envy24ht_pci_detach().
|
static |
Definition at line 1227 of file envy24ht.c.
References sc_info::dev, dir, ENVY24HT_MT_INT_MASK, ENVY24HT_MT_INT_PMASK, ENVY24HT_MT_INT_PSTAT, ENVY24HT_MT_INT_RMASK, ENVY24HT_MT_INT_RSTAT, ENVY24HT_MT_INT_STAT, envy24ht_rdmt(), envy24ht_wrmt(), intr, mask, and PCMDIR_PLAY.
Referenced by envy24ht_intr().
|
static |
Definition at line 2120 of file envy24ht.c.
References sc_info::dev, sc_info::dmat, sc_info::paddr, sc_info::pbuf, sc_info::pmap, sc_info::raddr, sc_info::rbuf, and sc_info::rmap.
Referenced by envy24ht_dmainit(), envy24ht_pci_attach(), and envy24ht_pci_detach().
|
static |
Definition at line 2155 of file envy24ht.c.
References sc_info::blk, sc_info::dev, sc_info::dmat, envy24ht_dmafree(), envy24ht_dmapsetmap(), envy24ht_dmarsetmap(), ENVY24HT_PLAY_BUFUNIT, ENVY24HT_REC_BUFUNIT, ENVY24HT_SAMPLE_NUM, sc_info::paddr, sc_info::pbuf, sc_info::pmap, sc_info::psize, sc_info::raddr, sc_info::rbuf, sc_info::rmap, and sc_info::rsize.
Referenced by envy24ht_init().
|
static |
Definition at line 2084 of file envy24ht.c.
References sc_info::dev, ENVY24HT_MT_PADDR, ENVY24HT_MT_PCNT, envy24ht_wrmt(), and sc_info::paddr.
Referenced by envy24ht_dmainit().
|
static |
Definition at line 2102 of file envy24ht.c.
References sc_info::dev, ENVY24HT_MT_RADDR, ENVY24HT_MT_RCNT, envy24ht_wrmt(), and sc_info::raddr.
Referenced by envy24ht_dmainit().
|
static |
Definition at line 1127 of file envy24ht.c.
References sc_info::dev, dir, ENVY24HT_MT_PCNT, ENVY24HT_MT_RCNT, ENVY24HT_PLAY_BUFUNIT, envy24ht_rdmt(), ENVY24HT_REC_BUFUNIT, PCMDIR_PLAY, sc_info::psize, regno, and sc_info::rsize.
Referenced by envy24htchan_getptr(), and envy24htchan_trigger().
|
static |
Definition at line 829 of file envy24ht.c.
References sc_info::cfg, ENVY24HT_CCS_GPIO_HDATA, ENVY24HT_CCS_GPIO_LDATA, envy24ht_rdcs(), cfg_info::subdevice, and cfg_info::subvendor.
Referenced by envy24ht_spi_ctl().
|
static |
Definition at line 876 of file envy24ht.c.
References sc_info::cfg, dir, ENVY24HT_CCS_GPIO_CTLDIR, envy24ht_wrcs(), cfg_info::subdevice, and cfg_info::subvendor.
Referenced by envy24ht_init().
|
static |
Definition at line 859 of file envy24ht.c.
References sc_info::cfg, ENVY24HT_CCS_GPIO_HMASK, ENVY24HT_CCS_GPIO_LMASK, envy24ht_wrcs(), mask, and cfg_info::subdevice.
Referenced by envy24ht_init().
|
static |
Definition at line 838 of file envy24ht.c.
References sc_info::cfg, data, sc_info::dev, ENVY24HT_CCS_GPIO_HDATA, ENVY24HT_CCS_GPIO_LDATA, envy24ht_wrcs(), and cfg_info::subdevice.
Referenced by envy24ht_init(), and envy24ht_spi_ctl().
|
static |
Definition at line 2292 of file envy24ht.c.
References cfg_info::acl, sc_info::adc, sc_info::adcn, sc_info::caps, sc_info::cfg, cfg_table, cfg_info::codec, codec_entry::create, sc_info::dac, sc_info::dacn, data, sc_info::dev, ENVY24HT_CCS_ACL, ENVY24HT_CCS_CTL, ENVY24HT_CCS_CTL_RESET, ENVY24HT_CCS_I2S, ENVY24HT_CCS_IMASK, ENVY24HT_CCS_IMASK_PMT, ENVY24HT_CCS_SCFG, ENVY24HT_CCS_SPDIF, ENVY24HT_CCSM_SCFG_ADC, ENVY24HT_CCSM_SCFG_DAC, envy24ht_dmainit(), envy24ht_gpiosetdir(), envy24ht_gpiosetmask(), envy24ht_gpiowr(), envy24ht_playfmt, envy24ht_putcfg(), envy24ht_rdcs(), envy24ht_recfmt, envy24ht_rom2cfg(), envy24ht_wrcs(), envy24ht_wri2c(), pcmchan_caps::fmtlist, cfg_info::gpiodir, cfg_info::gpiomask, cfg_info::gpiostate, cfg_info::i2s, codec_entry::init, sc_info::intr, PCIM_LAC_DISABLE, PCIR_LAC, PCMDIR_PLAY, PCMDIR_REC, sc_info::run, cfg_info::scfg, cfg_info::spdif, sc_info::speed, cfg_info::subdevice, and cfg_info::subvendor.
Referenced by envy24ht_pci_attach().
|
static |
Definition at line 1982 of file envy24ht.c.
References sc_chinfo::blk, sc_info::blk, sc_info::chan, sc_chinfo::channel, chn_intr(), sc_info::dev, ENVY24HT_CHAN_PLAY_DAC1, ENVY24HT_CHAN_PLAY_SPDIF, ENVY24HT_CHAN_REC_ADC1, ENVY24HT_CHAN_REC_SPDIF, envy24ht_checkintr(), ENVY24HT_MT_PCNT, ENVY24HT_MT_RCNT, envy24ht_rdmt(), envy24ht_updintr(), feed, sc_info::intr, sc_info::lock, PCMDIR_PLAY, PCMDIR_REC, sc_info::psize, sc_info::rsize, sc_chinfo::run, snd_mtxlock, and snd_mtxunlock.
Referenced by envy24ht_alloc_resource().
|
static |
Definition at line 1112 of file envy24ht.c.
References sc_info::dev, ENVY24HT_VOL_MUTE, and envy24ht_wrmt().
Referenced by envy24htchan_trigger().
|
static |
Definition at line 1344 of file envy24ht.c.
References sc_chinfo::buffer, envy24_sample::buffer, sc_chinfo::data, data, sc_info::dev, ENVY24HT_PLAY_CHNUM, sc_chinfo::num, sc_chinfo::offset, sc_chinfo::parent, sc_info::pbuf, sc_chinfo::size, slot, sndbuf_getready(), sndbuf_getreadyptr(), and src.
|
static |
Definition at line 1314 of file envy24ht.c.
References sc_chinfo::buffer, envy24_sample::buffer, sc_chinfo::data, data, ENVY24HT_PLAY_CHNUM, sc_chinfo::num, sc_chinfo::offset, sc_chinfo::parent, sc_info::pbuf, sc_chinfo::size, slot, sndbuf_getready(), sndbuf_getreadyptr(), and src.
|
static |
Definition at line 1389 of file envy24ht.c.
References sc_chinfo::buffer, envy24_sample::buffer, sc_chinfo::data, data, ENVY24HT_PLAY_CHNUM, sc_chinfo::num, sc_chinfo::offset, sc_chinfo::parent, sc_info::pbuf, sc_chinfo::size, slot, sndbuf_getready(), sndbuf_getreadyptr(), and src.
|
static |
Definition at line 2453 of file envy24ht.c.
References sc_info::adc, sc_info::adcn, sc_info::cfg, sc_info::chnum, cfg_info::codec, sc_info::cs, sc_info::csid, sc_info::dac, sc_info::dacn, codec_entry::destroy, sc_info::dev, dev, sc_info::dmat, envy24ht_alloc_resource(), envy24ht_cfgfree(), envy24ht_dmafree(), envy24ht_init(), free, sc_info::ih, sc_info::irq, sc_info::irqid, sc_info::lock, mixer_init(), sc_info::mt, sc_info::mtid, pcm_addchan(), pcm_register(), pcm_setstatus(), PCMDIR_PLAY, PCMDIR_REC, snd_mtxcreate(), snd_mtxfree(), SND_STATUSLEN, and status.
|
static |
Definition at line 2547 of file envy24ht.c.
References sc_info::adc, sc_info::adcn, sc_info::cfg, cfg_info::codec, sc_info::cs, sc_info::csid, sc_info::dac, sc_info::dacn, codec_entry::destroy, dev, sc_info::dmat, envy24ht_cfgfree(), envy24ht_dmafree(), free, sc_info::ih, sc_info::irq, sc_info::irqid, sc_info::lock, sc_info::mt, sc_info::mtid, pcm_getdevinfo(), pcm_unregister(), r, and snd_mtxfree().
|
static |
Definition at line 2051 of file envy24ht.c.
References cfg_table, dev, name, PCID_ENVY24HT, PCIV_ENVY24, cfg_info::subdevice, and cfg_info::subvendor.
|
static |
Definition at line 2200 of file envy24ht.c.
References cfg_info::acl, sc_info::adcn, sc_info::cfg, sc_info::dacn, sc_info::dev, ENVY24HT_CCSM_ACL_MTC, ENVY24HT_CCSM_ACL_OMODE, ENVY24HT_CCSM_I2S_16BIT, ENVY24HT_CCSM_I2S_18BIT, ENVY24HT_CCSM_I2S_192KHZ, ENVY24HT_CCSM_I2S_20BIT, ENVY24HT_CCSM_I2S_24BIT, ENVY24HT_CCSM_I2S_96KHZ, ENVY24HT_CCSM_I2S_ID, ENVY24HT_CCSM_I2S_RES, ENVY24HT_CCSM_I2S_VOL, ENVY24HT_CCSM_SCFG_MPU, ENVY24HT_CCSM_SCFG_XIN2, ENVY24HT_CCSM_SPDIF_ID, ENVY24HT_CCSM_SPDIF_IN, ENVY24HT_CCSM_SPDIF_OUT, cfg_info::gpiodir, cfg_info::gpiomask, cfg_info::gpiostate, cfg_info::i2s, cfg_info::scfg, cfg_info::spdif, cfg_info::subdevice, and cfg_info::subvendor.
Referenced by envy24ht_init().
|
static |
Definition at line 1449 of file envy24ht.c.
References sc_chinfo::buffer, envy24_sample::buffer, sc_chinfo::data, data, ENVY24HT_CHAN_REC_ADC1, ENVY24HT_REC_CHNUM, sc_chinfo::num, sc_chinfo::offset, sc_chinfo::parent, sc_info::rbuf, sc_chinfo::size, slot, sndbuf_getfree(), sndbuf_getfreeptr(), and src.
|
static |
Definition at line 1419 of file envy24ht.c.
References sc_chinfo::buffer, envy24_sample::buffer, sc_chinfo::data, data, ENVY24HT_CHAN_REC_ADC1, ENVY24HT_REC_CHNUM, sc_chinfo::num, sc_chinfo::offset, sc_chinfo::parent, sc_info::rbuf, sc_chinfo::size, slot, sndbuf_getfree(), sndbuf_getfreeptr(), and src.
|
static |
Definition at line 459 of file envy24ht.c.
References sc_info::csh, sc_info::cst, regno, and size.
Referenced by envy24ht_gpiord(), envy24ht_init(), envy24ht_rdi2c(), envy24ht_rdrom(), and envy24ht_wri2c().
|
static |
Definition at line 525 of file envy24ht.c.
References addr, data, sc_info::dev, dev, ENVY24HT_CCS_I2CADDR, ENVY24HT_CCS_I2CDATA, ENVY24HT_CCS_I2CDEV, ENVY24HT_CCS_I2CDEV_ADDR, ENVY24HT_CCS_I2CDEV_RD, ENVY24HT_CCS_I2CSTAT, ENVY24HT_CCS_I2CSTAT_BSY, envy24ht_rdcs(), ENVY24HT_TIMEOUT, and envy24ht_wrcs().
Referenced by envy24ht_rdrom().
|
static |
Definition at line 490 of file envy24ht.c.
References sc_info::mth, sc_info::mtt, regno, and size.
Referenced by envy24ht_checkintr(), envy24ht_gethwptr(), envy24ht_intr(), envy24ht_setspeed(), envy24ht_start(), envy24ht_stop(), and envy24ht_updintr().
|
static |
Definition at line 598 of file envy24ht.c.
References addr, data, sc_info::dev, ENVY24HT_CCS_I2CDEV_ROM, ENVY24HT_CCS_I2CSTAT, ENVY24HT_CCS_I2CSTAT_ROM, envy24ht_rdcs(), and envy24ht_rdi2c().
Referenced by envy24ht_rom2cfg().
Definition at line 617 of file envy24ht.c.
References cfg_info::acl, cfg_info::cclk, cfg_info::cdti, cfg_table, cfg_info::cif, cfg_info::codec, cfg_info::cs, sc_info::dev, ENVY24HT_E2PROM_ACL, ENVY24HT_E2PROM_GPIODIR, ENVY24HT_E2PROM_GPIOMASK, ENVY24HT_E2PROM_GPIOSTATE, ENVY24HT_E2PROM_I2S, ENVY24HT_E2PROM_SCFG, ENVY24HT_E2PROM_SIZE, ENVY24HT_E2PROM_SPDIF, ENVY24HT_E2PROM_SUBDEVICE, ENVY24HT_E2PROM_SUBVENDOR, envy24ht_rdrom(), cfg_info::free, cfg_info::gpiodir, cfg_info::gpiomask, cfg_info::gpiostate, cfg_info::i2s, cfg_info::name, cfg_info::scfg, size, cfg_info::spdif, cfg_info::subdevice, cfg_info::subvendor, and cfg_info::type.
Referenced by envy24ht_init().
|
static |
Definition at line 1048 of file envy24ht.c.
References sc_info::cfg, code, sc_info::dev, ENVY24HT_CCSM_SCFG_XIN2, ENVY24HT_MT_I2S, ENVY24HT_MT_I2S_MLR128, ENVY24HT_MT_RATE, ENVY24HT_MT_RATE_176400, ENVY24HT_MT_RATE_192000, ENVY24HT_MT_RATE_MASK, ENVY24HT_MT_RATE_SPDIF, envy24ht_rdmt(), envy24ht_speedtab, envy24ht_wrmt(), cfg_info::scfg, and speed.
Referenced by envy24htchan_trigger().
|
static |
Definition at line 1100 of file envy24ht.c.
References sc_info::dev, envy24ht_wrmt(), sc_info::left, and sc_info::right.
Referenced by envy24htchan_trigger(), and envy24htmixer_set().
|
static |
Definition at line 916 of file envy24ht.c.
References sc_info::adc, sc_info::dac, sc_info::dev, dev, envy24ht_spi_codec::dir, dir, envy24ht_spi_ctl(), free, envy24ht_spi_codec::info, envy24ht_spi_codec::num, envy24ht_spi_codec::parent, PCMDIR_PLAY, PCMDIR_REC, and spicds_create().
|
static |
Definition at line 898 of file envy24ht.c.
References envy24ht_spi_codec::cclk, envy24ht_spi_codec::cdti, envy24ht_spi_codec::cs, data, sc_info::dev, envy24ht_gpiord(), envy24ht_gpiowr(), and envy24ht_spi_codec::parent.
Referenced by envy24ht_spi_create().
|
static |
Definition at line 948 of file envy24ht.c.
References sc_info::adc, sc_info::dac, sc_info::dev, envy24ht_spi_codec::dir, free, envy24ht_spi_codec::info, envy24ht_spi_codec::num, envy24ht_spi_codec::parent, PCMDIR_PLAY, and spicds_destroy().
|
static |
Definition at line 970 of file envy24ht.c.
References AK452X_DVC_DEMOFF, AK452X_FORMAT_1X, AK452X_FORMAT_256FSN, AK452X_FORMAT_I2S, cfg_info::cclk, envy24ht_spi_codec::cclk, cfg_info::cdti, envy24ht_spi_codec::cdti, sc_info::cfg, cfg_info::cif, cfg_info::cs, envy24ht_spi_codec::cs, sc_info::dev, envy24ht_spi_codec::info, envy24ht_spi_codec::num, envy24ht_spi_codec::parent, spicds_init(), spicds_setcif(), spicds_setdvc(), spicds_setformat(), spicds_settype(), SPICDS_TYPE_AK4524, SPICDS_TYPE_AK4528, and cfg_info::type.
|
static |
Definition at line 996 of file envy24ht.c.
References sc_info::dev, envy24ht_spi_codec::info, envy24ht_spi_codec::parent, and spicds_reinit().
|
static |
Definition at line 1009 of file envy24ht.c.
References sc_info::dev, dir, envy24ht_spi_codec::info, left, envy24ht_spi_codec::parent, right, and spicds_set().
|
static |
Definition at line 1260 of file envy24ht.c.
References sc_info::dev, dir, ENVY24HT_MT_PADDR, ENVY24HT_MT_PCNT, ENVY24HT_MT_PCTL, ENVY24HT_MT_PCTL_PSTART, ENVY24HT_MT_PCTL_RSTART, envy24ht_rdmt(), envy24ht_wrmt(), and PCMDIR_PLAY.
Referenced by envy24htchan_trigger().
|
static |
Definition at line 1284 of file envy24ht.c.
References sc_info::dev, dir, ENVY24HT_MT_PCTL, envy24ht_rdmt(), envy24ht_wrmt(), and PCMDIR_PLAY.
Referenced by envy24htchan_trigger().
|
static |
Definition at line 1157 of file envy24ht.c.
References sc_info::blk, sc_info::dev, dir, ENVY24HT_MT_INT_MASK, ENVY24HT_MT_PCNT, ENVY24HT_MT_PTERM, ENVY24HT_MT_RCNT, ENVY24HT_MT_RTERM, envy24ht_rdmt(), envy24ht_wrmt(), intr, mask, PCMDIR_PLAY, sc_info::psize, sc_info::rsize, and size.
Referenced by envy24ht_intr(), and envy24htchan_trigger().
|
static |
Definition at line 474 of file envy24ht.c.
References sc_info::csh, sc_info::cst, data, regno, and size.
Referenced by envy24ht_gpiosetdir(), envy24ht_gpiosetmask(), envy24ht_gpiowr(), envy24ht_init(), envy24ht_rdi2c(), and envy24ht_wri2c().
|
static |
Definition at line 563 of file envy24ht.c.
References addr, data, sc_info::dev, dev, ENVY24HT_CCS_I2CADDR, ENVY24HT_CCS_I2CDATA, ENVY24HT_CCS_I2CDEV, ENVY24HT_CCS_I2CDEV_ADDR, ENVY24HT_CCS_I2CDEV_WR, ENVY24HT_CCS_I2CSTAT, ENVY24HT_CCS_I2CSTAT_BSY, envy24ht_rdcs(), ENVY24HT_TIMEOUT, and envy24ht_wrcs().
Referenced by envy24ht_init().
|
static |
Definition at line 505 of file envy24ht.c.
References data, sc_info::mth, sc_info::mtt, regno, and size.
Referenced by envy24ht_checkintr(), envy24ht_dmapsetmap(), envy24ht_dmarsetmap(), envy24ht_mutevolume(), envy24ht_setspeed(), envy24ht_setvolume(), envy24ht_start(), envy24ht_stop(), envy24ht_updintr(), and envy24htmixer_init().
|
static |
Definition at line 1528 of file envy24ht.c.
References sc_info::ch, sc_chinfo::data, data, sc_info::dev, free, sc_info::lock, sc_chinfo::parent, snd_mtxlock, and snd_mtxunlock.
|
static |
Definition at line 1813 of file envy24ht.c.
References sc_info::caps, sc_info::ch, data, sc_info::dev, sc_chinfo::dir, envy24ht_playcaps, envy24ht_reccaps, sc_info::lock, sc_chinfo::parent, PCMDIR_PLAY, sc_info::run, snd_mtxlock, and snd_mtxunlock.
|
static |
Definition at line 1791 of file envy24ht.c.
References sc_info::ch, data, sc_info::dev, sc_chinfo::dir, envy24ht_gethwptr(), sc_info::lock, sc_chinfo::parent, snd_mtxlock, snd_mtxunlock, and sc_chinfo::unit.
|
static |
Definition at line 1482 of file envy24ht.c.
References b, sc_chinfo::blk, sc_chinfo::buffer, c, sc_info::chan, sc_chinfo::channel, sc_info::chnum, sc_chinfo::data, sc_info::dev, devinfo, sc_chinfo::dir, dir, ENVY24HT_CHAN_PLAY_SPDIF, ENVY24HT_CHAN_REC_ADC1, envy24ht_chanmap, ENVY24HT_SAMPLE_NUM, sc_info::lock, sc_chinfo::num, sc_chinfo::parent, PCMDIR_PLAY, PCMDIR_REC, sc_chinfo::size, snd_mtxlock, snd_mtxunlock, sndbuf_setup(), and sc_chinfo::unit.
|
static |
Definition at line 1638 of file envy24ht.c.
References sc_chinfo::blk, blocksize, sc_chinfo::buffer, data, sc_info::dev, sc_chinfo::dir, ENVY24HT_PLAY_BUFUNIT, ENVY24HT_REC_BUFUNIT, PCMDIR_PLAY, prev, sc_chinfo::size, sndbuf_resize(), and sc_chinfo::unit.
|
static |
Definition at line 1547 of file envy24ht.c.
References sc_chinfo::blk, sc_chinfo::buffer, sc_info::ch, data, sc_info::dev, sc_chinfo::dir, sc_chinfo::emldma, envy24ht_emldma::emldma, envy24ht_pemltab, ENVY24HT_PLAY_BUFUNIT, ENVY24HT_REC_BUFUNIT, envy24ht_remltab, ENVY24HT_SAMPLE_NUM, format, sc_chinfo::format, envy24ht_emldma::format, sc_info::lock, sc_chinfo::parent, PCMDIR_PLAY, sc_chinfo::size, snd_mtxlock, snd_mtxunlock, sndbuf_resize(), sc_chinfo::unit, and envy24ht_emldma::unit.
|
static |
Definition at line 1613 of file envy24ht.c.
References data, sc_info::dev, envy24ht_speed, sc_chinfo::parent, prev, sc_chinfo::speed, speed, and val.
|
static |
Definition at line 1681 of file envy24ht.c.
References sc_chinfo::blk, sc_info::blk, sc_info::caps, sc_info::ch, sc_chinfo::channel, data, sc_info::dev, sc_chinfo::dir, sc_chinfo::emldma, envy24ht_gethwptr(), envy24ht_mutevolume(), envy24ht_setspeed(), envy24ht_setvolume(), envy24ht_start(), envy24ht_stop(), envy24ht_updintr(), error, fail, go, sc_info::intr, sc_info::lock, pcmchan_caps::maxspeed, pcmchan_caps::minspeed, sc_chinfo::num, sc_chinfo::offset, sc_chinfo::parent, PCMDIR_PLAY, PCMTRIG_ABORT, PCMTRIG_EMLDMARD, PCMTRIG_EMLDMAWR, PCMTRIG_START, sc_chinfo::run, sc_info::run, sc_chinfo::size, slot, snd_mtxlock, snd_mtxunlock, sc_chinfo::speed, sc_info::speed, pcm_channel::speed, and sc_chinfo::unit.
|
static |
Definition at line 1858 of file envy24ht.c.
References sc_info::dev, ENVY24HT_MIX_MASK, ENVY24HT_MIX_REC_MASK, envy24ht_wrmt(), sc_info::lock, m, mix_getdevinfo(), mix_setdevs(), mix_setrecdevs(), pcm_getflags(), pcm_setflags(), SD_F_SOFTPCMVOL, snd_mtxlock, and snd_mtxunlock.
|
static |
Definition at line 1885 of file envy24ht.c.
References sc_info::dev, m, and mix_getdevinfo().
|
static |
Definition at line 1913 of file envy24ht.c.
References sc_info::cfg, sc_info::ch, sc_info::chan, cfg_info::codec, sc_info::dac, sc_info::dacn, sc_info::dev, dev, ENVY24HT_CHAN_PLAY_SPDIF, envy24ht_chanmap, envy24ht_mixmap, envy24ht_setvolume(), ENVY24HT_VOL_MIN, ENVY24HT_VOL_MUTE, sc_info::left, left, sc_info::lock, m, mix_getdevinfo(), PCMDIR_PLAY, sc_info::right, right, sc_chinfo::run, codec_entry::setvolume, snd_mtxlock, and snd_mtxunlock.
|
static |
Definition at line 1955 of file envy24ht.c.
References sc_info::ch, sc_info::dev, ENVY24HT_CHAN_PLAY_SPDIF, envy24ht_mixmap, m, mix_getdevinfo(), sc_info::src, and src.
|
static |
Definition at line 1899 of file envy24ht.c.
References sc_info::dev, m, and mix_getdevinfo().
|
static |
MIXER_DECLARE | ( | envy24htmixer | ) |
MODULE_DEPEND | ( | snd_envy24ht | , |
snd_spicds | , | ||
1 | , | ||
1 | , | ||
1 | |||
) |
MODULE_DEPEND | ( | snd_envy24ht | , |
sound | , | ||
SOUND_MINVER | , | ||
SOUND_PREFVER | , | ||
SOUND_MAXVER | |||
) |
MODULE_VERSION | ( | snd_envy24ht | , |
1 | |||
) |
SND_DECLARE_FILE | ( | "$FreeBSD$" | ) |
|
static |
Definition at line 282 of file envy24ht.c.
Referenced by envy24ht_init(), envy24ht_pci_probe(), and envy24ht_rom2cfg().
u_int32_t code |
Definition at line 1027 of file envy24ht.c.
Referenced by envy24ht_setspeed().
|
static |
Definition at line 223 of file envy24ht.c.
Referenced by envy24htchan_init(), and envy24htmixer_set().
|
static |
Definition at line 2589 of file envy24ht.c.
|
static |
Definition at line 2581 of file envy24ht.c.
|
static |
Definition at line 238 of file envy24ht.c.
Referenced by envy24htmixer_set(), and envy24htmixer_setrecsrc().
|
static |
Definition at line 442 of file envy24ht.c.
Referenced by envy24htchan_setformat().
|
static |
Definition at line 434 of file envy24ht.c.
Referenced by envy24htchan_getcaps().
|
static |
Definition at line 427 of file envy24ht.c.
Referenced by envy24ht_init().
|
static |
Definition at line 425 of file envy24ht.c.
Referenced by envy24htchan_getcaps().
|
static |
Definition at line 420 of file envy24ht.c.
Referenced by envy24ht_init().
|
static |
Definition at line 449 of file envy24ht.c.
Referenced by envy24htchan_setformat().
|
static |
Definition at line 267 of file envy24ht.c.
Referenced by envy24htchan_setspeed().
struct { ... } envy24ht_speedtab[] |
Referenced by envy24ht_setspeed().
|
static |
Definition at line 1840 of file envy24ht.c.
|
static |
Definition at line 1968 of file envy24ht.c.
u_int32_t speed |
Definition at line 1026 of file envy24ht.c.
Referenced by envy24ht_setspeed(), and envy24htchan_setspeed().
|
static |
Definition at line 273 of file envy24ht.c.