Re: [U-Boot] [PATCH 05/32] sandbox: spi: Adjust 'sf test' to work on sandbox

2013-12-20 Thread Jagan Teki
On Sun, Nov 10, 2013 at 10:56 PM, Simon Glass  wrote:
> Add map_sysmem() calls so that this test works correctly on sandbox.
>
> Signed-off-by: Simon Glass 
> Signed-off-by: Simon Glass 
> Reviewed-by: Hung-ying Tyan 
> ---
>  common/cmd_sf.c | 14 +-
>  1 file changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/common/cmd_sf.c b/common/cmd_sf.c
> index 3994b06..b4ceb71 100644
> --- a/common/cmd_sf.c
> +++ b/common/cmd_sf.c
> @@ -358,7 +358,8 @@ static void show_time(struct test_info *test, int stage)
> int bps;/* Bits per second */
>
> speed = (long long)test->bytes * 1000;
> -   do_div(speed, test->time_ms[stage] * 1024);
> +   if (test->time_ms[stage])
> +   do_div(speed, test->time_ms[stage] * 1024);
> bps = speed * 8;
>
> printf("%d %s: %d ticks, %d KiB/s %d.%03d Mbps\n", stage,
> @@ -446,11 +447,13 @@ static int do_spi_flash_test(int argc, char * const 
> argv[])
>  {
> unsigned long offset;
> unsigned long len;
> -   uint8_t *buf = (uint8_t *)CONFIG_SYS_TEXT_BASE;
> +   uint8_t *buf, *from;
> char *endp;
> uint8_t *vbuf;
> int ret;
>
> +   if (argc < 3)
> +   return -1;
> offset = simple_strtoul(argv[1], &endp, 16);
> if (*argv[1] == 0 || *endp != 0)
> return -1;
> @@ -460,17 +463,18 @@ static int do_spi_flash_test(int argc, char * const 
> argv[])
>
> vbuf = malloc(len);
> if (!vbuf) {
> -   printf("Cannot allocate memory\n");
> +   printf("Cannot allocate memory (%lu bytes)\n", len);
> return 1;
> }
> buf = malloc(len);
> if (!buf) {
> free(vbuf);
> -   printf("Cannot allocate memory\n");
> +   printf("Cannot allocate memory (%lu bytes)\n", len);
> return 1;
> }
>
> -   memcpy(buf, (char *)CONFIG_SYS_TEXT_BASE, len);
> +   from = map_sysmem(CONFIG_SYS_TEXT_BASE, 0);
> +   memcpy(buf, from, len);
> ret = spi_flash_test(flash, buf, len, offset, vbuf);
> free(vbuf);
> free(buf);
> --
> 1.8.4.1
>

Applied to u-boot-spi/master

-- 
Thanks,
Jagan.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 05/32] sandbox: spi: Adjust 'sf test' to work on sandbox

2013-11-10 Thread Simon Glass
Add map_sysmem() calls so that this test works correctly on sandbox.

Signed-off-by: Simon Glass 
Signed-off-by: Simon Glass 
Reviewed-by: Hung-ying Tyan 
---
 common/cmd_sf.c | 14 +-
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/common/cmd_sf.c b/common/cmd_sf.c
index 3994b06..b4ceb71 100644
--- a/common/cmd_sf.c
+++ b/common/cmd_sf.c
@@ -358,7 +358,8 @@ static void show_time(struct test_info *test, int stage)
int bps;/* Bits per second */
 
speed = (long long)test->bytes * 1000;
-   do_div(speed, test->time_ms[stage] * 1024);
+   if (test->time_ms[stage])
+   do_div(speed, test->time_ms[stage] * 1024);
bps = speed * 8;
 
printf("%d %s: %d ticks, %d KiB/s %d.%03d Mbps\n", stage,
@@ -446,11 +447,13 @@ static int do_spi_flash_test(int argc, char * const 
argv[])
 {
unsigned long offset;
unsigned long len;
-   uint8_t *buf = (uint8_t *)CONFIG_SYS_TEXT_BASE;
+   uint8_t *buf, *from;
char *endp;
uint8_t *vbuf;
int ret;
 
+   if (argc < 3)
+   return -1;
offset = simple_strtoul(argv[1], &endp, 16);
if (*argv[1] == 0 || *endp != 0)
return -1;
@@ -460,17 +463,18 @@ static int do_spi_flash_test(int argc, char * const 
argv[])
 
vbuf = malloc(len);
if (!vbuf) {
-   printf("Cannot allocate memory\n");
+   printf("Cannot allocate memory (%lu bytes)\n", len);
return 1;
}
buf = malloc(len);
if (!buf) {
free(vbuf);
-   printf("Cannot allocate memory\n");
+   printf("Cannot allocate memory (%lu bytes)\n", len);
return 1;
}
 
-   memcpy(buf, (char *)CONFIG_SYS_TEXT_BASE, len);
+   from = map_sysmem(CONFIG_SYS_TEXT_BASE, 0);
+   memcpy(buf, from, len);
ret = spi_flash_test(flash, buf, len, offset, vbuf);
free(vbuf);
free(buf);
-- 
1.8.4.1

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot