aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Kicinski <jakub.kicinski@netronome.com>2017-12-15 00:29:15 -0500
committerDaniel Borkmann <daniel@iogearbox.net>2017-12-15 08:18:18 -0500
commita351ab565c2a038661edd82917d1acb3b7fee12b (patch)
tree73297962b7d9b9ccb7296d58faae8386e7442052
parent7310c23328ad101c77c1b689a3face62e363aa09 (diff)
nfp: add nfp_cpp_area_size() accessor
Allow users outside of core reading area sizes. This was not needed previously because whatever entity created the area would usually know what size it asked for. The nfp_rtsym_map() helper, however, will allocate the area based on the size of an RT-symbol with given name. Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
-rw-r--r--drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cpp.h1
-rw-r--r--drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cppcore.c11
2 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cpp.h b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cpp.h
index 5798adc57cbc..c8f2c064cce3 100644
--- a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cpp.h
+++ b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cpp.h
@@ -242,6 +242,7 @@ int nfp_cpp_area_read(struct nfp_cpp_area *area, unsigned long offset,
242 void *buffer, size_t length); 242 void *buffer, size_t length);
243int nfp_cpp_area_write(struct nfp_cpp_area *area, unsigned long offset, 243int nfp_cpp_area_write(struct nfp_cpp_area *area, unsigned long offset,
244 const void *buffer, size_t length); 244 const void *buffer, size_t length);
245size_t nfp_cpp_area_size(struct nfp_cpp_area *area);
245const char *nfp_cpp_area_name(struct nfp_cpp_area *cpp_area); 246const char *nfp_cpp_area_name(struct nfp_cpp_area *cpp_area);
246void *nfp_cpp_area_priv(struct nfp_cpp_area *cpp_area); 247void *nfp_cpp_area_priv(struct nfp_cpp_area *cpp_area);
247struct nfp_cpp *nfp_cpp_area_cpp(struct nfp_cpp_area *cpp_area); 248struct nfp_cpp *nfp_cpp_area_cpp(struct nfp_cpp_area *cpp_area);
diff --git a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cppcore.c b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cppcore.c
index 3fcb522d2e85..28262470dabf 100644
--- a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cppcore.c
+++ b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cppcore.c
@@ -568,6 +568,17 @@ int nfp_cpp_area_write(struct nfp_cpp_area *area,
568} 568}
569 569
570/** 570/**
571 * nfp_cpp_area_size() - return size of a CPP area
572 * @cpp_area: CPP area handle
573 *
574 * Return: Size of the area
575 */
576size_t nfp_cpp_area_size(struct nfp_cpp_area *cpp_area)
577{
578 return cpp_area->size;
579}
580
581/**
571 * nfp_cpp_area_name() - return name of a CPP area 582 * nfp_cpp_area_name() - return name of a CPP area
572 * @cpp_area: CPP area handle 583 * @cpp_area: CPP area handle
573 * 584 *