[ALSA] virtuoso: initialize two-wire control register
authorClemens Ladisch <clemens@ladisch.de>
Fri, 11 Apr 2008 08:25:40 +0000 (10:25 +0200)
committerTakashi Iwai <tiwai@suse.de>
Thu, 24 Apr 2008 10:00:32 +0000 (12:00 +0200)
On the Xonar DX, initialize all bits of the two-wire control register.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/oxygen/virtuoso.c

index 53d7289..c7080d6 100644 (file)
@@ -229,9 +229,10 @@ static void xonar_dx_init(struct oxygen *chip)
        data->ext_power_int_reg = OXYGEN_GPI_INTERRUPT_MASK;
        data->ext_power_bit = GPI_DX_EXT_POWER;
 
-       /* XXX the DACs' datasheets say fast mode is not allowed */
-       oxygen_set_bits16(chip, OXYGEN_2WIRE_BUS_STATUS,
-                         OXYGEN_2WIRE_SPEED_FAST);
+       oxygen_write16(chip, OXYGEN_2WIRE_BUS_STATUS,
+                      OXYGEN_2WIRE_LENGTH_8 |
+                      OXYGEN_2WIRE_INTERRUPT_MASK |
+                      OXYGEN_2WIRE_SPEED_FAST);
 
        /* set CPEN (control port mode) and power down */
        cs4398_write(chip, 8, CS4398_CPEN | CS4398_PDN);