snd_es1688_write
snd_es1688_write(chip, 0xb1, 0x10); /* disable IRQ */
snd_es1688_write(chip, 0xb2, 0x00); /* disable DMA */
snd_es1688_write(chip, 0xb1, cfg | (irq_bits << 2));
snd_es1688_write(chip, 0xb2, cfg | (dma_bits << 2));
snd_es1688_write(chip, 0xb1, 0x10); /* disable IRQ */
snd_es1688_write(chip, 0xb2, 0x00); /* disable DMA */
snd_es1688_write(chip, 0xa1, bits);
snd_es1688_write(chip, 0xa2, divider);
snd_es1688_write(chip, 0xb8, (val & 0xf0) | value);
snd_es1688_write(chip, 0xb8, 4); /* auto init DMA mode */
snd_es1688_write(chip, 0xa8, (snd_es1688_read(chip, 0xa8) & ~0x03) | (3 - runtime->channels));
snd_es1688_write(chip, 0xb9, 2); /* demand mode (4 bytes/request) */
snd_es1688_write(chip, 0xb6, 0x80);
snd_es1688_write(chip, 0xb7, 0x51);
snd_es1688_write(chip, 0xb7, 0xd0);
snd_es1688_write(chip, 0xb6, 0x00);
snd_es1688_write(chip, 0xb7, 0x71);
snd_es1688_write(chip, 0xb7, 0xf4);
snd_es1688_write(chip, 0xb6, 0x80);
snd_es1688_write(chip, 0xb7, 0x51);
snd_es1688_write(chip, 0xb7, 0x98);
snd_es1688_write(chip, 0xb6, 0x00);
snd_es1688_write(chip, 0xb7, 0x71);
snd_es1688_write(chip, 0xb7, 0xbc);
snd_es1688_write(chip, 0xb1, (snd_es1688_read(chip, 0xb1) & 0x0f) | 0x50);
snd_es1688_write(chip, 0xb2, (snd_es1688_read(chip, 0xb2) & 0x0f) | 0x50);
snd_es1688_write(chip, 0xa4, (unsigned char) count);
snd_es1688_write(chip, 0xa5, (unsigned char) (count >> 8));
snd_es1688_write(chip, 0xb8, 0x0e); /* auto init DMA mode */
snd_es1688_write(chip, 0xa8, (snd_es1688_read(chip, 0xa8) & ~0x03) | (3 - runtime->channels));
snd_es1688_write(chip, 0xb9, 2); /* demand mode (4 bytes/request) */
snd_es1688_write(chip, 0xb7, 0x51);
snd_es1688_write(chip, 0xb7, 0xd0);
snd_es1688_write(chip, 0xb7, 0x71);
snd_es1688_write(chip, 0xb7, 0xf4);
snd_es1688_write(chip, 0xb7, 0x51);
snd_es1688_write(chip, 0xb7, 0x98);
snd_es1688_write(chip, 0xb7, 0x71);
snd_es1688_write(chip, 0xb7, 0xbc);
snd_es1688_write(chip, 0xb1, (snd_es1688_read(chip, 0xb1) & 0x0f) | 0x50);
snd_es1688_write(chip, 0xb2, (snd_es1688_read(chip, 0xb2) & 0x0f) | 0x50);
snd_es1688_write(chip, 0xa4, (unsigned char) count);
snd_es1688_write(chip, 0xa5, (unsigned char) (count >> 8));
snd_es1688_write(chip, left_reg, val1);
snd_es1688_write(chip, right_reg, val1);
snd_es1688_write(chip, left_reg, val1);
snd_es1688_write(chip, reg, val);