Loading sound/pci/oxygen/hifier.c +6 −1 Original line number Diff line number Diff line Loading @@ -94,6 +94,11 @@ static void hifier_cleanup(struct oxygen *chip) { } static void hifier_resume(struct oxygen *chip) { hifier_registers_init(chip); } static void set_ak4396_params(struct oxygen *chip, struct snd_pcm_hw_params *params) { Loading Loading @@ -150,7 +155,7 @@ static const struct oxygen_model model_hifier = { .init = hifier_init, .control_filter = hifier_control_filter, .cleanup = hifier_cleanup, .resume = hifier_registers_init, .resume = hifier_resume, .set_dac_params = set_ak4396_params, .set_adc_params = set_cs5340_params, .update_dac_volume = update_ak4396_volume, Loading sound/pci/oxygen/oxygen.c +6 −1 Original line number Diff line number Diff line Loading @@ -204,6 +204,11 @@ static void generic_resume(struct oxygen *chip) wm8785_registers_init(chip); } static void meridian_resume(struct oxygen *chip) { ak4396_registers_init(chip); } static void set_ak4396_params(struct oxygen *chip, struct snd_pcm_hw_params *params) { Loading Loading @@ -290,7 +295,7 @@ static int generic_probe(struct oxygen *chip, unsigned long driver_data) { if (driver_data == MODEL_MERIDIAN) { chip->model.init = meridian_init; chip->model.resume = ak4396_registers_init; chip->model.resume = meridian_resume; chip->model.set_adc_params = set_ak5385_params; chip->model.device_config = PLAYBACK_0_TO_I2S | PLAYBACK_1_TO_SPDIF | Loading sound/pci/oxygen/virtuoso.c +20 −5 Original line number Diff line number Diff line Loading @@ -349,20 +349,35 @@ static void xonar_d1_init(struct oxygen *chip) snd_component_add(chip->card, "CS5361"); } static void xonar_cleanup(struct oxygen *chip) static void xonar_disable_output(struct oxygen *chip) { struct xonar_data *data = chip->model_data; oxygen_clear_bits16(chip, OXYGEN_GPIO_DATA, data->output_enable_bit); } static void xonar_d2_cleanup(struct oxygen *chip) { xonar_disable_output(chip); } static void xonar_d1_cleanup(struct oxygen *chip) { xonar_cleanup(chip); xonar_disable_output(chip); cs4362a_write(chip, 0x01, CS4362A_PDN | CS4362A_CPEN); oxygen_clear_bits8(chip, OXYGEN_FUNCTION, OXYGEN_FUNCTION_RESET_CODEC); } static void xonar_d2_suspend(struct oxygen *chip) { xonar_d2_cleanup(chip); } static void xonar_d1_suspend(struct oxygen *chip) { xonar_d1_cleanup(chip); } static void xonar_d2_resume(struct oxygen *chip) { pcm1796_init(chip); Loading Loading @@ -557,8 +572,8 @@ static const struct oxygen_model model_xonar_d2 = { .init = xonar_d2_init, .control_filter = xonar_d2_control_filter, .mixer_init = xonar_d2_mixer_init, .cleanup = xonar_cleanup, .suspend = xonar_cleanup, .cleanup = xonar_d2_cleanup, .suspend = xonar_d2_suspend, .resume = xonar_d2_resume, .set_dac_params = set_pcm1796_params, .set_adc_params = set_cs53x1_params, Loading Loading @@ -591,7 +606,7 @@ static const struct oxygen_model model_xonar_d1 = { .control_filter = xonar_d1_control_filter, .mixer_init = xonar_d1_mixer_init, .cleanup = xonar_d1_cleanup, .suspend = xonar_d1_cleanup, .suspend = xonar_d1_suspend, .resume = xonar_d1_resume, .set_dac_params = set_cs43xx_params, .set_adc_params = set_cs53x1_params, Loading Loading
sound/pci/oxygen/hifier.c +6 −1 Original line number Diff line number Diff line Loading @@ -94,6 +94,11 @@ static void hifier_cleanup(struct oxygen *chip) { } static void hifier_resume(struct oxygen *chip) { hifier_registers_init(chip); } static void set_ak4396_params(struct oxygen *chip, struct snd_pcm_hw_params *params) { Loading Loading @@ -150,7 +155,7 @@ static const struct oxygen_model model_hifier = { .init = hifier_init, .control_filter = hifier_control_filter, .cleanup = hifier_cleanup, .resume = hifier_registers_init, .resume = hifier_resume, .set_dac_params = set_ak4396_params, .set_adc_params = set_cs5340_params, .update_dac_volume = update_ak4396_volume, Loading
sound/pci/oxygen/oxygen.c +6 −1 Original line number Diff line number Diff line Loading @@ -204,6 +204,11 @@ static void generic_resume(struct oxygen *chip) wm8785_registers_init(chip); } static void meridian_resume(struct oxygen *chip) { ak4396_registers_init(chip); } static void set_ak4396_params(struct oxygen *chip, struct snd_pcm_hw_params *params) { Loading Loading @@ -290,7 +295,7 @@ static int generic_probe(struct oxygen *chip, unsigned long driver_data) { if (driver_data == MODEL_MERIDIAN) { chip->model.init = meridian_init; chip->model.resume = ak4396_registers_init; chip->model.resume = meridian_resume; chip->model.set_adc_params = set_ak5385_params; chip->model.device_config = PLAYBACK_0_TO_I2S | PLAYBACK_1_TO_SPDIF | Loading
sound/pci/oxygen/virtuoso.c +20 −5 Original line number Diff line number Diff line Loading @@ -349,20 +349,35 @@ static void xonar_d1_init(struct oxygen *chip) snd_component_add(chip->card, "CS5361"); } static void xonar_cleanup(struct oxygen *chip) static void xonar_disable_output(struct oxygen *chip) { struct xonar_data *data = chip->model_data; oxygen_clear_bits16(chip, OXYGEN_GPIO_DATA, data->output_enable_bit); } static void xonar_d2_cleanup(struct oxygen *chip) { xonar_disable_output(chip); } static void xonar_d1_cleanup(struct oxygen *chip) { xonar_cleanup(chip); xonar_disable_output(chip); cs4362a_write(chip, 0x01, CS4362A_PDN | CS4362A_CPEN); oxygen_clear_bits8(chip, OXYGEN_FUNCTION, OXYGEN_FUNCTION_RESET_CODEC); } static void xonar_d2_suspend(struct oxygen *chip) { xonar_d2_cleanup(chip); } static void xonar_d1_suspend(struct oxygen *chip) { xonar_d1_cleanup(chip); } static void xonar_d2_resume(struct oxygen *chip) { pcm1796_init(chip); Loading Loading @@ -557,8 +572,8 @@ static const struct oxygen_model model_xonar_d2 = { .init = xonar_d2_init, .control_filter = xonar_d2_control_filter, .mixer_init = xonar_d2_mixer_init, .cleanup = xonar_cleanup, .suspend = xonar_cleanup, .cleanup = xonar_d2_cleanup, .suspend = xonar_d2_suspend, .resume = xonar_d2_resume, .set_dac_params = set_pcm1796_params, .set_adc_params = set_cs53x1_params, Loading Loading @@ -591,7 +606,7 @@ static const struct oxygen_model model_xonar_d1 = { .control_filter = xonar_d1_control_filter, .mixer_init = xonar_d1_mixer_init, .cleanup = xonar_d1_cleanup, .suspend = xonar_d1_cleanup, .suspend = xonar_d1_suspend, .resume = xonar_d1_resume, .set_dac_params = set_cs43xx_params, .set_adc_params = set_cs53x1_params, Loading