提交 d91b424d 编写于 作者: C Clemens Ladisch 提交者: Takashi Iwai

sound: oxygen: handle AK5385 ADC on Claro halo cards

The HT-Omega Claro halo's ADC is an AK5385 instead of a WM8785, so we
should handle the ADC parameters as we do with the X-Meridian.

Using the code for the wrong ADC does not seem to have any audible
effects, and the Windows driver does it, but it is nonetheless a good
idea to run the AK5385 with an oversampling ratio that is not outside
the documented limits.
Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
Signed-off-by: NTakashi Iwai <tiwai@suse.de>
上级 1275d6f6
......@@ -196,6 +196,12 @@ static void meridian_init(struct oxygen *chip)
ak5385_init(chip);
}
static void halo_init(struct oxygen *chip)
{
ak4396_init(chip);
ak5385_init(chip);
}
static void generic_cleanup(struct oxygen *chip)
{
}
......@@ -211,6 +217,11 @@ static void meridian_resume(struct oxygen *chip)
ak4396_registers_init(chip);
}
static void halo_resume(struct oxygen *chip)
{
ak4396_registers_init(chip);
}
static void set_ak4396_params(struct oxygen *chip,
struct snd_pcm_hw_params *params)
{
......@@ -335,6 +346,11 @@ static int __devinit get_oxygen_model(struct oxygen *chip,
CAPTURE_0_FROM_I2S_2 |
CAPTURE_1_FROM_SPDIF;
break;
case MODEL_HALO:
chip->model.init = halo_init;
chip->model.resume = halo_resume;
chip->model.set_adc_params = set_ak5385_params;
break;
}
if (id->driver_data == MODEL_MERIDIAN ||
id->driver_data == MODEL_HALO) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册