aboutsummaryrefslogtreecommitdiffstats
path: root/lib/pru_rpmsg/pru_virtqueue.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pru_rpmsg/pru_virtqueue.c')
-rw-r--r--lib/pru_rpmsg/pru_virtqueue.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/lib/pru_rpmsg/pru_virtqueue.c b/lib/pru_rpmsg/pru_virtqueue.c
index 5b14c6e4..cce93d01 100644
--- a/lib/pru_rpmsg/pru_virtqueue.c
+++ b/lib/pru_rpmsg/pru_virtqueue.c
@@ -41,10 +41,10 @@
*/
#include <pru_virtqueue.h>
-#ifndef __GNUC__
-volatile register uint32_t __R31;
-#else
+#ifdef __GNUC__
#include <pru/io.h>
+#else
+volatile register uint32_t __R31;
#endif
/* bit 5 is the valid strobe to generate system events with __R31 */
@@ -131,19 +131,12 @@ int16_t pru_virtqueue_kick(
struct pru_virtqueue *vq
)
{
- unsigned int r31;
-
/* If requested, do not kick the ARM host */
if (vq->vring.avail->flags & VRING_AVAIL_F_NO_INTERRUPT)
return PRU_VIRTQUEUE_NO_KICK;
/* Generate a system event to kick the ARM */
- r31 = (INT_ENABLE | (vq->to_arm_event - INT_OFFSET));
-#ifdef __GNUC__
- write_r31(r31);
-#else
- __R31 = r31;
-#endif
+ __R31 = (INT_ENABLE | (vq->to_arm_event - INT_OFFSET));
return PRU_VIRTQUEUE_SUCCESS;
}