/sound/pci/ice1712/ |
D | ice1724.c | 87 static inline int stdclock_is_spdif_master(struct snd_ice1712 *ice) in stdclock_is_spdif_master() argument 89 return (inb(ICEMT1724(ice, RATE)) & VT1724_SPDIF_MASTER) ? 1 : 0; in stdclock_is_spdif_master() 95 static inline int is_pro_rate_locked(struct snd_ice1712 *ice) in is_pro_rate_locked() argument 97 return (!ice->is_spdif_master(ice)) && PRO_RATE_LOCKED; in is_pro_rate_locked() 104 static unsigned char snd_vt1724_ac97_ready(struct snd_ice1712 *ice) in snd_vt1724_ac97_ready() argument 109 old_cmd = inb(ICEMT1724(ice, AC97_CMD)); in snd_vt1724_ac97_ready() 116 dev_dbg(ice->card->dev, "snd_vt1724_ac97_ready: timeout\n"); in snd_vt1724_ac97_ready() 120 static int snd_vt1724_ac97_wait_bit(struct snd_ice1712 *ice, unsigned char bit) in snd_vt1724_ac97_wait_bit() argument 124 if ((inb(ICEMT1724(ice, AC97_CMD)) & bit) == 0) in snd_vt1724_ac97_wait_bit() 126 dev_dbg(ice->card->dev, "snd_vt1724_ac97_wait_bit: timeout\n"); in snd_vt1724_ac97_wait_bit() [all …]
|
D | ice1712.c | 95 static int snd_ice1712_build_pro_mixer(struct snd_ice1712 *ice); 96 static int snd_ice1712_build_controls(struct snd_ice1712 *ice); 107 static inline int is_spdif_master(struct snd_ice1712 *ice) in is_spdif_master() argument 109 return (inb(ICEMT(ice, RATE)) & ICE1712_SPDIF_MASTER) ? 1 : 0; in is_spdif_master() 112 static inline int is_pro_rate_locked(struct snd_ice1712 *ice) in is_pro_rate_locked() argument 114 return is_spdif_master(ice) || PRO_RATE_LOCKED; in is_pro_rate_locked() 117 static inline void snd_ice1712_ds_write(struct snd_ice1712 *ice, u8 channel, u8 addr, u32 data) in snd_ice1712_ds_write() argument 119 outb((channel << 4) | addr, ICEDS(ice, INDEX)); in snd_ice1712_ds_write() 120 outl(data, ICEDS(ice, DATA)); in snd_ice1712_ds_write() 123 static inline u32 snd_ice1712_ds_read(struct snd_ice1712 *ice, u8 channel, u8 addr) in snd_ice1712_ds_read() argument [all …]
|
D | pontis.c | 67 static unsigned short wm_get(struct snd_ice1712 *ice, int reg) in wm_get() argument 70 return ((unsigned short)ice->akm[0].images[reg] << 8) | in wm_get() 71 ice->akm[0].images[reg + 1]; in wm_get() 77 static void wm_put_nocache(struct snd_ice1712 *ice, int reg, unsigned short val) in wm_put_nocache() argument 81 snd_vt1724_write_i2c(ice, WM_DEV, cval >> 8, cval & 0xff); in wm_put_nocache() 84 static void wm_put(struct snd_ice1712 *ice, int reg, unsigned short val) in wm_put() argument 86 wm_put_nocache(ice, reg, val); in wm_put() 88 ice->akm[0].images[reg] = val >> 8; in wm_put() 89 ice->akm[0].images[reg + 1] = val; in wm_put() 111 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol); in wm_dac_vol_get() local [all …]
|
D | delta.c | 33 static void ap_cs8427_write_byte(struct snd_ice1712 *ice, unsigned char data, unsigned char tmp) in ap_cs8427_write_byte() argument 41 snd_ice1712_write(ice, ICE1712_IREG_GPIO_DATA, tmp); in ap_cs8427_write_byte() 44 snd_ice1712_write(ice, ICE1712_IREG_GPIO_DATA, tmp); in ap_cs8427_write_byte() 50 static unsigned char ap_cs8427_read_byte(struct snd_ice1712 *ice, unsigned char tmp) in ap_cs8427_read_byte() argument 57 snd_ice1712_write(ice, ICE1712_IREG_GPIO_DATA, tmp); in ap_cs8427_read_byte() 59 if (snd_ice1712_read(ice, ICE1712_IREG_GPIO_DATA) & ICE1712_DELTA_AP_DIN) in ap_cs8427_read_byte() 62 snd_ice1712_write(ice, ICE1712_IREG_GPIO_DATA, tmp); in ap_cs8427_read_byte() 69 static unsigned char ap_cs8427_codec_select(struct snd_ice1712 *ice) in ap_cs8427_codec_select() argument 72 tmp = snd_ice1712_read(ice, ICE1712_IREG_GPIO_DATA); in ap_cs8427_codec_select() 73 switch (ice->eeprom.subvendor) { in ap_cs8427_codec_select() [all …]
|
D | ews.c | 44 struct snd_ice1712 *ice = bus->private_data; in ewx_i2c_setlines() local 50 snd_ice1712_write(ice, ICE1712_IREG_GPIO_DATA, tmp); in ewx_i2c_setlines() 56 struct snd_ice1712 *ice = bus->private_data; in ewx_i2c_getclock() local 57 return snd_ice1712_read(ice, ICE1712_IREG_GPIO_DATA) & ICE1712_EWX2496_SERIAL_CLOCK ? 1 : 0; in ewx_i2c_getclock() 62 struct snd_ice1712 *ice = bus->private_data; in ewx_i2c_getdata() local 65 snd_ice1712_write(ice, ICE1712_IREG_GPIO_WRITE_MASK, ~ICE1712_EWX2496_RW); in ewx_i2c_getdata() 66 snd_ice1712_write(ice, ICE1712_IREG_GPIO_DATA, 0); in ewx_i2c_getdata() 69 bit = snd_ice1712_read(ice, ICE1712_IREG_GPIO_DATA) & ICE1712_EWX2496_SERIAL_DATA ? 1 : 0; in ewx_i2c_getdata() 71 snd_ice1712_write(ice, ICE1712_IREG_GPIO_DATA, ICE1712_EWX2496_RW); in ewx_i2c_getdata() 73 snd_ice1712_write(ice, ICE1712_IREG_GPIO_WRITE_MASK, ~ICE1712_EWX2496_SERIAL_CLOCK); in ewx_i2c_getdata() [all …]
|
D | hoontech.c | 28 static void snd_ice1712_stdsp24_gpio_write(struct snd_ice1712 *ice, unsigned char byte) in snd_ice1712_stdsp24_gpio_write() argument 32 snd_ice1712_write(ice, ICE1712_IREG_GPIO_DATA, byte); in snd_ice1712_stdsp24_gpio_write() 35 snd_ice1712_write(ice, ICE1712_IREG_GPIO_DATA, byte); in snd_ice1712_stdsp24_gpio_write() 38 snd_ice1712_write(ice, ICE1712_IREG_GPIO_DATA, byte); in snd_ice1712_stdsp24_gpio_write() 41 static void snd_ice1712_stdsp24_darear(struct snd_ice1712 *ice, int activate) in snd_ice1712_stdsp24_darear() argument 43 struct hoontech_spec *spec = ice->spec; in snd_ice1712_stdsp24_darear() 44 mutex_lock(&ice->gpio_mutex); in snd_ice1712_stdsp24_darear() 46 snd_ice1712_stdsp24_gpio_write(ice, spec->boxbits[0]); in snd_ice1712_stdsp24_darear() 47 mutex_unlock(&ice->gpio_mutex); in snd_ice1712_stdsp24_darear() 50 static void snd_ice1712_stdsp24_mute(struct snd_ice1712 *ice, int activate) in snd_ice1712_stdsp24_mute() argument [all …]
|
D | se.c | 102 static void se200pci_WM8740_init(struct snd_ice1712 *ice) in se200pci_WM8740_init() argument 108 static void se200pci_WM8740_set_pro_rate(struct snd_ice1712 *ice, in se200pci_WM8740_set_pro_rate() argument 119 static void se200pci_WM8766_write(struct snd_ice1712 *ice, in se200pci_WM8766_write() argument 130 snd_ice1712_save_gpio_status(ice); in se200pci_WM8766_write() 133 snd_ice1712_gpio_set_dir(ice, ice->gpio.direction | ALL_MASK); in se200pci_WM8766_write() 134 snd_ice1712_gpio_set_mask(ice, ice->gpio.write_mask & ~ALL_MASK); in se200pci_WM8766_write() 135 bits = snd_ice1712_gpio_read(ice) & ~ALL_MASK; in se200pci_WM8766_write() 137 snd_ice1712_gpio_write(ice, bits); in se200pci_WM8766_write() 147 snd_ice1712_gpio_write(ice, bits); in se200pci_WM8766_write() 151 snd_ice1712_gpio_write(ice, bits); in se200pci_WM8766_write() [all …]
|
D | quartet.c | 33 void (*set_register)(struct snd_ice1712 *ice, unsigned int val); 34 unsigned int (*get_register)(struct snd_ice1712 *ice); 263 struct snd_ice1712 *ice = ak->private_data[0]; in qtet_akm_write() local 269 orig_dir = ice->gpio.get_dir(ice); in qtet_akm_write() 270 ice->gpio.set_dir(ice, orig_dir | GPIO_SPI_ALL); in qtet_akm_write() 272 ice->gpio.set_mask(ice, ~GPIO_SPI_ALL); in qtet_akm_write() 274 tmp = ice->gpio.get_data(ice); in qtet_akm_write() 277 ice->gpio.set_data(ice, tmp); in qtet_akm_write() 285 ice->gpio.set_data(ice, tmp); in qtet_akm_write() 294 ice->gpio.set_data(ice, tmp); in qtet_akm_write() [all …]
|
D | prodigy_hifi.c | 113 static unsigned short wm_get(struct snd_ice1712 *ice, int reg) in wm_get() argument 116 return ((unsigned short)ice->akm[0].images[reg] << 8) | in wm_get() 117 ice->akm[0].images[reg + 1]; in wm_get() 123 static void wm_put_nocache(struct snd_ice1712 *ice, int reg, unsigned short val) in wm_put_nocache() argument 127 snd_vt1724_write_i2c(ice, WM_DEV, cval >> 8, cval & 0xff); in wm_put_nocache() 130 static void wm_put(struct snd_ice1712 *ice, int reg, unsigned short val) in wm_put() argument 132 wm_put_nocache(ice, reg, val); in wm_put() 134 ice->akm[0].images[reg] = val >> 8; in wm_put() 135 ice->akm[0].images[reg + 1] = val; in wm_put() 142 static void set_gpio_bit(struct snd_ice1712 *ice, unsigned int bit, int val) in set_gpio_bit() argument [all …]
|
D | ice1712.h | 27 #define ICEREG(ice, x) ((ice)->port + ICE1712_REG_##x) argument 104 #define ICEDS(ice, x) ((ice)->dmapath_port + ICE1712_DS_##x) argument 135 #define ICEMT(ice, x) ((ice)->profi_port + ICE1712_MT_##x) argument 248 #define ice_has_con_ac97(ice) (!((ice)->eeprom.data[ICE_EEP1_CODEC] & ICE1712_CFG_NO_CON_AC97)) argument 354 void (*set_mask)(struct snd_ice1712 *ice, unsigned int data); 355 unsigned int (*get_mask)(struct snd_ice1712 *ice); 356 void (*set_dir)(struct snd_ice1712 *ice, unsigned int data); 357 unsigned int (*get_dir)(struct snd_ice1712 *ice); 358 void (*set_data)(struct snd_ice1712 *ice, unsigned int data); 359 unsigned int (*get_data)(struct snd_ice1712 *ice); [all …]
|
D | revo.c | 27 static void revo_i2s_mclk_changed(struct snd_ice1712 *ice) in revo_i2s_mclk_changed() argument 30 outb(inb(ICEMT1724(ice, AC97_CMD)) | 0x80, ICEMT1724(ice, AC97_CMD)); in revo_i2s_mclk_changed() 33 outb(inb(ICEMT1724(ice, AC97_CMD)) & ~0x80, ICEMT1724(ice, AC97_CMD)); in revo_i2s_mclk_changed() 83 struct snd_ice1712 *ice = bus->private_data; in revo_i2c_start() local 84 snd_ice1712_save_gpio_status(ice); in revo_i2c_start() 89 struct snd_ice1712 *ice = bus->private_data; in revo_i2c_stop() local 90 snd_ice1712_restore_gpio_status(ice); in revo_i2c_stop() 95 struct snd_ice1712 *ice = bus->private_data; in revo_i2c_direction() local 104 ice->gpio.direction &= ~mask; in revo_i2c_direction() 105 ice->gpio.direction |= val; in revo_i2c_direction() [all …]
|
D | aureon.c | 97 static void aureon_pca9554_write(struct snd_ice1712 *ice, unsigned char reg, in aureon_pca9554_write() argument 105 tmp = snd_ice1712_gpio_read(ice); in aureon_pca9554_write() 107 snd_ice1712_gpio_set_mask(ice, ~(AUREON_SPI_MOSI|AUREON_SPI_CLK| in aureon_pca9554_write() 115 snd_ice1712_gpio_write(ice, tmp); in aureon_pca9554_write() 123 snd_ice1712_gpio_write(ice, tmp); in aureon_pca9554_write() 126 snd_ice1712_gpio_write(ice, tmp); in aureon_pca9554_write() 129 snd_ice1712_gpio_write(ice, tmp); in aureon_pca9554_write() 132 snd_ice1712_gpio_write(ice, tmp); in aureon_pca9554_write() 152 snd_ice1712_gpio_write(ice, tmp); in aureon_pca9554_write() 158 snd_ice1712_gpio_write(ice, tmp); in aureon_pca9554_write() [all …]
|
D | juli.c | 166 static void juli_spdif_in_open(struct snd_ice1712 *ice, in juli_spdif_in_open() argument 169 struct juli_spec *spec = ice->spec; in juli_spdif_in_open() 174 !ice->is_spdif_master(ice)) in juli_spdif_in_open() 198 struct snd_ice1712 *ice = ak->private_data[0]; in juli_akm_write() local 202 snd_vt1724_write_i2c(ice, AK4358_ADDR, addr, data); in juli_akm_write() 212 struct snd_ice1712 *ice = ak->private_data[0]; in juli_akm_set_rate_val() local 213 struct juli_spec *spec = ice->spec; in juli_akm_set_rate_val() 231 old_gpio = ice->gpio.get_data(ice); in juli_akm_set_rate_val() 235 ice->gpio.set_data(ice, new_gpio); in juli_akm_set_rate_val() 238 old = inb(ICEMT1724(ice, AC97_CMD)); in juli_akm_set_rate_val() [all …]
|
D | prodigy192.c | 61 static inline void stac9460_put(struct snd_ice1712 *ice, int reg, unsigned char val) in stac9460_put() argument 63 snd_vt1724_write_i2c(ice, PRODIGY192_STAC9460_ADDR, reg, val); in stac9460_put() 66 static inline unsigned char stac9460_get(struct snd_ice1712 *ice, int reg) in stac9460_get() argument 68 return snd_vt1724_read_i2c(ice, PRODIGY192_STAC9460_ADDR, reg); in stac9460_get() 78 static int stac9460_dac_mute(struct snd_ice1712 *ice, int idx, in stac9460_dac_mute() argument 83 old = stac9460_get(ice, idx); in stac9460_dac_mute() 88 stac9460_put(ice, idx, new); in stac9460_dac_mute() 96 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol); in stac9460_dac_mute_get() local 104 val = stac9460_get(ice, idx); in stac9460_dac_mute_get() 111 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol); in stac9460_dac_mute_put() local [all …]
|
D | phase.c | 109 static int phase22_init(struct snd_ice1712 *ice) in phase22_init() argument 115 switch (ice->eeprom.subvendor) { in phase22_init() 118 ice->num_total_dacs = 2; in phase22_init() 119 ice->num_total_adcs = 2; in phase22_init() 120 ice->vt1720 = 1; /* Envy24HT-S have 16 bit wide GPIO */ in phase22_init() 128 ice->akm = kzalloc(sizeof(struct snd_akm4xxx), GFP_KERNEL); in phase22_init() 129 ak = ice->akm; in phase22_init() 132 ice->akm_codecs = 1; in phase22_init() 133 switch (ice->eeprom.subvendor) { in phase22_init() 137 &akm_phase22_priv, ice); in phase22_init() [all …]
|
D | psc724.c | 25 struct snd_ice1712 *ice; member 107 struct snd_ice1712 *ice = spec->ice; in psc724_wm8766_write() local 111 snd_ice1712_save_gpio_status(ice); in psc724_wm8766_write() 114 snd_ice1712_gpio_set_dir(ice, ice->gpio.direction | PSC724_SPI_MASK); in psc724_wm8766_write() 115 snd_ice1712_gpio_set_mask(ice, ice->gpio.write_mask & ~PSC724_SPI_MASK); in psc724_wm8766_write() 116 bits = snd_ice1712_gpio_read(ice) & ~PSC724_SPI_MASK; in psc724_wm8766_write() 117 snd_ice1712_gpio_write(ice, bits); in psc724_wm8766_write() 128 snd_ice1712_gpio_write(ice, bits); in psc724_wm8766_write() 132 snd_ice1712_gpio_write(ice, bits); in psc724_wm8766_write() 137 snd_ice1712_gpio_write(ice, bits); in psc724_wm8766_write() [all …]
|
D | wtm.c | 35 static inline void stac9460_put(struct snd_ice1712 *ice, int reg, in stac9460_put() argument 38 snd_vt1724_write_i2c(ice, STAC9460_I2C_ADDR, reg, val); in stac9460_put() 41 static inline unsigned char stac9460_get(struct snd_ice1712 *ice, int reg) in stac9460_get() argument 43 return snd_vt1724_read_i2c(ice, STAC9460_I2C_ADDR, reg); in stac9460_get() 49 static inline void stac9460_2_put(struct snd_ice1712 *ice, int reg, in stac9460_2_put() argument 52 snd_vt1724_write_i2c(ice, STAC9460_2_I2C_ADDR, reg, val); in stac9460_2_put() 55 static inline unsigned char stac9460_2_get(struct snd_ice1712 *ice, int reg) in stac9460_2_get() argument 57 return snd_vt1724_read_i2c(ice, STAC9460_2_I2C_ADDR, reg); in stac9460_2_get() 64 static void stac9460_dac_mute_all(struct snd_ice1712 *ice, unsigned char mute, in stac9460_dac_mute_all() argument 77 old = stac9460_get(ice, idx); in stac9460_dac_mute_all() [all …]
|
D | ak4xxx.c | 26 struct snd_ice1712 *ice = ak->private_data[0]; in snd_ice1712_akm4xxx_lock() local 28 snd_ice1712_save_gpio_status(ice); in snd_ice1712_akm4xxx_lock() 33 struct snd_ice1712 *ice = ak->private_data[0]; in snd_ice1712_akm4xxx_unlock() local 35 snd_ice1712_restore_gpio_status(ice); in snd_ice1712_akm4xxx_unlock() 48 struct snd_ice1712 *ice = ak->private_data[0]; in snd_ice1712_akm4xxx_write() local 53 tmp = snd_ice1712_gpio_read(ice); in snd_ice1712_akm4xxx_write() 61 snd_ice1712_gpio_write(ice, tmp); in snd_ice1712_akm4xxx_write() 68 snd_ice1712_gpio_write(ice, tmp); in snd_ice1712_akm4xxx_write() 78 snd_ice1712_gpio_write(ice, tmp); in snd_ice1712_akm4xxx_write() 85 snd_ice1712_gpio_write(ice, tmp); in snd_ice1712_akm4xxx_write() [all …]
|
D | amp.c | 19 static void wm_put(struct snd_ice1712 *ice, int reg, unsigned short val) in wm_put() argument 23 snd_vt1724_write_i2c(ice, WM_DEV, cval >> 8, cval & 0xff); in wm_put() 26 static int snd_vt1724_amp_init(struct snd_ice1712 *ice) in snd_vt1724_amp_init() argument 40 ice->num_total_dacs = 6; in snd_vt1724_amp_init() 41 ice->num_total_adcs = 2; in snd_vt1724_amp_init() 46 if (ice->eeprom.subvendor == VT1724_SUBDEVICE_AV710) { in snd_vt1724_amp_init() 48 wm_put(ice, wm_inits[i], wm_inits[i+1]); in snd_vt1724_amp_init() 54 static int snd_vt1724_amp_add_controls(struct snd_ice1712 *ice) in snd_vt1724_amp_add_controls() argument 56 if (ice->ac97) in snd_vt1724_amp_add_controls() 59 snd_ac97_write_cache(ice->ac97, 0x5a, in snd_vt1724_amp_add_controls() [all …]
|
D | maya44.c | 69 struct snd_ice1712 *ice; member 76 static void wm8776_write(struct snd_ice1712 *ice, struct snd_wm8776 *wm, in wm8776_write() argument 83 snd_vt1724_write_i2c(ice, wm->addr, in wm8776_write() 92 static int wm8776_write_bits(struct snd_ice1712 *ice, struct snd_wm8776 *wm, in wm8776_write_bits() argument 98 wm8776_write(ice, wm, reg, val); in wm8776_write_bits() 208 changed |= wm8776_write_bits(chip->ice, wm, vol->regs[ch], in maya_vol_put() 211 wm8776_write_bits(chip->ice, wm, WM8776_REG_ADC_MUX, in maya_vol_put() 260 changed = wm8776_write_bits(chip->ice, wm, in maya_sw_put() 283 static int maya_set_gpio_bits(struct snd_ice1712 *ice, unsigned int mask, in maya_set_gpio_bits() argument 287 data = snd_ice1712_gpio_read(ice); in maya_set_gpio_bits() [all …]
|
D | vt1720_mobo.c | 20 static int k8x800_init(struct snd_ice1712 *ice) in k8x800_init() argument 22 ice->vt1720 = 1; in k8x800_init() 25 ice->num_total_dacs = 6; in k8x800_init() 26 ice->num_total_adcs = 2; in k8x800_init() 34 static int k8x800_add_controls(struct snd_ice1712 *ice) in k8x800_add_controls() argument
|
D | envy24ht.h | 39 #define ICEREG1724(ice, x) ((ice)->port + VT1724_REG_##x) argument 117 #define ICEMT1724(ice, x) ((ice)->profi_port + VT1724_MT_##x) argument 203 unsigned char snd_vt1724_read_i2c(struct snd_ice1712 *ice, unsigned char dev, unsigned char addr); 204 void snd_vt1724_write_i2c(struct snd_ice1712 *ice, unsigned char dev, unsigned char addr, unsigned …
|