diff options
Diffstat (limited to 'src/pru/pru0.c')
-rw-r--r-- | src/pru/pru0.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/pru/pru0.c b/src/pru/pru0.c index c2b9a5f3..ae33ad6b 100644 --- a/src/pru/pru0.c +++ b/src/pru/pru0.c @@ -38,15 +38,14 @@ check_can_send(void) { for (;;) { uint32_t send_pop_pos = SHARED_MEM->send_pop_pos; - uint32_t count = readl(&SHARED_MEM->send_data[send_pop_pos].count); + struct shared_response_buffer *s = &SHARED_MEM->send_data[send_pop_pos]; + uint32_t count = readl(&s->count); if (!count) // Queue empty break; - command_add_frame(SHARED_MEM->send_data[send_pop_pos].data, count); - pru_rpmsg_send( - &transport, CHAN_PORT, transport_dst - , &SHARED_MEM->send_data[send_pop_pos].data, count); - writel(&SHARED_MEM->send_data[send_pop_pos].count, 0); + command_add_frame(s->data, count); + pru_rpmsg_send(&transport, CHAN_PORT, transport_dst, &s->data, count); + writel(&s->count, 0); SHARED_MEM->send_pop_pos = ( (send_pop_pos + 1) % ARRAY_SIZE(SHARED_MEM->send_data)); } |