Commit 50d67aaa authored by Stefan Tauner's avatar Stefan Tauner
Browse files

Make write granularity a chip attribute


Corresponding to flashrom svn r1651.
Signed-off-by: default avatarStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
parent 352e50b7
......@@ -68,9 +68,9 @@ enum chipbustype {
* - 256 bytes: If less than 256 bytes are written, the contents of the unwritten bytes are undefined.
*/
enum write_granularity {
write_gran_256bytes = 0, /* We assume 256 byte granularity by default. */
write_gran_1bit,
write_gran_1byte,
write_gran_256bytes,
};
/*
......@@ -162,6 +162,7 @@ struct flashchip {
uint16_t min;
uint16_t max;
} voltage;
enum write_granularity gran;
};
struct flashctx {
......
......@@ -1273,7 +1273,7 @@ static int erase_and_write_block_helper(struct flashctx *flash,
{
unsigned int starthere = 0, lenhere = 0;
int ret = 0, skip = 1, writecount = 0;
enum write_granularity gran = write_gran_256bytes; /* FIXME */
enum write_granularity gran = flash->chip->gran;
/* curcontents and newcontents are opaque to walk_eraseregions, and
* need to be adjusted here to keep the impression of proper abstraction
......@@ -1281,7 +1281,6 @@ static int erase_and_write_block_helper(struct flashctx *flash,
curcontents += start;
newcontents += start;
msg_cdbg(":");
/* FIXME: Assume 256 byte granularity for now to play it safe. */
if (need_erase(curcontents, newcontents, len, gran)) {
msg_cdbg("E");
ret = erasefn(flash, start, len);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment