forked from Mirrors/opensbi
		
	include: Remove redundant csr_read_n() and csr_write_n()
The patch removes redundant csr_read_n() and csr_write_n() because same thing can be achieved by using __ASM_STR() macro in csr_read() and csr_write() macros. Signed-off-by: Anup Patel <anup.patel@wdc.com>
This commit is contained in:
		@@ -140,16 +140,7 @@
 | 
			
		||||
#define csr_read(csr)						\
 | 
			
		||||
({								\
 | 
			
		||||
	register unsigned long __v;				\
 | 
			
		||||
	__asm__ __volatile__ ("csrr %0, " #csr			\
 | 
			
		||||
			      : "=r" (__v) :			\
 | 
			
		||||
			      : "memory");			\
 | 
			
		||||
	__v;							\
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
#define csr_read_n(csr_num)					\
 | 
			
		||||
({								\
 | 
			
		||||
	register unsigned long __v;				\
 | 
			
		||||
	__asm__ __volatile__ ("csrr %0, " __ASM_STR(csr_num)	\
 | 
			
		||||
	__asm__ __volatile__ ("csrr %0, " __ASM_STR(csr)	\
 | 
			
		||||
			      : "=r" (__v) :			\
 | 
			
		||||
			      : "memory");			\
 | 
			
		||||
	__v;							\
 | 
			
		||||
@@ -158,15 +149,7 @@
 | 
			
		||||
#define csr_write(csr, val)					\
 | 
			
		||||
({								\
 | 
			
		||||
	unsigned long __v = (unsigned long)(val);		\
 | 
			
		||||
	__asm__ __volatile__ ("csrw " #csr ", %0"		\
 | 
			
		||||
			      : : "rK" (__v)			\
 | 
			
		||||
			      : "memory");			\
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
#define csr_write_n(csr_num, val)				\
 | 
			
		||||
({								\
 | 
			
		||||
	unsigned long __v = (unsigned long)(val);		\
 | 
			
		||||
	__asm__ __volatile__ ("csrw " __ASM_STR(csr_num) ", %0"	\
 | 
			
		||||
	__asm__ __volatile__ ("csrw " __ASM_STR(csr) ", %0"	\
 | 
			
		||||
			      : : "rK" (__v)			\
 | 
			
		||||
			      : "memory");			\
 | 
			
		||||
})
 | 
			
		||||
 
 | 
			
		||||
@@ -17,64 +17,64 @@ unsigned long csr_read_num(int csr_num)
 | 
			
		||||
 | 
			
		||||
	switch (csr_num) {
 | 
			
		||||
	case CSR_PMPCFG0:
 | 
			
		||||
		ret = csr_read_n(CSR_PMPCFG0);
 | 
			
		||||
		ret = csr_read(CSR_PMPCFG0);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPCFG1:
 | 
			
		||||
		ret = csr_read_n(CSR_PMPCFG1);
 | 
			
		||||
		ret = csr_read(CSR_PMPCFG1);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPCFG2:
 | 
			
		||||
		ret = csr_read_n(CSR_PMPCFG2);
 | 
			
		||||
		ret = csr_read(CSR_PMPCFG2);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPCFG3:
 | 
			
		||||
		ret = csr_read_n(CSR_PMPCFG3);
 | 
			
		||||
		ret = csr_read(CSR_PMPCFG3);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR0:
 | 
			
		||||
		ret = csr_read_n(CSR_PMPADDR0);
 | 
			
		||||
		ret = csr_read(CSR_PMPADDR0);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR1:
 | 
			
		||||
		ret = csr_read_n(CSR_PMPADDR1);
 | 
			
		||||
		ret = csr_read(CSR_PMPADDR1);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR2:
 | 
			
		||||
		ret = csr_read_n(CSR_PMPADDR2);
 | 
			
		||||
		ret = csr_read(CSR_PMPADDR2);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR3:
 | 
			
		||||
		ret = csr_read_n(CSR_PMPADDR3);
 | 
			
		||||
		ret = csr_read(CSR_PMPADDR3);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR4:
 | 
			
		||||
		ret = csr_read_n(CSR_PMPADDR4);
 | 
			
		||||
		ret = csr_read(CSR_PMPADDR4);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR5:
 | 
			
		||||
		ret = csr_read_n(CSR_PMPADDR5);
 | 
			
		||||
		ret = csr_read(CSR_PMPADDR5);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR6:
 | 
			
		||||
		ret = csr_read_n(CSR_PMPADDR6);
 | 
			
		||||
		ret = csr_read(CSR_PMPADDR6);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR7:
 | 
			
		||||
		ret = csr_read_n(CSR_PMPADDR7);
 | 
			
		||||
		ret = csr_read(CSR_PMPADDR7);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR8:
 | 
			
		||||
		ret = csr_read_n(CSR_PMPADDR8);
 | 
			
		||||
		ret = csr_read(CSR_PMPADDR8);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR9:
 | 
			
		||||
		ret = csr_read_n(CSR_PMPADDR9);
 | 
			
		||||
		ret = csr_read(CSR_PMPADDR9);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR10:
 | 
			
		||||
		ret = csr_read_n(CSR_PMPADDR10);
 | 
			
		||||
		ret = csr_read(CSR_PMPADDR10);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR11:
 | 
			
		||||
		ret = csr_read_n(CSR_PMPADDR11);
 | 
			
		||||
		ret = csr_read(CSR_PMPADDR11);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR12:
 | 
			
		||||
		ret = csr_read_n(CSR_PMPADDR12);
 | 
			
		||||
		ret = csr_read(CSR_PMPADDR12);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR13:
 | 
			
		||||
		ret = csr_read_n(CSR_PMPADDR13);
 | 
			
		||||
		ret = csr_read(CSR_PMPADDR13);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR14:
 | 
			
		||||
		ret = csr_read_n(CSR_PMPADDR14);
 | 
			
		||||
		ret = csr_read(CSR_PMPADDR14);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR15:
 | 
			
		||||
		ret = csr_read_n(CSR_PMPADDR15);
 | 
			
		||||
		ret = csr_read(CSR_PMPADDR15);
 | 
			
		||||
		break;
 | 
			
		||||
	default:
 | 
			
		||||
		break;
 | 
			
		||||
@@ -87,64 +87,64 @@ void csr_write_num(int csr_num, unsigned long val)
 | 
			
		||||
{
 | 
			
		||||
	switch (csr_num) {
 | 
			
		||||
	case CSR_PMPCFG0:
 | 
			
		||||
		csr_write_n(CSR_PMPCFG0, val);
 | 
			
		||||
		csr_write(CSR_PMPCFG0, val);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPCFG1:
 | 
			
		||||
		csr_write_n(CSR_PMPCFG1, val);
 | 
			
		||||
		csr_write(CSR_PMPCFG1, val);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPCFG2:
 | 
			
		||||
		csr_write_n(CSR_PMPCFG2, val);
 | 
			
		||||
		csr_write(CSR_PMPCFG2, val);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPCFG3:
 | 
			
		||||
		csr_write_n(CSR_PMPCFG3, val);
 | 
			
		||||
		csr_write(CSR_PMPCFG3, val);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR0:
 | 
			
		||||
		csr_write_n(CSR_PMPADDR0, val);
 | 
			
		||||
		csr_write(CSR_PMPADDR0, val);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR1:
 | 
			
		||||
		csr_write_n(CSR_PMPADDR1, val);
 | 
			
		||||
		csr_write(CSR_PMPADDR1, val);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR2:
 | 
			
		||||
		csr_write_n(CSR_PMPADDR2, val);
 | 
			
		||||
		csr_write(CSR_PMPADDR2, val);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR3:
 | 
			
		||||
		csr_write_n(CSR_PMPADDR3, val);
 | 
			
		||||
		csr_write(CSR_PMPADDR3, val);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR4:
 | 
			
		||||
		csr_write_n(CSR_PMPADDR4, val);
 | 
			
		||||
		csr_write(CSR_PMPADDR4, val);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR5:
 | 
			
		||||
		csr_write_n(CSR_PMPADDR5, val);
 | 
			
		||||
		csr_write(CSR_PMPADDR5, val);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR6:
 | 
			
		||||
		csr_write_n(CSR_PMPADDR6, val);
 | 
			
		||||
		csr_write(CSR_PMPADDR6, val);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR7:
 | 
			
		||||
		csr_write_n(CSR_PMPADDR7, val);
 | 
			
		||||
		csr_write(CSR_PMPADDR7, val);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR8:
 | 
			
		||||
		csr_write_n(CSR_PMPADDR8, val);
 | 
			
		||||
		csr_write(CSR_PMPADDR8, val);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR9:
 | 
			
		||||
		csr_write_n(CSR_PMPADDR9, val);
 | 
			
		||||
		csr_write(CSR_PMPADDR9, val);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR10:
 | 
			
		||||
		csr_write_n(CSR_PMPADDR10, val);
 | 
			
		||||
		csr_write(CSR_PMPADDR10, val);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR11:
 | 
			
		||||
		csr_write_n(CSR_PMPADDR11, val);
 | 
			
		||||
		csr_write(CSR_PMPADDR11, val);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR12:
 | 
			
		||||
		csr_write_n(CSR_PMPADDR12, val);
 | 
			
		||||
		csr_write(CSR_PMPADDR12, val);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR13:
 | 
			
		||||
		csr_write_n(CSR_PMPADDR13, val);
 | 
			
		||||
		csr_write(CSR_PMPADDR13, val);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR14:
 | 
			
		||||
		csr_write_n(CSR_PMPADDR14, val);
 | 
			
		||||
		csr_write(CSR_PMPADDR14, val);
 | 
			
		||||
		break;
 | 
			
		||||
	case CSR_PMPADDR15:
 | 
			
		||||
		csr_write_n(CSR_PMPADDR15, val);
 | 
			
		||||
		csr_write(CSR_PMPADDR15, val);
 | 
			
		||||
		break;
 | 
			
		||||
	default:
 | 
			
		||||
		break;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user