Merge remote-tracking branch 'asoc/for-5.11' into asoc-next
authorMark Brown <broonie@kernel.org>
Fri, 11 Dec 2020 17:48:04 +0000 (17:48 +0000)
committerMark Brown <broonie@kernel.org>
Fri, 11 Dec 2020 17:48:04 +0000 (17:48 +0000)
1  2 
sound/soc/amd/raven/pci-acp3x.c
sound/soc/intel/boards/bytcr_rt5640.c
sound/soc/jz4740/jz4740-i2s.c
sound/soc/qcom/qdsp6/q6afe-clocks.c

@@@ -118,10 -118,6 +118,10 @@@ static int snd_acp3x_probe(struct pci_d
        int ret, i;
        u32 addr, val;
  
 +      /* Raven device detection */
 +      if (pci->revision != 0x00)
 +              return -ENODEV;
 +
        if (pci_enable_device(pci)) {
                dev_err(&pci->dev, "pci_enable_device failed\n");
                return -ENODEV;
                }
                break;
        default:
-               dev_info(&pci->dev, "Invalid ACP audio mode : %d\n", val);
-               ret = -ENODEV;
-               goto disable_msi;
+               dev_info(&pci->dev, "ACP audio mode : %d\n", val);
+               break;
        }
        pm_runtime_set_autosuspend_delay(&pci->dev, 2000);
        pm_runtime_use_autosuspend(&pci->dev);
@@@ -423,18 -423,6 +423,18 @@@ static const struct dmi_system_id byt_r
        },
        {
                .matches = {
 +                      DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ARCHOS"),
 +                      DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "ARCHOS 140 CESIUM"),
 +              },
 +              .driver_data = (void *)(BYT_RT5640_IN1_MAP |
 +                                      BYT_RT5640_JD_SRC_JD2_IN4N |
 +                                      BYT_RT5640_OVCD_TH_2000UA |
 +                                      BYT_RT5640_OVCD_SF_0P75 |
 +                                      BYT_RT5640_SSP0_AIF1 |
 +                                      BYT_RT5640_MCLK_EN),
 +      },
 +      {
 +              .matches = {
                        DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
                        DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "ME176C"),
                },
@@@ -1159,18 -1147,14 +1159,14 @@@ static int byt_rt5640_resume(struct snd
        return 0;
  }
  
- #if IS_ENABLED(CONFIG_SND_SOC_SOF_BAYTRAIL)
  /* use space before codec name to simplify card ID, and simplify driver name */
- #define CARD_NAME "bytcht rt5640" /* card name will be 'sof-bytcht rt5640' */
- #define DRIVER_NAME "SOF"
- #else
+ #define SOF_CARD_NAME "bytcht rt5640" /* card name will be 'sof-bytcht rt5640' */
+ #define SOF_DRIVER_NAME "SOF"
  #define CARD_NAME "bytcr-rt5640"
  #define DRIVER_NAME NULL /* card name will be used for driver name */
- #endif
  
  static struct snd_soc_card byt_rt5640_card = {
-       .name = CARD_NAME,
-       .driver_name = DRIVER_NAME,
        .owner = THIS_MODULE,
        .dai_link = byt_rt5640_dais,
        .num_links = ARRAY_SIZE(byt_rt5640_dais),
@@@ -1190,12 -1174,14 +1186,14 @@@ struct acpi_chan_package {   /* ACPICA 
  
  static int snd_byt_rt5640_mc_probe(struct platform_device *pdev)
  {
+       struct device *dev = &pdev->dev;
        static const char * const map_name[] = { "dmic1", "dmic2", "in1", "in3" };
        const struct dmi_system_id *dmi_id;
        struct byt_rt5640_private *priv;
        struct snd_soc_acpi_mach *mach;
        const char *platform_name;
        struct acpi_device *adev;
+       bool sof_parent;
        int ret_val = 0;
        int dai_index = 0;
        int i;
        if (ret_val)
                return ret_val;
  
+       sof_parent = snd_soc_acpi_sof_parent(&pdev->dev);
+       /* set card and driver name */
+       if (sof_parent) {
+               byt_rt5640_card.name = SOF_CARD_NAME;
+               byt_rt5640_card.driver_name = SOF_DRIVER_NAME;
+       } else {
+               byt_rt5640_card.name = CARD_NAME;
+               byt_rt5640_card.driver_name = DRIVER_NAME;
+       }
+       /* set pm ops */
+       if (sof_parent)
+               dev->driver->pm = &snd_soc_pm_ops;
        ret_val = devm_snd_soc_register_card(&pdev->dev, &byt_rt5640_card);
  
        if (ret_val) {
  static struct platform_driver snd_byt_rt5640_mc_driver = {
        .driver = {
                .name = "bytcr_rt5640",
- #if IS_ENABLED(CONFIG_SND_SOC_SOF_BAYTRAIL)
-               .pm = &snd_soc_pm_ops,
- #endif
        },
        .probe = snd_byt_rt5640_mc_probe,
  };
@@@ -26,9 -26,6 +26,6 @@@
  
  #include "jz4740-i2s.h"
  
- #define JZ4740_DMA_TYPE_AIC_TRANSMIT 24
- #define JZ4740_DMA_TYPE_AIC_RECEIVE 25
  #define JZ_REG_AIC_CONF               0x00
  #define JZ_REG_AIC_CTRL               0x04
  #define JZ_REG_AIC_I2S_FMT    0x10
@@@ -312,14 -309,10 +309,14 @@@ static int jz4740_i2s_set_sysclk(struc
        switch (clk_id) {
        case JZ4740_I2S_CLKSRC_EXT:
                parent = clk_get(NULL, "ext");
 +              if (IS_ERR(parent))
 +                      return PTR_ERR(parent);
                clk_set_parent(i2s->clk_i2s, parent);
                break;
        case JZ4740_I2S_CLKSRC_PLL:
                parent = clk_get(NULL, "pll half");
 +              if (IS_ERR(parent))
 +                      return PTR_ERR(parent);
                clk_set_parent(i2s->clk_i2s, parent);
                ret = clk_set_rate(i2s->clk_i2s, freq);
                break;
@@@ -381,13 -374,11 +378,11 @@@ static void jz4740_i2c_init_pcm_config(
        /* Playback */
        dma_data = &i2s->playback_dma_data;
        dma_data->maxburst = 16;
-       dma_data->slave_id = JZ4740_DMA_TYPE_AIC_TRANSMIT;
        dma_data->addr = i2s->phys_base + JZ_REG_AIC_FIFO;
  
        /* Capture */
        dma_data = &i2s->capture_dma_data;
        dma_data->maxburst = 16;
-       dma_data->slave_id = JZ4740_DMA_TYPE_AIC_RECEIVE;
        dma_data->addr = i2s->phys_base + JZ_REG_AIC_FIFO;
  }
  
@@@ -16,7 -16,6 +16,7 @@@
                .afe_clk_id     = Q6AFE_##id,           \
                .name = #id,                            \
                .attributes = LPASS_CLK_ATTRIBUTE_COUPLE_NO, \
 +              .rate = 19200000,                       \
                .hw.init = &(struct clk_init_data) {    \
                        .ops = &clk_q6afe_ops,          \
                        .name = #id,                    \
@@@ -120,7 -119,7 +120,7 @@@ static const struct clk_ops clk_vote_q6
        .unprepare      = clk_unvote_q6afe_block,
  };
  
- struct q6afe_clk *q6afe_clks[Q6AFE_MAX_CLK_ID] = {
+ static struct q6afe_clk *q6afe_clks[Q6AFE_MAX_CLK_ID] = {
        [LPASS_CLK_ID_PRI_MI2S_IBIT] = Q6AFE_CLK(LPASS_CLK_ID_PRI_MI2S_IBIT),
        [LPASS_CLK_ID_PRI_MI2S_EBIT] = Q6AFE_CLK(LPASS_CLK_ID_PRI_MI2S_EBIT),
        [LPASS_CLK_ID_SEC_MI2S_IBIT] = Q6AFE_CLK(LPASS_CLK_ID_SEC_MI2S_IBIT),