GSR_CDONE
writel(GSR_CDONE | GSR_SDONE, ac97_reg_base + GSR);
if (wait_event_timeout(gsr_wq, (readl(ac97_reg_base + GSR) | gsr_bits) & GSR_CDONE, 1) <= 0 &&
!((readl(ac97_reg_base + GSR) | gsr_bits) & GSR_CDONE)) {
writel(GSR_CDONE | GSR_SDONE, ac97_reg_base + GSR);
writel(GSR_CDONE | GSR_SDONE, ac97_reg_base + GSR);