ATA_OUTL
ATA_OUTL(m, off, val);
ATA_OUTL(m, off, val);
ATA_OUTL(m, off, val);
ATA_OUTL(ctlr->r_mem, AHCI_RWCR, 0);
ATA_OUTL(ctlr->r_mem, AHCI_RWCR, 7);
ATA_OUTL(ch->r_mem, AHCI_P0DMACR, reg);
ATA_OUTL(sc->r_mem, SATA_P0PHYCR, addr);
ATA_OUTL(sc->r_mem, SATA_P0PHYCR, data);
ATA_OUTL(sc->r_mem, SATA_P0PHYCR,
ATA_OUTL(ctlr->r_mem, AHCI_CAP, v | AHCI_CAP_SSS);
ATA_OUTL(ctlr->r_mem, AHCI_PI, v | (1 << 0));
ATA_OUTL(ctlr->r_mem, SATA_TIMER1MS,
ATA_OUTL(sc->r_mem, SATA_P0PHYCR, v);
ATA_OUTL(sc->ctlr.r_mem, AHCI_GHC,
ATA_OUTL(ch->r_mem, AHCI_P_IE, 0);
ATA_OUTL(ch->r_mem, AHCI_P_CMD, 0);
ATA_OUTL(ch->r_mem, AHCI_P_SCTL, 0);
ATA_OUTL(ch->r_mem, AHCI_P_CMD, AHCI_P_CMD_SLUMBER);
ATA_OUTL(ch->r_mem, AHCI_P_SCTL, ATA_SC_DET_DISABLE);
ATA_OUTL(ctlr->r_mem, AHCI_IS, ATA_INL(ctlr->r_mem, AHCI_IS));
ATA_OUTL(ctlr->r_mem, AHCI_CCCP, ATA_INL(ctlr->r_mem, AHCI_PI));
ATA_OUTL(ctlr->r_mem, AHCI_CCCC,
ATA_OUTL(ch->r_mem, AHCI_P_SNTF, status);
ATA_OUTL(ctlr->r_mem, AHCI_GHC,
ATA_OUTL(ch->r_mem, AHCI_P_CMD, work);
ATA_OUTL(ch->r_mem, AHCI_P_IS, istatus);
ATA_OUTL(ch->r_mem, AHCI_P_SERR, serr);
ATA_OUTL(ctlr->r_mem, AHCI_BOHC, v | AHCI_BOHC_OOS);
ATA_OUTL(ch->r_mem, AHCI_P_FBS, AHCI_P_FBS_EN | AHCI_P_FBS_DEC);
ATA_OUTL(ctlr->r_mem, AHCI_GHC, AHCI_GHC_AE);
ATA_OUTL(ctlr->r_mem, AHCI_GHC, AHCI_GHC_AE|AHCI_GHC_HR);
ATA_OUTL(ch->r_mem, AHCI_P_SACT, 1 << slot->slot);
ATA_OUTL(ch->r_mem, AHCI_P_FBS, AHCI_P_FBS_EN |
ATA_OUTL(ch->r_mem, AHCI_P_CI, (1 << slot->slot));
ATA_OUTL(ctlr->r_mem, AHCI_GHC, AHCI_GHC_AE);
ATA_OUTL(ctlr->r_mem, AHCI_CAP, ctlr->caps);
ATA_OUTL(ch->r_mem, AHCI_P_SERR, 0xFFFFFFFF);
ATA_OUTL(ch->r_mem, AHCI_P_IS, 0xFFFFFFFF);
ATA_OUTL(ch->r_mem, AHCI_P_FBS,
ATA_OUTL(ch->r_mem, AHCI_P_CMD, cmd | AHCI_P_CMD_ST |
ATA_OUTL(ch->r_mem, AHCI_P_CMD, cmd & ~AHCI_P_CMD_ST);
ATA_OUTL(ch->r_mem, AHCI_P_CMD, cmd);
ATA_OUTL(ch->r_mem, AHCI_P_CMD, cmd & ~AHCI_P_CMD_FRE);
ATA_OUTL(ctlr->r_mem, AHCI_PI, nmask);
ATA_OUTL(ch->r_mem, AHCI_P_CMD, cmd | AHCI_P_CMD_FRE);
ATA_OUTL(ch->r_mem, AHCI_P_IE, 0);
ATA_OUTL(ch->r_mem, AHCI_P_IE,
ATA_OUTL(ch->r_mem, AHCI_P_IE,
ATA_OUTL(ch->r_mem, AHCI_P_SERR, 0xffffffff);
ATA_OUTL(ch->r_mem, AHCI_P_CMD, val);
ATA_OUTL(ch->r_mem, AHCI_P_SCTL,
ATA_OUTL(ch->r_mem, AHCI_P_SCTL,
ATA_OUTL(ch->r_mem, AHCI_P_CMD, val);
ATA_OUTL(ch->r_mem, AHCI_P_SCTL, ATA_SC_DET_DISABLE);
ATA_OUTL(ctlr->r_mem, AHCI_IS, ise);
ATA_OUTL(ctlr->r_mem, AHCI_IS, is);
ATA_OUTL(ctlr->r_mem, AHCI_IS, 1 << unit);
ATA_OUTL(ctlr->r_mem, AHCI_IS, 1 << unit);
ATA_OUTL(ch->r_mem, AHCI_P_IE, 0);
ATA_OUTL(ch->r_mem, AHCI_P_CLB, work & 0xffffffff);
ATA_OUTL(ch->r_mem, AHCI_P_CLBU, work >> 32);
ATA_OUTL(ch->r_mem, AHCI_P_FB, work & 0xffffffff);
ATA_OUTL(ch->r_mem, AHCI_P_FBU, work >> 32);
ATA_OUTL(ch->r_mem, AHCI_P_CMD,
ATA_OUTL(ctrl->r_ecc, AHCI_FSL_REG_ECC,
ATA_OUTL(ctrl->r_ecc, AHCI_FSL_REG_ECC, val);
ATA_OUTL(ctrl->r_ecc, AHCI_FSL_REG_ECC, val);
ATA_OUTL(ahci->r_mem, AHCI_FSL_REG_PHY1,
ATA_OUTL(ahci->r_mem, AHCI_FSL_REG_PHY2,
ATA_OUTL(ahci->r_mem, AHCI_FSL_REG_PHY3,
ATA_OUTL(ahci->r_mem, AHCI_FSL_REG_PHY4,
ATA_OUTL(ahci->r_mem, AHCI_FSL_REG_PHY5,
ATA_OUTL(ahci->r_mem, AHCI_FSL_REG_PTC,
ATA_OUTL(ahci->r_mem, AHCI_FSL_LS1021A_AXICC,
ATA_OUTL(ahci->r_mem, AHCI_FSL_REG_PHY1,
ATA_OUTL(ahci->r_mem, AHCI_FSL_REG_PHY2,
ATA_OUTL(ahci->r_mem, AHCI_FSL_REG_PHY3,
ATA_OUTL(ahci->r_mem, AHCI_FSL_REG_PTC,
ATA_OUTL(ahci->r_mem, AHCI_FSL_REG_AXICC,
ATA_OUTL(ctlr->r_mem, AHCI_VENDOR_SPECIFIC_0_ADDR, 0x4);
ATA_OUTL(ctlr->r_mem, AHCI_VENDOR_SPECIFIC_0_DATA, 0x80);
ATA_OUTL(ctlr->r_mem, AHCI_GHC,
ATA_OUTL(enc->r_memc, 0, AHCI_EM_RST);
ATA_OUTL(enc->r_memt, 0, (1 << 8) | (0 << 16) | (0 << 24));
ATA_OUTL(enc->r_memt, 4, c | (0 << 8) | (val << 16));
ATA_OUTL(enc->r_memc, 0, AHCI_EM_TM);
ATA_OUTL(ch->r_io[idx].res, ch->r_io[idx].offset, value)
ATA_OUTL(ch->r_io[ATA_BMCMD_PORT].res,
ATA_OUTL(ch->r_io[ATA_BMCMD_PORT].res,
ATA_OUTL(ch->r_io[ATA_BMCMD_PORT].res,
ATA_OUTL(ctlr->r_res2, 0x0C,
ATA_OUTL(ctlr->r_res2, offset + reg, value);
ATA_OUTL(ctlr->r_res2, 0x4,
ATA_OUTL(ctlr->r_res2, offset, 0x00ff00ff);
ATA_OUTL(ctlr->r_res2, offset + 4, 0x000d000d);
ATA_OUTL(ctlr->r_res2, 0x0400,
ATA_OUTL(ctlr->r_res2, offset, (0x0f << shift) | 0x00f000f0);
ATA_OUTL(ctlr->r_res2, 0x000c0240 + (ch->unit << 7),
ATA_OUTL(ctlr->r_res2, 0x000c0400 + ((ch->unit + 1) << 2), 0x00000001);
ATA_OUTL(ctlr->r_res2, 0x000c0484, 0x00000001);
ATA_OUTL(ctlr->r_res2, 0x000c0400 + ((ch->unit + 1) << 2), 0x00000001);
ATA_OUTL(ctlr->r_res2, 0x000c0240 + (ch->unit << 7),
ATA_OUTL(ctlr->r_res2, 0x000c0484, 0x00000001);
ATA_OUTL(ctlr->r_res2, 0x000c0400 + ((ch->unit+5)<<2), 0x00000001);
ATA_OUTL(ctlr->r_res2, 0x000c0400 + ((ch->unit+9)<<2), 0x00000001);
ATA_OUTL(ctlr->r_res2, 0x000c0240 + (ch->unit << 7),
ATA_OUTL(ctlr->r_res2, 0x000c0400 + ((ch->unit+1)<<2), 0x00000001);
ATA_OUTL(ctlr->r_res2, 0x000c0400 + ((ch->unit+13)<<2), 0x00000001);
ATA_OUTL(ctlr->r_res2, 0x000c0100, hpkt);
ATA_OUTL(ctlr->r_res2, 0x000c0100, hp->addr);
ATA_OUTL(ctlr->r_res2, 0x000c000c,
ATA_OUTL(ctlr->r_res2, stat_reg, 0x000000ff);
ATA_OUTL(ctlr->r_res2, 0x44, ATA_INL(ctlr->r_res2, 0x44) | 0x2000);
ATA_OUTL(ctlr->r_res1, ch->unit ? 0x24 : 0x20,
ATA_OUTL(ctlr->r_res1, ch->unit ? 0x24 : 0x20, 0);
ATA_OUTL(ctlr->r_res2, 0x040, vector);
ATA_OUTL(ctlr->r_res2, stat_reg, status & (0x00000011 << ch->unit));
ATA_OUTL(ctlr->r_res2, (ch->unit + 1) << 2, 0x00000001);
ATA_OUTL(ctlr->r_res2, 0x0240 + (ch->unit << 7), ch->dma.work_bus);
ATA_OUTL(ctlr->r_res2, 0xc0260 + (ch->unit << 7), ch->unit + 1);
ATA_OUTL(ctlr->r_res2, 0xc0260 + (ch->unit << 7),
ATA_OUTL(ctlr->r_res2, 0xc012c,
ATA_OUTL(ctlr->r_res2, 0xc012c,
ATA_OUTL(ctlr->r_res2, 0x06c, (0x00110000 << ch->unit));
ATA_OUTL(ctlr->r_res2, 0x0260 + (ch->unit << 7), (1 << 11));
ATA_OUTL(ctlr->r_res2, 0x0260 + (ch->unit << 7),
ATA_OUTL(ctlr->r_res2, 0x06c, (0x00000011 << ch->unit));
ATA_OUTL(ctlr->r_res2, 0x060, (0x00110000 << ch->unit));
ATA_OUTL(ctlr->r_res2, 0x0260 + (ch->unit << 7), (1 << 11));
ATA_OUTL(ctlr->r_res2, 0x0260 + (ch->unit << 7),
ATA_OUTL(ctlr->r_res2, 0x414 + (ch->unit << 8),
ATA_OUTL(ctlr->r_res2, 0x060, (0x00000011 << ch->unit));
ATA_OUTL(ctlr->r_res2, 0x4e8 + (ch->unit << 8), 0x00);
ATA_OUTL(ctlr->r_res2, ch_offset + 0x80,
ATA_OUTL(ctlr->r_res2, ch_offset + 0x88, 0);
ATA_OUTL(ctlr->r_res2, 0x0200, 0x00000002);
ATA_OUTL(ctlr->r_res2, 0x148 + (unit01 << 7) + (unit10 << 8),(1 << 16));
ATA_OUTL(ctlr->r_res2, 0x14c + offset, val & ~0x3);
ATA_OUTL(ch->r_mem, EDMA_RESQOP,
ATA_OUTL(ch->r_mem, DMA_DTLBA, eprd);
ATA_OUTL(ch->r_mem, DMA_DTHBA, (eprd >> 16) >> 16);
ATA_OUTL(ch->r_mem, DMA_C, DMA_C_START |
ATA_OUTL(ch->r_mem, EDMA_REQQIP,
ATA_OUTL(ch->r_mem, SATA_PHYM3, val);
ATA_OUTL(ch->r_mem, SATA_PHYM4, val);
ATA_OUTL(ch->r_mem, SATA_PHYM9_GEN2, val);
ATA_OUTL(ch->r_mem, SATA_PHYM9_GEN1, val);
ATA_OUTL(ch->r_mem, DMA_C, 0);
ATA_OUTL(ch->r_mem, EDMA_IEM, 0);
ATA_OUTL(ch->r_mem, EDMA_CMD, EDMA_CMD_EATARST);
ATA_OUTL(ch->r_mem, EDMA_CMD, 0);
ATA_OUTL(ch->r_mem, SATA_SE, 0xffffffff);
ATA_OUTL(ch->r_mem, EDMA_IEC, 0);
ATA_OUTL(ch->r_mem, EDMA_IEM, ~EDMA_IE_TRANSIENT);
ATA_OUTL(ch->r_mem, SATA_SE, 0xffffffff);
ATA_OUTL(ch->r_mem, EDMA_IEC, 0);
ATA_OUTL(ch->r_mem, EDMA_IEM, ~EDMA_IE_TRANSIENT);
ATA_OUTL(ch->r_mem, SATA_SE, 0xffffffff);
ATA_OUTL(ch->r_mem, SATA_SC,
ATA_OUTL(ch->r_mem, SATA_SC,
ATA_OUTL(ch->r_mem, SATA_SC, SATA_SC_DET_DISABLE);
ATA_OUTL(ch->r_mem, EDMA_IEM, 0);
ATA_OUTL(ch->r_mem, SATA_FISIC, 0);
ATA_OUTL(ch->r_mem, SATA_FISC, reg);
ATA_OUTL(ch->r_mem, SATA_FISC, reg);
ATA_OUTL(ch->r_mem, SATA_SE, 0xffffffff);
ATA_OUTL(ch->r_mem, EDMA_IEC, 0);
ATA_OUTL(ch->r_mem, EDMA_IEM, ~EDMA_IE_TRANSIENT);
ATA_OUTL(ch->r_mem, EDMA_IEM, 0);
ATA_OUTL(ch->r_mem, EDMA_REQQBAH, work >> 32);
ATA_OUTL(ch->r_mem, EDMA_REQQIP, work & 0xffffffff);
ATA_OUTL(ch->r_mem, EDMA_REQQOP, work & 0xffffffff);
ATA_OUTL(ch->r_mem, EDMA_RESQBAH, work >> 32);
ATA_OUTL(ch->r_mem, EDMA_RESQIP, work & 0xffffffff);
ATA_OUTL(ch->r_mem, EDMA_RESQOP, work & 0xffffffff);
ATA_OUTL(ch->r_mem, EDMA_CMD, EDMA_CMD_EDSEDMA);
ATA_OUTL(ch->r_mem, EDMA_CFG, ecfg);
ATA_OUTL(ch->r_mem, SATA_FISC, fcfg);
ATA_OUTL(ch->r_mem, SATA_LTM, ltm);
ATA_OUTL(ch->r_mem, EDMA_HC, hc);
ATA_OUTL(ch->r_mem, EDMA_UNKN_RESD, unkn);
ATA_OUTL(ch->r_mem, EDMA_CMD, EDMA_CMD_EENEDMA);
ATA_OUTL(ch->r_mem, SATA_SC, work);
ATA_OUTL(ch->r_mem, SATA_SC, work);
ATA_OUTL(ch->r_mem, SATA_SE, serr);
ATA_OUTL(ch->r_mem, EDMA_IEC, ~iec);
ATA_OUTL(ch->r_mem, SATA_FISIC, ~fisic);
ATA_OUTL(ch->r_mem, DMA_C, 0);
ATA_OUTL(ctlr->r_mem, CHIP_MIM, 0x00000000);
ATA_OUTL(ctlr->r_mem, CHIP_PCIIM, 0x00000000);
ATA_OUTL(ctlr->r_mem, CHIP_PCIIC, 0x00000000);
ATA_OUTL(ctlr->r_mem, CHIP_ICT, cccc);
ATA_OUTL(ctlr->r_mem, CHIP_ITT, ccc);
ATA_OUTL(ctlr->r_mem, CHIP_ICC, ~CHIP_ICC_ALL_PORTS);
ATA_OUTL(ctlr->r_mem, HC_BASE(i) + HC_ICT, cccc);
ATA_OUTL(ctlr->r_mem, HC_BASE(i) + HC_ITT, ccc);
ATA_OUTL(ctlr->r_mem, HC_BASE(i) + HC_IC, 0x00000000);
ATA_OUTL(ctlr->r_mem, CHIP_MIM, ctlr->mim);
ATA_OUTL(ctlr->r_mem, CHIP_PCIIM, 0x007fffff);
ATA_OUTL(ctlr->r_mem, CHIP_MIM, ctlr->mim);
ATA_OUTL(ctlr->r_mem, CHIP_MIM, 0x00000000);
ATA_OUTL(ctlr->r_mem, CHIP_PCIIM, 0x00000000);
ATA_OUTL(ctlr->r_mem, CHIP_MIM, 0);
ATA_OUTL(ctlr->r_mem, CHIP_ICC, ~CHIP_ICC_ALL_PORTS);
ATA_OUTL(ctlr->r_mem, HC_BASE(p == 4) + HC_IC, ~aic);
ATA_OUTL(ctlr->r_mem, CHIP_MIM, ctlr->mim);
ATA_OUTL(ctlr->r_mem, CHIP_SOC_MIM, 0x00000000);
ATA_OUTL(ctlr->r_mem, HC_IC, 0x00000000);
ATA_OUTL(ctlr->r_mem, CHIP_SOC_MIC, 0);
ATA_OUTL(ctlr->r_mem, HC_ICT, cccc);
ATA_OUTL(ctlr->r_mem, HC_ITT, ccc);
ATA_OUTL(ctlr->r_mem, CHIP_SOC_MIM, ctlr->gmim | ctlr->pmim);
ATA_OUTL(ctlr->r_mem, CHIP_SOC_MIM, ctlr->gmim | ctlr->pmim);
ATA_OUTL(ctlr->r_mem, CHIP_SOC_MIM, 0x00000000);
ATA_OUTL(ctlr->r_mem, HC_IC, ~aic);
ATA_OUTL(ch->r_mem, SIIS_P_CACTL(slot->slot), prb_bus);
ATA_OUTL(ch->r_mem, SIIS_P_CACTH(slot->slot), prb_bus >> 32);
ATA_OUTL(ch->r_mem, SIIS_P_CTLCLR, SIIS_P_CTL_RESUME);
ATA_OUTL(ch->r_mem, SIIS_P_PMPSTS(i), 0),
ATA_OUTL(ch->r_mem, SIIS_P_PMPQACT(i), 0);
ATA_OUTL(ch->r_mem, SIIS_P_CTLSET, SIIS_P_CTL_PORT_INIT);
ATA_OUTL(ch->r_mem, SIIS_P_CTLSET, SIIS_P_CTL_DEV_RESET);
ATA_OUTL(ch->r_mem, SIIS_P_IECLR, 0x0000FFFF);
ATA_OUTL(ch->r_mem, SIIS_P_SCTL,
ATA_OUTL(ch->r_mem, SIIS_P_IESET, SIIS_P_IX_ENABLED);
ATA_OUTL(ch->r_mem, SIIS_P_CTLSET, SIIS_P_CTL_PORT_RESET);
ATA_OUTL(ch->r_mem, SIIS_P_CTLCLR, SIIS_P_CTL_PORT_RESET);
ATA_OUTL(ch->r_mem, SIIS_P_CTLCLR, SIIS_P_CTL_32BIT);
ATA_OUTL(ch->r_mem, SIIS_P_CTLSET, SIIS_P_CTL_PME);
ATA_OUTL(ch->r_mem, SIIS_P_CTLCLR, SIIS_P_CTL_PME);
ATA_OUTL(ch->r_mem, SIIS_P_IS, 0xFFFFFFFF);
ATA_OUTL(ch->r_mem, SIIS_P_IESET, SIIS_P_IX_ENABLED);
ATA_OUTL(ch->r_mem, SIIS_P_SERR, 0xffffffff);
ATA_OUTL(ch->r_mem, SIIS_P_CTLSET, SIIS_P_CTL_PME);
ATA_OUTL(ch->r_mem, SIIS_P_CTLCLR, SIIS_P_CTL_PME);
ATA_OUTL(ctlr->r_gmem, SIIS_GCTL, ctlr->gctl);
ATA_OUTL(ctlr->r_gmem, SIIS_GCTL, ctlr->gctl);
ATA_OUTL(ctlr->r_gmem, SIIS_GCTL, ctlr->gctl);
ATA_OUTL(ctlr->r_gmem, SIIS_GCTL,
ATA_OUTL(ch->r_mem, SIIS_P_CTLCLR, SIIS_P_CTL_PORT_RESET);
ATA_OUTL(ch->r_mem, SIIS_P_CTLCLR, SIIS_P_CTL_32BIT);
ATA_OUTL(ch->r_mem, SIIS_P_CTLSET, SIIS_P_CTL_PME);
ATA_OUTL(ch->r_mem, SIIS_P_CTLCLR, SIIS_P_CTL_PME);
ATA_OUTL(ch->r_mem, SIIS_P_IESET, SIIS_P_IX_ENABLED);
ATA_OUTL(ch->r_mem, SIIS_P_CTLSET, SIIS_P_CTL_PORT_RESET);
ATA_OUTL(ch->r_mem, SIIS_P_CTLCLR, SIIS_P_CTL_LED_ON);
ATA_OUTL(ch->r_mem, SIIS_P_CTLSET, SIIS_P_CTL_LED_ON);
ATA_OUTL(ch->r_mem, SIIS_P_SNTF, status);
ATA_OUTL(ch->r_mem, SIIS_P_IS, istatus);
ATA_OUTL(ch->r_mem, SIIS_P_CTLSET, SIIS_P_CTL_RESUME);
ATA_OUTL(ch->r_mem, FSL_SATA_P_CQPMP, port);
ATA_OUTL(ch->r_mem, FSL_SATA_P_CQR, (1 << slot->slot));
ATA_OUTL(ch->r_mem, FSL_SATA_P_CCR, 1 << slot->slot);
ATA_OUTL(ch->r_mem, FSL_SATA_P_SERR, 0xFFFFFFFF);
ATA_OUTL(ch->r_mem, FSL_SATA_P_HSTS, 0x3F);
ATA_OUTL(ch->r_mem, FSL_SATA_P_CER, 0xFFFF);
ATA_OUTL(ch->r_mem, FSL_SATA_P_DER, 0xFFFF);
ATA_OUTL(ch->r_mem, FSL_SATA_P_HCTRL, cmd |
ATA_OUTL(ch->r_mem, FSL_SATA_P_HSTS,
ATA_OUTL(ch->r_mem, FSL_SATA_P_HCTRL, cmd);
ATA_OUTL(ch->r_mem, FSL_SATA_P_HCTRL,
ATA_OUTL(ch->r_mem, FSL_SATA_P_HCTRL,
ATA_OUTL(ch->r_mem, FSL_SATA_P_HCTRL,
ATA_OUTL(ch->r_mem, FSL_SATA_P_HCTRL, r & ~FSL_SATA_P_HCTRL_INT_MASK);
ATA_OUTL(ch->r_mem, FSL_SATA_P_CHBA, work);
ATA_OUTL(ch->r_mem, FSL_SATA_P_HCTRL, r);
ATA_OUTL(ch->r_mem, FSL_SATA_P_PCC, r & ~FSL_SATA_PCC_LPB_EN);
ATA_OUTL(ch->r_mem, FSL_SATA_P_ICC, (1 << FSL_SATA_P_ICC_ITC_S));
ATA_OUTL(ch->r_mem, FSL_SATA_P_HCTRL, r & ~FSL_SATA_P_HCTRL_INT_MASK);
ATA_OUTL(ch->r_mem, FSL_SATA_P_SCTL, 0);
ATA_OUTL(ch->r_mem, FSL_SATA_P_SCTL, ATA_SC_DET_DISABLE);
ATA_OUTL(ch->r_mem, FSL_SATA_P_HCTRL, r & ~FSL_SATA_P_HCTRL_HC_ON);
ATA_OUTL(ch->r_mem, FSL_SATA_P_SNTF, status);
ATA_OUTL(ch->r_mem, FSL_SATA_P_HSTS, istatus & 0x3f);
ATA_OUTL(ch->r_mem, FSL_SATA_P_PCC, work);
ATA_OUTL(ch->r_mem, FSL_SATA_P_CCR, ok);
ATA_OUTL(ch->r_mem, FSL_SATA_P_SERR, serr);
ATA_OUTL(ch->r_mem, FSL_SATA_P_CER, cer);
ATA_OUTL(ch->r_mem, FSL_SATA_P_DER, der);