mtd: atmel-nand: use pmecc_readl(b)/pmecc_writel to access the pmecc register
We defined the macro pmecc_readl(b)/pmecc_writel for pmecc register access. But in the driver we also use the readl(b)/writel. To keep consistent, this patch make all use pmecc_readl(b)/pmecc_writel. Signed-off-by: Josh Wu <josh.wu@atmel.com> Reviewed-by: Andreas Bießmann <andreas.devel@googlemail.com> Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
This commit is contained in:
		
							parent
							
								
									9170818a4e
								
							
						
					
					
						commit
						14b3b44eda
					
				|  | @ -164,7 +164,7 @@ static void pmecc_gen_syndrome(struct mtd_info *mtd, int sector) | ||||||
| 
 | 
 | ||||||
| 	/* Fill odd syndromes */ | 	/* Fill odd syndromes */ | ||||||
| 	for (i = 0; i < host->pmecc_corr_cap; i++) { | 	for (i = 0; i < host->pmecc_corr_cap; i++) { | ||||||
| 		value = readl(&host->pmecc->rem_port[sector].rem[i / 2]); | 		value = pmecc_readl(host->pmecc, rem_port[sector].rem[i / 2]); | ||||||
| 		if (i & 1) | 		if (i & 1) | ||||||
| 			value >>= 16; | 			value >>= 16; | ||||||
| 		value &= 0xffff; | 		value &= 0xffff; | ||||||
|  | @ -392,10 +392,11 @@ static int pmecc_err_location(struct mtd_info *mtd) | ||||||
| 	int16_t *smu = host->pmecc_smu; | 	int16_t *smu = host->pmecc_smu; | ||||||
| 	int timeout = PMECC_MAX_TIMEOUT_US; | 	int timeout = PMECC_MAX_TIMEOUT_US; | ||||||
| 
 | 
 | ||||||
| 	writel(PMERRLOC_DISABLE, &host->pmerrloc->eldis); | 	pmecc_writel(host->pmerrloc, eldis, PMERRLOC_DISABLE); | ||||||
| 
 | 
 | ||||||
| 	for (i = 0; i <= host->pmecc_lmu[cap + 1] >> 1; i++) { | 	for (i = 0; i <= host->pmecc_lmu[cap + 1] >> 1; i++) { | ||||||
| 		writel(smu[(cap + 1) * num + i], &host->pmerrloc->sigma[i]); | 		pmecc_writel(host->pmerrloc, sigma[i], | ||||||
|  | 			     smu[(cap + 1) * num + i]); | ||||||
| 		err_nbr++; | 		err_nbr++; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | @ -403,12 +404,12 @@ static int pmecc_err_location(struct mtd_info *mtd) | ||||||
| 	if (sector_size == 1024) | 	if (sector_size == 1024) | ||||||
| 		val |= PMERRLOC_ELCFG_SECTOR_1024; | 		val |= PMERRLOC_ELCFG_SECTOR_1024; | ||||||
| 
 | 
 | ||||||
| 	writel(val, &host->pmerrloc->elcfg); | 	pmecc_writel(host->pmerrloc, elcfg, val); | ||||||
| 	writel(sector_size * 8 + host->pmecc_degree * cap, | 	pmecc_writel(host->pmerrloc, elen, | ||||||
| 			&host->pmerrloc->elen); | 		     sector_size * 8 + host->pmecc_degree * cap); | ||||||
| 
 | 
 | ||||||
| 	while (--timeout) { | 	while (--timeout) { | ||||||
| 		if (readl(&host->pmerrloc->elisr) & PMERRLOC_CALC_DONE) | 		if (pmecc_readl(host->pmerrloc, elisr) & PMERRLOC_CALC_DONE) | ||||||
| 			break; | 			break; | ||||||
| 		WATCHDOG_RESET(); | 		WATCHDOG_RESET(); | ||||||
| 		udelay(1); | 		udelay(1); | ||||||
|  | @ -419,7 +420,7 @@ static int pmecc_err_location(struct mtd_info *mtd) | ||||||
| 		return -1; | 		return -1; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	roots_nbr = (readl(&host->pmerrloc->elisr) & PMERRLOC_ERR_NUM_MASK) | 	roots_nbr = (pmecc_readl(host->pmerrloc, elisr) & PMERRLOC_ERR_NUM_MASK) | ||||||
| 			>> 8; | 			>> 8; | ||||||
| 	/* Number of roots == degree of smu hence <= cap */ | 	/* Number of roots == degree of smu hence <= cap */ | ||||||
| 	if (roots_nbr == host->pmecc_lmu[cap + 1] >> 1) | 	if (roots_nbr == host->pmecc_lmu[cap + 1] >> 1) | ||||||
|  | @ -443,7 +444,7 @@ static void pmecc_correct_data(struct mtd_info *mtd, uint8_t *buf, uint8_t *ecc, | ||||||
| 	sector_size = host->pmecc_sector_size; | 	sector_size = host->pmecc_sector_size; | ||||||
| 
 | 
 | ||||||
| 	while (err_nbr) { | 	while (err_nbr) { | ||||||
| 		tmp = readl(&host->pmerrloc->el[i]) - 1; | 		tmp = pmecc_readl(host->pmerrloc, el[i]) - 1; | ||||||
| 		byte_pos = tmp / 8; | 		byte_pos = tmp / 8; | ||||||
| 		bit_pos  = tmp % 8; | 		bit_pos  = tmp % 8; | ||||||
| 
 | 
 | ||||||
|  | @ -597,7 +598,7 @@ static int atmel_nand_pmecc_write_page(struct mtd_info *mtd, | ||||||
| 
 | 
 | ||||||
| 			pos = i * host->pmecc_bytes_per_sector + j; | 			pos = i * host->pmecc_bytes_per_sector + j; | ||||||
| 			chip->oob_poi[eccpos[pos]] = | 			chip->oob_poi[eccpos[pos]] = | ||||||
| 				readb(&host->pmecc->ecc_port[i].ecc[j]); | 				pmecc_readb(host->pmecc, ecc_port[i].ecc[j]); | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	chip->write_buf(mtd, chip->oob_poi, mtd->oobsize); | 	chip->write_buf(mtd, chip->oob_poi, mtd->oobsize); | ||||||
|  |  | ||||||
|  | @ -34,6 +34,9 @@ | ||||||
| #define pmecc_readl(addr, reg) \ | #define pmecc_readl(addr, reg) \ | ||||||
| 	readl(&addr->reg) | 	readl(&addr->reg) | ||||||
| 
 | 
 | ||||||
|  | #define pmecc_readb(addr, reg) \ | ||||||
|  | 	readb(&addr->reg) | ||||||
|  | 
 | ||||||
| #define pmecc_writel(addr, reg, value) \ | #define pmecc_writel(addr, reg, value) \ | ||||||
| 	writel((value), &addr->reg) | 	writel((value), &addr->reg) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue