diff options
-rw-r--r-- | sound/pci/oxygen/xonar_cs43xx.c | 5 | ||||
-rw-r--r-- | sound/pci/oxygen/xonar_pcm179x.c | 8 |
2 files changed, 10 insertions, 3 deletions
diff --git a/sound/pci/oxygen/xonar_cs43xx.c b/sound/pci/oxygen/xonar_cs43xx.c index aa27c31049af..ae4e5b512483 100644 --- a/sound/pci/oxygen/xonar_cs43xx.c +++ b/sound/pci/oxygen/xonar_cs43xx.c | |||
@@ -63,6 +63,7 @@ | |||
63 | #define GPI_EXT_POWER 0x01 | 63 | #define GPI_EXT_POWER 0x01 |
64 | #define GPIO_D1_OUTPUT_ENABLE 0x0001 | 64 | #define GPIO_D1_OUTPUT_ENABLE 0x0001 |
65 | #define GPIO_D1_FRONT_PANEL 0x0002 | 65 | #define GPIO_D1_FRONT_PANEL 0x0002 |
66 | #define GPIO_D1_MAGIC 0x00c0 | ||
66 | #define GPIO_D1_INPUT_ROUTE 0x0100 | 67 | #define GPIO_D1_INPUT_ROUTE 0x0100 |
67 | 68 | ||
68 | #define I2C_DEVICE_CS4398 0x9e /* 10011, AD1=1, AD0=1, /W=0 */ | 69 | #define I2C_DEVICE_CS4398 0x9e /* 10011, AD1=1, AD0=1, /W=0 */ |
@@ -169,7 +170,9 @@ static void xonar_d1_init(struct oxygen *chip) | |||
169 | cs43xx_registers_init(chip); | 170 | cs43xx_registers_init(chip); |
170 | 171 | ||
171 | oxygen_set_bits16(chip, OXYGEN_GPIO_CONTROL, | 172 | oxygen_set_bits16(chip, OXYGEN_GPIO_CONTROL, |
172 | GPIO_D1_FRONT_PANEL | GPIO_D1_INPUT_ROUTE); | 173 | GPIO_D1_FRONT_PANEL | |
174 | GPIO_D1_MAGIC | | ||
175 | GPIO_D1_INPUT_ROUTE); | ||
173 | oxygen_clear_bits16(chip, OXYGEN_GPIO_DATA, | 176 | oxygen_clear_bits16(chip, OXYGEN_GPIO_DATA, |
174 | GPIO_D1_FRONT_PANEL | GPIO_D1_INPUT_ROUTE); | 177 | GPIO_D1_FRONT_PANEL | GPIO_D1_INPUT_ROUTE); |
175 | 178 | ||
diff --git a/sound/pci/oxygen/xonar_pcm179x.c b/sound/pci/oxygen/xonar_pcm179x.c index d491fd6c0be2..fe4b2655a252 100644 --- a/sound/pci/oxygen/xonar_pcm179x.c +++ b/sound/pci/oxygen/xonar_pcm179x.c | |||
@@ -167,12 +167,14 @@ | |||
167 | #define GPIO_INPUT_ROUTE 0x0100 | 167 | #define GPIO_INPUT_ROUTE 0x0100 |
168 | 168 | ||
169 | #define GPIO_HDAV_OUTPUT_ENABLE 0x0001 | 169 | #define GPIO_HDAV_OUTPUT_ENABLE 0x0001 |
170 | #define GPIO_HDAV_MAGIC 0x00c0 | ||
170 | 171 | ||
171 | #define GPIO_DB_MASK 0x0030 | 172 | #define GPIO_DB_MASK 0x0030 |
172 | #define GPIO_DB_H6 0x0000 | 173 | #define GPIO_DB_H6 0x0000 |
173 | 174 | ||
174 | #define GPIO_ST_OUTPUT_ENABLE 0x0001 | 175 | #define GPIO_ST_OUTPUT_ENABLE 0x0001 |
175 | #define GPIO_ST_HP_REAR 0x0002 | 176 | #define GPIO_ST_HP_REAR 0x0002 |
177 | #define GPIO_ST_MAGIC 0x0040 | ||
176 | #define GPIO_ST_HP 0x0080 | 178 | #define GPIO_ST_HP 0x0080 |
177 | 179 | ||
178 | #define I2C_DEVICE_PCM1796(i) (0x98 + ((i) << 1)) /* 10011, ii, /W=0 */ | 180 | #define I2C_DEVICE_PCM1796(i) (0x98 + ((i) << 1)) /* 10011, ii, /W=0 */ |
@@ -350,7 +352,8 @@ static void xonar_hdav_init(struct oxygen *chip) | |||
350 | 352 | ||
351 | pcm1796_init(chip); | 353 | pcm1796_init(chip); |
352 | 354 | ||
353 | oxygen_set_bits16(chip, OXYGEN_GPIO_CONTROL, GPIO_INPUT_ROUTE); | 355 | oxygen_set_bits16(chip, OXYGEN_GPIO_CONTROL, |
356 | GPIO_HDAV_MAGIC | GPIO_INPUT_ROUTE); | ||
354 | oxygen_clear_bits16(chip, OXYGEN_GPIO_DATA, GPIO_INPUT_ROUTE); | 357 | oxygen_clear_bits16(chip, OXYGEN_GPIO_DATA, GPIO_INPUT_ROUTE); |
355 | 358 | ||
356 | xonar_init_cs53x1(chip); | 359 | xonar_init_cs53x1(chip); |
@@ -381,7 +384,8 @@ static void xonar_st_init_common(struct oxygen *chip) | |||
381 | pcm1796_init(chip); | 384 | pcm1796_init(chip); |
382 | 385 | ||
383 | oxygen_set_bits16(chip, OXYGEN_GPIO_CONTROL, | 386 | oxygen_set_bits16(chip, OXYGEN_GPIO_CONTROL, |
384 | GPIO_INPUT_ROUTE | GPIO_ST_HP_REAR | GPIO_ST_HP); | 387 | GPIO_INPUT_ROUTE | GPIO_ST_HP_REAR | |
388 | GPIO_ST_MAGIC | GPIO_ST_HP); | ||
385 | oxygen_clear_bits16(chip, OXYGEN_GPIO_DATA, | 389 | oxygen_clear_bits16(chip, OXYGEN_GPIO_DATA, |
386 | GPIO_INPUT_ROUTE | GPIO_ST_HP_REAR | GPIO_ST_HP); | 390 | GPIO_INPUT_ROUTE | GPIO_ST_HP_REAR | GPIO_ST_HP); |
387 | 391 | ||