Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/sound/soc/sunxi/sun4i-spdif.c b/sound/soc/sunxi/sun4i-spdif.c
- index cbe598b0f..08f0ed3e9 100644
- --- a/sound/soc/sunxi/sun4i-spdif.c
- +++ b/sound/soc/sunxi/sun4i-spdif.c
- @@ -175,6 +175,7 @@ struct sun4i_spdif_quirks {
- unsigned int reg_dac_txdata;
- bool has_reset;
- unsigned int val_fctl_ftx;
- + unsigned int mclk_multiplier;
- };
- struct sun4i_spdif_dev {
- @@ -311,6 +312,7 @@ static int sun4i_spdif_hw_params(struct snd_pcm_substream *substream,
- default:
- return -EINVAL;
- }
- + mclk *= host->quirks->mclk_multiplier;
- ret = clk_set_rate(host->spdif_clk, mclk);
- if (ret < 0) {
- @@ -345,6 +347,7 @@ static int sun4i_spdif_hw_params(struct snd_pcm_substream *substream,
- default:
- return -EINVAL;
- }
- + mclk_div *= host->quirks->mclk_multiplier;
- reg_val = 0;
- reg_val |= SUN4I_SPDIF_TXCFG_ASS;
- @@ -427,24 +430,28 @@ static struct snd_soc_dai_driver sun4i_spdif_dai = {
- static const struct sun4i_spdif_quirks sun4i_a10_spdif_quirks = {
- .reg_dac_txdata = SUN4I_SPDIF_TXFIFO,
- .val_fctl_ftx = SUN4I_SPDIF_FCTL_FTX,
- + .mclk_multiplier = 1,
- };
- static const struct sun4i_spdif_quirks sun6i_a31_spdif_quirks = {
- .reg_dac_txdata = SUN4I_SPDIF_TXFIFO,
- .val_fctl_ftx = SUN4I_SPDIF_FCTL_FTX,
- .has_reset = true,
- + .mclk_multiplier = 1,
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement