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 @@  #define GPI_EXT_POWER		0x01  #define GPIO_D1_OUTPUT_ENABLE	0x0001  #define GPIO_D1_FRONT_PANEL	0x0002 +#define GPIO_D1_MAGIC		0x00c0  #define GPIO_D1_INPUT_ROUTE	0x0100  #define I2C_DEVICE_CS4398	0x9e	/* 10011, AD1=1, AD0=1, /W=0 */ @@ -169,7 +170,9 @@ static void xonar_d1_init(struct oxygen *chip)  	cs43xx_registers_init(chip);  	oxygen_set_bits16(chip, OXYGEN_GPIO_CONTROL, -			  GPIO_D1_FRONT_PANEL | GPIO_D1_INPUT_ROUTE); +			  GPIO_D1_FRONT_PANEL | +			  GPIO_D1_MAGIC | +			  GPIO_D1_INPUT_ROUTE);  	oxygen_clear_bits16(chip, OXYGEN_GPIO_DATA,  			    GPIO_D1_FRONT_PANEL | GPIO_D1_INPUT_ROUTE); 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 @@  #define GPIO_INPUT_ROUTE	0x0100  #define GPIO_HDAV_OUTPUT_ENABLE	0x0001 +#define GPIO_HDAV_MAGIC		0x00c0  #define GPIO_DB_MASK		0x0030  #define GPIO_DB_H6		0x0000  #define GPIO_ST_OUTPUT_ENABLE	0x0001  #define GPIO_ST_HP_REAR		0x0002 +#define GPIO_ST_MAGIC		0x0040  #define GPIO_ST_HP		0x0080  #define I2C_DEVICE_PCM1796(i)	(0x98 + ((i) << 1))	/* 10011, ii, /W=0 */ @@ -350,7 +352,8 @@ static void xonar_hdav_init(struct oxygen *chip)  	pcm1796_init(chip); -	oxygen_set_bits16(chip, OXYGEN_GPIO_CONTROL, GPIO_INPUT_ROUTE); +	oxygen_set_bits16(chip, OXYGEN_GPIO_CONTROL, +			  GPIO_HDAV_MAGIC | GPIO_INPUT_ROUTE);  	oxygen_clear_bits16(chip, OXYGEN_GPIO_DATA, GPIO_INPUT_ROUTE);  	xonar_init_cs53x1(chip); @@ -381,7 +384,8 @@ static void xonar_st_init_common(struct oxygen *chip)  	pcm1796_init(chip);  	oxygen_set_bits16(chip, OXYGEN_GPIO_CONTROL, -			  GPIO_INPUT_ROUTE | GPIO_ST_HP_REAR | GPIO_ST_HP); +			  GPIO_INPUT_ROUTE | GPIO_ST_HP_REAR | +			  GPIO_ST_MAGIC | GPIO_ST_HP);  	oxygen_clear_bits16(chip, OXYGEN_GPIO_DATA,  			    GPIO_INPUT_ROUTE | GPIO_ST_HP_REAR | GPIO_ST_HP); |