Lines Matching refs:wd
354 struct au1xpsc_audio_data *wd;
359 wd = kzalloc(sizeof(struct au1xpsc_audio_data), GFP_KERNEL);
360 if (!wd)
363 mutex_init(&wd->lock);
375 wd->mmio = ioremap(r->start, resource_size(r));
376 if (!wd->mmio)
380 wd->cfg = PSC_AC97CFG_RT_FIFO8 | PSC_AC97CFG_TT_FIFO8 |
384 sel = au_readl(PSC_SEL(wd)) & PSC_SEL_CLK_MASK;
385 au_writel(PSC_CTRL_DISABLE, PSC_CTRL(wd));
387 au_writel(0, PSC_SEL(wd));
389 au_writel(PSC_SEL_PS_AC97MODE | sel, PSC_SEL(wd));
396 wd->dmapd = au1xpsc_pcm_add(pdev);
397 if (wd->dmapd) {
398 platform_set_drvdata(pdev, wd);
399 au1xpsc_ac97_workdata = wd; /* MDEV */
407 kfree(wd);
413 struct au1xpsc_audio_data *wd = platform_get_drvdata(pdev);
416 if (wd->dmapd)
417 au1xpsc_pcm_destroy(wd->dmapd);
422 au_writel(0, AC97_CFG(wd));
424 au_writel(PSC_CTRL_DISABLE, PSC_CTRL(wd));
427 iounmap(wd->mmio);
429 kfree(wd);
439 struct au1xpsc_audio_data *wd = dev_get_drvdata(dev);
442 wd->pm[0] = au_readl(PSC_SEL(wd));
444 au_writel(0, AC97_CFG(wd));
446 au_writel(PSC_CTRL_DISABLE, PSC_CTRL(wd));
454 struct au1xpsc_audio_data *wd = dev_get_drvdata(dev);
457 au_writel(wd->pm[0] | PSC_SEL_PS_AC97MODE, PSC_SEL(wd));