diff --git a/userspace/units/mm/allocators/buddy_allocator/buddy_allocator.c b/userspace/units/mm/allocators/buddy_allocator/buddy_allocator.c index 98967c2fb..8c729c155 100644 --- a/userspace/units/mm/allocators/buddy_allocator/buddy_allocator.c +++ b/userspace/units/mm/allocators/buddy_allocator/buddy_allocator.c @@ -34,6 +34,7 @@ #include #include +#include #include #include "buddy_allocator.h" @@ -79,7 +80,8 @@ static struct vm_gk20a *init_vm_env(struct unit_module *m, struct gk20a *g, #ifdef CONFIG_NVGPU_DGPU /* Minimum HAL init for PRAMIN */ g->ops.bus.set_bar0_window = gk20a_bus_set_bar0_window; - g->ops.pramin.data032_r = pram_data032_r; + nvgpu_pramin_ops_init(g); + unit_assert(g->ops.pramin.data032_r != NULL, return NULL); #endif /* vm should init with SYSMEM */ diff --git a/userspace/units/mm/dma/dma.c b/userspace/units/mm/dma/dma.c index 9cd7303ac..4b659caa7 100644 --- a/userspace/units/mm/dma/dma.c +++ b/userspace/units/mm/dma/dma.c @@ -50,6 +50,7 @@ #include "hal/fifo/ramin_gk20a.h" #include "hal/fifo/ramin_gm20b.h" #include "hal/fifo/ramin_gp10b.h" +#include "hal/pramin/pramin_init.h" #include @@ -240,7 +241,8 @@ int test_mm_dma_init(struct unit_module *m, struct gk20a *g, void *args) #ifdef CONFIG_NVGPU_DGPU /* Minimum HAL init for PRAMIN */ g->ops.bus.set_bar0_window = gk20a_bus_set_bar0_window; - g->ops.pramin.data032_r = pram_data032_r; + nvgpu_pramin_ops_init(g); + unit_assert(g->ops.pramin.data032_r != NULL, return UNIT_FAIL); #endif /* Register space: BUS_BAR0 */ diff --git a/userspace/units/mm/nvgpu_mem/nvgpu_mem.c b/userspace/units/mm/nvgpu_mem/nvgpu_mem.c index 428eead19..880569f53 100644 --- a/userspace/units/mm/nvgpu_mem/nvgpu_mem.c +++ b/userspace/units/mm/nvgpu_mem/nvgpu_mem.c @@ -36,6 +36,7 @@ #include #include +#include #include #include @@ -112,7 +113,8 @@ static int init_vidmem_env(struct unit_module *m, struct gk20a *g) /* Minimum HAL init for PRAMIN */ g->ops.bus.set_bar0_window = gk20a_bus_set_bar0_window; - g->ops.pramin.data032_r = pram_data032_r; + nvgpu_pramin_ops_init(g); + unit_assert(g->ops.pramin.data032_r != NULL, return -EINVAL); err = nvgpu_dma_alloc_vid_at(g, TEST_SIZE, test_mem, 0); if (err != 0) { diff --git a/userspace/units/pramin/nvgpu-pramin.c b/userspace/units/pramin/nvgpu-pramin.c index 98dabe885..a6ca38787 100644 --- a/userspace/units/pramin/nvgpu-pramin.c +++ b/userspace/units/pramin/nvgpu-pramin.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018-2019, NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2018-2020, NVIDIA CORPORATION. All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -37,6 +37,7 @@ #include #include "hal/bus/bus_gk20a.h" +#include "hal/pramin/pramin_init.h" #include #include @@ -66,7 +67,6 @@ static u32 *vidmem; /* Simple pattern for memset operations */ #define MEMSET_PATTERN 0x12345678 - static bool is_PRAM_range(struct gk20a *g, u32 addr) { if ((addr >= pram_data032_r(0)) && @@ -192,7 +192,8 @@ static int init_test_env(struct unit_module *m, struct gk20a *g) /* Minimum HAL init for PRAMIN */ g->ops.bus.set_bar0_window = gk20a_bus_set_bar0_window; - g->ops.pramin.data032_r = pram_data032_r; + nvgpu_pramin_ops_init(g); + unit_assert(g->ops.pramin.data032_r != NULL, return -EINVAL); /* Register space: BUS_BAR0 */ if (nvgpu_posix_io_add_reg_space(g, bus_bar0_window_r(), 0x100) != 0) {