[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 12 Dec 2022 12:16:37 +0100
From: Michal Swiatkowski <michal.swiatkowski@...ux.intel.com>
To: intel-wired-lan@...ts.osuosl.org
Cc: alexandr.lobakin@...el.com, sridhar.samudrala@...el.com,
wojciech.drewek@...el.com, lukasz.czapnik@...el.com,
shiraz.saleem@...el.com, jesse.brandeburg@...el.com,
mustafa.ismail@...el.com, przemyslaw.kitszel@...el.com,
piotr.raczynski@...el.com, jacob.e.keller@...el.com,
david.m.ertman@...el.com, leszek.kaliszczuk@...el.com,
benjamin.mikailenko@...el.com, paul.m.stillwell.jr@...el.com,
netdev@...r.kernel.org, kuba@...nel.org, leon@...nel.org,
Michal Swiatkowski <michal.swiatkowski@...ux.intel.com>
Subject: [PATCH net-next v1 02/10] ice: alloc id for RDMA using xa_array
Use xa_array instead of deprecated ida to alloc id for RDMA aux driver.
Signed-off-by: Michal Swiatkowski <michal.swiatkowski@...ux.intel.com>
---
drivers/net/ethernet/intel/ice/ice_idc.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/drivers/net/ethernet/intel/ice/ice_idc.c b/drivers/net/ethernet/intel/ice/ice_idc.c
index 2148e49679b1..36f6d34d5cb5 100644
--- a/drivers/net/ethernet/intel/ice/ice_idc.c
+++ b/drivers/net/ethernet/intel/ice/ice_idc.c
@@ -6,7 +6,7 @@
#include "ice_lib.h"
#include "ice_dcb_lib.h"
-static DEFINE_IDA(ice_aux_ida);
+static DEFINE_XARRAY_ALLOC1(ice_aux_id);
/**
* ice_get_auxiliary_drv - retrieve iidc_auxiliary_drv struct
@@ -352,8 +352,9 @@ int ice_init_rdma(struct ice_pf *pf)
return 0;
}
- pf->aux_idx = ida_alloc(&ice_aux_ida, GFP_KERNEL);
- if (pf->aux_idx < 0) {
+ ret = xa_alloc(&ice_aux_id, &pf->aux_idx, NULL, XA_LIMIT(1, INT_MAX),
+ GFP_KERNEL);
+ if (ret) {
dev_err(dev, "Failed to allocate device ID for AUX driver\n");
return -ENOMEM;
}
@@ -374,7 +375,7 @@ int ice_init_rdma(struct ice_pf *pf)
ice_free_rdma_qvector(pf);
err_reserve_rdma_qvector:
pf->adev = NULL;
- ida_free(&ice_aux_ida, pf->aux_idx);
+ xa_erase(&ice_aux_id, pf->aux_idx);
return ret;
}
@@ -389,5 +390,5 @@ void ice_deinit_rdma(struct ice_pf *pf)
ice_unplug_aux_dev(pf);
ice_free_rdma_qvector(pf);
- ida_free(&ice_aux_ida, pf->aux_idx);
+ xa_erase(&ice_aux_id, pf->aux_idx);
}
--
2.36.1
Powered by blists - more mailing lists