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/can | |
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/can')
-rw-r--r-- | bsps/shared/grlib/can/grcan.c | 27 |
1 files changed, 3 insertions, 24 deletions
diff --git a/bsps/shared/grlib/can/grcan.c b/bsps/shared/grlib/can/grcan.c index 55154d823a..d69d99d85a 100644 --- a/bsps/shared/grlib/can/grcan.c +++ b/bsps/shared/grlib/can/grcan.c @@ -165,40 +165,19 @@ static void grcan_hw_sync( static void grcan_interrupt(void *arg); #ifdef GRCAN_REG_BYPASS_CACHE -#define READ_REG(address) _grcan_read_nocache((unsigned int)(address)) +#define READ_REG(address) grlib_read_uncached32((unsigned int)(address)) #else #define READ_REG(address) (*(volatile unsigned int *)(address)) #endif #ifdef GRCAN_DMA_BYPASS_CACHE -#define READ_DMA_WORD(address) _grcan_read_nocache((unsigned int)(address)) -#define READ_DMA_BYTE(address) _grcan_read_nocache_byte((unsigned int)(address)) -static unsigned char __inline__ _grcan_read_nocache_byte(unsigned int address) -{ - unsigned char tmp; - __asm__ (" lduba [%1]1, %0 " - : "=r"(tmp) - : "r"(address) - ); - return tmp; -} +#define READ_DMA_WORD(address) grlib_read_uncached32((unsigned int)(address)) +#define READ_DMA_BYTE(address) grlib_read_uncached8((unsigned int)(address)) #else #define READ_DMA_WORD(address) (*(volatile unsigned int *)(address)) #define READ_DMA_BYTE(address) (*(volatile unsigned char *)(address)) #endif -#if defined(GRCAN_REG_BYPASS_CACHE) || defined(GRCAN_DMA_BYPASS_CACHE) -static unsigned int __inline__ _grcan_read_nocache(unsigned int address) -{ - unsigned int tmp; - __asm__ (" lda [%1]1, %0 " - : "=r"(tmp) - : "r"(address) - ); - return tmp; -} -#endif - #define NELEM(a) ((int) (sizeof (a) / sizeof (a[0]))) static int grcan_count = 0; |