From: Peng Zhang <peng.zh...@corigine.com>

Add the helper function to map rtsym with specified offset.

Signed-off-by: Peng Zhang <peng.zh...@corigine.com>
Reviewed-by: Chaoyong He <chaoyong...@corigine.com>
Reviewed-by: Long Wu <long...@corigine.com>
---
 drivers/net/nfp/nfpcore/nfp_rtsym.c | 14 ++++++++++++--
 drivers/net/nfp/nfpcore/nfp_rtsym.h |  2 ++
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/drivers/net/nfp/nfpcore/nfp_rtsym.c 
b/drivers/net/nfp/nfpcore/nfp_rtsym.c
index 5cefbace96..2fedd4d9af 100644
--- a/drivers/net/nfp/nfpcore/nfp_rtsym.c
+++ b/drivers/net/nfp/nfpcore/nfp_rtsym.c
@@ -658,8 +658,9 @@ nfp_rtsym_write_le(struct nfp_rtsym_table *rtbl,
 }
 
 uint8_t *
-nfp_rtsym_map(struct nfp_rtsym_table *rtbl,
+nfp_rtsym_map_offset(struct nfp_rtsym_table *rtbl,
                const char *name,
+               uint32_t offset,
                uint32_t min_size,
                struct nfp_cpp_area **area)
 {
@@ -688,7 +689,7 @@ nfp_rtsym_map(struct nfp_rtsym_table *rtbl,
                return NULL;
        }
 
-       mem = nfp_cpp_map_area(rtbl->cpp, cpp_id, addr, sym->size, area);
+       mem = nfp_cpp_map_area(rtbl->cpp, cpp_id, addr + offset, sym->size, 
area);
        if (mem == NULL) {
                PMD_DRV_LOG(ERR, "Failed to map symbol %s", name);
                return NULL;
@@ -696,3 +697,12 @@ nfp_rtsym_map(struct nfp_rtsym_table *rtbl,
 
        return mem;
 }
+
+uint8_t *
+nfp_rtsym_map(struct nfp_rtsym_table *rtbl,
+               const char *name,
+               uint32_t min_size,
+               struct nfp_cpp_area **area)
+{
+       return nfp_rtsym_map_offset(rtbl, name, 0, min_size, area);
+}
diff --git a/drivers/net/nfp/nfpcore/nfp_rtsym.h 
b/drivers/net/nfp/nfpcore/nfp_rtsym.h
index f79637ac50..3e8acdd38e 100644
--- a/drivers/net/nfp/nfpcore/nfp_rtsym.h
+++ b/drivers/net/nfp/nfpcore/nfp_rtsym.h
@@ -40,5 +40,7 @@ int nfp_rtsym_write_le(struct nfp_rtsym_table *rtbl, const 
char *name,
                uint64_t value);
 uint8_t *nfp_rtsym_map(struct nfp_rtsym_table *rtbl, const char *name,
                uint32_t min_size, struct nfp_cpp_area **area);
+uint8_t *nfp_rtsym_map_offset(struct nfp_rtsym_table *rtbl, const char *name,
+               uint32_t offset, uint32_t min_size, struct nfp_cpp_area **area);
 
 #endif /* __NFP_RTSYM_H__ */
-- 
2.39.1

Reply via email to