diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2018-06-11 21:15:52 +1000 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2018-06-11 21:15:52 +1000 |
commit | 73270458ec5e9fc818f6da2a6d031360ad0b6dae (patch) | |
tree | 28814676471d8a6346d8ae320c5b3c1711a2fde2 | |
parent | ea4e9490301b774cfc01ed92d7566d899ba7e7eb (diff) | |
download | cf-fsi-73270458ec5e9fc818f6da2a6d031360ad0b6dae.tar.gz cf-fsi-73270458ec5e9fc818f6da2a6d031360ad0b6dae.zip |
Use a separate "started" flag
Relying on the command-status is dicey, the GPIO arbitration
code needs a more reliable way to know we are actually running
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-rw-r--r-- | cf-code/cf-fsi-fw.S | 4 | ||||
-rw-r--r-- | cf-fsi-fw.h | 1 | ||||
-rw-r--r-- | cf-fsi-test.c | 2 |
3 files changed, 4 insertions, 3 deletions
diff --git a/cf-code/cf-fsi-fw.S b/cf-code/cf-fsi-fw.S index 000e476..d0d71a6 100644 --- a/cf-code/cf-fsi-fw.S +++ b/cf-code/cf-fsi-fw.S @@ -264,8 +264,8 @@ _start: /* Configure GPIOs to output */ bsr config_gpio_out - /* Mark command complete, indicates we are ready */ - move.b #STAT_COMPLETE,%a1@(CMD_STAT_REG) + /* Indicate that we are started */ + mov3q.l #0xffffffff,%a1@(CF_STARTED) /* * Main command loop diff --git a/cf-fsi-fw.h b/cf-fsi-fw.h index 48c762e..5f6cffd 100644 --- a/cf-fsi-fw.h +++ b/cf-fsi-fw.h @@ -101,6 +101,7 @@ /* Misc */ #define INT_CNT 0x30 /* 32-bit interrupt count */ #define BAD_INT_VEC 0x34 +#define CF_STARTED 0x38 /* byte, set to -1 when copro started */ /* * SRAM layout: GPIO arbitration part diff --git a/cf-fsi-test.c b/cf-fsi-test.c index 5d05051..42bf3a3 100644 --- a/cf-fsi-test.c +++ b/cf-fsi-test.c @@ -755,7 +755,7 @@ int main(int argc, char *argv[]) /* Wait for status register to say command complete */ do { - val = readb(sysreg + SRAM_BASE + CMD_STAT_REG); + val = readl(sysreg + SRAM_BASE + CF_STARTED); } while (val == 0x00); /* Configure echo & send delay */ |