mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
bnxt_en: Change IRQ assignment for RDMA driver.
In the current code, the range of MSIX vectors allocated for the RDMA driver is disjoint from the network driver. This creates a problem for the new firmware ring reservation scheme. The new scheme requires the reserved completion rings/MSIX vectors to be in a contiguous range. Change the logic to allocate RDMA MSIX vectors to be contiguous with the vectors used by bnxt_en on new firmware using the new scheme. The new function bnxt_get_num_msix() calculates the exact number of vectors needed by both drivers. Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
9899bb59ff
commit
08654eb213
@@ -49,6 +49,7 @@ struct bnxt_ulp {
|
||||
unsigned long *async_events_bmap;
|
||||
u16 max_async_event_id;
|
||||
u16 msix_requested;
|
||||
u16 msix_base;
|
||||
atomic_t ref_count;
|
||||
};
|
||||
|
||||
@@ -84,6 +85,8 @@ static inline bool bnxt_ulp_registered(struct bnxt_en_dev *edev, int ulp_id)
|
||||
return false;
|
||||
}
|
||||
|
||||
int bnxt_get_ulp_msix_num(struct bnxt *bp);
|
||||
int bnxt_get_ulp_msix_base(struct bnxt *bp);
|
||||
void bnxt_subtract_ulp_resources(struct bnxt *bp, int ulp_id);
|
||||
void bnxt_ulp_stop(struct bnxt *bp);
|
||||
void bnxt_ulp_start(struct bnxt *bp);
|
||||
|
||||
Reference in New Issue
Block a user