From cbe3c745bbab05adcdb47b2c22e50c98b1f9d472 Mon Sep 17 00:00:00 2001 From: Firas Jahjah Date: Mon, 17 Jan 2022 15:48:58 +0200 Subject: [PATCH] linux/efa: Swap checks on umem with p2pmem mr->p2pmem and mr->umem are exclusive; if one isn't NULL then the other can only be NULL. However, for consistency, change the code so all occurrences check against p2pmem. Reviewed-by: Daniel Kranzdorf Reviewed-by: Yossi Leybovich Signed-off-by: Firas Jahjah --- kernel/linux/efa/src/efa_verbs.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/kernel/linux/efa/src/efa_verbs.c b/kernel/linux/efa/src/efa_verbs.c index 5d51580a..10cadf6e 100644 --- a/kernel/linux/efa/src/efa_verbs.c +++ b/kernel/linux/efa/src/efa_verbs.c @@ -1930,11 +1930,11 @@ static int pbl_create(struct efa_dev *dev, if (is_vmalloc_addr(pbl->pbl_buf)) { pbl->physically_continuous = 0; #ifdef HAVE_EFA_P2P - if (mr->umem) + if (mr->p2pmem) + err = efa_p2p_to_page_list(dev, mr->p2pmem, pbl->pbl_buf); + else err = umem_to_page_list(dev, mr->umem, pbl->pbl_buf, hp_cnt, hp_shift); - else - err = efa_p2p_to_page_list(dev, mr->p2pmem, pbl->pbl_buf); #else err = umem_to_page_list(dev, umem, pbl->pbl_buf, hp_cnt, hp_shift); @@ -1948,11 +1948,11 @@ static int pbl_create(struct efa_dev *dev, } else { pbl->physically_continuous = 1; #ifdef HAVE_EFA_P2P - if (mr->umem) + if (mr->p2pmem) + err = efa_p2p_to_page_list(dev, mr->p2pmem, pbl->pbl_buf); + else err = umem_to_page_list(dev, mr->umem, pbl->pbl_buf, hp_cnt, hp_shift); - else - err = efa_p2p_to_page_list(dev, mr->p2pmem, pbl->pbl_buf); #else err = umem_to_page_list(dev, umem, pbl->pbl_buf, hp_cnt, hp_shift); @@ -1994,12 +1994,12 @@ static int efa_create_inline_pbl(struct efa_dev *dev, struct efa_mr *mr, params->inline_pbl = 1; #ifdef HAVE_EFA_P2P - if (mr->umem) - err = umem_to_page_list(dev, mr->umem, params->pbl.inline_pbl_array, - params->page_num, params->page_shift); - else + if (mr->p2pmem) err = efa_p2p_to_page_list(dev, mr->p2pmem, params->pbl.inline_pbl_array); + else + err = umem_to_page_list(dev, mr->umem, params->pbl.inline_pbl_array, + params->page_num, params->page_shift); #else err = umem_to_page_list(dev, mr->umem, params->pbl.inline_pbl_array, params->page_num, params->page_shift); @@ -2185,12 +2185,12 @@ static int efa_register_mr(struct ib_pd *ibpd, struct efa_mr *mr, u64 start, params.page_shift = order_base_2(pg_sz); #ifdef HAVE_IB_UMEM_NUM_DMA_BLOCKS #ifdef HAVE_EFA_P2P - if (mr->umem) - params.page_num = ib_umem_num_dma_blocks(mr->umem, pg_sz); - else + if (mr->p2pmem) params.page_num = DIV_ROUND_UP(length + (virt_addr & (pg_sz - 1)), pg_sz); + else + params.page_num = ib_umem_num_dma_blocks(mr->umem, pg_sz); #else params.page_num = ib_umem_num_dma_blocks(mr->umem, pg_sz); #endif