common: Fix cmd_fpgad addressing
Addressing was completely broken for cmd_fpgad. Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc> Signed-off-by: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
f3c89d9228
commit
f1cdde2833
|
|
@ -31,7 +31,8 @@ int do_fpga_md(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||||
unsigned int fpga;
|
unsigned int fpga;
|
||||||
ulong addr, length;
|
ulong addr, length;
|
||||||
int rc = 0;
|
int rc = 0;
|
||||||
u16 linebuf[DISP_LINE_LEN/sizeof(u16)];
|
u16 linebuf[DISP_LINE_LEN/sizeof(u16)];
|
||||||
|
ulong nbytes;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We use the last specified parameters, unless new ones are
|
* We use the last specified parameters, unless new ones are
|
||||||
|
|
@ -63,13 +64,28 @@ int do_fpga_md(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||||
length = simple_strtoul(argv[3], NULL, 16);
|
length = simple_strtoul(argv[3], NULL, 16);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Print the lines. */
|
nbytes = length * sizeof(u16);
|
||||||
for (k = 0; k < DISP_LINE_LEN / sizeof(u16); ++k)
|
do {
|
||||||
fpga_get_reg(fpga, (u16 *)fpga_ptr[fpga] + k, k * sizeof(u16),
|
ulong linebytes = (nbytes > DISP_LINE_LEN) ?
|
||||||
&linebuf[k]);
|
DISP_LINE_LEN : nbytes;
|
||||||
print_buffer(addr, (void *)linebuf, sizeof(u16),
|
|
||||||
length, DISP_LINE_LEN / sizeof(u16));
|
for (k = 0; k < linebytes / sizeof(u16); ++k)
|
||||||
addr += sizeof(u16)*length;
|
fpga_get_reg(fpga,
|
||||||
|
(u16 *)fpga_ptr[fpga] + addr
|
||||||
|
/ sizeof(u16) + k,
|
||||||
|
addr + k * sizeof(u16),
|
||||||
|
&linebuf[k]);
|
||||||
|
print_buffer(addr, (void *)linebuf, sizeof(u16),
|
||||||
|
linebytes / sizeof(u16),
|
||||||
|
DISP_LINE_LEN / sizeof(u16));
|
||||||
|
|
||||||
|
nbytes -= linebytes;
|
||||||
|
addr += linebytes;
|
||||||
|
if (ctrlc()) {
|
||||||
|
rc = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} while (nbytes > 0);
|
||||||
|
|
||||||
dp_last_fpga = fpga;
|
dp_last_fpga = fpga;
|
||||||
dp_last_addr = addr;
|
dp_last_addr = addr;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue