diff options
author | Tom St Denis <tom.stdenis@amd.com> | 2019-04-15 11:46:07 -0400 |
---|---|---|
committer | Tom St Denis <tom.stdenis@amd.com> | 2019-04-15 11:46:07 -0400 |
commit | 4762ac7230a6720adc77b752a454333d8d138101 (patch) | |
tree | 7ad652344c0652017930d47a10baffd30f5142c1 | |
parent | fa02f64d8559bdc749dfef992d28f401f30ec517 (diff) |
replace low level calls to reg read/write with callback calls
Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
-rw-r--r-- | src/app/main.c | 3 | ||||
-rw-r--r-- | src/lib/lowlevel/linux/mmio.c | 6 | ||||
-rw-r--r-- | src/lib/mmio.c | 4 |
3 files changed, 5 insertions, 8 deletions
diff --git a/src/app/main.c b/src/app/main.c index f6878e0..e6354ff 100644 --- a/src/app/main.c +++ b/src/app/main.c @@ -55,6 +55,9 @@ static struct umr_asic *get_asic(void) else asic->mem_funcs.access_linear_vram = umr_access_vram_via_mmio; + asic->reg_funcs.read_reg = umr_read_reg; + asic->reg_funcs.write_reg = umr_write_reg; + return asic; } diff --git a/src/lib/lowlevel/linux/mmio.c b/src/lib/lowlevel/linux/mmio.c index 1fee5f4..af14cab 100644 --- a/src/lib/lowlevel/linux/mmio.c +++ b/src/lib/lowlevel/linux/mmio.c @@ -104,9 +104,6 @@ uint32_t umr_read_reg(struct umr_asic *asic, uint64_t addr, enum regclass type) if (addr == 0xFFFFFFFF) fprintf(stderr, "[BUG]: reading from addr==0xFFFFFFFF is likely a bug\n"); - if (asic->reg_funcs.read_reg) - return asic->reg_funcs.read_reg(asic, addr, type); - // lop off top bits in no-kernel mode if (asic->options.no_kernel) addr &= 0xFFFFFF; @@ -141,9 +138,6 @@ int umr_write_reg(struct umr_asic *asic, uint64_t addr, uint32_t value, enum reg if (addr == 0xFFFFFFFF) fprintf(stderr, "[BUG]: reading from addr==0xFFFFFFFF is likely a bug\n"); - if (asic->reg_funcs.write_reg) - return asic->reg_funcs.write_reg(asic, addr, value, type); - // lop off top bits in no-kernel mode if (asic->options.no_kernel) addr &= 0xFFFFFF; diff --git a/src/lib/mmio.c b/src/lib/mmio.c index 518d230..f5df382 100644 --- a/src/lib/mmio.c +++ b/src/lib/mmio.c @@ -37,7 +37,7 @@ uint32_t umr_read_reg_by_name_by_ip(struct umr_asic *asic, char *ip, char *name) struct umr_reg *reg; reg = umr_find_reg_data_by_ip(asic, ip, name); if (reg) - return umr_read_reg(asic, reg->addr * (reg->type == REG_MMIO ? 4 : 1), reg->type); + return asic->reg_funcs.read_reg(asic, reg->addr * (reg->type == REG_MMIO ? 4 : 1), reg->type); else return 0; } @@ -66,7 +66,7 @@ int umr_write_reg_by_name_by_ip(struct umr_asic *asic, char *ip, char *name, uin struct umr_reg *reg; reg = umr_find_reg_data_by_ip(asic, ip, name); if (reg) - return umr_write_reg(asic, reg->addr * (reg->type == REG_MMIO ? 4 : 1), value, reg->type); + return asic->reg_funcs.write_reg(asic, reg->addr * (reg->type == REG_MMIO ? 4 : 1), value, reg->type); else return -1; } |