示例#1
0
文件: nand.c 项目: harmn1/iphonelinux
static int ecc_finish() {
	int ret;
	if((ret = wait_for_ecc_interrupt(500)) != 0)
		return ret;

	if((GET_REG(NANDECC + NANDECC_STATUS) & 0x1) != 0)
		return ERROR_ECC;

	return 0;
}
示例#2
0
static int ecc_finish(dma_addr_t sectorDMA, dma_addr_t eccDMA, int sectors) {
    int ret;
    if((ret = wait_for_ecc_interrupt(500)) != 0)
        return ret;

    dma_unmap_single(nand_dev, sectorDMA, sectors * SECTOR_SIZE, DMA_BIDIRECTIONAL);
    dma_unmap_single(nand_dev, eccDMA, sectors* 20, DMA_BIDIRECTIONAL);

    if((readl(NANDECC + NANDECC_STATUS) & 0x1) != 0)
        return ERROR_ECC;

    return 0;
}