bnx2x_sp.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #ifndef BNX2X_SP
  2. #define BNX2X_SP
  3. #include "bnx2x_reg.h"
  4. /* MAC configuration */
  5. void bnx2x_set_mac_addr_gen(struct bnx2x *bp, int set, const u8 *mac,
  6. u32 cl_bit_vec, u8 cam_offset,
  7. u8 is_bcast);
  8. /* Multicast */
  9. void bnx2x_invalidate_e1_mc_list(struct bnx2x *bp);
  10. void bnx2x_invalidate_e1h_mc_list(struct bnx2x *bp);
  11. int bnx2x_set_e1_mc_list(struct bnx2x *bp);
  12. int bnx2x_set_e1h_mc_list(struct bnx2x *bp);
  13. /* Rx mode */
  14. void bnx2x_set_storm_rx_mode(struct bnx2x *bp);
  15. void bnx2x_rxq_set_mac_filters(struct bnx2x *bp, u16 cl_id, u32 filters);
  16. /* RSS configuration */
  17. void bnx2x_func_init(struct bnx2x *bp, struct bnx2x_func_init_params *p);
  18. void bnx2x_push_indir_table(struct bnx2x *bp);
  19. /* Queue configuration */
  20. static inline void bnx2x_set_ctx_validation(struct eth_context *cxt, u32 cid)
  21. {
  22. /* ustorm cxt validation */
  23. cxt->ustorm_ag_context.cdu_usage =
  24. CDU_RSRVD_VALUE_TYPE_A(cid, CDU_REGION_NUMBER_UCM_AG,
  25. ETH_CONNECTION_TYPE);
  26. /* xcontext validation */
  27. cxt->xstorm_ag_context.cdu_reserved =
  28. CDU_RSRVD_VALUE_TYPE_A(cid, CDU_REGION_NUMBER_XCM_AG,
  29. ETH_CONNECTION_TYPE);
  30. }
  31. int bnx2x_setup_fw_client(struct bnx2x *bp,
  32. struct bnx2x_client_init_params *params,
  33. u8 activate,
  34. struct client_init_ramrod_data *data,
  35. dma_addr_t data_mapping);
  36. #endif /* BNX2X_SP */