vIER
cuda_write_reg(sc, vIER, 0x84); /* make sure VIA interrupts are on */
cuda_write_reg(sc, vIER, 0x04); /* no interrupts while clearing */
cuda_write_reg(sc, vIER, 0x84); /* ints ok now */
pmu_write_reg(sc, vIER, 0x10);
pmu_write_reg(sc, vIER, 0x90);
pmu_write_reg(sc, vIER, 0x94); /* make sure VIA interrupts are on */
intreg = pmu_read_reg(sc, vIER);
pmu_write_reg(sc, vIER, intreg);
pmu_write_reg(sc, vIER, (intreg == 0) ? 0 : 0x90);