summaryrefslogtreecommitdiffstats
path: root/bsps/shared/grlib/spw
diff options
context:
space:
mode:
authorJiri Gaisler <jiri@gaisler.se>2019-01-18 18:00:47 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2019-01-22 12:50:08 +0100
commit9b2b389e8d6c9a871a3d5de882fc48b13bc9f1ac (patch)
tree813132b05c576d8327ae012439feb7207289f8c6 /bsps/shared/grlib/spw
parentgrlib: use rtems_interrupt_handler_install() (diff)
downloadrtems-9b2b389e8d6c9a871a3d5de882fc48b13bc9f1ac.tar.bz2
grlib: use cpu-independent routines for uncached access
Update #3678.
Diffstat (limited to 'bsps/shared/grlib/spw')
-rw-r--r--bsps/shared/grlib/spw/grspw.c29
-rw-r--r--bsps/shared/grlib/spw/grspw_pkt.c2
2 files changed, 4 insertions, 27 deletions
diff --git a/bsps/shared/grlib/spw/grspw.c b/bsps/shared/grlib/spw/grspw.c
index ca0f63edd8..586bb2537c 100644
--- a/bsps/shared/grlib/spw/grspw.c
+++ b/bsps/shared/grlib/spw/grspw.c
@@ -152,32 +152,9 @@ void (*grspw_timecode_callback)
#define _MEM_READ8(address) (*(volatile unsigned char *)(address))
#define _MEM_READ32(address) (*(volatile unsigned int *)(address))
#else
-static inline unsigned int _SPW_READ(volatile void *addr) {
- unsigned int tmp;
- __asm__ (" lda [%1]1, %0 "
- : "=r"(tmp)
- : "r"(addr)
- );
- return tmp;
-}
-
-static inline unsigned int _MEM_READ8(volatile void *addr) {
- unsigned int tmp;
- __asm__ (" lduba [%1]1, %0 "
- : "=r"(tmp)
- : "r"(addr)
- );
- return tmp;
-}
-
-static inline unsigned int _MEM_READ32(volatile void *addr) {
- unsigned int tmp;
- __asm__ (" lda [%1]1, %0 "
- : "=r"(tmp)
- : "r"(addr)
- );
- return tmp;
-}
+#define _SPW_READ(address) grlib_read_uncached32((unsigned int) address)
+#define _MEM_READ8(address) grlib_read_uncached8((unsigned int) address)
+#define _MEM_READ32(address) grlib_read_uncached32((unsigned int) address)
#endif
#define MEM_READ8(addr) _MEM_READ8((volatile void *)(addr))
diff --git a/bsps/shared/grlib/spw/grspw_pkt.c b/bsps/shared/grlib/spw/grspw_pkt.c
index 208f5a14f7..56b39d78db 100644
--- a/bsps/shared/grlib/spw/grspw_pkt.c
+++ b/bsps/shared/grlib/spw/grspw_pkt.c
@@ -315,7 +315,7 @@ struct grspw_txbd {
/* Memory and HW Registers Access routines. All 32-bit access routines */
#define BD_WRITE(addr, val) (*(volatile unsigned int *)(addr) = (unsigned int)(val))
/*#define BD_READ(addr) (*(volatile unsigned int *)(addr))*/
-#define BD_READ(addr) leon_r32_no_cache((unsigned long)(addr))
+#define BD_READ(addr) grlib_read_uncached32((unsigned long)(addr))
#define REG_WRITE(addr, val) (*(volatile unsigned int *)(addr) = (unsigned int)(val))
#define REG_READ(addr) (*(volatile unsigned int *)(addr))