mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-26 20:44:32 +08:00
bnxt_en: Remove unneeded MSIX base structure fields and code
Ever since commit:
3034322113
("bnxt_en: Remove runtime interrupt vector allocation")
The MSIX base vector is effectively always 0. Remove all unneeded
structure fields and code referencing the MSIX base.
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Andy Gospodarek <andrew.gospodarek@broadcom.com>
Signed-off-by: Vikas Gupta <vikas.gupta@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Link: https://lore.kernel.org/r/20240409215431.41424-4-michael.chan@broadcom.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
43226dccd1
commit
b58f5a9c70
@ -3905,13 +3905,12 @@ static int bnxt_alloc_cp_sub_ring(struct bnxt *bp,
|
||||
static int bnxt_alloc_cp_rings(struct bnxt *bp)
|
||||
{
|
||||
bool sh = !!(bp->flags & BNXT_FLAG_SHARED_RINGS);
|
||||
int i, j, rc, ulp_base_vec, ulp_msix;
|
||||
int i, j, rc, ulp_msix;
|
||||
int tcs = bp->num_tc;
|
||||
|
||||
if (!tcs)
|
||||
tcs = 1;
|
||||
ulp_msix = bnxt_get_ulp_msix_num(bp);
|
||||
ulp_base_vec = bnxt_get_ulp_msix_base(bp);
|
||||
for (i = 0, j = 0; i < bp->cp_nr_rings; i++) {
|
||||
struct bnxt_napi *bnapi = bp->bnapi[i];
|
||||
struct bnxt_cp_ring_info *cpr, *cpr2;
|
||||
@ -3930,10 +3929,7 @@ static int bnxt_alloc_cp_rings(struct bnxt *bp)
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
if (ulp_msix && i >= ulp_base_vec)
|
||||
ring->map_idx = i + ulp_msix;
|
||||
else
|
||||
ring->map_idx = i;
|
||||
ring->map_idx = ulp_msix + i;
|
||||
|
||||
if (!(bp->flags & BNXT_FLAG_CHIP_P5_PLUS))
|
||||
continue;
|
||||
@ -7347,17 +7343,7 @@ static int bnxt_hwrm_reserve_rings(struct bnxt *bp, struct bnxt_hw_rings *hwr)
|
||||
|
||||
int bnxt_nq_rings_in_use(struct bnxt *bp)
|
||||
{
|
||||
int cp = bp->cp_nr_rings;
|
||||
int ulp_msix, ulp_base;
|
||||
|
||||
ulp_msix = bnxt_get_ulp_msix_num(bp);
|
||||
if (ulp_msix) {
|
||||
ulp_base = bnxt_get_ulp_msix_base(bp);
|
||||
cp += ulp_msix;
|
||||
if ((ulp_base + ulp_msix) > cp)
|
||||
cp = ulp_base + ulp_msix;
|
||||
}
|
||||
return cp;
|
||||
return bp->cp_nr_rings + bnxt_get_ulp_msix_num(bp);
|
||||
}
|
||||
|
||||
static int bnxt_cp_rings_in_use(struct bnxt *bp)
|
||||
@ -7373,16 +7359,7 @@ static int bnxt_cp_rings_in_use(struct bnxt *bp)
|
||||
|
||||
static int bnxt_get_func_stat_ctxs(struct bnxt *bp)
|
||||
{
|
||||
int ulp_stat = bnxt_get_ulp_stat_ctxs(bp);
|
||||
int cp = bp->cp_nr_rings;
|
||||
|
||||
if (!ulp_stat)
|
||||
return cp;
|
||||
|
||||
if (bnxt_nq_rings_in_use(bp) > cp + bnxt_get_ulp_msix_num(bp))
|
||||
return bnxt_get_ulp_msix_base(bp) + ulp_stat;
|
||||
|
||||
return cp + ulp_stat;
|
||||
return bp->cp_nr_rings + bnxt_get_ulp_stat_ctxs(bp);
|
||||
}
|
||||
|
||||
static int bnxt_get_total_rss_ctxs(struct bnxt *bp, struct bnxt_hw_rings *hwr)
|
||||
|
@ -31,21 +31,20 @@ static DEFINE_IDA(bnxt_aux_dev_ids);
|
||||
static void bnxt_fill_msix_vecs(struct bnxt *bp, struct bnxt_msix_entry *ent)
|
||||
{
|
||||
struct bnxt_en_dev *edev = bp->edev;
|
||||
int num_msix, idx, i;
|
||||
int num_msix, i;
|
||||
|
||||
if (!edev->ulp_tbl->msix_requested) {
|
||||
netdev_warn(bp->dev, "Requested MSI-X vectors insufficient\n");
|
||||
return;
|
||||
}
|
||||
num_msix = edev->ulp_tbl->msix_requested;
|
||||
idx = edev->ulp_tbl->msix_base;
|
||||
for (i = 0; i < num_msix; i++) {
|
||||
ent[i].vector = bp->irq_tbl[idx + i].vector;
|
||||
ent[i].ring_idx = idx + i;
|
||||
ent[i].vector = bp->irq_tbl[i].vector;
|
||||
ent[i].ring_idx = i;
|
||||
if (bp->flags & BNXT_FLAG_CHIP_P5_PLUS)
|
||||
ent[i].db_offset = bp->db_offset;
|
||||
else
|
||||
ent[i].db_offset = (idx + i) * 0x80;
|
||||
ent[i].db_offset = i * 0x80;
|
||||
}
|
||||
}
|
||||
|
||||
@ -111,17 +110,6 @@ int bnxt_get_ulp_msix_num(struct bnxt *bp)
|
||||
min_t(u32, roce_msix, num_online_cpus()) : 0);
|
||||
}
|
||||
|
||||
int bnxt_get_ulp_msix_base(struct bnxt *bp)
|
||||
{
|
||||
if (bnxt_ulp_registered(bp->edev)) {
|
||||
struct bnxt_en_dev *edev = bp->edev;
|
||||
|
||||
if (edev->ulp_tbl->msix_requested)
|
||||
return edev->ulp_tbl->msix_base;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int bnxt_get_ulp_stat_ctxs(struct bnxt *bp)
|
||||
{
|
||||
if (bnxt_ulp_registered(bp->edev)) {
|
||||
|
@ -46,7 +46,6 @@ struct bnxt_ulp {
|
||||
unsigned long *async_events_bmap;
|
||||
u16 max_async_event_id;
|
||||
u16 msix_requested;
|
||||
u16 msix_base;
|
||||
atomic_t ref_count;
|
||||
};
|
||||
|
||||
@ -96,7 +95,6 @@ static inline bool bnxt_ulp_registered(struct bnxt_en_dev *edev)
|
||||
}
|
||||
|
||||
int bnxt_get_ulp_msix_num(struct bnxt *bp);
|
||||
int bnxt_get_ulp_msix_base(struct bnxt *bp);
|
||||
int bnxt_get_ulp_stat_ctxs(struct bnxt *bp);
|
||||
void bnxt_ulp_stop(struct bnxt *bp);
|
||||
void bnxt_ulp_start(struct bnxt *bp, int err);
|
||||
|
Loading…
Reference in New Issue
Block a user