GCTL
#define NV_ADMA_CHECK_INTR(GCTL, PORT) ((GCTL) & (1 << (19 + (12 * (PORT)))))
dump_register(GCTL),
unsigned char GCTL[9];
hw->GCTL[0] = 0x00;
hw->GCTL[1] = 0x00;
hw->GCTL[2] = 0x00;
hw->GCTL[3] = 0x00;
hw->GCTL[4] = 0x00;
hw->GCTL[5] = 0x40;
hw->GCTL[6] = 0x05;
hw->GCTL[7] = 0x0F;
hw->GCTL[8] = 0xFF;
dprintk("%02X:", hw->GCTL[i]);
mga_setr(M_GRAPHICS_INDEX, i, hw->GCTL[i]);
snd_hdac_chip_updatel(bus, GCTL, AZX_GCTL_UNSOL, 0);
snd_hdac_chip_updatel(bus, GCTL, AZX_GCTL_RESET, 0);
while ((snd_hdac_chip_readb(bus, GCTL) & AZX_GCTL_RESET) &&
snd_hdac_chip_updateb(bus, GCTL, AZX_GCTL_RESET, AZX_GCTL_RESET);
while (!snd_hdac_chip_readb(bus, GCTL) && time_before(jiffies, timeout))
if (snd_hdac_chip_readb(bus, GCTL) & AZX_GCTL_RESET)
if (!snd_hdac_chip_readb(bus, GCTL)) {
snd_hdac_chip_updatel(bus, GCTL, AZX_GCTL_UNSOL, AZX_GCTL_UNSOL);
gctl = hw_read_20kx(hw, GCTL);
hw_write_20kx(hw, GCTL, gctl);
hw_write_20kx(hw, GCTL, gctl);
gctl = hw_read_20kx(hw, GCTL);
gctl = hw_read_20kx(hw, GCTL);
hw_write_20kx(hw, GCTL, gctl);
unsigned int gctl = lola_readl(chip, BAR0, GCTL);
lola_writel(chip, BAR0, GCTL, LOLA_GCTL_RESET);
gctl = lola_readl(chip, BAR0, GCTL);
snd_hdac_chip_updatel(bus, GCTL, AZX_GCTL_UNSOL, AZX_GCTL_UNSOL);