ICHREG
val = igetdword(chip, ICHREG(ALI_INTERFACECR));
iputdword(chip, ICHREG(ALI_INTERFACECR), val);
val = igetdword(chip, ICHREG(ALI_INTERFACECR));
iputdword(chip, ICHREG(ALI_INTERFACECR), val);
glob_sta = igetdword(chip, ICHREG(GLOB_STA));
igetbyte(chip, ICHREG(SDM)) & ICH_LDI_MASK;
unsigned int reg = igetdword(chip, ICHREG(ALI_RTSR));
iputdword(chip, ICHREG(ALI_RTSR), reg | 0x40);
u8 tmp = igetbyte(chip, ICHREG(SDM));
iputbyte(chip, ICHREG(SDM), tmp);
if ((igetdword(chip, ICHREG(GLOB_STA)) & ICH_SAMPLE_CAP) == ICH_SAMPLE_16_20)
val = igetdword(chip, ICHREG(GLOB_CNT)) & ~ICH_PCM_SPDIF_MASK;
iputdword(chip, ICHREG(GLOB_CNT), val);
iputdword(chip, ICHREG(GLOB_CNT),
igetdword(chip, ICHREG(GLOB_CNT)) & ~ICH_AC97COLD);
iputdword(chip, ICHREG(ALI_SCR), ICH_ALI_SC_RESET);
iputdword(chip, ICHREG(ALI_FIFOCR1), 0x83838383);
iputdword(chip, ICHREG(ALI_FIFOCR2), 0x83838383);
iputdword(chip, ICHREG(ALI_FIFOCR3), 0x83838383);
iputdword(chip, ICHREG(ALI_INTERFACECR),
iputdword(chip, ICHREG(ALI_INTERRUPTCR), 0x00000000);
iputdword(chip, ICHREG(ALI_INTERRUPTSR), 0x00000000);
cnt = igetdword(chip, ICHREG(GLOB_CNT));
iputdword(chip, ICHREG(GLOB_CNT), cnt & ~ICH_AC97COLD);
cnt = igetdword(chip, ICHREG(GLOB_CNT));
iputdword(chip, ICHREG(GLOB_CNT), cnt | ICH_AC97COLD);
cnt = igetdword(chip, ICHREG(GLOB_CNT));
iputdword(chip, ICHREG(GLOB_CNT), cnt);
if ((igetdword(chip, ICHREG(GLOB_CNT)) & ICH_AC97WARM) == 0)
igetdword(chip, ICHREG(GLOB_CNT)));
cnt = igetdword(chip, ICHREG(GLOB_STA));
iputdword(chip, ICHREG(GLOB_STA), cnt & status);
status = igetdword(chip, ICHREG(GLOB_STA)) &
igetdword(chip, ICHREG(GLOB_STA)));
status |= igetdword(chip, ICHREG(GLOB_STA)) &
nstatus = igetdword(chip, ICHREG(GLOB_STA)) &
reg = igetdword(chip, ICHREG(ALI_SCR));
iputdword(chip, ICHREG(ALI_SCR), reg);
if (! (igetdword(chip, ICHREG(ALI_INTERRUPTSR)) & ALI_INT_GPIO))
reg = igetdword(chip, ICHREG(ALI_RTSR));
iputdword(chip, ICHREG(ALI_RTSR), reg | 0x80);
chip->sdm_saved = igetbyte(chip, ICHREG(SDM));
iputbyte(chip, ICHREG(SDM), chip->sdm_saved);
iputdword(chip, ICHREG(GLOB_CNT),
(igetdword(chip, ICHREG(GLOB_CNT)) & ~ICH_PCM_SPDIF_MASK) |
iputdword(chip, ICHREG(ALI_DMACR), 1 << ichdev->ali_slot);
iputdword(chip, ICHREG(ALI_DMACR), 1 << (ichdev->ali_slot + 16));
tmp = igetdword(chip, ICHREG(GLOB_STA));
snd_iprintf(buffer, "Global control : 0x%08x\n", igetdword(chip, ICHREG(GLOB_CNT)));
snd_iprintf(buffer, "SDM : 0x%08x\n", igetdword(chip, ICHREG(SDM)));
if ((igetdword(chip, ICHREG(GLOB_STA)) & codec) == 0)
if (!(igetbyte(chip, ICHREG(ACC_SEMA)) & ICH_CAS))
igetbyte(chip, ICHREG(ACC_SEMA)), igetdword(chip, ICHREG(GLOB_STA)));
tmp = igetdword(chip, ICHREG(GLOB_STA));
iputdword(chip, ICHREG(GLOB_STA), tmp &
tmp = igetdword(chip, ICHREG(GLOB_STA));
iputdword(chip, ICHREG(GLOB_STA), tmp &
int val = igetbyte(chip, ICHREG(ALI_CSPSR));
while (--time && (igetdword(chip, ICHREG(ALI_CAS)) & ALI_CAS_SEM_BUSY))
iputword(chip, ICHREG(ALI_CPR_ADDR), reg);
data = igetword(chip, ICHREG(ALI_SPR));
iputword(chip, ICHREG(ALI_CPR), val);
iputword(chip, ICHREG(ALI_CPR_ADDR), reg);
ICHREG(ALI_FIFOCR1), ICHREG(ALI_FIFOCR2), ICHREG(ALI_FIFOCR3)
val = igetdword(chip, ICHREG(ALI_DMACR));
iputdword(chip, ICHREG(ALI_DMACR), val | (1 << ichdev->ali_slot));
iputdword(chip, ICHREG(ALI_DMACR), val | (1 << (ichdev->ali_slot + 16)));
iputdword(chip, ICHREG(ALI_INTERRUPTSR),
igetdword(chip, ICHREG(ALI_INTERRUPTSR)) & ichdev->int_sta_mask);
cnt = igetdword(chip, ICHREG(ALI_SCR));
iputdword(chip, ICHREG(ALI_SCR), cnt);
cnt = igetdword(chip, ICHREG(GLOB_CNT));
iputdword(chip, ICHREG(GLOB_CNT), cnt);
cnt = igetdword(chip, ICHREG(GLOB_CNT));
iputdword(chip, ICHREG(GLOB_CNT), cnt & ~ICH_PCM_246_MASK);
iputdword(chip, ICHREG(GLOB_CNT), cnt);
tmp = igetdword(chip, ICHREG(GLOB_STA));
igetdword(chip, ICHREG(GLOB_CNT)));
if ((igetdword(chip, ICHREG(GLOB_STA)) & codec) == 0)
if (!(igetbyte(chip, ICHREG(ACC_SEMA)) & ICH_CAS))
igetbyte(chip, ICHREG(ACC_SEMA)), igetdword(chip, ICHREG(GLOB_STA)));
tmp = igetdword(chip, ICHREG(GLOB_STA));
iputdword(chip, ICHREG(GLOB_STA),
glob_sta = igetdword(chip, ICHREG(GLOB_STA));
iputdword(chip, ICHREG(GLOB_CNT),
igetdword(chip, ICHREG(GLOB_CNT)) & ~ICH_AC97COLD);
cnt = igetdword(chip, ICHREG(GLOB_STA));
iputdword(chip, ICHREG(GLOB_STA), cnt & status);
cnt = igetdword(chip, ICHREG(GLOB_CNT));
iputdword(chip, ICHREG(GLOB_CNT), cnt);
if ((igetdword(chip, ICHREG(GLOB_CNT)) & ICH_AC97WARM) == 0)
igetdword(chip, ICHREG(GLOB_CNT)));
status = igetdword(chip, ICHREG(GLOB_STA)) &
igetdword(chip, ICHREG(GLOB_STA)));
status |= igetdword(chip, ICHREG(GLOB_STA)) & nstatus;
nstatus = igetdword(chip, ICHREG(GLOB_STA)) &