#ifndef _SELFTESTS_POWERPC_PMU_EBB_LMR_H
#define _SELFTESTS_POWERPC_PMU_EBB_LMR_H
#include "reg.h"
#ifndef PPC_FEATURE2_ARCH_3_00
#define PPC_FEATURE2_ARCH_3_00 0x00800000
#endif
#define lmr_is_supported() have_hwcap2(PPC_FEATURE2_ARCH_3_00)
static inline void ebb_lmr_reset(void)
{
unsigned long bescr = mfspr(SPRN_BESCR);
bescr &= ~(BESCR_LMEO);
bescr |= BESCR_LME;
mtspr(SPRN_BESCR, bescr);
}
#define LDMX(t, a, b)\
(0x7c00026a | \
(((t) & 0x1f) << 21) | \
(((a) & 0x1f) << 16) | \
(((b) & 0x1f) << 11))
static inline unsigned long ldmx(unsigned long address)
{
unsigned long ret;
asm volatile ("mr 9, %1\r\n"
".long " __stringify(LDMX(9, 0, 9)) "\r\n"
"mr %0, 9\r\n":"=r"(ret)
:"r"(address)
:"r9");
return ret;
}
#endif
cgi/'>index : net-next.git
|
net-next plumbings | Tobias Klauser |
Age | Commit message (Expand) | Author | Files | Lines |