[coreboot] [PATCH] flashrom: use verify_range in write_page_write_jedec

Urja Rannikko urjaman at gmail.com
Mon Jun 15 20:54:48 CEST 2009


Change chip_readb in loop to use verify_range in
write_page_write_jedec (jedec.c).

Signed-off-by: Urja Rannikko <urjaman at gmail.com>

---
patch inlined:
Index: jedec.c
===================================================================
--- jedec.c	(revision 595)
+++ jedec.c	(working copy)
@@ -262,8 +262,8 @@
 	return 0;
 }

-int write_page_write_jedec(chipaddr bios, uint8_t *src,
-			   chipaddr dst, int page_size)
+int write_page_write_jedec(struct flashchip *flash, chipaddr bios,
+			   uint8_t *src, chipaddr dst, int page_size)
 {
 	int i, tried = 0, start_index = 0, ok;
 	chipaddr d = dst;
@@ -288,15 +288,7 @@

 	dst = d;
 	src = s;
-	ok = 1;
-	for (i = 0; i < page_size; i++) {
-		if (chip_readb(dst) != *src) {
-			ok = 0;
-			break;
-		}
-		dst++;
-		src++;
-	}
+	ok = !verify_range(flash,src,dst,page_size,NULL);

 	if (!ok && tried++ < MAX_REFLASH_TRIES) {
 		start_index = i;
@@ -367,7 +359,7 @@
 	printf("Programming page: ");
 	for (i = 0; i < total_size / page_size; i++) {
 		printf("%04d at address: 0x%08x", i, i * page_size);
-		write_page_write_jedec(bios, buf + i * page_size,
+		write_page_write_jedec(flash, bios, buf + i * page_size,
 				       bios + i * page_size, page_size);
 		printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
 	}


-- 
urjaman
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jedec_verify_range.diff
Type: application/octet-stream
Size: 1133 bytes
Desc: not available
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20090615/4a8b6b34/attachment.obj>


More information about the coreboot mailing list