From ca1b1cea796bcfaeb86f201cf35065a606921cc1 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 24 May 2016 00:04:46 +0200 Subject: Read hw counter --- ipedma.h | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'ipedma.h') diff --git a/ipedma.h b/ipedma.h index 284b058..299499c 100644 --- a/ipedma.h +++ b/ipedma.h @@ -1,20 +1,21 @@ #define REG_RESET_DMA 0x00 #define REG_DMA 0x04 #define REG_NUM_PACKETS_PER_DESCRIPTOR 0x10 -#define REG_PERF_COUNTER 0x28 +#define REG_PERF_COUNTER 0x20 +//#define REG_PERF_COUNTER 0x28 #define REG_PACKET_LENGTH 0x0C #define REG_DESCRIPTOR_ADDRESS 0x50 #define REG_UPDATE_ADDRESS 0x58 #define REG_UPDATE_THRESHOLD 0x60 - +#define REG_INTERCONNECT 0x9048 #define REG_COUNTER 0x9000 -#define WR32(addr, value) *(uint32_t *) (((char*)(bar)) + (addr)) = (value); -#define RD32(addr) (*(uint32_t *) (((char*)(bar)) + (addr))) -#define WR32_sleep(addr, value) *(uint32_t *) (((char*)(bar)) + (addr)) = (value); usleep (100); +#define WR32(addr, value) *(volatile uint32_t *) (((char*)(bar)) + (addr)) = (value); +#define RD32(addr) (*(volatile uint32_t *) (((char*)(bar)) + (addr))) +#define WR32_sleep(addr, value) *(volatile uint32_t *) (((char*)(bar)) + (addr)) = (value); usleep (100); -#define WR64(addr, value) *(uint64_t *) (((char*)(bar)) + (addr)) = (value); -#define RD64(addr) (*(uint64_t *) (((char*)(bar)) + (addr))) +#define WR64(addr, value) *(volatile uint64_t *) (((char*)(bar)) + (addr)) = (value); +#define RD64(addr) (*(volatile uint64_t *) (((char*)(bar)) + (addr))) #define WR64_sleep(addr, value) *(uint64_t *) (((char*)(bar)) + (addr)) = (value); usleep (100); -- cgit v1.2.3