summaryrefslogtreecommitdiff
path: root/firmware/src
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/src')
-rw-r--r--firmware/src/os/req_ctx.c6
-rw-r--r--firmware/src/os/req_ctx.h3
2 files changed, 5 insertions, 4 deletions
diff --git a/firmware/src/os/req_ctx.c b/firmware/src/os/req_ctx.c
index 214cad5..4902488 100644
--- a/firmware/src/os/req_ctx.c
+++ b/firmware/src/os/req_ctx.c
@@ -29,7 +29,7 @@
/* FIXME: locking, FIFO order processing */
#define NUM_RCTX_SMALL 8
-#define NUM_RCTX_LARGE 3
+#define NUM_RCTX_LARGE 8
#define NUM_REQ_CTX (NUM_RCTX_SMALL+NUM_RCTX_LARGE)
@@ -38,7 +38,7 @@ static u_int8_t rctx_data_large[NUM_RCTX_LARGE][RCTX_SIZE_LARGE];
static struct req_ctx req_ctx[NUM_REQ_CTX];
-struct req_ctx *req_ctx_find_get(int large,
+struct req_ctx __ramfunc *req_ctx_find_get(int large,
unsigned long old_state,
unsigned long new_state)
{
@@ -93,7 +93,7 @@ void req_ctx_init(void)
}
for (i = 0; i < NUM_RCTX_LARGE; i++) {
- req_ctx[i].size = RCTX_SIZE_LARGE;
+ req_ctx[NUM_RCTX_SMALL+i].size = RCTX_SIZE_LARGE;
req_ctx[NUM_RCTX_SMALL+i].data = rctx_data_large[i];
}
}
diff --git a/firmware/src/os/req_ctx.h b/firmware/src/os/req_ctx.h
index 535267b..505e841 100644
--- a/firmware/src/os/req_ctx.h
+++ b/firmware/src/os/req_ctx.h
@@ -11,6 +11,7 @@
#define req_buf_hdr(x) (x->data[0])
#include <sys/types.h>
+#include <lib_AT91SAM7.h>
struct req_ctx {
volatile u_int32_t state;
@@ -37,7 +38,7 @@ struct req_ctx {
#define RCTX_STATE_INVALID 0xff
-extern struct req_ctx *req_ctx_find_get(int large, unsigned long old_state, unsigned long new_state);
+extern struct req_ctx __ramfunc *req_ctx_find_get(int large, unsigned long old_state, unsigned long new_state);
extern struct req_ctx *req_ctx_find_busy(void);
extern void req_ctx_set_state(struct req_ctx *ctx, unsigned long new_state);
extern void req_ctx_put(struct req_ctx *ctx);
personal git repositories of Harald Welte. Your mileage may vary