Merge tag 'asoc-v6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie...
[sfrench/cifs-2.6.git] / sound / soc / mediatek / mt8195 / mt8195-dai-adda.c
index 0dd35255066bec82d13682dc1615044dd939dd3d..8da1587128ccf22ff0bdd945e13336911067d01c 100644 (file)
@@ -12,6 +12,7 @@
 #include "mt8195-afe-clk.h"
 #include "mt8195-afe-common.h"
 #include "mt8195-reg.h"
+#include "../common/mtk-dai-adda-common.h"
 
 #define ADDA_DL_GAIN_LOOPBACK 0x1800
 #define ADDA_HIRES_THRES 48000
@@ -25,35 +26,6 @@ enum {
        SUPPLY_SEQ_ADDA_AFE_ON,
 };
 
-enum {
-       MTK_AFE_ADDA_DL_RATE_8K = 0,
-       MTK_AFE_ADDA_DL_RATE_11K = 1,
-       MTK_AFE_ADDA_DL_RATE_12K = 2,
-       MTK_AFE_ADDA_DL_RATE_16K = 3,
-       MTK_AFE_ADDA_DL_RATE_22K = 4,
-       MTK_AFE_ADDA_DL_RATE_24K = 5,
-       MTK_AFE_ADDA_DL_RATE_32K = 6,
-       MTK_AFE_ADDA_DL_RATE_44K = 7,
-       MTK_AFE_ADDA_DL_RATE_48K = 8,
-       MTK_AFE_ADDA_DL_RATE_96K = 9,
-       MTK_AFE_ADDA_DL_RATE_192K = 10,
-};
-
-enum {
-       MTK_AFE_ADDA_UL_RATE_8K = 0,
-       MTK_AFE_ADDA_UL_RATE_16K = 1,
-       MTK_AFE_ADDA_UL_RATE_32K = 2,
-       MTK_AFE_ADDA_UL_RATE_48K = 3,
-       MTK_AFE_ADDA_UL_RATE_96K = 4,
-       MTK_AFE_ADDA_UL_RATE_192K = 5,
-};
-
-enum {
-       DELAY_DATA_MISO1 = 0,
-       DELAY_DATA_MISO0 = 1,
-       DELAY_DATA_MISO2 = 1,
-};
-
 enum {
        MTK_AFE_ADDA,
        MTK_AFE_ADDA6,
@@ -63,62 +35,6 @@ struct mtk_dai_adda_priv {
        bool hires_required;
 };
 
-static unsigned int afe_adda_dl_rate_transform(struct mtk_base_afe *afe,
-                                              unsigned int rate)
-{
-       switch (rate) {
-       case 8000:
-               return MTK_AFE_ADDA_DL_RATE_8K;
-       case 11025:
-               return MTK_AFE_ADDA_DL_RATE_11K;
-       case 12000:
-               return MTK_AFE_ADDA_DL_RATE_12K;
-       case 16000:
-               return MTK_AFE_ADDA_DL_RATE_16K;
-       case 22050:
-               return MTK_AFE_ADDA_DL_RATE_22K;
-       case 24000:
-               return MTK_AFE_ADDA_DL_RATE_24K;
-       case 32000:
-               return MTK_AFE_ADDA_DL_RATE_32K;
-       case 44100:
-               return MTK_AFE_ADDA_DL_RATE_44K;
-       case 48000:
-               return MTK_AFE_ADDA_DL_RATE_48K;
-       case 96000:
-               return MTK_AFE_ADDA_DL_RATE_96K;
-       case 192000:
-               return MTK_AFE_ADDA_DL_RATE_192K;
-       default:
-               dev_info(afe->dev, "%s(), rate %d invalid, use 48kHz!!!\n",
-                        __func__, rate);
-               return MTK_AFE_ADDA_DL_RATE_48K;
-       }
-}
-
-static unsigned int afe_adda_ul_rate_transform(struct mtk_base_afe *afe,
-                                              unsigned int rate)
-{
-       switch (rate) {
-       case 8000:
-               return MTK_AFE_ADDA_UL_RATE_8K;
-       case 16000:
-               return MTK_AFE_ADDA_UL_RATE_16K;
-       case 32000:
-               return MTK_AFE_ADDA_UL_RATE_32K;
-       case 48000:
-               return MTK_AFE_ADDA_UL_RATE_48K;
-       case 96000:
-               return MTK_AFE_ADDA_UL_RATE_96K;
-       case 192000:
-               return MTK_AFE_ADDA_UL_RATE_192K;
-       default:
-               dev_info(afe->dev, "%s(), rate %d invalid, use 48kHz!!!\n",
-                        __func__, rate);
-               return MTK_AFE_ADDA_UL_RATE_48K;
-       }
-}
-
 static int mt8195_adda_mtkaif_init(struct mtk_base_afe *afe)
 {
        struct mt8195_afe_private *afe_priv = afe->platform_priv;
@@ -644,7 +560,7 @@ static int mtk_dai_da_configure(struct mtk_base_afe *afe,
 
        /* set sampling rate */
        mask |= DL_2_INPUT_MODE_CTL_MASK;
-       val |= DL_2_INPUT_MODE_CTL(afe_adda_dl_rate_transform(afe, rate));
+       val |= DL_2_INPUT_MODE_CTL(mtk_adda_dl_rate_transform(afe, rate));
 
        /* turn off saturation */
        mask |= DL_2_CH1_SATURATION_EN_CTL;
@@ -681,7 +597,7 @@ static int mtk_dai_ad_configure(struct mtk_base_afe *afe,
        unsigned int mask = 0;
 
        mask |= UL_VOICE_MODE_CTL_MASK;
-       val |= UL_VOICE_MODE_CTL(afe_adda_ul_rate_transform(afe, rate));
+       val |= UL_VOICE_MODE_CTL(mtk_adda_ul_rate_transform(afe, rate));
 
        switch (id) {
        case MT8195_AFE_IO_UL_SRC1: