scodec 250 sound/soc/sunxi/sun4i-codec.c static void sun4i_codec_start_playback(struct sun4i_codec *scodec) scodec 253 sound/soc/sunxi/sun4i-codec.c regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, scodec 258 sound/soc/sunxi/sun4i-codec.c regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, scodec 263 sound/soc/sunxi/sun4i-codec.c static void sun4i_codec_stop_playback(struct sun4i_codec *scodec) scodec 266 sound/soc/sunxi/sun4i-codec.c regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, scodec 271 sound/soc/sunxi/sun4i-codec.c static void sun4i_codec_start_capture(struct sun4i_codec *scodec) scodec 274 sound/soc/sunxi/sun4i-codec.c regmap_field_update_bits(scodec->reg_adc_fifoc, scodec 279 sound/soc/sunxi/sun4i-codec.c static void sun4i_codec_stop_capture(struct sun4i_codec *scodec) scodec 282 sound/soc/sunxi/sun4i-codec.c regmap_field_update_bits(scodec->reg_adc_fifoc, scodec 290 sound/soc/sunxi/sun4i-codec.c struct sun4i_codec *scodec = snd_soc_card_get_drvdata(rtd->card); scodec 297 sound/soc/sunxi/sun4i-codec.c sun4i_codec_start_playback(scodec); scodec 299 sound/soc/sunxi/sun4i-codec.c sun4i_codec_start_capture(scodec); scodec 306 sound/soc/sunxi/sun4i-codec.c sun4i_codec_stop_playback(scodec); scodec 308 sound/soc/sunxi/sun4i-codec.c sun4i_codec_stop_capture(scodec); scodec 322 sound/soc/sunxi/sun4i-codec.c struct sun4i_codec *scodec = snd_soc_card_get_drvdata(rtd->card); scodec 326 sound/soc/sunxi/sun4i-codec.c regmap_field_update_bits(scodec->reg_adc_fifoc, scodec 332 sound/soc/sunxi/sun4i-codec.c regmap_field_update_bits(scodec->reg_adc_fifoc, scodec 341 sound/soc/sunxi/sun4i-codec.c if (of_device_is_compatible(scodec->dev->of_node, scodec 343 sound/soc/sunxi/sun4i-codec.c of_device_is_compatible(scodec->dev->of_node, scodec 345 sound/soc/sunxi/sun4i-codec.c regmap_update_bits(scodec->regmap, SUN4I_CODEC_ADC_ACTL, scodec 350 sound/soc/sunxi/sun4i-codec.c if (of_device_is_compatible(scodec->dev->of_node, scodec 353 sound/soc/sunxi/sun4i-codec.c regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_TUNE, scodec 364 sound/soc/sunxi/sun4i-codec.c struct sun4i_codec *scodec = snd_soc_card_get_drvdata(rtd->card); scodec 368 sound/soc/sunxi/sun4i-codec.c regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, scodec 373 sound/soc/sunxi/sun4i-codec.c regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, scodec 384 sound/soc/sunxi/sun4i-codec.c regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, scodec 389 sound/soc/sunxi/sun4i-codec.c regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, scodec 477 sound/soc/sunxi/sun4i-codec.c static int sun4i_codec_hw_params_capture(struct sun4i_codec *scodec, scodec 482 sound/soc/sunxi/sun4i-codec.c regmap_field_update_bits(scodec->reg_adc_fifoc, scodec 488 sound/soc/sunxi/sun4i-codec.c regmap_field_update_bits(scodec->reg_adc_fifoc, scodec 492 sound/soc/sunxi/sun4i-codec.c regmap_field_update_bits(scodec->reg_adc_fifoc, scodec 498 sound/soc/sunxi/sun4i-codec.c regmap_field_update_bits(scodec->reg_adc_fifoc, scodec 502 sound/soc/sunxi/sun4i-codec.c regmap_field_update_bits(scodec->reg_adc_fifoc, scodec 506 sound/soc/sunxi/sun4i-codec.c scodec->capture_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; scodec 508 sound/soc/sunxi/sun4i-codec.c regmap_field_update_bits(scodec->reg_adc_fifoc, scodec 513 sound/soc/sunxi/sun4i-codec.c regmap_field_update_bits(scodec->reg_adc_fifoc, scodec 517 sound/soc/sunxi/sun4i-codec.c scodec->capture_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES; scodec 523 sound/soc/sunxi/sun4i-codec.c static int sun4i_codec_hw_params_playback(struct sun4i_codec *scodec, scodec 530 sound/soc/sunxi/sun4i-codec.c regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, scodec 540 sound/soc/sunxi/sun4i-codec.c regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, scodec 546 sound/soc/sunxi/sun4i-codec.c regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, scodec 551 sound/soc/sunxi/sun4i-codec.c regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, scodec 555 sound/soc/sunxi/sun4i-codec.c scodec->playback_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; scodec 557 sound/soc/sunxi/sun4i-codec.c regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, scodec 562 sound/soc/sunxi/sun4i-codec.c regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, scodec 566 sound/soc/sunxi/sun4i-codec.c scodec->playback_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES; scodec 577 sound/soc/sunxi/sun4i-codec.c struct sun4i_codec *scodec = snd_soc_card_get_drvdata(rtd->card); scodec 585 sound/soc/sunxi/sun4i-codec.c ret = clk_set_rate(scodec->clk_module, clk_freq); scodec 594 sound/soc/sunxi/sun4i-codec.c return sun4i_codec_hw_params_playback(scodec, params, scodec 597 sound/soc/sunxi/sun4i-codec.c return sun4i_codec_hw_params_capture(scodec, params, scodec 618 sound/soc/sunxi/sun4i-codec.c struct sun4i_codec *scodec = snd_soc_card_get_drvdata(rtd->card); scodec 627 sound/soc/sunxi/sun4i-codec.c regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, scodec 631 sound/soc/sunxi/sun4i-codec.c return clk_prepare_enable(scodec->clk_module); scodec 638 sound/soc/sunxi/sun4i-codec.c struct sun4i_codec *scodec = snd_soc_card_get_drvdata(rtd->card); scodec 640 sound/soc/sunxi/sun4i-codec.c clk_disable_unprepare(scodec->clk_module); scodec 1265 sound/soc/sunxi/sun4i-codec.c struct sun4i_codec *scodec = snd_soc_card_get_drvdata(card); scodec 1267 sound/soc/sunxi/sun4i-codec.c snd_soc_dai_init_dma_data(dai, &scodec->playback_dma_data, scodec 1268 sound/soc/sunxi/sun4i-codec.c &scodec->capture_dma_data); scodec 1328 sound/soc/sunxi/sun4i-codec.c struct sun4i_codec *scodec = snd_soc_card_get_drvdata(w->dapm->card); scodec 1330 sound/soc/sunxi/sun4i-codec.c gpiod_set_value_cansleep(scodec->gpio_pa, scodec 1695 sound/soc/sunxi/sun4i-codec.c struct sun4i_codec *scodec; scodec 1701 sound/soc/sunxi/sun4i-codec.c scodec = devm_kzalloc(&pdev->dev, sizeof(*scodec), GFP_KERNEL); scodec 1702 sound/soc/sunxi/sun4i-codec.c if (!scodec) scodec 1705 sound/soc/sunxi/sun4i-codec.c scodec->dev = &pdev->dev; scodec 1720 sound/soc/sunxi/sun4i-codec.c scodec->regmap = devm_regmap_init_mmio(&pdev->dev, base, scodec 1722 sound/soc/sunxi/sun4i-codec.c if (IS_ERR(scodec->regmap)) { scodec 1724 sound/soc/sunxi/sun4i-codec.c return PTR_ERR(scodec->regmap); scodec 1728 sound/soc/sunxi/sun4i-codec.c scodec->clk_apb = devm_clk_get(&pdev->dev, "apb"); scodec 1729 sound/soc/sunxi/sun4i-codec.c if (IS_ERR(scodec->clk_apb)) { scodec 1731 sound/soc/sunxi/sun4i-codec.c return PTR_ERR(scodec->clk_apb); scodec 1734 sound/soc/sunxi/sun4i-codec.c scodec->clk_module = devm_clk_get(&pdev->dev, "codec"); scodec 1735 sound/soc/sunxi/sun4i-codec.c if (IS_ERR(scodec->clk_module)) { scodec 1737 sound/soc/sunxi/sun4i-codec.c return PTR_ERR(scodec->clk_module); scodec 1741 sound/soc/sunxi/sun4i-codec.c scodec->rst = devm_reset_control_get_exclusive(&pdev->dev, scodec 1743 sound/soc/sunxi/sun4i-codec.c if (IS_ERR(scodec->rst)) { scodec 1745 sound/soc/sunxi/sun4i-codec.c return PTR_ERR(scodec->rst); scodec 1749 sound/soc/sunxi/sun4i-codec.c scodec->gpio_pa = devm_gpiod_get_optional(&pdev->dev, "allwinner,pa", scodec 1751 sound/soc/sunxi/sun4i-codec.c if (IS_ERR(scodec->gpio_pa)) { scodec 1752 sound/soc/sunxi/sun4i-codec.c ret = PTR_ERR(scodec->gpio_pa); scodec 1759 sound/soc/sunxi/sun4i-codec.c scodec->reg_adc_fifoc = devm_regmap_field_alloc(&pdev->dev, scodec 1760 sound/soc/sunxi/sun4i-codec.c scodec->regmap, scodec 1762 sound/soc/sunxi/sun4i-codec.c if (IS_ERR(scodec->reg_adc_fifoc)) { scodec 1763 sound/soc/sunxi/sun4i-codec.c ret = PTR_ERR(scodec->reg_adc_fifoc); scodec 1770 sound/soc/sunxi/sun4i-codec.c if (clk_prepare_enable(scodec->clk_apb)) { scodec 1776 sound/soc/sunxi/sun4i-codec.c if (scodec->rst) { scodec 1777 sound/soc/sunxi/sun4i-codec.c ret = reset_control_deassert(scodec->rst); scodec 1786 sound/soc/sunxi/sun4i-codec.c scodec->playback_dma_data.addr = res->start + quirks->reg_dac_txdata; scodec 1787 sound/soc/sunxi/sun4i-codec.c scodec->playback_dma_data.maxburst = 8; scodec 1788 sound/soc/sunxi/sun4i-codec.c scodec->playback_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES; scodec 1791 sound/soc/sunxi/sun4i-codec.c scodec->capture_dma_data.addr = res->start + quirks->reg_adc_rxdata; scodec 1792 sound/soc/sunxi/sun4i-codec.c scodec->capture_dma_data.maxburst = 8; scodec 1793 sound/soc/sunxi/sun4i-codec.c scodec->capture_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES; scodec 1823 sound/soc/sunxi/sun4i-codec.c snd_soc_card_set_drvdata(card, scodec); scodec 1834 sound/soc/sunxi/sun4i-codec.c if (scodec->rst) scodec 1835 sound/soc/sunxi/sun4i-codec.c reset_control_assert(scodec->rst); scodec 1837 sound/soc/sunxi/sun4i-codec.c clk_disable_unprepare(scodec->clk_apb); scodec 1844 sound/soc/sunxi/sun4i-codec.c struct sun4i_codec *scodec = snd_soc_card_get_drvdata(card); scodec 1847 sound/soc/sunxi/sun4i-codec.c if (scodec->rst) scodec 1848 sound/soc/sunxi/sun4i-codec.c reset_control_assert(scodec->rst); scodec 1849 sound/soc/sunxi/sun4i-codec.c clk_disable_unprepare(scodec->clk_apb); scodec 97 sound/soc/sunxi/sun8i-codec.c struct sun8i_codec *scodec = dev_get_drvdata(dev); scodec 100 sound/soc/sunxi/sun8i-codec.c ret = clk_prepare_enable(scodec->clk_module); scodec 106 sound/soc/sunxi/sun8i-codec.c ret = clk_prepare_enable(scodec->clk_bus); scodec 112 sound/soc/sunxi/sun8i-codec.c regcache_cache_only(scodec->regmap, false); scodec 114 sound/soc/sunxi/sun8i-codec.c ret = regcache_sync(scodec->regmap); scodec 123 sound/soc/sunxi/sun8i-codec.c clk_disable_unprepare(scodec->clk_bus); scodec 126 sound/soc/sunxi/sun8i-codec.c clk_disable_unprepare(scodec->clk_module); scodec 133 sound/soc/sunxi/sun8i-codec.c struct sun8i_codec *scodec = dev_get_drvdata(dev); scodec 135 sound/soc/sunxi/sun8i-codec.c regcache_cache_only(scodec->regmap, true); scodec 136 sound/soc/sunxi/sun8i-codec.c regcache_mark_dirty(scodec->regmap); scodec 138 sound/soc/sunxi/sun8i-codec.c clk_disable_unprepare(scodec->clk_module); scodec 139 sound/soc/sunxi/sun8i-codec.c clk_disable_unprepare(scodec->clk_bus); scodec 179 sound/soc/sunxi/sun8i-codec.c struct sun8i_codec *scodec = snd_soc_component_get_drvdata(dai->component); scodec 193 sound/soc/sunxi/sun8i-codec.c regmap_update_bits(scodec->regmap, SUN8I_AIF1CLK_CTRL, scodec 208 sound/soc/sunxi/sun8i-codec.c regmap_update_bits(scodec->regmap, SUN8I_AIF1CLK_CTRL, scodec 222 sound/soc/sunxi/sun8i-codec.c regmap_update_bits(scodec->regmap, SUN8I_AIF1CLK_CTRL, scodec 244 sound/soc/sunxi/sun8i-codec.c regmap_update_bits(scodec->regmap, SUN8I_AIF1CLK_CTRL, scodec 273 sound/soc/sunxi/sun8i-codec.c static u8 sun8i_codec_get_bclk_div(struct sun8i_codec *scodec, scodec 277 sound/soc/sunxi/sun8i-codec.c unsigned long clk_rate = clk_get_rate(scodec->clk_module); scodec 310 sound/soc/sunxi/sun8i-codec.c struct sun8i_codec *scodec = snd_soc_component_get_drvdata(dai->component); scodec 318 sound/soc/sunxi/sun8i-codec.c regmap_update_bits(scodec->regmap, SUN8I_AIF1CLK_CTRL, scodec 322 sound/soc/sunxi/sun8i-codec.c bclk_div = sun8i_codec_get_bclk_div(scodec, params_rate(params), 16); scodec 323 sound/soc/sunxi/sun8i-codec.c regmap_update_bits(scodec->regmap, SUN8I_AIF1CLK_CTRL, scodec 332 sound/soc/sunxi/sun8i-codec.c regmap_update_bits(scodec->regmap, SUN8I_AIF1CLK_CTRL, scodec 340 sound/soc/sunxi/sun8i-codec.c regmap_update_bits(scodec->regmap, SUN8I_SYS_SR_CTRL, scodec 343 sound/soc/sunxi/sun8i-codec.c regmap_update_bits(scodec->regmap, SUN8I_SYS_SR_CTRL, scodec 537 sound/soc/sunxi/sun8i-codec.c struct sun8i_codec *scodec; scodec 541 sound/soc/sunxi/sun8i-codec.c scodec = devm_kzalloc(&pdev->dev, sizeof(*scodec), GFP_KERNEL); scodec 542 sound/soc/sunxi/sun8i-codec.c if (!scodec) scodec 545 sound/soc/sunxi/sun8i-codec.c scodec->dev = &pdev->dev; scodec 547 sound/soc/sunxi/sun8i-codec.c scodec->clk_module = devm_clk_get(&pdev->dev, "mod"); scodec 548 sound/soc/sunxi/sun8i-codec.c if (IS_ERR(scodec->clk_module)) { scodec 550 sound/soc/sunxi/sun8i-codec.c return PTR_ERR(scodec->clk_module); scodec 553 sound/soc/sunxi/sun8i-codec.c scodec->clk_bus = devm_clk_get(&pdev->dev, "bus"); scodec 554 sound/soc/sunxi/sun8i-codec.c if (IS_ERR(scodec->clk_bus)) { scodec 556 sound/soc/sunxi/sun8i-codec.c return PTR_ERR(scodec->clk_bus); scodec 565 sound/soc/sunxi/sun8i-codec.c scodec->regmap = devm_regmap_init_mmio(&pdev->dev, base, scodec 567 sound/soc/sunxi/sun8i-codec.c if (IS_ERR(scodec->regmap)) { scodec 569 sound/soc/sunxi/sun8i-codec.c return PTR_ERR(scodec->regmap); scodec 572 sound/soc/sunxi/sun8i-codec.c platform_set_drvdata(pdev, scodec);