net/bnxt: add SRAM manager model
authorFarah Smith <farah.smith@broadcom.com>
Mon, 20 Sep 2021 07:42:05 +0000 (13:12 +0530)
committerAjit Khaparde <ajit.khaparde@broadcom.com>
Tue, 21 Sep 2021 04:11:42 +0000 (06:11 +0200)
commit37ff91c158a342f1f4757983da078d0a9d4992d0
treede72bd86fdc9b3aa41ef9d2666825388cbb1f951
parent998b9639df96f43a2cd04ad5d067c64d3ecd1778
net/bnxt: add SRAM manager model

The SRAM manager supports allocation and free of variable sized
records within SRAM memory.  These record sizes are 8, 16, 32, or
64B. The SRAM manager algorithm will not fragment memory during
run time. Previous implementation only included fixed size 64B
records regardless of the size required.

Signed-off-by: Farah Smith <farah.smith@broadcom.com>
Reviewed-by: Shahaji Bhosle <sbhosle@broadcom.com>
Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
27 files changed:
drivers/net/bnxt/tf_core/ll.c
drivers/net/bnxt/tf_core/ll.h
drivers/net/bnxt/tf_core/meson.build
drivers/net/bnxt/tf_core/tf_core.c
drivers/net/bnxt/tf_core/tf_core.h
drivers/net/bnxt/tf_core/tf_device.c
drivers/net/bnxt/tf_core/tf_device.h
drivers/net/bnxt/tf_core/tf_device_p4.c
drivers/net/bnxt/tf_core/tf_device_p4.h
drivers/net/bnxt/tf_core/tf_device_p58.c
drivers/net/bnxt/tf_core/tf_device_p58.h
drivers/net/bnxt/tf_core/tf_msg.c
drivers/net/bnxt/tf_core/tf_rm.c
drivers/net/bnxt/tf_core/tf_rm.h
drivers/net/bnxt/tf_core/tf_session.c
drivers/net/bnxt/tf_core/tf_session.h
drivers/net/bnxt/tf_core/tf_sram_mgr.c [new file with mode: 0644]
drivers/net/bnxt/tf_core/tf_sram_mgr.h [new file with mode: 0644]
drivers/net/bnxt/tf_core/tf_tbl.c
drivers/net/bnxt/tf_core/tf_tbl.h
drivers/net/bnxt/tf_core/tf_tbl_sram.c [new file with mode: 0644]
drivers/net/bnxt/tf_core/tf_tbl_sram.h [new file with mode: 0644]
drivers/net/bnxt/tf_core/tf_tcam.c
drivers/net/bnxt/tf_core/tf_tcam.h
drivers/net/bnxt/tf_core/tf_tcam_shared.c
drivers/net/bnxt/tf_core/tf_util.c
drivers/net/bnxt/tf_ulp/bnxt_ulp.c