Commit 3efc51c1 authored by Carl-Daniel Hailfinger's avatar Carl-Daniel Hailfinger
Browse files

If a SPI command taking an address does fail, we want to know the address for easier debugging


Vincent wrote: This patch provided help to debug the partial write on
ICH in descriptor mode.

Corresponding to flashrom svn r764.
Signed-off-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Vincent S. Cojot <openlook@cojot.name> 
parent 7a0d9474
......@@ -615,8 +615,8 @@ int spi_block_erase_52(struct flashchip *flash, unsigned int addr, unsigned int
result = spi_send_multicommand(cmds);
if (result) {
fprintf(stderr, "%s failed during command execution\n",
__func__);
fprintf(stderr, "%s failed during command execution at address 0x%x\n",
__func__, addr);
return result;
}
/* Wait until the Write-In-Progress bit is cleared.
......@@ -659,7 +659,8 @@ int spi_block_erase_d8(struct flashchip *flash, unsigned int addr, unsigned int
result = spi_send_multicommand(cmds);
if (result) {
fprintf(stderr, "%s failed during command execution\n", __func__);
fprintf(stderr, "%s failed during command execution at address 0x%x\n",
__func__, addr);
return result;
}
/* Wait until the Write-In-Progress bit is cleared.
......@@ -721,8 +722,8 @@ int spi_block_erase_20(struct flashchip *flash, unsigned int addr, unsigned int
result = spi_send_multicommand(cmds);
if (result) {
fprintf(stderr, "%s failed during command execution\n",
__func__);
fprintf(stderr, "%s failed during command execution at address 0x%x\n",
__func__, addr);
return result;
}
/* Wait until the Write-In-Progress bit is cleared.
......@@ -827,21 +828,21 @@ int spi_byte_program(int addr, uint8_t byte)
result = spi_send_multicommand(cmds);
if (result) {
fprintf(stderr, "%s failed during command execution\n",
__func__);
fprintf(stderr, "%s failed during command execution at address 0x%x\n",
__func__, addr);
}
return result;
}
int spi_nbyte_program(int address, uint8_t *bytes, int len)
int spi_nbyte_program(int addr, uint8_t *bytes, int len)
{
int result;
/* FIXME: Switch to malloc based on len unless that kills speed. */
unsigned char cmd[JEDEC_BYTE_PROGRAM_OUTSIZE - 1 + 256] = {
JEDEC_BYTE_PROGRAM,
(address >> 16) & 0xff,
(address >> 8) & 0xff,
(address >> 0) & 0xff,
(addr >> 16) & 0xff,
(addr >> 8) & 0xff,
(addr >> 0) & 0xff,
};
struct spi_command cmds[] = {
{
......@@ -874,8 +875,8 @@ int spi_nbyte_program(int address, uint8_t *bytes, int len)
result = spi_send_multicommand(cmds);
if (result) {
fprintf(stderr, "%s failed during command execution\n",
__func__);
fprintf(stderr, "%s failed during command execution at address 0x%x\n",
__func__, addr);
}
return result;
}
......
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