Commit 2979867e authored by Jaroslav Kysela's avatar Jaroslav Kysela

ALSA CVS update - Clemens Ladisch <clemens@ladisch.de>

ICE1712 driver
fix Hoontech DSP* box configuration
parent d9acfcc9
...@@ -83,6 +83,7 @@ static void __devinit snd_ice1712_stdsp24_box_channel(ice1712_t *ice, int box, i ...@@ -83,6 +83,7 @@ static void __devinit snd_ice1712_stdsp24_box_channel(ice1712_t *ice, int box, i
ICE1712_STDSP24_2_CHN4(ice->hoontech_boxbits, 0); ICE1712_STDSP24_2_CHN4(ice->hoontech_boxbits, 0);
ICE1712_STDSP24_2_MIDI1(ice->hoontech_boxbits, activate); ICE1712_STDSP24_2_MIDI1(ice->hoontech_boxbits, activate);
snd_ice1712_stdsp24_gpio_write(ice, ice->hoontech_boxbits[2]); snd_ice1712_stdsp24_gpio_write(ice, ice->hoontech_boxbits[2]);
snd_ice1712_stdsp24_gpio_write(ice, ice->hoontech_boxbits[3]);
ICE1712_STDSP24_1_CHN1(ice->hoontech_boxbits, 1); ICE1712_STDSP24_1_CHN1(ice->hoontech_boxbits, 1);
ICE1712_STDSP24_1_CHN2(ice->hoontech_boxbits, 1); ICE1712_STDSP24_1_CHN2(ice->hoontech_boxbits, 1);
...@@ -117,7 +118,7 @@ static void __devinit snd_ice1712_stdsp24_box_channel(ice1712_t *ice, int box, i ...@@ -117,7 +118,7 @@ static void __devinit snd_ice1712_stdsp24_box_channel(ice1712_t *ice, int box, i
up(&ice->gpio_mutex); up(&ice->gpio_mutex);
} }
static void __devinit snd_ice1712_stdsp24_box_midi(ice1712_t *ice, int box, int master, int slave) static void __devinit snd_ice1712_stdsp24_box_midi(ice1712_t *ice, int box, int master)
{ {
down(&ice->gpio_mutex); down(&ice->gpio_mutex);
...@@ -128,23 +129,26 @@ static void __devinit snd_ice1712_stdsp24_box_midi(ice1712_t *ice, int box, int ...@@ -128,23 +129,26 @@ static void __devinit snd_ice1712_stdsp24_box_midi(ice1712_t *ice, int box, int
ICE1712_STDSP24_2_MIDIIN(ice->hoontech_boxbits, 1); ICE1712_STDSP24_2_MIDIIN(ice->hoontech_boxbits, 1);
ICE1712_STDSP24_2_MIDI1(ice->hoontech_boxbits, master); ICE1712_STDSP24_2_MIDI1(ice->hoontech_boxbits, master);
snd_ice1712_stdsp24_gpio_write(ice, ice->hoontech_boxbits[2]); snd_ice1712_stdsp24_gpio_write(ice, ice->hoontech_boxbits[2]);
snd_ice1712_stdsp24_gpio_write(ice, ice->hoontech_boxbits[3]);
udelay(100); udelay(100);
ICE1712_STDSP24_2_MIDIIN(ice->hoontech_boxbits, 0); ICE1712_STDSP24_2_MIDIIN(ice->hoontech_boxbits, 0);
snd_ice1712_stdsp24_gpio_write(ice, ice->hoontech_boxbits[2]); snd_ice1712_stdsp24_gpio_write(ice, ice->hoontech_boxbits[2]);
udelay(100); mdelay(10);
ICE1712_STDSP24_2_MIDIIN(ice->hoontech_boxbits, 1); ICE1712_STDSP24_2_MIDIIN(ice->hoontech_boxbits, 1);
snd_ice1712_stdsp24_gpio_write(ice, ice->hoontech_boxbits[2]); snd_ice1712_stdsp24_gpio_write(ice, ice->hoontech_boxbits[2]);
udelay(100); up(&ice->gpio_mutex);
}
/* MIDI2 is direct */ static void __devinit snd_ice1712_stdsp24_midi2(ice1712_t *ice, int activate)
ICE1712_STDSP24_3_MIDI2(ice->hoontech_boxbits, slave); {
down(&ice->gpio_mutex);
ICE1712_STDSP24_3_MIDI2(ice->hoontech_boxbits, activate);
snd_ice1712_stdsp24_gpio_write(ice, ice->hoontech_boxbits[3]); snd_ice1712_stdsp24_gpio_write(ice, ice->hoontech_boxbits[3]);
up(&ice->gpio_mutex); up(&ice->gpio_mutex);
} }
...@@ -218,8 +222,9 @@ static int __devinit snd_ice1712_hoontech_init(ice1712_t *ice) ...@@ -218,8 +222,9 @@ static int __devinit snd_ice1712_hoontech_init(ice1712_t *ice)
for (chn = 0; chn < 4; chn++) for (chn = 0; chn < 4; chn++)
snd_ice1712_stdsp24_box_channel(ice, box, chn, (ice->hoontech_boxconfig[box] & (1 << chn)) ? 1 : 0); snd_ice1712_stdsp24_box_channel(ice, box, chn, (ice->hoontech_boxconfig[box] & (1 << chn)) ? 1 : 0);
snd_ice1712_stdsp24_box_midi(ice, box, snd_ice1712_stdsp24_box_midi(ice, box,
(ice->hoontech_boxconfig[box] & ICE1712_STDSP24_BOX_MIDI1) ? 1 : 0, (ice->hoontech_boxconfig[box] & ICE1712_STDSP24_BOX_MIDI1) ? 1 : 0);
(ice->hoontech_boxconfig[box] & ICE1712_STDSP24_BOX_MIDI2) ? 1 : 0); if (ice->hoontech_boxconfig[box] & ICE1712_STDSP24_BOX_MIDI2)
snd_ice1712_stdsp24_midi2(ice, 1);
} }
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment