Lines Matching defs:pscdata
54 struct au1xpsc_audio_data *pscdata = snd_soc_dai_get_drvdata(cpu_dai);
60 ct = pscdata->cfg;
104 pscdata->cfg = ct;
114 struct au1xpsc_audio_data *pscdata = snd_soc_dai_get_drvdata(dai);
120 stat = __raw_readl(I2S_STAT(pscdata));
123 cfgbits = __raw_readl(I2S_CFG(pscdata));
125 (params_rate(params) != pscdata->rate))
129 pscdata->cfg &= ~(0x1f << 4);
130 pscdata->cfg |= PSC_I2SCFG_SET_LEN(params->msbits);
132 pscdata->rate = params_rate(params);
144 static int au1xpsc_i2s_configure(struct au1xpsc_audio_data *pscdata)
149 __raw_writel(PSC_CTRL_ENABLE, PSC_CTRL(pscdata));
153 while (!(__raw_readl(I2S_STAT(pscdata)) & PSC_I2SSTAT_SR) && tmo)
159 __raw_writel(0, I2S_CFG(pscdata));
161 __raw_writel(pscdata->cfg | PSC_I2SCFG_DE_ENABLE, I2S_CFG(pscdata));
166 while (!(__raw_readl(I2S_STAT(pscdata)) & PSC_I2SSTAT_DR) && tmo)
173 __raw_writel(0, I2S_CFG(pscdata));
174 __raw_writel(PSC_CTRL_SUSPEND, PSC_CTRL(pscdata));
179 static int au1xpsc_i2s_start(struct au1xpsc_audio_data *pscdata, int stype)
187 stat = __raw_readl(I2S_STAT(pscdata));
189 ret = au1xpsc_i2s_configure(pscdata);
194 __raw_writel(I2SPCR_CLRFIFO(stype), I2S_PCR(pscdata));
196 __raw_writel(I2SPCR_START(stype), I2S_PCR(pscdata));
201 while (!(__raw_readl(I2S_STAT(pscdata)) & I2SSTAT_BUSY(stype)) && tmo)
205 __raw_writel(I2SPCR_STOP(stype), I2S_PCR(pscdata));
213 static int au1xpsc_i2s_stop(struct au1xpsc_audio_data *pscdata, int stype)
217 __raw_writel(I2SPCR_STOP(stype), I2S_PCR(pscdata));
222 while ((__raw_readl(I2S_STAT(pscdata)) & I2SSTAT_BUSY(stype)) && tmo)
226 stat = __raw_readl(I2S_STAT(pscdata));
228 __raw_writel(0, I2S_CFG(pscdata));
230 __raw_writel(PSC_CTRL_SUSPEND, PSC_CTRL(pscdata));
239 struct au1xpsc_audio_data *pscdata = snd_soc_dai_get_drvdata(dai);
245 ret = au1xpsc_i2s_start(pscdata, stype);
249 ret = au1xpsc_i2s_stop(pscdata, stype);
260 struct au1xpsc_audio_data *pscdata = snd_soc_dai_get_drvdata(dai);
261 snd_soc_dai_set_dma_data(dai, substream, &pscdata->dmaids[0]);