/kernel/linux/linux-5.10/sound/soc/hisilicon/ |
H A D | hi6210-i2s.c | 32 #include "hi6210-i2s.h" 81 static inline void hi6210_write_reg(struct hi6210_i2s *i2s, int reg, u32 val) in hi6210_write_reg() argument 83 writel(val, i2s->base + reg); in hi6210_write_reg() 86 static inline u32 hi6210_read_reg(struct hi6210_i2s *i2s, int reg) in hi6210_read_reg() argument 88 return readl(i2s->base + reg); in hi6210_read_reg() 94 struct hi6210_i2s *i2s = dev_get_drvdata(cpu_dai->dev); in hi6210_i2s_startup() local 99 regmap_read(i2s->sysctrl, SC_PERIPH_RSTSTAT2, &val); in hi6210_i2s_startup() 101 regmap_write(i2s->sysctrl, SC_PERIPH_RSTDIS2, BIT(4)); in hi6210_i2s_startup() 103 for (n = 0; n < i2s->clocks; n++) { in hi6210_i2s_startup() 104 ret = clk_prepare_enable(i2s in hi6210_i2s_startup() 175 struct hi6210_i2s *i2s = dev_get_drvdata(cpu_dai->dev); hi6210_i2s_shutdown() local 186 struct hi6210_i2s *i2s = dev_get_drvdata(cpu_dai->dev); hi6210_i2s_txctrl() local 206 struct hi6210_i2s *i2s = dev_get_drvdata(cpu_dai->dev); hi6210_i2s_rxctrl() local 224 struct hi6210_i2s *i2s = dev_get_drvdata(cpu_dai->dev); hi6210_i2s_set_fmt() local 258 struct hi6210_i2s *i2s = dev_get_drvdata(cpu_dai->dev); hi6210_i2s_hw_params() local 503 struct hi6210_i2s *i2s = snd_soc_dai_get_drvdata(dai); hi6210_i2s_dai_probe() local 548 struct hi6210_i2s *i2s; hi6210_i2s_probe() local [all...] |
/kernel/linux/linux-6.6/sound/soc/hisilicon/ |
H A D | hi6210-i2s.c | 32 #include "hi6210-i2s.h" 81 static inline void hi6210_write_reg(struct hi6210_i2s *i2s, int reg, u32 val) in hi6210_write_reg() argument 83 writel(val, i2s->base + reg); in hi6210_write_reg() 86 static inline u32 hi6210_read_reg(struct hi6210_i2s *i2s, int reg) in hi6210_read_reg() argument 88 return readl(i2s->base + reg); in hi6210_read_reg() 94 struct hi6210_i2s *i2s = dev_get_drvdata(cpu_dai->dev); in hi6210_i2s_startup() local 99 regmap_read(i2s->sysctrl, SC_PERIPH_RSTSTAT2, &val); in hi6210_i2s_startup() 101 regmap_write(i2s->sysctrl, SC_PERIPH_RSTDIS2, BIT(4)); in hi6210_i2s_startup() 103 for (n = 0; n < i2s->clocks; n++) { in hi6210_i2s_startup() 104 ret = clk_prepare_enable(i2s in hi6210_i2s_startup() 175 struct hi6210_i2s *i2s = dev_get_drvdata(cpu_dai->dev); hi6210_i2s_shutdown() local 186 struct hi6210_i2s *i2s = dev_get_drvdata(cpu_dai->dev); hi6210_i2s_txctrl() local 206 struct hi6210_i2s *i2s = dev_get_drvdata(cpu_dai->dev); hi6210_i2s_rxctrl() local 224 struct hi6210_i2s *i2s = dev_get_drvdata(cpu_dai->dev); hi6210_i2s_set_fmt() local 258 struct hi6210_i2s *i2s = dev_get_drvdata(cpu_dai->dev); hi6210_i2s_hw_params() local 503 struct hi6210_i2s *i2s = snd_soc_dai_get_drvdata(dai); hi6210_i2s_dai_probe() local 549 struct hi6210_i2s *i2s; hi6210_i2s_probe() local [all...] |
/kernel/linux/linux-6.6/sound/soc/rockchip/ |
H A D | rockchip_i2s.c | 25 #define DRV_NAME "rockchip-i2s" 63 static int i2s_pinctrl_select_bclk_on(struct rk_i2s_dev *i2s) in i2s_pinctrl_select_bclk_on() argument 67 if (!IS_ERR(i2s->pinctrl) && !IS_ERR_OR_NULL(i2s->bclk_on)) in i2s_pinctrl_select_bclk_on() 68 ret = pinctrl_select_state(i2s->pinctrl, i2s->bclk_on); in i2s_pinctrl_select_bclk_on() 71 dev_err(i2s->dev, "bclk enable failed %d\n", ret); in i2s_pinctrl_select_bclk_on() 76 static int i2s_pinctrl_select_bclk_off(struct rk_i2s_dev *i2s) in i2s_pinctrl_select_bclk_off() argument 81 if (!IS_ERR(i2s->pinctrl) && !IS_ERR_OR_NULL(i2s in i2s_pinctrl_select_bclk_off() 92 struct rk_i2s_dev *i2s = dev_get_drvdata(dev); i2s_runtime_suspend() local 102 struct rk_i2s_dev *i2s = dev_get_drvdata(dev); i2s_runtime_resume() local 126 rockchip_snd_txctrl(struct rk_i2s_dev *i2s, int on) rockchip_snd_txctrl() argument 183 rockchip_snd_rxctrl(struct rk_i2s_dev *i2s, int on) rockchip_snd_rxctrl() argument 244 struct rk_i2s_dev *i2s = to_info(cpu_dai); rockchip_i2s_set_fmt() local 354 struct rk_i2s_dev *i2s = to_info(dai); rockchip_i2s_hw_params() local 468 struct rk_i2s_dev *i2s = to_info(dai); rockchip_i2s_trigger() local 507 struct rk_i2s_dev *i2s = to_info(dai); rockchip_i2s_set_bclk_ratio() local 517 struct rk_i2s_dev *i2s = to_info(cpu_dai); rockchip_i2s_set_sysclk() local 532 struct rk_i2s_dev *i2s = snd_soc_dai_get_drvdata(dai); rockchip_i2s_dai_probe() local 667 rockchip_i2s_init_dai(struct rk_i2s_dev *i2s, struct resource *res, struct snd_soc_dai_driver **dp) rockchip_i2s_init_dai() argument 740 struct rk_i2s_dev *i2s; rockchip_i2s_probe() local 856 struct rk_i2s_dev *i2s = dev_get_drvdata(&pdev->dev); rockchip_i2s_remove() local [all...] |
/kernel/linux/linux-5.10/sound/soc/img/ |
H A D | img-i2s-in.c | 67 struct img_i2s_in *i2s = dev_get_drvdata(dev); in img_i2s_in_runtime_suspend() local 69 clk_disable_unprepare(i2s->clk_sys); in img_i2s_in_runtime_suspend() 76 struct img_i2s_in *i2s = dev_get_drvdata(dev); in img_i2s_in_runtime_resume() local 79 ret = clk_prepare_enable(i2s->clk_sys); in img_i2s_in_runtime_resume() 88 static inline void img_i2s_in_writel(struct img_i2s_in *i2s, u32 val, u32 reg) in img_i2s_in_writel() argument 90 writel(val, i2s->base + reg); in img_i2s_in_writel() 93 static inline u32 img_i2s_in_readl(struct img_i2s_in *i2s, u32 reg) in img_i2s_in_readl() argument 95 return readl(i2s->base + reg); in img_i2s_in_readl() 98 static inline void img_i2s_in_ch_writel(struct img_i2s_in *i2s, u32 chan, in img_i2s_in_ch_writel() argument 101 writel(val, i2s in img_i2s_in_ch_writel() 104 img_i2s_in_ch_readl(struct img_i2s_in *i2s, u32 chan, u32 reg) img_i2s_in_ch_readl() argument 110 img_i2s_in_ch_disable(struct img_i2s_in *i2s, u32 chan) img_i2s_in_ch_disable() argument 119 img_i2s_in_ch_enable(struct img_i2s_in *i2s, u32 chan) img_i2s_in_ch_enable() argument 128 img_i2s_in_disable(struct img_i2s_in *i2s) img_i2s_in_disable() argument 137 img_i2s_in_enable(struct img_i2s_in *i2s) img_i2s_in_enable() argument 146 img_i2s_in_flush(struct img_i2s_in *i2s) img_i2s_in_flush() argument 163 struct img_i2s_in *i2s = snd_soc_dai_get_drvdata(dai); img_i2s_in_trigger() local 184 img_i2s_in_check_rate(struct img_i2s_in *i2s, unsigned int sample_rate, unsigned int frame_size, unsigned int *bclk_filter_enable, unsigned int *bclk_filter_value) img_i2s_in_check_rate() argument 217 struct img_i2s_in *i2s = snd_soc_dai_get_drvdata(dai); img_i2s_in_hw_params() local 304 struct img_i2s_in *i2s = snd_soc_dai_get_drvdata(dai); img_i2s_in_set_fmt() local 383 struct img_i2s_in *i2s = snd_soc_dai_get_drvdata(dai); img_i2s_in_dai_probe() local 421 struct img_i2s_in *i2s; img_i2s_in_probe() local 551 struct img_i2s_in *i2s = dev_get_drvdata(dev); img_i2s_in_suspend() local 575 struct img_i2s_in *i2s = dev_get_drvdata(dev); img_i2s_in_resume() local [all...] |
H A D | img-i2s-out.c | 69 struct img_i2s_out *i2s = dev_get_drvdata(dev); in img_i2s_out_runtime_suspend() local 71 clk_disable_unprepare(i2s->clk_ref); in img_i2s_out_runtime_suspend() 72 clk_disable_unprepare(i2s->clk_sys); in img_i2s_out_runtime_suspend() 79 struct img_i2s_out *i2s = dev_get_drvdata(dev); in img_i2s_out_runtime_resume() local 82 ret = clk_prepare_enable(i2s->clk_sys); in img_i2s_out_runtime_resume() 88 ret = clk_prepare_enable(i2s->clk_ref); in img_i2s_out_runtime_resume() 91 clk_disable_unprepare(i2s->clk_sys); in img_i2s_out_runtime_resume() 98 static inline void img_i2s_out_writel(struct img_i2s_out *i2s, u32 val, in img_i2s_out_writel() argument 101 writel(val, i2s->base + reg); in img_i2s_out_writel() 104 static inline u32 img_i2s_out_readl(struct img_i2s_out *i2s, u3 argument 109 img_i2s_out_ch_writel(struct img_i2s_out *i2s, u32 chan, u32 val, u32 reg) img_i2s_out_ch_writel() argument 115 img_i2s_out_ch_readl(struct img_i2s_out *i2s, u32 chan, u32 reg) img_i2s_out_ch_readl() argument 121 img_i2s_out_ch_disable(struct img_i2s_out *i2s, u32 chan) img_i2s_out_ch_disable() argument 130 img_i2s_out_ch_enable(struct img_i2s_out *i2s, u32 chan) img_i2s_out_ch_enable() argument 139 img_i2s_out_disable(struct img_i2s_out *i2s) img_i2s_out_disable() argument 148 img_i2s_out_enable(struct img_i2s_out *i2s) img_i2s_out_enable() argument 157 img_i2s_out_reset(struct img_i2s_out *i2s) img_i2s_out_reset() argument 188 struct img_i2s_out *i2s = snd_soc_dai_get_drvdata(dai); img_i2s_out_trigger() local 216 struct img_i2s_out *i2s = snd_soc_dai_get_drvdata(dai); img_i2s_out_hw_params() local 293 struct img_i2s_out *i2s = snd_soc_dai_get_drvdata(dai); img_i2s_out_set_fmt() local 389 struct img_i2s_out *i2s = snd_soc_dai_get_drvdata(dai); img_i2s_out_dai_probe() local 427 struct img_i2s_out *i2s; img_i2s_out_probe() local 557 struct img_i2s_out *i2s = dev_get_drvdata(dev); img_i2s_out_suspend() local 581 struct img_i2s_out *i2s = dev_get_drvdata(dev); img_i2s_out_resume() local [all...] |
/kernel/linux/linux-6.6/sound/soc/img/ |
H A D | img-i2s-in.c | 67 struct img_i2s_in *i2s = dev_get_drvdata(dev); in img_i2s_in_runtime_suspend() local 69 clk_disable_unprepare(i2s->clk_sys); in img_i2s_in_runtime_suspend() 76 struct img_i2s_in *i2s = dev_get_drvdata(dev); in img_i2s_in_runtime_resume() local 79 ret = clk_prepare_enable(i2s->clk_sys); in img_i2s_in_runtime_resume() 88 static inline void img_i2s_in_writel(struct img_i2s_in *i2s, u32 val, u32 reg) in img_i2s_in_writel() argument 90 writel(val, i2s->base + reg); in img_i2s_in_writel() 93 static inline u32 img_i2s_in_readl(struct img_i2s_in *i2s, u32 reg) in img_i2s_in_readl() argument 95 return readl(i2s->base + reg); in img_i2s_in_readl() 98 static inline void img_i2s_in_ch_writel(struct img_i2s_in *i2s, u32 chan, in img_i2s_in_ch_writel() argument 101 writel(val, i2s in img_i2s_in_ch_writel() 104 img_i2s_in_ch_readl(struct img_i2s_in *i2s, u32 chan, u32 reg) img_i2s_in_ch_readl() argument 110 img_i2s_in_ch_disable(struct img_i2s_in *i2s, u32 chan) img_i2s_in_ch_disable() argument 119 img_i2s_in_ch_enable(struct img_i2s_in *i2s, u32 chan) img_i2s_in_ch_enable() argument 128 img_i2s_in_disable(struct img_i2s_in *i2s) img_i2s_in_disable() argument 137 img_i2s_in_enable(struct img_i2s_in *i2s) img_i2s_in_enable() argument 146 img_i2s_in_flush(struct img_i2s_in *i2s) img_i2s_in_flush() argument 163 struct img_i2s_in *i2s = snd_soc_dai_get_drvdata(dai); img_i2s_in_trigger() local 184 img_i2s_in_check_rate(struct img_i2s_in *i2s, unsigned int sample_rate, unsigned int frame_size, unsigned int *bclk_filter_enable, unsigned int *bclk_filter_value) img_i2s_in_check_rate() argument 217 struct img_i2s_in *i2s = snd_soc_dai_get_drvdata(dai); img_i2s_in_hw_params() local 304 struct img_i2s_in *i2s = snd_soc_dai_get_drvdata(dai); img_i2s_in_set_fmt() local 375 struct img_i2s_in *i2s = snd_soc_dai_get_drvdata(dai); img_i2s_in_dai_probe() local 421 struct img_i2s_in *i2s; img_i2s_in_probe() local 545 struct img_i2s_in *i2s = dev_get_drvdata(dev); img_i2s_in_suspend() local 569 struct img_i2s_in *i2s = dev_get_drvdata(dev); img_i2s_in_resume() local [all...] |
H A D | img-i2s-out.c | 69 struct img_i2s_out *i2s = dev_get_drvdata(dev); in img_i2s_out_runtime_suspend() local 71 clk_disable_unprepare(i2s->clk_ref); in img_i2s_out_runtime_suspend() 72 clk_disable_unprepare(i2s->clk_sys); in img_i2s_out_runtime_suspend() 79 struct img_i2s_out *i2s = dev_get_drvdata(dev); in img_i2s_out_runtime_resume() local 82 ret = clk_prepare_enable(i2s->clk_sys); in img_i2s_out_runtime_resume() 88 ret = clk_prepare_enable(i2s->clk_ref); in img_i2s_out_runtime_resume() 91 clk_disable_unprepare(i2s->clk_sys); in img_i2s_out_runtime_resume() 98 static inline void img_i2s_out_writel(struct img_i2s_out *i2s, u32 val, in img_i2s_out_writel() argument 101 writel(val, i2s->base + reg); in img_i2s_out_writel() 104 static inline u32 img_i2s_out_readl(struct img_i2s_out *i2s, u3 argument 109 img_i2s_out_ch_writel(struct img_i2s_out *i2s, u32 chan, u32 val, u32 reg) img_i2s_out_ch_writel() argument 115 img_i2s_out_ch_readl(struct img_i2s_out *i2s, u32 chan, u32 reg) img_i2s_out_ch_readl() argument 121 img_i2s_out_ch_disable(struct img_i2s_out *i2s, u32 chan) img_i2s_out_ch_disable() argument 130 img_i2s_out_ch_enable(struct img_i2s_out *i2s, u32 chan) img_i2s_out_ch_enable() argument 139 img_i2s_out_disable(struct img_i2s_out *i2s) img_i2s_out_disable() argument 148 img_i2s_out_enable(struct img_i2s_out *i2s) img_i2s_out_enable() argument 157 img_i2s_out_reset(struct img_i2s_out *i2s) img_i2s_out_reset() argument 188 struct img_i2s_out *i2s = snd_soc_dai_get_drvdata(dai); img_i2s_out_trigger() local 216 struct img_i2s_out *i2s = snd_soc_dai_get_drvdata(dai); img_i2s_out_hw_params() local 293 struct img_i2s_out *i2s = snd_soc_dai_get_drvdata(dai); img_i2s_out_set_fmt() local 381 struct img_i2s_out *i2s = snd_soc_dai_get_drvdata(dai); img_i2s_out_dai_probe() local 427 struct img_i2s_out *i2s; img_i2s_out_probe() local 545 struct img_i2s_out *i2s = dev_get_drvdata(dev); img_i2s_out_suspend() local 569 struct img_i2s_out *i2s = dev_get_drvdata(dev); img_i2s_out_resume() local [all...] |
/kernel/linux/linux-5.10/sound/soc/xtensa/ |
H A D | xtfpga-i2s.c | 17 #define DRV_NAME "xtfpga-i2s" 76 unsigned (*tx_fn)(struct xtfpga_i2s *i2s, 131 struct xtfpga_i2s *i2s, struct snd_pcm_runtime *runtime, \ 137 for (; i2s->tx_fifo_level < i2s->tx_fifo_high; \ 138 i2s->tx_fifo_level += 2) { \ 140 i2s->regs + XTFPGA_I2S_CHAN0_DATA); \ 142 i2s->regs + XTFPGA_I2S_CHAN0_DATA); \ 156 static bool xtfpga_pcm_push_tx(struct xtfpga_i2s *i2s) in xtfpga_pcm_push_tx() argument 162 tx_substream = rcu_dereference(i2s in xtfpga_pcm_push_tx() 176 xtfpga_pcm_refill_fifo(struct xtfpga_i2s *i2s) xtfpga_pcm_refill_fifo() argument 225 struct xtfpga_i2s *i2s = dev_id; xtfpga_i2s_threaded_irq_handler() local 273 struct xtfpga_i2s *i2s = snd_soc_dai_get_drvdata(dai); xtfpga_i2s_startup() local 283 struct xtfpga_i2s *i2s = snd_soc_dai_get_drvdata(dai); xtfpga_i2s_hw_params() local 394 struct xtfpga_i2s *i2s = runtime->private_data; xtfpga_pcm_hw_params() local 432 struct xtfpga_i2s *i2s = runtime->private_data; xtfpga_pcm_trigger() local 460 struct xtfpga_i2s *i2s = runtime->private_data; xtfpga_pcm_pointer() local 510 struct xtfpga_i2s *i2s = dev_get_drvdata(dev); xtfpga_i2s_runtime_suspend() local 518 struct xtfpga_i2s *i2s = dev_get_drvdata(dev); xtfpga_i2s_runtime_resume() local 531 struct xtfpga_i2s *i2s; xtfpga_i2s_probe() local 609 struct xtfpga_i2s *i2s = dev_get_drvdata(&pdev->dev); xtfpga_i2s_remove() local [all...] |
/kernel/linux/linux-6.6/sound/soc/jz4740/ |
H A D | jz4740-i2s.c | 97 struct jz4740_i2s *i2s = snd_soc_dai_get_drvdata(dai); in jz4740_i2s_startup() local 105 if (!i2s->soc_info->shared_fifo_flush) { in jz4740_i2s_startup() 107 regmap_set_bits(i2s->regmap, JZ_REG_AIC_CTRL, JZ_AIC_CTRL_TFLUSH); in jz4740_i2s_startup() 109 regmap_set_bits(i2s->regmap, JZ_REG_AIC_CTRL, JZ_AIC_CTRL_RFLUSH); in jz4740_i2s_startup() 121 if (i2s->soc_info->shared_fifo_flush) in jz4740_i2s_startup() 122 regmap_set_bits(i2s->regmap, JZ_REG_AIC_CTRL, JZ_AIC_CTRL_TFLUSH); in jz4740_i2s_startup() 124 ret = clk_prepare_enable(i2s->clk_i2s); in jz4740_i2s_startup() 128 regmap_set_bits(i2s->regmap, JZ_REG_AIC_CONF, JZ_AIC_CONF_ENABLE); in jz4740_i2s_startup() 135 struct jz4740_i2s *i2s = snd_soc_dai_get_drvdata(dai); in jz4740_i2s_shutdown() local 140 regmap_clear_bits(i2s in jz4740_i2s_shutdown() 148 struct jz4740_i2s *i2s = snd_soc_dai_get_drvdata(dai); jz4740_i2s_trigger() local 176 struct jz4740_i2s *i2s = snd_soc_dai_get_drvdata(dai); jz4740_i2s_set_fmt() local 254 struct jz4740_i2s *i2s = snd_soc_dai_get_drvdata(dai); jz4740_i2s_hw_params() local 322 struct jz4740_i2s *i2s = snd_soc_dai_get_drvdata(dai); jz4740_i2s_dai_probe() local 420 struct jz4740_i2s *i2s = snd_soc_component_get_drvdata(component); jz4740_i2s_suspend() local 434 struct jz4740_i2s *i2s = snd_soc_component_get_drvdata(component); jz4740_i2s_resume() local 456 struct jz4740_i2s *i2s = snd_soc_component_get_drvdata(component); jz4740_i2s_probe() local 477 struct jz4740_i2s *i2s = snd_soc_component_get_drvdata(component); jz4740_i2s_remove() local 501 jz4740_i2s_init_regmap_fields(struct device *dev, struct jz4740_i2s *i2s) jz4740_i2s_init_regmap_fields() argument 541 struct jz4740_i2s *i2s; jz4740_i2s_dev_probe() local [all...] |
/kernel/linux/linux-6.6/sound/soc/xtensa/ |
H A D | xtfpga-i2s.c | 17 #define DRV_NAME "xtfpga-i2s" 76 unsigned (*tx_fn)(struct xtfpga_i2s *i2s, 131 struct xtfpga_i2s *i2s, struct snd_pcm_runtime *runtime, \ 137 for (; i2s->tx_fifo_level < i2s->tx_fifo_high; \ 138 i2s->tx_fifo_level += 2) { \ 140 i2s->regs + XTFPGA_I2S_CHAN0_DATA); \ 142 i2s->regs + XTFPGA_I2S_CHAN0_DATA); \ 156 static bool xtfpga_pcm_push_tx(struct xtfpga_i2s *i2s) in xtfpga_pcm_push_tx() argument 162 tx_substream = rcu_dereference(i2s in xtfpga_pcm_push_tx() 176 xtfpga_pcm_refill_fifo(struct xtfpga_i2s *i2s) xtfpga_pcm_refill_fifo() argument 225 struct xtfpga_i2s *i2s = dev_id; xtfpga_i2s_threaded_irq_handler() local 273 struct xtfpga_i2s *i2s = snd_soc_dai_get_drvdata(dai); xtfpga_i2s_startup() local 283 struct xtfpga_i2s *i2s = snd_soc_dai_get_drvdata(dai); xtfpga_i2s_hw_params() local 394 struct xtfpga_i2s *i2s = runtime->private_data; xtfpga_pcm_hw_params() local 432 struct xtfpga_i2s *i2s = runtime->private_data; xtfpga_pcm_trigger() local 460 struct xtfpga_i2s *i2s = runtime->private_data; xtfpga_pcm_pointer() local 511 struct xtfpga_i2s *i2s = dev_get_drvdata(dev); xtfpga_i2s_runtime_suspend() local 519 struct xtfpga_i2s *i2s = dev_get_drvdata(dev); xtfpga_i2s_runtime_resume() local 532 struct xtfpga_i2s *i2s; xtfpga_i2s_probe() local 610 struct xtfpga_i2s *i2s = dev_get_drvdata(&pdev->dev); xtfpga_i2s_remove() local [all...] |
/kernel/linux/linux-5.10/sound/soc/tegra/ |
H A D | tegra30_i2s.c | 36 #define DRV_NAME "tegra30-i2s" 40 struct tegra30_i2s *i2s = dev_get_drvdata(dev); in tegra30_i2s_runtime_suspend() local 42 regcache_cache_only(i2s->regmap, true); in tegra30_i2s_runtime_suspend() 44 clk_disable_unprepare(i2s->clk_i2s); in tegra30_i2s_runtime_suspend() 51 struct tegra30_i2s *i2s = dev_get_drvdata(dev); in tegra30_i2s_runtime_resume() local 54 ret = clk_prepare_enable(i2s->clk_i2s); in tegra30_i2s_runtime_resume() 60 regcache_cache_only(i2s->regmap, false); in tegra30_i2s_runtime_resume() 68 struct tegra30_i2s *i2s = snd_soc_dai_get_drvdata(dai); in tegra30_i2s_set_fmt() local 117 regmap_update_bits(i2s->regmap, TEGRA30_I2S_CTRL, mask, val); in tegra30_i2s_set_fmt() 128 struct tegra30_i2s *i2s in tegra30_i2s_hw_params() local 198 tegra30_i2s_start_playback(struct tegra30_i2s *i2s) tegra30_i2s_start_playback() argument 206 tegra30_i2s_stop_playback(struct tegra30_i2s *i2s) tegra30_i2s_stop_playback() argument 213 tegra30_i2s_start_capture(struct tegra30_i2s *i2s) tegra30_i2s_start_capture() argument 221 tegra30_i2s_stop_capture(struct tegra30_i2s *i2s) tegra30_i2s_stop_capture() argument 231 struct tegra30_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra30_i2s_trigger() local 261 struct tegra30_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra30_i2s_set_tdm() local 287 struct tegra30_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra30_i2s_probe() local 397 struct tegra30_i2s *i2s; tegra30_i2s_platform_probe() local 534 struct tegra30_i2s *i2s = dev_get_drvdata(&pdev->dev); tegra30_i2s_platform_remove() local 557 struct tegra30_i2s *i2s = dev_get_drvdata(dev); tegra30_i2s_suspend() local 566 struct tegra30_i2s *i2s = dev_get_drvdata(dev); tegra30_i2s_resume() local [all...] |
H A D | tegra210_i2s.c | 50 struct tegra210_i2s *i2s = dev_get_drvdata(dev); in tegra210_i2s_set_clock_rate() local 54 regmap_read(i2s->regmap, TEGRA210_I2S_CTRL, &val); in tegra210_i2s_set_clock_rate() 60 err = clk_set_rate(i2s->clk_i2s, clock_rate); in tegra210_i2s_set_clock_rate() 67 if (!IS_ERR(i2s->clk_sync_input)) { in tegra210_i2s_set_clock_rate() 69 * Other I/O modules in AHUB can use i2s bclk as reference in tegra210_i2s_set_clock_rate() 73 err = clk_set_rate(i2s->clk_sync_input, clock_rate); in tegra210_i2s_set_clock_rate() 89 struct tegra210_i2s *i2s = dev_get_drvdata(dev); in tegra210_i2s_sw_reset() local 107 regmap_read(i2s->regmap, cif_reg, &cif_ctrl); in tegra210_i2s_sw_reset() 108 regmap_read(i2s->regmap, stream_reg, &stream_ctrl); in tegra210_i2s_sw_reset() 109 regmap_read(i2s in tegra210_i2s_sw_reset() 136 struct tegra210_i2s *i2s = dev_get_drvdata(dev); tegra210_i2s_init() local 169 struct tegra210_i2s *i2s = dev_get_drvdata(dev); tegra210_i2s_runtime_suspend() local 181 struct tegra210_i2s *i2s = dev_get_drvdata(dev); tegra210_i2s_runtime_resume() local 196 tegra210_i2s_set_data_offset(struct tegra210_i2s *i2s, unsigned int data_offset) tegra210_i2s_set_data_offset() argument 213 struct tegra210_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra210_i2s_set_fmt() local 294 struct tegra210_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra210_i2s_set_tdm_slot() local 309 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_get_loopback() local 320 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_put_loopback() local 338 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_get_fsync_width() local 349 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_put_fsync_width() local 376 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_cget_stereo_to_mono() local 387 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_cput_stereo_to_mono() local 402 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_cget_mono_to_stereo() local 413 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_cput_mono_to_stereo() local 428 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_pget_stereo_to_mono() local 439 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_pput_stereo_to_mono() local 454 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_pget_mono_to_stereo() local 465 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_pput_mono_to_stereo() local 480 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_pget_fifo_th() local 491 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_pput_fifo_th() local 506 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_get_bclk_ratio() local 517 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_put_bclk_ratio() local 531 struct tegra210_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra210_i2s_set_dai_bclk_ratio() local 543 struct tegra210_i2s *i2s = dev_get_drvdata(dev); tegra210_i2s_set_timing_params() local 603 struct tegra210_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra210_i2s_hw_params() local 879 struct tegra210_i2s *i2s; tegra210_i2s_probe() local [all...] |
H A D | tegra20_i2s.c | 34 #define DRV_NAME "tegra20-i2s" 38 struct tegra20_i2s *i2s = dev_get_drvdata(dev); in tegra20_i2s_runtime_suspend() local 40 clk_disable_unprepare(i2s->clk_i2s); in tegra20_i2s_runtime_suspend() 47 struct tegra20_i2s *i2s = dev_get_drvdata(dev); in tegra20_i2s_runtime_resume() local 50 ret = clk_prepare_enable(i2s->clk_i2s); in tegra20_i2s_runtime_resume() 62 struct tegra20_i2s *i2s = snd_soc_dai_get_drvdata(dai); in tegra20_i2s_set_fmt() local 110 regmap_update_bits(i2s->regmap, TEGRA20_I2S_CTRL, mask, val); in tegra20_i2s_set_fmt() 120 struct tegra20_i2s *i2s = snd_soc_dai_get_drvdata(dai); in tegra20_i2s_hw_params() local 145 regmap_update_bits(i2s->regmap, TEGRA20_I2S_CTRL, mask, val); in tegra20_i2s_hw_params() 152 ret = clk_set_rate(i2s in tegra20_i2s_hw_params() 175 tegra20_i2s_start_playback(struct tegra20_i2s *i2s) tegra20_i2s_start_playback() argument 182 tegra20_i2s_stop_playback(struct tegra20_i2s *i2s) tegra20_i2s_stop_playback() argument 188 tegra20_i2s_start_capture(struct tegra20_i2s *i2s) tegra20_i2s_start_capture() argument 195 tegra20_i2s_stop_capture(struct tegra20_i2s *i2s) tegra20_i2s_stop_capture() argument 204 struct tegra20_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra20_i2s_trigger() local 232 struct tegra20_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra20_i2s_probe() local 327 struct tegra20_i2s *i2s; tegra20_i2s_platform_probe() local 410 struct tegra20_i2s *i2s = dev_get_drvdata(&pdev->dev); tegra20_i2s_platform_remove() local [all...] |
/kernel/linux/linux-6.6/sound/soc/tegra/ |
H A D | tegra30_i2s.c | 37 #define DRV_NAME "tegra30-i2s" 41 struct tegra30_i2s *i2s = dev_get_drvdata(dev); in tegra30_i2s_runtime_suspend() local 43 regcache_cache_only(i2s->regmap, true); in tegra30_i2s_runtime_suspend() 45 clk_disable_unprepare(i2s->clk_i2s); in tegra30_i2s_runtime_suspend() 52 struct tegra30_i2s *i2s = dev_get_drvdata(dev); in tegra30_i2s_runtime_resume() local 55 ret = clk_prepare_enable(i2s->clk_i2s); in tegra30_i2s_runtime_resume() 61 regcache_cache_only(i2s->regmap, false); in tegra30_i2s_runtime_resume() 62 regcache_mark_dirty(i2s->regmap); in tegra30_i2s_runtime_resume() 64 ret = regcache_sync(i2s->regmap); in tegra30_i2s_runtime_resume() 71 clk_disable_unprepare(i2s in tegra30_i2s_runtime_resume() 79 struct tegra30_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra30_i2s_set_fmt() local 139 struct tegra30_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra30_i2s_hw_params() local 209 tegra30_i2s_start_playback(struct tegra30_i2s *i2s) tegra30_i2s_start_playback() argument 217 tegra30_i2s_stop_playback(struct tegra30_i2s *i2s) tegra30_i2s_stop_playback() argument 224 tegra30_i2s_start_capture(struct tegra30_i2s *i2s) tegra30_i2s_start_capture() argument 232 tegra30_i2s_stop_capture(struct tegra30_i2s *i2s) tegra30_i2s_stop_capture() argument 242 struct tegra30_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra30_i2s_trigger() local 272 struct tegra30_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra30_i2s_set_tdm() local 298 struct tegra30_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra30_i2s_probe() local 409 struct tegra30_i2s *i2s; tegra30_i2s_platform_probe() local 536 struct tegra30_i2s *i2s = dev_get_drvdata(&pdev->dev); tegra30_i2s_platform_remove() local [all...] |
H A D | tegra210_i2s.c | 50 struct tegra210_i2s *i2s = dev_get_drvdata(dev); in tegra210_i2s_set_clock_rate() local 54 regmap_read(i2s->regmap, TEGRA210_I2S_CTRL, &val); in tegra210_i2s_set_clock_rate() 60 err = clk_set_rate(i2s->clk_i2s, clock_rate); in tegra210_i2s_set_clock_rate() 67 if (!IS_ERR(i2s->clk_sync_input)) { in tegra210_i2s_set_clock_rate() 69 * Other I/O modules in AHUB can use i2s bclk as reference in tegra210_i2s_set_clock_rate() 73 err = clk_set_rate(i2s->clk_sync_input, clock_rate); in tegra210_i2s_set_clock_rate() 89 struct tegra210_i2s *i2s = dev_get_drvdata(dev); in tegra210_i2s_sw_reset() local 107 regmap_read(i2s->regmap, cif_reg, &cif_ctrl); in tegra210_i2s_sw_reset() 108 regmap_read(i2s->regmap, stream_reg, &stream_ctrl); in tegra210_i2s_sw_reset() 109 regmap_read(i2s in tegra210_i2s_sw_reset() 136 struct tegra210_i2s *i2s = dev_get_drvdata(dev); tegra210_i2s_init() local 169 struct tegra210_i2s *i2s = dev_get_drvdata(dev); tegra210_i2s_runtime_suspend() local 181 struct tegra210_i2s *i2s = dev_get_drvdata(dev); tegra210_i2s_runtime_resume() local 196 tegra210_i2s_set_data_offset(struct tegra210_i2s *i2s, unsigned int data_offset) tegra210_i2s_set_data_offset() argument 213 struct tegra210_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra210_i2s_set_fmt() local 294 struct tegra210_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra210_i2s_set_tdm_slot() local 309 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_get_loopback() local 320 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_put_loopback() local 338 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_get_fsync_width() local 349 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_put_fsync_width() local 376 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_cget_stereo_to_mono() local 387 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_cput_stereo_to_mono() local 402 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_cget_mono_to_stereo() local 413 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_cput_mono_to_stereo() local 428 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_pget_stereo_to_mono() local 439 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_pput_stereo_to_mono() local 454 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_pget_mono_to_stereo() local 465 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_pput_mono_to_stereo() local 480 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_pget_fifo_th() local 491 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_pput_fifo_th() local 506 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_get_bclk_ratio() local 517 struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); tegra210_i2s_put_bclk_ratio() local 531 struct tegra210_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra210_i2s_set_dai_bclk_ratio() local 543 struct tegra210_i2s *i2s = dev_get_drvdata(dev); tegra210_i2s_set_timing_params() local 603 struct tegra210_i2s *i2s = snd_soc_dai_get_drvdata(dai); tegra210_i2s_hw_params() local 878 struct tegra210_i2s *i2s; tegra210_i2s_probe() local [all...] |
/kernel/linux/linux-5.10/sound/soc/stm/ |
H A D | stm32_i2s.c | 245 struct stm32_i2s_data *i2s = (struct stm32_i2s_data *)devid; in stm32_i2s_isr() local 246 struct platform_device *pdev = i2s->pdev; in stm32_i2s_isr() 251 regmap_read(i2s->regmap, STM32_I2S_SR_REG, &sr); in stm32_i2s_isr() 252 regmap_read(i2s->regmap, STM32_I2S_IER_REG, &ier); in stm32_i2s_isr() 261 regmap_write_bits(i2s->regmap, STM32_I2S_IFCR_REG, in stm32_i2s_isr() 277 spin_lock(&i2s->irq_lock); in stm32_i2s_isr() 278 if (err && i2s->substream) in stm32_i2s_isr() 279 snd_pcm_stop_xrun(i2s->substream); in stm32_i2s_isr() 280 spin_unlock(&i2s->irq_lock); in stm32_i2s_isr() 334 struct stm32_i2s_data *i2s in stm32_i2s_set_dai_fmt() local 407 struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai); stm32_i2s_set_sysclk() local 425 struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai); stm32_i2s_configure_clock() local 505 struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai); stm32_i2s_configure() local 552 struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai); stm32_i2s_startup() local 578 struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai); stm32_i2s_hw_params() local 596 struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai); stm32_i2s_trigger() local 694 struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai); stm32_i2s_shutdown() local 709 struct stm32_i2s_data *i2s = dev_get_drvdata(cpu_dai->dev); stm32_i2s_dai_probe() local 778 stm32_i2s_dais_init(struct platform_device *pdev, struct stm32_i2s_data *i2s) stm32_i2s_dais_init() argument 806 stm32_i2s_parse_dt(struct platform_device *pdev, struct stm32_i2s_data *i2s) stm32_i2s_parse_dt() argument 901 struct stm32_i2s_data *i2s; stm32_i2s_probe() local 990 struct stm32_i2s_data *i2s = dev_get_drvdata(dev); stm32_i2s_suspend() local 1000 struct stm32_i2s_data *i2s = dev_get_drvdata(dev); stm32_i2s_resume() local [all...] |
/kernel/linux/linux-6.6/sound/soc/sunxi/ |
H A D | sun4i-i2s.c | 181 /* Register fields for i2s */ 194 unsigned long (*get_bclk_parent_rate)(const struct sun4i_i2s *i2s); 203 int (*set_chan_cfg)(const struct sun4i_i2s *i2s, 206 int (*set_fmt)(const struct sun4i_i2s *i2s, unsigned int fmt); 223 /* Register fields for i2s */ 276 static unsigned long sun4i_i2s_get_bclk_parent_rate(const struct sun4i_i2s *i2s) in sun4i_i2s_get_bclk_parent_rate() argument 278 return i2s->mclk_freq; in sun4i_i2s_get_bclk_parent_rate() 281 static unsigned long sun8i_i2s_get_bclk_parent_rate(const struct sun4i_i2s *i2s) in sun8i_i2s_get_bclk_parent_rate() argument 283 return clk_get_rate(i2s->mod_clk); in sun8i_i2s_get_bclk_parent_rate() 286 static int sun4i_i2s_get_bclk_div(struct sun4i_i2s *i2s, in sun4i_i2s_get_bclk_div() argument 306 sun4i_i2s_get_mclk_div(struct sun4i_i2s *i2s, unsigned long parent_rate, unsigned long mclk_rate) sun4i_i2s_get_mclk_div() argument 341 struct sun4i_i2s *i2s = snd_soc_dai_get_drvdata(dai); sun4i_i2s_set_clk_rate() local 459 sun4i_i2s_set_chan_cfg(const struct sun4i_i2s *i2s, unsigned int channels, unsigned int slots, unsigned int slot_width) sun4i_i2s_set_chan_cfg() argument 478 sun8i_i2s_set_chan_cfg(const struct sun4i_i2s *i2s, unsigned int channels, unsigned int slots, unsigned int slot_width) sun8i_i2s_set_chan_cfg() argument 530 sun50i_h6_i2s_set_chan_cfg(const struct sun4i_i2s *i2s, unsigned int channels, unsigned int slots, unsigned int slot_width) sun50i_h6_i2s_set_chan_cfg() argument 595 struct sun4i_i2s *i2s = snd_soc_dai_get_drvdata(dai); sun4i_i2s_hw_params() local 653 sun4i_i2s_set_soc_fmt(const struct sun4i_i2s *i2s, unsigned int fmt) sun4i_i2s_set_soc_fmt() argument 727 sun8i_i2s_set_soc_fmt(const struct sun4i_i2s *i2s, unsigned int fmt) sun8i_i2s_set_soc_fmt() argument 834 sun50i_h6_i2s_set_soc_fmt(const struct sun4i_i2s *i2s, unsigned int fmt) sun50i_h6_i2s_set_soc_fmt() argument 943 struct sun4i_i2s *i2s = snd_soc_dai_get_drvdata(dai); sun4i_i2s_set_fmt() local 957 sun4i_i2s_start_capture(struct sun4i_i2s *i2s) sun4i_i2s_start_capture() argument 978 sun4i_i2s_start_playback(struct sun4i_i2s *i2s) sun4i_i2s_start_playback() argument 999 sun4i_i2s_stop_capture(struct sun4i_i2s *i2s) sun4i_i2s_stop_capture() argument 1012 sun4i_i2s_stop_playback(struct sun4i_i2s *i2s) sun4i_i2s_stop_playback() argument 1028 struct sun4i_i2s *i2s = snd_soc_dai_get_drvdata(dai); sun4i_i2s_trigger() local 1059 struct sun4i_i2s *i2s = snd_soc_dai_get_drvdata(dai); sun4i_i2s_set_sysclk() local 1073 struct sun4i_i2s *i2s = snd_soc_dai_get_drvdata(dai); sun4i_i2s_set_tdm_slot() local 1086 struct sun4i_i2s *i2s = snd_soc_dai_get_drvdata(dai); sun4i_i2s_dai_probe() local 1282 struct sun4i_i2s *i2s = dev_get_drvdata(dev); sun4i_i2s_runtime_resume() local 1324 struct sun4i_i2s *i2s = dev_get_drvdata(dev); sun4i_i2s_runtime_suspend() local 1476 sun4i_i2s_init_regmap_fields(struct device *dev, struct sun4i_i2s *i2s) sun4i_i2s_init_regmap_fields() argument 1502 struct sun4i_i2s *i2s; sun4i_i2s_probe() local 1611 struct sun4i_i2s *i2s = dev_get_drvdata(&pdev->dev); sun4i_i2s_remove() local [all...] |
/kernel/linux/linux-5.10/sound/soc/jz4740/ |
H A D | jz4740-i2s.c | 27 #include "jz4740-i2s.h" 116 static inline uint32_t jz4740_i2s_read(const struct jz4740_i2s *i2s, in jz4740_i2s_read() argument 119 return readl(i2s->base + reg); in jz4740_i2s_read() 122 static inline void jz4740_i2s_write(const struct jz4740_i2s *i2s, in jz4740_i2s_write() argument 125 writel(value, i2s->base + reg); in jz4740_i2s_write() 128 static inline void jz4740_i2s_set_bits(const struct jz4740_i2s *i2s, in jz4740_i2s_set_bits() argument 131 uint32_t value = jz4740_i2s_read(i2s, reg); in jz4740_i2s_set_bits() 133 jz4740_i2s_write(i2s, reg, value); in jz4740_i2s_set_bits() 139 struct jz4740_i2s *i2s = snd_soc_dai_get_drvdata(dai); in jz4740_i2s_startup() local 148 if (!i2s in jz4740_i2s_startup() 181 struct jz4740_i2s *i2s = snd_soc_dai_get_drvdata(dai); jz4740_i2s_shutdown() local 197 struct jz4740_i2s *i2s = snd_soc_dai_get_drvdata(dai); jz4740_i2s_trigger() local 231 struct jz4740_i2s *i2s = snd_soc_dai_get_drvdata(dai); jz4740_i2s_set_fmt() local 283 struct jz4740_i2s *i2s = snd_soc_dai_get_drvdata(dai); jz4740_i2s_hw_params() local 336 struct jz4740_i2s *i2s = snd_soc_dai_get_drvdata(dai); jz4740_i2s_set_sysclk() local 364 struct jz4740_i2s *i2s = snd_soc_component_get_drvdata(component); jz4740_i2s_suspend() local 382 struct jz4740_i2s *i2s = snd_soc_component_get_drvdata(component); jz4740_i2s_resume() local 405 jz4740_i2c_init_pcm_config(struct jz4740_i2s *i2s) jz4740_i2c_init_pcm_config() argument 424 struct jz4740_i2s *i2s = snd_soc_dai_get_drvdata(dai); jz4740_i2s_dai_probe() local 458 struct jz4740_i2s *i2s = snd_soc_dai_get_drvdata(dai); jz4740_i2s_dai_remove() local 552 struct jz4740_i2s *i2s; jz4740_i2s_dev_probe() local [all...] |
/kernel/linux/linux-5.10/sound/soc/adi/ |
H A D | axi-i2s.c | 60 struct axi_i2s *i2s = snd_soc_dai_get_drvdata(dai); in axi_i2s_trigger() local 83 regmap_update_bits(i2s->regmap, AXI_I2S_REG_CTRL, mask, val); in axi_i2s_trigger() 91 struct axi_i2s *i2s = snd_soc_dai_get_drvdata(dai); in axi_i2s_hw_params() local 98 bclk_div = DIV_ROUND_UP(clk_get_rate(i2s->clk_ref), bclk_rate) / 2 - 1; in axi_i2s_hw_params() 100 regmap_write(i2s->regmap, AXI_I2S_REG_CLK_CTRL, (word_size << 16) | in axi_i2s_hw_params() 109 struct axi_i2s *i2s = snd_soc_dai_get_drvdata(dai); in axi_i2s_startup() local 118 regmap_write(i2s->regmap, AXI_I2S_REG_RESET, mask); in axi_i2s_startup() 122 &i2s->rate_constraints); in axi_i2s_startup() 126 return clk_prepare_enable(i2s->clk_ref); in axi_i2s_startup() 132 struct axi_i2s *i2s in axi_i2s_shutdown() local 139 struct axi_i2s *i2s = snd_soc_dai_get_drvdata(dai); axi_i2s_dai_probe() local 173 axi_i2s_parse_of(struct axi_i2s *i2s, const struct device_node *np) axi_i2s_parse_of() argument 189 struct axi_i2s *i2s; axi_i2s_probe() local 279 struct axi_i2s *i2s = platform_get_drvdata(pdev); axi_i2s_dev_remove() local [all...] |
/kernel/linux/linux-6.6/sound/soc/adi/ |
H A D | axi-i2s.c | 60 struct axi_i2s *i2s = snd_soc_dai_get_drvdata(dai); in axi_i2s_trigger() local 83 regmap_update_bits(i2s->regmap, AXI_I2S_REG_CTRL, mask, val); in axi_i2s_trigger() 91 struct axi_i2s *i2s = snd_soc_dai_get_drvdata(dai); in axi_i2s_hw_params() local 98 bclk_div = DIV_ROUND_UP(clk_get_rate(i2s->clk_ref), bclk_rate) / 2 - 1; in axi_i2s_hw_params() 100 regmap_write(i2s->regmap, AXI_I2S_REG_CLK_CTRL, (word_size << 16) | in axi_i2s_hw_params() 109 struct axi_i2s *i2s = snd_soc_dai_get_drvdata(dai); in axi_i2s_startup() local 118 regmap_write(i2s->regmap, AXI_I2S_REG_RESET, mask); in axi_i2s_startup() 122 &i2s->rate_constraints); in axi_i2s_startup() 126 return clk_prepare_enable(i2s->clk_ref); in axi_i2s_startup() 132 struct axi_i2s *i2s in axi_i2s_shutdown() local 139 struct axi_i2s *i2s = snd_soc_dai_get_drvdata(dai); axi_i2s_dai_probe() local 174 axi_i2s_parse_of(struct axi_i2s *i2s, const struct device_node *np) axi_i2s_parse_of() argument 190 struct axi_i2s *i2s; axi_i2s_probe() local 279 struct axi_i2s *i2s = platform_get_drvdata(pdev); axi_i2s_dev_remove() local [all...] |
/kernel/linux/linux-5.10/sound/soc/rockchip/ |
H A D | rockchip_i2s.c | 24 #define DRV_NAME "rockchip-i2s" 56 struct rk_i2s_dev *i2s = dev_get_drvdata(dev); in i2s_runtime_suspend() local 58 regcache_cache_only(i2s->regmap, true); in i2s_runtime_suspend() 59 clk_disable_unprepare(i2s->mclk); in i2s_runtime_suspend() 66 struct rk_i2s_dev *i2s = dev_get_drvdata(dev); in i2s_runtime_resume() local 69 ret = clk_prepare_enable(i2s->mclk); in i2s_runtime_resume() 71 dev_err(i2s->dev, "clock enable failed %d\n", ret); in i2s_runtime_resume() 75 regcache_cache_only(i2s->regmap, false); in i2s_runtime_resume() 76 regcache_mark_dirty(i2s->regmap); in i2s_runtime_resume() 78 ret = regcache_sync(i2s in i2s_runtime_resume() 90 rockchip_snd_txctrl(struct rk_i2s_dev *i2s, int on) rockchip_snd_txctrl() argument 137 rockchip_snd_rxctrl(struct rk_i2s_dev *i2s, int on) rockchip_snd_rxctrl() argument 187 struct rk_i2s_dev *i2s = to_info(cpu_dai); rockchip_i2s_set_fmt() local 283 struct rk_i2s_dev *i2s = to_info(dai); rockchip_i2s_hw_params() local 397 struct rk_i2s_dev *i2s = to_info(dai); rockchip_i2s_trigger() local 428 struct rk_i2s_dev *i2s = to_info(cpu_dai); rockchip_i2s_set_sysclk() local 443 struct rk_i2s_dev *i2s = snd_soc_dai_get_drvdata(dai); rockchip_i2s_dai_probe() local 590 struct rk_i2s_dev *i2s; rockchip_i2s_probe() local 709 struct rk_i2s_dev *i2s = dev_get_drvdata(&pdev->dev); rockchip_i2s_remove() local [all...] |
/kernel/linux/linux-6.6/sound/soc/stm/ |
H A D | stm32_i2s.c | 264 static int stm32_i2s_calc_clk_div(struct stm32_i2s_data *i2s, in stm32_i2s_calc_clk_div() argument 282 dev_dbg(&i2s->pdev->dev, "Divider: 2*%d(div)+%d(odd) = %d\n", in stm32_i2s_calc_clk_div() 288 dev_err(&i2s->pdev->dev, "Wrong divider setting\n"); in stm32_i2s_calc_clk_div() 293 dev_dbg(&i2s->pdev->dev, in stm32_i2s_calc_clk_div() 297 i2s->div = div; in stm32_i2s_calc_clk_div() 298 i2s->odd = odd; in stm32_i2s_calc_clk_div() 299 i2s->divider = divider; in stm32_i2s_calc_clk_div() 304 static int stm32_i2s_set_clk_div(struct stm32_i2s_data *i2s) in stm32_i2s_set_clk_div() argument 308 cgfr = I2S_CGFR_I2SDIV_SET(i2s->div) | (i2s in stm32_i2s_set_clk_div() 315 stm32_i2s_set_parent_clock(struct stm32_i2s_data *i2s, unsigned int rate) stm32_i2s_set_parent_clock() argument 339 struct stm32_i2s_data *i2s = mclk->i2s_data; stm32_i2smclk_round_rate() local 363 struct stm32_i2s_data *i2s = mclk->i2s_data; stm32_i2smclk_set_rate() local 382 struct stm32_i2s_data *i2s = mclk->i2s_data; stm32_i2smclk_enable() local 393 struct stm32_i2s_data *i2s = mclk->i2s_data; stm32_i2smclk_disable() local 408 stm32_i2s_add_mclk_provider(struct stm32_i2s_data *i2s) stm32_i2s_add_mclk_provider() argument 455 struct stm32_i2s_data *i2s = (struct stm32_i2s_data *)devid; stm32_i2s_isr() local 544 struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai); stm32_i2s_set_dai_fmt() local 617 struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai); stm32_i2s_set_sysclk() local 663 struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai); stm32_i2s_configure_clock() local 724 struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai); stm32_i2s_configure() local 771 struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai); stm32_i2s_startup() local 797 struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai); stm32_i2s_hw_params() local 815 struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai); stm32_i2s_trigger() local 913 struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai); stm32_i2s_shutdown() local 925 struct stm32_i2s_data *i2s = dev_get_drvdata(cpu_dai->dev); stm32_i2s_dai_probe() local 996 stm32_i2s_dais_init(struct platform_device *pdev, struct stm32_i2s_data *i2s) stm32_i2s_dais_init() argument 1023 stm32_i2s_parse_dt(struct platform_device *pdev, struct stm32_i2s_data *i2s) stm32_i2s_parse_dt() argument 1109 struct stm32_i2s_data *i2s; stm32_i2s_probe() local 1194 struct stm32_i2s_data *i2s = dev_get_drvdata(dev); stm32_i2s_suspend() local 1204 struct stm32_i2s_data *i2s = dev_get_drvdata(dev); stm32_i2s_resume() local [all...] |
/kernel/linux/linux-6.6/sound/soc/google/ |
H A D | chv3-i2s.c | 70 .name = "chv3-i2s", 101 static inline void chv3_i2s_wr(struct chv3_i2s_dev *i2s, int offset, u32 val) in chv3_i2s_wr() argument 103 writel(val, i2s->iobase + offset); in chv3_i2s_wr() 106 static inline u32 chv3_i2s_rd(struct chv3_i2s_dev *i2s, int offset) in chv3_i2s_rd() argument 108 return readl(i2s->iobase + offset); in chv3_i2s_rd() 113 struct chv3_i2s_dev *i2s = data; in chv3_i2s_isr() local 116 reg = readl(i2s->iobase_irq + I2S_IRQ_CLR); in chv3_i2s_isr() 121 snd_pcm_period_elapsed(i2s->rx_substream); in chv3_i2s_isr() 124 snd_pcm_period_elapsed(i2s->tx_substream); in chv3_i2s_isr() 126 writel(reg, i2s in chv3_i2s_isr() 135 struct chv3_i2s_dev *i2s = snd_soc_dai_get_drvdata(asoc_rtd_to_cpu(rtd, 0)); chv3_dma_open() local 156 struct chv3_i2s_dev *i2s = snd_soc_dai_get_drvdata(asoc_rtd_to_cpu(rtd, 0)); chv3_dma_close() local 169 struct chv3_i2s_dev *i2s = snd_soc_dai_get_drvdata(asoc_rtd_to_cpu(rtd, 0)); chv3_dma_pcm_construct() local 204 struct chv3_i2s_dev *i2s = snd_soc_dai_get_drvdata(asoc_rtd_to_cpu(rtd, 0)); chv3_dma_prepare() local 233 struct chv3_i2s_dev *i2s = snd_soc_dai_get_drvdata(asoc_rtd_to_cpu(rtd, 0)); chv3_dma_pointer() local 256 struct chv3_i2s_dev *i2s = snd_soc_dai_get_drvdata(asoc_rtd_to_cpu(rtd, 0)); chv3_dma_ack() local 283 struct chv3_i2s_dev *i2s; chv3_i2s_probe() local [all...] |
/kernel/linux/linux-5.10/sound/soc/sunxi/ |
H A D | sun4i-i2s.c | 152 /* Register fields for i2s */ 184 /* Register fields for i2s */ 237 static unsigned long sun4i_i2s_get_bclk_parent_rate(const struct sun4i_i2s *i2s) in sun4i_i2s_get_bclk_parent_rate() argument 239 return i2s->mclk_freq; in sun4i_i2s_get_bclk_parent_rate() 242 static unsigned long sun8i_i2s_get_bclk_parent_rate(const struct sun4i_i2s *i2s) in sun8i_i2s_get_bclk_parent_rate() argument 244 return clk_get_rate(i2s->mod_clk); in sun8i_i2s_get_bclk_parent_rate() 247 static int sun4i_i2s_get_bclk_div(struct sun4i_i2s *i2s, in sun4i_i2s_get_bclk_div() argument 253 const struct sun4i_i2s_clk_div *dividers = i2s->variant->bclk_dividers; in sun4i_i2s_get_bclk_div() 257 for (i = 0; i < i2s->variant->num_bclk_dividers; i++) { in sun4i_i2s_get_bclk_div() 267 static int sun4i_i2s_get_mclk_div(struct sun4i_i2s *i2s, in sun4i_i2s_get_mclk_div() argument 302 struct sun4i_i2s *i2s = snd_soc_dai_get_drvdata(dai); sun4i_i2s_set_clk_rate() local 368 sun4i_i2s_get_sr(const struct sun4i_i2s *i2s, int width) sun4i_i2s_get_sr() argument 379 sun4i_i2s_get_wss(const struct sun4i_i2s *i2s, int width) sun4i_i2s_get_wss() argument 390 sun8i_i2s_get_sr_wss(const struct sun4i_i2s *i2s, int width) sun8i_i2s_get_sr_wss() argument 401 sun4i_i2s_set_chan_cfg(const struct sun4i_i2s *i2s, const struct snd_pcm_hw_params *params) sun4i_i2s_set_chan_cfg() argument 421 sun8i_i2s_set_chan_cfg(const struct sun4i_i2s *i2s, const struct snd_pcm_hw_params *params) sun8i_i2s_set_chan_cfg() argument 481 struct sun4i_i2s *i2s = snd_soc_dai_get_drvdata(dai); sun4i_i2s_hw_params() local 527 sun4i_i2s_set_soc_fmt(const struct sun4i_i2s *i2s, unsigned int fmt) sun4i_i2s_set_soc_fmt() argument 600 sun8i_i2s_set_soc_fmt(const struct sun4i_i2s *i2s, unsigned int fmt) sun8i_i2s_set_soc_fmt() argument 704 struct sun4i_i2s *i2s = snd_soc_dai_get_drvdata(dai); sun4i_i2s_set_fmt() local 725 sun4i_i2s_start_capture(struct sun4i_i2s *i2s) sun4i_i2s_start_capture() argument 746 sun4i_i2s_start_playback(struct sun4i_i2s *i2s) sun4i_i2s_start_playback() argument 767 sun4i_i2s_stop_capture(struct sun4i_i2s *i2s) sun4i_i2s_stop_capture() argument 780 sun4i_i2s_stop_playback(struct sun4i_i2s *i2s) sun4i_i2s_stop_playback() argument 796 struct sun4i_i2s *i2s = snd_soc_dai_get_drvdata(dai); sun4i_i2s_trigger() local 827 struct sun4i_i2s *i2s = snd_soc_dai_get_drvdata(dai); sun4i_i2s_set_sysclk() local 841 struct sun4i_i2s *i2s = snd_soc_dai_get_drvdata(dai); sun4i_i2s_set_tdm_slot() local 862 struct sun4i_i2s *i2s = snd_soc_dai_get_drvdata(dai); sun4i_i2s_dai_probe() local 1011 struct sun4i_i2s *i2s = dev_get_drvdata(dev); sun4i_i2s_runtime_resume() local 1053 struct sun4i_i2s *i2s = dev_get_drvdata(dev); sun4i_i2s_runtime_suspend() local 1167 sun4i_i2s_init_regmap_fields(struct device *dev, struct sun4i_i2s *i2s) sun4i_i2s_init_regmap_fields() argument 1193 struct sun4i_i2s *i2s; sun4i_i2s_probe() local 1303 struct sun4i_i2s *i2s = dev_get_drvdata(&pdev->dev); sun4i_i2s_remove() local [all...] |
/kernel/linux/linux-6.6/sound/soc/loongson/ |
H A D | loongson_i2s.c | 27 struct loongson_i2s *i2s = snd_soc_dai_get_drvdata(dai); in loongson_i2s_trigger() local 35 regmap_update_bits(i2s->regmap, LS_I2S_CTRL, in loongson_i2s_trigger() 39 regmap_update_bits(i2s->regmap, LS_I2S_CTRL, in loongson_i2s_trigger() 47 regmap_update_bits(i2s->regmap, LS_I2S_CTRL, in loongson_i2s_trigger() 50 regmap_update_bits(i2s->regmap, LS_I2S_CTRL, in loongson_i2s_trigger() 64 struct loongson_i2s *i2s = snd_soc_dai_get_drvdata(dai); in loongson_i2s_hw_params() local 65 u32 clk_rate = i2s->clk_rate; in loongson_i2s_hw_params() 66 u32 sysclk = i2s->sysclk; in loongson_i2s_hw_params() 74 switch (i2s->rev_id) { in loongson_i2s_hw_params() 85 regmap_write(i2s in loongson_i2s_hw_params() 119 struct loongson_i2s *i2s = snd_soc_dai_get_drvdata(dai); loongson_i2s_set_dai_sysclk() local 128 struct loongson_i2s *i2s = snd_soc_dai_get_drvdata(dai); loongson_i2s_set_fmt() local 209 struct loongson_i2s *i2s = dev_get_drvdata(cpu_dai->dev); loongson_i2s_dai_probe() local 248 struct loongson_i2s *i2s = dev_get_drvdata(dev); i2s_suspend() local 257 struct loongson_i2s *i2s = dev_get_drvdata(dev); i2s_resume() local [all...] |