diff options
author | Jiri Gaisler <jiri@gaisler.se> | 2019-01-18 18:00:47 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-01-22 12:50:08 +0100 |
commit | 9b2b389e8d6c9a871a3d5de882fc48b13bc9f1ac (patch) | |
tree | 813132b05c576d8327ae012439feb7207289f8c6 /bsps/shared/grlib/spw | |
parent | grlib: use rtems_interrupt_handler_install() (diff) | |
download | rtems-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.c | 29 | ||||
-rw-r--r-- | bsps/shared/grlib/spw/grspw_pkt.c | 2 |
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)) |