Skip to content

Commit dbb799c

Browse files
Yuval Mintzdavem330
authored andcommitted
qed: Initialize hardware for new protocols
RoCE and iSCSI would require some added/changed hw configuration in order to properly run; The biggest single change being the requirement of allocating and mapping host memory for several HW blocks that aren't being used by qede [SRC, QM, TM, etc.]. In addition, whereas qede is only using context memory for HW blocks, the new protocol would also require task memories to be added. Signed-off-by: Yuval Mintz <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent c5ac931 commit dbb799c

File tree

7 files changed

+1535
-70
lines changed

7 files changed

+1535
-70
lines changed

drivers/net/ethernet/qlogic/qed/qed.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,8 @@ struct qed_hw_info {
187187

188188
#define RESC_START(_p_hwfn, resc) ((_p_hwfn)->hw_info.resc_start[resc])
189189
#define RESC_NUM(_p_hwfn, resc) ((_p_hwfn)->hw_info.resc_num[resc])
190+
#define RESC_END(_p_hwfn, resc) (RESC_START(_p_hwfn, resc) + \
191+
RESC_NUM(_p_hwfn, resc))
190192
#define FEAT_NUM(_p_hwfn, resc) ((_p_hwfn)->hw_info.feat_num[resc])
191193

192194
u8 num_tc;
@@ -259,6 +261,7 @@ struct qed_qm_info {
259261
u8 pure_lb_pq;
260262
u8 offload_pq;
261263
u8 pure_ack_pq;
264+
u8 ooo_pq;
262265
u8 vf_queues_offset;
263266
u16 num_pqs;
264267
u16 num_vf_pqs;
@@ -271,6 +274,7 @@ struct qed_qm_info {
271274
u8 pf_wfq;
272275
u32 pf_rl;
273276
struct qed_wfq_data *wfq_data;
277+
u8 num_pf_rls;
274278
};
275279

276280
struct storm_stats {
@@ -316,6 +320,7 @@ struct qed_hwfn {
316320
bool hw_init_done;
317321

318322
u8 num_funcs_on_engine;
323+
u8 enabled_func_idx;
319324

320325
/* BAR access */
321326
void __iomem *regview;
@@ -354,6 +359,9 @@ struct qed_hwfn {
354359
/* Protocol related */
355360
struct qed_pf_params pf_params;
356361

362+
bool b_rdma_enabled_in_prs;
363+
u32 rdma_prs_search_reg;
364+
357365
/* Array of sb_info of all status blocks */
358366
struct qed_sb_info *sbs_info[MAX_SB_PER_PF_MIMD];
359367
u16 num_sbs;
@@ -559,6 +567,7 @@ static inline u8 qed_concrete_to_sw_fid(struct qed_dev *cdev,
559567
}
560568

561569
#define PURE_LB_TC 8
570+
#define OOO_LB_TC 9
562571

563572
int qed_configure_vport_wfq(struct qed_dev *cdev, u16 vp_id, u32 rate);
564573
void qed_configure_vp_wfq_on_link_change(struct qed_dev *cdev, u32 min_pf_rate);

0 commit comments

Comments
 (0)