From d9a2fd3a416aba848232201c2f8694d68adf1163 Mon Sep 17 00:00:00 2001 From: Ben Walker Date: Tue, 22 Aug 2017 14:16:06 -0700 Subject: [PATCH] env: Remove one layer of functions in spdk_vtophys_register spdk_vtophys_register_one and spdk_vtophys_unregister_one were both only called from one spot and are tiny functions. Remove the extra layer of indirection for code clarity. Change-Id: I4cf2698d6c7df7e09bfe05d786e39e1fb063a973 Signed-off-by: Ben Walker Reviewed-on: https://review.gerrithub.io/375245 Reviewed-by: Daniel Verkamp Tested-by: SPDK Automated Test System Reviewed-by: Jim Harris --- lib/env_dpdk/vtophys.c | 30 +++++++++--------------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/lib/env_dpdk/vtophys.c b/lib/env_dpdk/vtophys.c index d2563bd3c..daae03fc2 100644 --- a/lib/env_dpdk/vtophys.c +++ b/lib/env_dpdk/vtophys.c @@ -471,25 +471,6 @@ vtophys_get_paddr(uint64_t vaddr) return SPDK_VTOPHYS_ERROR; } -static int -_spdk_vtophys_register_one(uint64_t vfn_2mb, uint64_t paddr) -{ - if (paddr & MASK_2MB) { -#ifdef DEBUG - fprintf(stderr, "invalid paddr 0x%" PRIx64 " - must be 2MB aligned\n", paddr); -#endif - return -EINVAL; - } - - return spdk_mem_map_set_translation(g_vtophys_map, vfn_2mb << SHIFT_2MB, 2 * 1024 * 1024, paddr); -} - -static int -_spdk_vtophys_unregister_one(uint64_t vfn_2mb) -{ - return spdk_mem_map_clear_translation(g_vtophys_map, vfn_2mb << SHIFT_2MB, 2 * 1024 * 1024); -} - static int spdk_vtophys_register(void *vaddr, uint64_t len) { @@ -525,7 +506,14 @@ spdk_vtophys_register(void *vaddr, uint64_t len) return -EFAULT; } - rc = _spdk_vtophys_register_one(vfn_2mb, paddr); + if (paddr & MASK_2MB) { +#ifdef DEBUG + fprintf(stderr, "invalid paddr 0x%" PRIx64 " - must be 2MB aligned\n", paddr); +#endif + return -EINVAL; + } + + rc = spdk_mem_map_set_translation(g_vtophys_map, vaddr, 1 << SHIFT_2MB, paddr); if (rc != 0) { return rc; } @@ -561,7 +549,7 @@ spdk_vtophys_unregister(void *vaddr, uint64_t len) len = len >> SHIFT_2MB; while (len > 0) { - rc = _spdk_vtophys_unregister_one(vfn_2mb); + rc = spdk_mem_map_clear_translation(g_vtophys_map, vfn_2mb << SHIFT_2MB, 1 << SHIFT_2MB); if (rc != 0) { return rc; }