+/* DAC and De-emphasis Filter Functions */
+int aic3x_deemph_set_coeffs(struct snd_soc_codec *codec,
+ int N0, int N1, int D1){
+ printk("MNZ: setting deemph coeffs\n");
+ snd_soc_update_bits(codec, AIC3X_CODEC_DFILT_CTRL, DEEMPH_ON, 0);
+
+ aic3x_write_coeff(codec, DEEMPH_LEFT_N0, N0);
+ aic3x_write_coeff(codec, DEEMPH_LEFT_N1, N1);
+ aic3x_write_coeff(codec, DEEMPH_LEFT_D1, D1);
+ aic3x_write_coeff(codec, DEEMPH_RIGHT_N0, N0);
+ aic3x_write_coeff(codec, DEEMPH_RIGHT_N1, N1);
+ aic3x_write_coeff(codec, DEEMPH_RIGHT_D1, D1);
+
+ return 0;
+}
+EXPORT_SYMBOL_GPL(aic3x_deemph_set_coeffs);
+
+int aic3x_deemph_set_state(struct snd_soc_codec *codec, int state){
+ printk("MNZ: Setting De-Emph filter: %i\n", state);
+ if(state) state = DEEMPH_ON;
+ else state = 0;
+ return snd_soc_update_bits(codec, AIC3X_CODEC_DFILT_CTRL,
+ DEEMPH_ON, state);
+}
+EXPORT_SYMBOL_GPL(aic3x_deemph_set_state);