Lines Matching refs:sgid_tbl

197 			struct bnxt_qplib_sgid_tbl *sgid_tbl, int index,  in bnxt_qplib_get_sgid()  argument
200 if (index >= sgid_tbl->max) { in bnxt_qplib_get_sgid()
203 index, sgid_tbl->max); in bnxt_qplib_get_sgid()
206 memcpy(gid, &sgid_tbl->tbl[index], sizeof(*gid)); in bnxt_qplib_get_sgid()
210 int bnxt_qplib_del_sgid(struct bnxt_qplib_sgid_tbl *sgid_tbl, in bnxt_qplib_del_sgid() argument
213 struct bnxt_qplib_res *res = to_bnxt_qplib(sgid_tbl, in bnxt_qplib_del_sgid()
215 sgid_tbl); in bnxt_qplib_del_sgid()
219 if (!sgid_tbl) { in bnxt_qplib_del_sgid()
224 if (!sgid_tbl->active) { in bnxt_qplib_del_sgid()
229 for (index = 0; index < sgid_tbl->max; index++) { in bnxt_qplib_del_sgid()
230 if (!memcmp(&sgid_tbl->tbl[index], gid, sizeof(*gid))) in bnxt_qplib_del_sgid()
233 if (index == sgid_tbl->max) { in bnxt_qplib_del_sgid()
245 if (sgid_tbl->hw_id[index] == 0xFFFF) { in bnxt_qplib_del_sgid()
250 req.gid_index = cpu_to_le16(sgid_tbl->hw_id[index]); in bnxt_qplib_del_sgid()
256 memcpy(&sgid_tbl->tbl[index], &bnxt_qplib_gid_zero, in bnxt_qplib_del_sgid()
258 sgid_tbl->vlan[index] = 0; in bnxt_qplib_del_sgid()
259 sgid_tbl->active--; in bnxt_qplib_del_sgid()
262 index, sgid_tbl->hw_id[index], sgid_tbl->active); in bnxt_qplib_del_sgid()
263 sgid_tbl->hw_id[index] = (u16)-1; in bnxt_qplib_del_sgid()
269 int bnxt_qplib_add_sgid(struct bnxt_qplib_sgid_tbl *sgid_tbl, in bnxt_qplib_add_sgid() argument
273 struct bnxt_qplib_res *res = to_bnxt_qplib(sgid_tbl, in bnxt_qplib_add_sgid()
275 sgid_tbl); in bnxt_qplib_add_sgid()
279 if (!sgid_tbl) { in bnxt_qplib_add_sgid()
284 if (sgid_tbl->active == sgid_tbl->max) { in bnxt_qplib_add_sgid()
288 free_idx = sgid_tbl->max; in bnxt_qplib_add_sgid()
289 for (i = 0; i < sgid_tbl->max; i++) { in bnxt_qplib_add_sgid()
290 if (!memcmp(&sgid_tbl->tbl[i], gid, sizeof(*gid))) { in bnxt_qplib_add_sgid()
296 } else if (!memcmp(&sgid_tbl->tbl[i], &bnxt_qplib_gid_zero, in bnxt_qplib_add_sgid()
298 free_idx == sgid_tbl->max) { in bnxt_qplib_add_sgid()
302 if (free_idx == sgid_tbl->max) { in bnxt_qplib_add_sgid()
342 sgid_tbl->hw_id[free_idx] = le32_to_cpu(resp.xid); in bnxt_qplib_add_sgid()
345 memcpy(&sgid_tbl->tbl[free_idx], gid, sizeof(*gid)); in bnxt_qplib_add_sgid()
346 sgid_tbl->active++; in bnxt_qplib_add_sgid()
348 sgid_tbl->vlan[free_idx] = 1; in bnxt_qplib_add_sgid()
352 free_idx, sgid_tbl->hw_id[free_idx], sgid_tbl->active); in bnxt_qplib_add_sgid()
359 int bnxt_qplib_update_sgid(struct bnxt_qplib_sgid_tbl *sgid_tbl, in bnxt_qplib_update_sgid() argument
363 struct bnxt_qplib_res *res = to_bnxt_qplib(sgid_tbl, in bnxt_qplib_update_sgid()
365 sgid_tbl); in bnxt_qplib_update_sgid()
506 req.sgid_index = cpu_to_le16(res->sgid_tbl.hw_id[ah->sgid_index]); in bnxt_qplib_create_ah()