Lines Matching +full:activate +full:- +full:to +full:- +full:activate
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
36 /* Hoontech-specific setting */
56 static void __devinit snd_ice1712_stdsp24_darear(struct snd_ice1712 *ice, int activate) in snd_ice1712_stdsp24_darear() argument
58 struct hoontech_spec *spec = ice->spec; in snd_ice1712_stdsp24_darear()
59 mutex_lock(&ice->gpio_mutex); in snd_ice1712_stdsp24_darear()
60 ICE1712_STDSP24_0_DAREAR(spec->boxbits, activate); in snd_ice1712_stdsp24_darear()
61 snd_ice1712_stdsp24_gpio_write(ice, spec->boxbits[0]); in snd_ice1712_stdsp24_darear()
62 mutex_unlock(&ice->gpio_mutex); in snd_ice1712_stdsp24_darear()
65 static void __devinit snd_ice1712_stdsp24_mute(struct snd_ice1712 *ice, int activate) in snd_ice1712_stdsp24_mute() argument
67 struct hoontech_spec *spec = ice->spec; in snd_ice1712_stdsp24_mute()
68 mutex_lock(&ice->gpio_mutex); in snd_ice1712_stdsp24_mute()
69 ICE1712_STDSP24_3_MUTE(spec->boxbits, activate); in snd_ice1712_stdsp24_mute()
70 snd_ice1712_stdsp24_gpio_write(ice, spec->boxbits[3]); in snd_ice1712_stdsp24_mute()
71 mutex_unlock(&ice->gpio_mutex); in snd_ice1712_stdsp24_mute()
74 static void __devinit snd_ice1712_stdsp24_insel(struct snd_ice1712 *ice, int activate) in snd_ice1712_stdsp24_insel() argument
76 struct hoontech_spec *spec = ice->spec; in snd_ice1712_stdsp24_insel()
77 mutex_lock(&ice->gpio_mutex); in snd_ice1712_stdsp24_insel()
78 ICE1712_STDSP24_3_INSEL(spec->boxbits, activate); in snd_ice1712_stdsp24_insel()
79 snd_ice1712_stdsp24_gpio_write(ice, spec->boxbits[3]); in snd_ice1712_stdsp24_insel()
80 mutex_unlock(&ice->gpio_mutex); in snd_ice1712_stdsp24_insel()
83 … __devinit snd_ice1712_stdsp24_box_channel(struct snd_ice1712 *ice, int box, int chn, int activate) in snd_ice1712_stdsp24_box_channel() argument
85 struct hoontech_spec *spec = ice->spec; in snd_ice1712_stdsp24_box_channel()
87 mutex_lock(&ice->gpio_mutex); in snd_ice1712_stdsp24_box_channel()
90 ICE1712_STDSP24_0_BOX(spec->boxbits, box); in snd_ice1712_stdsp24_box_channel()
91 snd_ice1712_stdsp24_gpio_write(ice, spec->boxbits[0]); in snd_ice1712_stdsp24_box_channel()
95 ICE1712_STDSP24_2_CHN4(spec->boxbits, 0); in snd_ice1712_stdsp24_box_channel()
96 ICE1712_STDSP24_2_MIDI1(spec->boxbits, activate); in snd_ice1712_stdsp24_box_channel()
97 snd_ice1712_stdsp24_gpio_write(ice, spec->boxbits[2]); in snd_ice1712_stdsp24_box_channel()
98 snd_ice1712_stdsp24_gpio_write(ice, spec->boxbits[3]); in snd_ice1712_stdsp24_box_channel()
100 ICE1712_STDSP24_1_CHN1(spec->boxbits, 1); in snd_ice1712_stdsp24_box_channel()
101 ICE1712_STDSP24_1_CHN2(spec->boxbits, 1); in snd_ice1712_stdsp24_box_channel()
102 ICE1712_STDSP24_1_CHN3(spec->boxbits, 1); in snd_ice1712_stdsp24_box_channel()
103 ICE1712_STDSP24_2_CHN4(spec->boxbits, 1); in snd_ice1712_stdsp24_box_channel()
104 snd_ice1712_stdsp24_gpio_write(ice, spec->boxbits[1]); in snd_ice1712_stdsp24_box_channel()
105 snd_ice1712_stdsp24_gpio_write(ice, spec->boxbits[2]); in snd_ice1712_stdsp24_box_channel()
108 ICE1712_STDSP24_2_CHN4(spec->boxbits, 0); in snd_ice1712_stdsp24_box_channel()
109 snd_ice1712_stdsp24_gpio_write(ice, spec->boxbits[2]); in snd_ice1712_stdsp24_box_channel()
112 case 0: ICE1712_STDSP24_1_CHN1(spec->boxbits, 0); break; in snd_ice1712_stdsp24_box_channel()
113 case 1: ICE1712_STDSP24_1_CHN2(spec->boxbits, 0); break; in snd_ice1712_stdsp24_box_channel()
114 case 2: ICE1712_STDSP24_1_CHN3(spec->boxbits, 0); break; in snd_ice1712_stdsp24_box_channel()
116 snd_ice1712_stdsp24_gpio_write(ice, spec->boxbits[1]); in snd_ice1712_stdsp24_box_channel()
119 ICE1712_STDSP24_1_CHN1(spec->boxbits, 1); in snd_ice1712_stdsp24_box_channel()
120 ICE1712_STDSP24_1_CHN2(spec->boxbits, 1); in snd_ice1712_stdsp24_box_channel()
121 ICE1712_STDSP24_1_CHN3(spec->boxbits, 1); in snd_ice1712_stdsp24_box_channel()
122 ICE1712_STDSP24_2_CHN4(spec->boxbits, 1); in snd_ice1712_stdsp24_box_channel()
123 snd_ice1712_stdsp24_gpio_write(ice, spec->boxbits[1]); in snd_ice1712_stdsp24_box_channel()
124 snd_ice1712_stdsp24_gpio_write(ice, spec->boxbits[2]); in snd_ice1712_stdsp24_box_channel()
127 ICE1712_STDSP24_2_MIDI1(spec->boxbits, 0); in snd_ice1712_stdsp24_box_channel()
128 snd_ice1712_stdsp24_gpio_write(ice, spec->boxbits[2]); in snd_ice1712_stdsp24_box_channel()
130 mutex_unlock(&ice->gpio_mutex); in snd_ice1712_stdsp24_box_channel()
135 struct hoontech_spec *spec = ice->spec; in snd_ice1712_stdsp24_box_midi()
137 mutex_lock(&ice->gpio_mutex); in snd_ice1712_stdsp24_box_midi()
140 ICE1712_STDSP24_0_BOX(spec->boxbits, box); in snd_ice1712_stdsp24_box_midi()
141 snd_ice1712_stdsp24_gpio_write(ice, spec->boxbits[0]); in snd_ice1712_stdsp24_box_midi()
143 ICE1712_STDSP24_2_MIDIIN(spec->boxbits, 1); in snd_ice1712_stdsp24_box_midi()
144 ICE1712_STDSP24_2_MIDI1(spec->boxbits, master); in snd_ice1712_stdsp24_box_midi()
145 snd_ice1712_stdsp24_gpio_write(ice, spec->boxbits[2]); in snd_ice1712_stdsp24_box_midi()
146 snd_ice1712_stdsp24_gpio_write(ice, spec->boxbits[3]); in snd_ice1712_stdsp24_box_midi()
150 ICE1712_STDSP24_2_MIDIIN(spec->boxbits, 0); in snd_ice1712_stdsp24_box_midi()
151 snd_ice1712_stdsp24_gpio_write(ice, spec->boxbits[2]); in snd_ice1712_stdsp24_box_midi()
155 ICE1712_STDSP24_2_MIDIIN(spec->boxbits, 1); in snd_ice1712_stdsp24_box_midi()
156 snd_ice1712_stdsp24_gpio_write(ice, spec->boxbits[2]); in snd_ice1712_stdsp24_box_midi()
158 mutex_unlock(&ice->gpio_mutex); in snd_ice1712_stdsp24_box_midi()
161 static void __devinit snd_ice1712_stdsp24_midi2(struct snd_ice1712 *ice, int activate) in snd_ice1712_stdsp24_midi2() argument
163 struct hoontech_spec *spec = ice->spec; in snd_ice1712_stdsp24_midi2()
164 mutex_lock(&ice->gpio_mutex); in snd_ice1712_stdsp24_midi2()
165 ICE1712_STDSP24_3_MIDI2(spec->boxbits, activate); in snd_ice1712_stdsp24_midi2()
166 snd_ice1712_stdsp24_gpio_write(ice, spec->boxbits[3]); in snd_ice1712_stdsp24_midi2()
167 mutex_unlock(&ice->gpio_mutex); in snd_ice1712_stdsp24_midi2()
175 ice->num_total_dacs = 8; in snd_ice1712_hoontech_init()
176 ice->num_total_adcs = 8; in snd_ice1712_hoontech_init()
180 return -ENOMEM; in snd_ice1712_hoontech_init()
181 ice->spec = spec; in snd_ice1712_hoontech_init()
183 ICE1712_STDSP24_SET_ADDR(spec->boxbits, 0); in snd_ice1712_hoontech_init()
184 ICE1712_STDSP24_CLOCK(spec->boxbits, 0, 1); in snd_ice1712_hoontech_init()
185 ICE1712_STDSP24_0_BOX(spec->boxbits, 0); in snd_ice1712_hoontech_init()
186 ICE1712_STDSP24_0_DAREAR(spec->boxbits, 0); in snd_ice1712_hoontech_init()
188 ICE1712_STDSP24_SET_ADDR(spec->boxbits, 1); in snd_ice1712_hoontech_init()
189 ICE1712_STDSP24_CLOCK(spec->boxbits, 1, 1); in snd_ice1712_hoontech_init()
190 ICE1712_STDSP24_1_CHN1(spec->boxbits, 1); in snd_ice1712_hoontech_init()
191 ICE1712_STDSP24_1_CHN2(spec->boxbits, 1); in snd_ice1712_hoontech_init()
192 ICE1712_STDSP24_1_CHN3(spec->boxbits, 1); in snd_ice1712_hoontech_init()
194 ICE1712_STDSP24_SET_ADDR(spec->boxbits, 2); in snd_ice1712_hoontech_init()
195 ICE1712_STDSP24_CLOCK(spec->boxbits, 2, 1); in snd_ice1712_hoontech_init()
196 ICE1712_STDSP24_2_CHN4(spec->boxbits, 1); in snd_ice1712_hoontech_init()
197 ICE1712_STDSP24_2_MIDIIN(spec->boxbits, 1); in snd_ice1712_hoontech_init()
198 ICE1712_STDSP24_2_MIDI1(spec->boxbits, 0); in snd_ice1712_hoontech_init()
200 ICE1712_STDSP24_SET_ADDR(spec->boxbits, 3); in snd_ice1712_hoontech_init()
201 ICE1712_STDSP24_CLOCK(spec->boxbits, 3, 1); in snd_ice1712_hoontech_init()
202 ICE1712_STDSP24_3_MIDI2(spec->boxbits, 0); in snd_ice1712_hoontech_init()
203 ICE1712_STDSP24_3_MUTE(spec->boxbits, 1); in snd_ice1712_hoontech_init()
204 ICE1712_STDSP24_3_INSEL(spec->boxbits, 0); in snd_ice1712_hoontech_init()
206 /* let's go - activate only functions in first box */ in snd_ice1712_hoontech_init()
207 spec->config = 0; in snd_ice1712_hoontech_init()
212 * The code is not optimal, but should now enable a working config to in snd_ice1712_hoontech_init()
215 * ICE1712_STDSP24_BOX_MIDI1 needs to be set for that box. in snd_ice1712_hoontech_init()
219 * on the same box connects MIDI-In to both 401 uarts; both outputs in snd_ice1712_hoontech_init()
224 spec->boxconfig[0] = ICE1712_STDSP24_BOX_CHN1 | in snd_ice1712_hoontech_init()
230 spec->boxconfig[1] = in snd_ice1712_hoontech_init()
231 spec->boxconfig[2] = in snd_ice1712_hoontech_init()
232 spec->boxconfig[3] = 0; in snd_ice1712_hoontech_init()
234 (spec->config & ICE1712_STDSP24_DAREAR) ? 1 : 0); in snd_ice1712_hoontech_init()
236 (spec->config & ICE1712_STDSP24_MUTE) ? 1 : 0); in snd_ice1712_hoontech_init()
238 (spec->config & ICE1712_STDSP24_INSEL) ? 1 : 0); in snd_ice1712_hoontech_init()
240 if (spec->boxconfig[box] & ICE1712_STDSP24_BOX_MIDI2) in snd_ice1712_hoontech_init()
244 (spec->boxconfig[box] & (1 << chn)) ? 1 : 0); in snd_ice1712_hoontech_init()
245 if (spec->boxconfig[box] & ICE1712_STDSP24_BOX_MIDI1) in snd_ice1712_hoontech_init()
259 struct snd_ice1712 *ice = ak->private_data[0]; in stdsp24_ak4524_lock()
266 ice->gpio.direction | tmp); in stdsp24_ak4524_lock()
297 ice->num_total_dacs = 2; in snd_ice1712_value_init()
300 ice->num_total_adcs = 2; in snd_ice1712_value_init()
303 ak = ice->akm = kmalloc(sizeof(struct snd_akm4xxx), GFP_KERNEL); in snd_ice1712_value_init()
305 return -ENOMEM; in snd_ice1712_value_init()
306 ice->akm_codecs = 1; in snd_ice1712_value_init()
322 ice->gpio.write_mask = ice->eeprom.gpiomask; in snd_ice1712_ez8_init()
323 ice->gpio.direction = ice->eeprom.gpiodir; in snd_ice1712_ez8_init()
324 snd_ice1712_write(ice, ICE1712_IREG_GPIO_WRITE_MASK, ice->eeprom.gpiomask); in snd_ice1712_ez8_init()
325 snd_ice1712_write(ice, ICE1712_IREG_GPIO_DIRECTION, ice->eeprom.gpiodir); in snd_ice1712_ez8_init()
326 snd_ice1712_write(ice, ICE1712_IREG_GPIO_DATA, ice->eeprom.gpiostate); in snd_ice1712_ez8_init()
338 .mpu401_1_name = "MIDI-1 Hoontech/STA DSP24",
339 .mpu401_2_name = "MIDI-2 Hoontech/STA DSP24",