RDMA/irdma: Add table based lookup for CQ pointer during an event
authorKrzysztof Czurylo <krzysztof.czurylo@intel.com>
Tue, 25 Jul 2023 15:55:04 +0000 (10:55 -0500)
committerLeon Romanovsky <leon@kernel.org>
Wed, 26 Jul 2023 12:05:36 +0000 (15:05 +0300)
commite49bad785e550fe26ca9416ffc0c85fef84be808
treee37a23a6ee018384a6be6f63d71e491d9ceec4f7
parent133b1cba46c6c8b67c630eacc0a1e4969da16517
RDMA/irdma: Add table based lookup for CQ pointer during an event

Add a CQ table based loookup to allow quick search
for CQ pointer having CQ ID in case of CQ related
asynchrononous event. The table is implemented in a
similar fashion to QP table.

Also add a reference counters for CQ. This is to prevent
destroying CQ while an asynchronous event is being processed.

The memory resource table size is sized higher with this update,
and this table doesn't need to be physically contiguous, so use
a vzalloc vs kzalloc to allocate the table.

Signed-off-by: Krzysztof Czurylo <krzysztof.czurylo@intel.com>
Signed-off-by: Sindhu Devale <sindhu.devale@intel.com>
Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com>
Link: https://lore.kernel.org/r/20230725155505.1069-4-shiraz.saleem@intel.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/irdma/hw.c
drivers/infiniband/hw/irdma/main.h
drivers/infiniband/hw/irdma/utils.c
drivers/infiniband/hw/irdma/verbs.c
drivers/infiniband/hw/irdma/verbs.h