vlan_table
static const struct ib_field vlan_table[] = {
ib_pack(vlan_table, ARRAY_SIZE(vlan_table),
ksz_write32(dev, REG_SW_VLAN_ENTRY__4, vlan_table[0]);
ksz_write32(dev, REG_SW_VLAN_ENTRY_UNTAG__4, vlan_table[1]);
ksz_write32(dev, REG_SW_VLAN_ENTRY_PORTS__4, vlan_table[2]);
dev->vlan_cache[vid].table[0] = vlan_table[0];
dev->vlan_cache[vid].table[1] = vlan_table[1];
dev->vlan_cache[vid].table[2] = vlan_table[2];
u32 vlan_table[3];
err = ksz9477_get_vlan_table(dev, vlan->vid, vlan_table);
vlan_table[0] = VLAN_VALID | (vlan->vid & VLAN_FID_M);
vlan_table[1] |= BIT(port);
vlan_table[1] &= ~BIT(port);
vlan_table[1] &= ~(BIT(dev->cpu_port));
vlan_table[2] |= BIT(port) | BIT(dev->cpu_port);
err = ksz9477_set_vlan_table(dev, vlan->vid, vlan_table);
u32 *vlan_table)
u32 vlan_table[3];
if (ksz9477_get_vlan_table(dev, vlan->vid, vlan_table)) {
vlan_table[2] &= ~BIT(port);
vlan_table[1] &= ~BIT(port);
if (ksz9477_set_vlan_table(dev, vlan->vid, vlan_table)) {
ksz_read32(dev, REG_SW_VLAN_ENTRY__4, &vlan_table[0]);
ksz_read32(dev, REG_SW_VLAN_ENTRY_UNTAG__4, &vlan_table[1]);
ksz_read32(dev, REG_SW_VLAN_ENTRY_PORTS__4, &vlan_table[2]);
u32 *vlan_table)
dev->vlan_cache = devm_kcalloc(dev->dev, sizeof(struct vlan_table),
struct vlan_table *vlan_cache;
clear_bit(vport->vport_id, hdev->vlan_table[vlan_id]);
memset(hdev->vlan_table, 0, sizeof(hdev->vlan_table));
test_bit(vport_id, hdev->vlan_table[vlan_id]))
if (!is_kill && test_and_set_bit(vport_id, hdev->vlan_table[vlan_id])) {
!test_and_clear_bit(vport_id, hdev->vlan_table[vlan_id])) {
for_each_set_bit(vport_idx, hdev->vlan_table[vlan_id], HCLGE_VPORT_NUM)
unsigned long vlan_table[VLAN_N_VID][BITS_TO_LONGS(HCLGE_VPORT_NUM)];
u32 vlan_table, reg, mask, bit, len;
vlan_table = fm10k_read_reg(hw, reg);
mask &= set ? ~vlan_table : vlan_table;
fm10k_write_reg(hw, reg, vlan_table ^ mask);
mlx4_init_vlan_table(dev, &info->vlan_table);
struct mlx4_vlan_table vlan_table;
struct mlx4_vlan_table *table = &mlx4_priv(dev)->port[port].vlan_table;
struct mlx4_vlan_table *table = &mlx4_priv(dev)->port[port].vlan_table;
struct mlx4_vlan_table *dup_table = &mlx4_priv(dev)->port[dup_port].vlan_table;
struct mlx4_vlan_table *table = &mlx4_priv(dev)->port[port].vlan_table;
struct mlx4_vlan_table *dup_table = &mlx4_priv(dev)->port[dup_port].vlan_table;
struct mlx4_vlan_table *t1 = &mlx4_priv(dev)->port[1].vlan_table;
struct mlx4_vlan_table *t2 = &mlx4_priv(dev)->port[2].vlan_table;
struct mlx4_vlan_table *t1 = &mlx4_priv(dev)->port[1].vlan_table;
struct mlx4_vlan_table *t2 = &mlx4_priv(dev)->port[2].vlan_table;
struct ksz_vlan_table vlan_table[VLAN_TABLE_ENTRIES];
&sw->vlan_table[entry].vid,
&sw->vlan_table[entry].fid,
&sw->vlan_table[entry].member);
DP_SEL_VHF_VLAN_LEN, pdata->vlan_table);
pdata->vlan_table[vid_dword_index] |= (1 << vid_bit_index);
pdata->vlan_table[vid_dword_index] &= ~(1 << vid_bit_index);
u32 vlan_table[DP_SEL_VHF_VLAN_LEN];
pdata->vlan_table[i] = 0;