Lines Matching refs:idx

281 	int idx;  in cpsw_ale_get_field()  local
283 idx = start / 32; in cpsw_ale_get_field()
284 start -= idx * 32; in cpsw_ale_get_field()
285 idx = 2 - idx; /* flip */ in cpsw_ale_get_field()
286 return (ale_entry[idx] >> start) & BITMASK(bits); in cpsw_ale_get_field()
292 int idx; in cpsw_ale_set_field() local
295 idx = start / 32; in cpsw_ale_set_field()
296 start -= idx * 32; in cpsw_ale_set_field()
297 idx = 2 - idx; /* flip */ in cpsw_ale_set_field()
298 ale_entry[idx] &= ~(BITMASK(bits) << start); in cpsw_ale_set_field()
299 ale_entry[idx] |= (value << start); in cpsw_ale_set_field()
338 static int cpsw_ale_read(struct cpsw_priv *priv, int idx, u32 *ale_entry) in cpsw_ale_read() argument
342 __raw_writel(idx, priv->ale_regs + ALE_TABLE_CONTROL); in cpsw_ale_read()
347 return idx; in cpsw_ale_read()
350 static int cpsw_ale_write(struct cpsw_priv *priv, int idx, u32 *ale_entry) in cpsw_ale_write() argument
357 __raw_writel(idx | ALE_TABLE_WRITE, priv->ale_regs + ALE_TABLE_CONTROL); in cpsw_ale_write()
359 return idx; in cpsw_ale_write()
365 int type, idx; in cpsw_ale_match_addr() local
367 for (idx = 0; idx < priv->data.ale_entries; idx++) { in cpsw_ale_match_addr()
370 cpsw_ale_read(priv, idx, ale_entry); in cpsw_ale_match_addr()
376 return idx; in cpsw_ale_match_addr()
384 int type, idx; in cpsw_ale_match_free() local
386 for (idx = 0; idx < priv->data.ale_entries; idx++) { in cpsw_ale_match_free()
387 cpsw_ale_read(priv, idx, ale_entry); in cpsw_ale_match_free()
390 return idx; in cpsw_ale_match_free()
398 int type, idx; in cpsw_ale_find_ageable() local
400 for (idx = 0; idx < priv->data.ale_entries; idx++) { in cpsw_ale_find_ageable()
401 cpsw_ale_read(priv, idx, ale_entry); in cpsw_ale_find_ageable()
410 return idx; in cpsw_ale_find_ageable()
419 int idx; in cpsw_ale_add_ucast() local
428 idx = cpsw_ale_match_addr(priv, addr); in cpsw_ale_add_ucast()
429 if (idx < 0) in cpsw_ale_add_ucast()
430 idx = cpsw_ale_match_free(priv); in cpsw_ale_add_ucast()
431 if (idx < 0) in cpsw_ale_add_ucast()
432 idx = cpsw_ale_find_ageable(priv); in cpsw_ale_add_ucast()
433 if (idx < 0) in cpsw_ale_add_ucast()
436 cpsw_ale_write(priv, idx, ale_entry); in cpsw_ale_add_ucast()
444 int idx, mask; in cpsw_ale_add_mcast() local
446 idx = cpsw_ale_match_addr(priv, addr); in cpsw_ale_add_mcast()
447 if (idx >= 0) in cpsw_ale_add_mcast()
448 cpsw_ale_read(priv, idx, ale_entry); in cpsw_ale_add_mcast()
458 if (idx < 0) in cpsw_ale_add_mcast()
459 idx = cpsw_ale_match_free(priv); in cpsw_ale_add_mcast()
460 if (idx < 0) in cpsw_ale_add_mcast()
461 idx = cpsw_ale_find_ageable(priv); in cpsw_ale_add_mcast()
462 if (idx < 0) in cpsw_ale_add_mcast()
465 cpsw_ale_write(priv, idx, ale_entry); in cpsw_ale_add_mcast()
1021 int idx = 0; in _cpsw_register() local
1024 cpsw_slave_setup(slave, idx, priv); in _cpsw_register()
1025 idx = idx + 1; in _cpsw_register()