|
@@ -304,9 +304,9 @@ static const struct soc_enum pcm512x_veds =
|
|
static const struct snd_kcontrol_new pcm512x_controls[] = {
|
|
static const struct snd_kcontrol_new pcm512x_controls[] = {
|
|
SOC_DOUBLE_R_TLV("Digital Playback Volume", PCM512x_DIGITAL_VOLUME_2,
|
|
SOC_DOUBLE_R_TLV("Digital Playback Volume", PCM512x_DIGITAL_VOLUME_2,
|
|
PCM512x_DIGITAL_VOLUME_3, 0, 255, 1, digital_tlv),
|
|
PCM512x_DIGITAL_VOLUME_3, 0, 255, 1, digital_tlv),
|
|
-SOC_DOUBLE_TLV("Playback Volume", PCM512x_ANALOG_GAIN_CTRL,
|
|
|
|
|
|
+SOC_DOUBLE_TLV("Analogue Playback Volume", PCM512x_ANALOG_GAIN_CTRL,
|
|
PCM512x_LAGN_SHIFT, PCM512x_RAGN_SHIFT, 1, 1, analog_tlv),
|
|
PCM512x_LAGN_SHIFT, PCM512x_RAGN_SHIFT, 1, 1, analog_tlv),
|
|
-SOC_DOUBLE_TLV("Playback Boost Volume", PCM512x_ANALOG_GAIN_BOOST,
|
|
|
|
|
|
+SOC_DOUBLE_TLV("Analogue Playback Boost Volume", PCM512x_ANALOG_GAIN_BOOST,
|
|
PCM512x_AGBL_SHIFT, PCM512x_AGBR_SHIFT, 1, 0, boost_tlv),
|
|
PCM512x_AGBL_SHIFT, PCM512x_AGBR_SHIFT, 1, 0, boost_tlv),
|
|
SOC_DOUBLE("Digital Playback Switch", PCM512x_MUTE, PCM512x_RQML_SHIFT,
|
|
SOC_DOUBLE("Digital Playback Switch", PCM512x_MUTE, PCM512x_RQML_SHIFT,
|
|
PCM512x_RQMR_SHIFT, 1, 1),
|
|
PCM512x_RQMR_SHIFT, 1, 1),
|
|
@@ -576,8 +576,8 @@ static int pcm512x_find_pll_coeff(struct snd_soc_dai *dai,
|
|
|
|
|
|
/* pllin_rate / P (or here, den) cannot be greater than 20 MHz */
|
|
/* pllin_rate / P (or here, den) cannot be greater than 20 MHz */
|
|
if (pllin_rate / den > 20000000 && num < 8) {
|
|
if (pllin_rate / den > 20000000 && num < 8) {
|
|
- num *= 20000000 / (pllin_rate / den);
|
|
|
|
- den *= 20000000 / (pllin_rate / den);
|
|
|
|
|
|
+ num *= DIV_ROUND_UP(pllin_rate / den, 20000000);
|
|
|
|
+ den *= DIV_ROUND_UP(pllin_rate / den, 20000000);
|
|
}
|
|
}
|
|
dev_dbg(dev, "num / den = %lu / %lu\n", num, den);
|
|
dev_dbg(dev, "num / den = %lu / %lu\n", num, den);
|
|
|
|
|