Lines Matching refs:slice

31 	(offs[slice].ft1_slot_base + FT1_SLOT_SIZE * (n) + (reg))
66 (offs[slice].ft3_slot_base + FT3_SLOT_SIZE * (n) + (reg))
74 #define RX_CLASS_N_REG(slice, n, reg) \
75 (offs[slice].rx_class_base + RX_CLASS_EN_SIZE * (n) + (reg))
80 #define RX_CLASS_GATES_N_REG(slice, n) \
81 (offs[slice].rx_class_gates_base + RX_CLASS_GATES_SIZE * (n))
205 static void rx_class_ft1_set_start_len(struct regmap *miig_rt, int slice,
210 offset = offs[slice].ft1_start_len;
215 static void rx_class_ft1_set_da(struct regmap *miig_rt, int slice,
220 offset = FT1_N_REG(slice, n, FT1_DA0);
223 offset = FT1_N_REG(slice, n, FT1_DA1);
227 static void rx_class_ft1_set_da_mask(struct regmap *miig_rt, int slice,
232 offset = FT1_N_REG(slice, n, FT1_DA0_MASK);
235 offset = FT1_N_REG(slice, n, FT1_DA1_MASK);
239 static void rx_class_ft1_cfg_set_type(struct regmap *miig_rt, int slice, int n,
244 offset = offs[slice].ft1_cfg;
249 static void rx_class_sel_set_type(struct regmap *miig_rt, int slice, int n,
254 offset = offs[slice].rx_class_cfg1;
259 static void rx_class_set_and(struct regmap *miig_rt, int slice, int n,
264 offset = RX_CLASS_N_REG(slice, n, RX_CLASS_AND_EN);
268 static void rx_class_set_or(struct regmap *miig_rt, int slice, int n,
273 offset = RX_CLASS_N_REG(slice, n, RX_CLASS_OR_EN);
284 void icssg_class_set_mac_addr(struct regmap *miig_rt, int slice, u8 *mac)
286 regmap_write(miig_rt, offs[slice].mac0, (u32)(mac[0] | mac[1] << 8 |
288 regmap_write(miig_rt, offs[slice].mac1, (u32)(mac[4] | mac[5] << 8));
292 void icssg_class_disable(struct regmap *miig_rt, int slice)
303 rx_class_set_and(miig_rt, slice, n, 0);
305 rx_class_set_or(miig_rt, slice, n, 0);
308 rx_class_sel_set_type(miig_rt, slice, n, RX_CLASS_SEL_TYPE_OR);
311 offset = RX_CLASS_GATES_N_REG(slice, n);
324 rx_class_ft1_cfg_set_type(miig_rt, slice, n,
326 rx_class_ft1_set_da(miig_rt, slice, n, addr);
327 rx_class_ft1_set_da_mask(miig_rt, slice, n, addr);
331 regmap_write(miig_rt, offs[slice].rx_class_cfg2, 0);
334 void icssg_class_default(struct regmap *miig_rt, int slice, bool allmulti)
339 icssg_class_disable(miig_rt, slice);
349 rx_class_set_or(miig_rt, slice, 0, data);
352 rx_class_sel_set_type(miig_rt, slice, 0, RX_CLASS_SEL_TYPE_OR_OR_AND);
355 regmap_write(miig_rt, offs[slice].rx_class_cfg2, 0);
359 void icssg_ft1_set_mac_addr(struct regmap *miig_rt, int slice, u8 *mac_addr)
363 rx_class_ft1_set_start_len(miig_rt, slice, 0, 6);
364 rx_class_ft1_set_da(miig_rt, slice, 0, mac_addr);
365 rx_class_ft1_set_da_mask(miig_rt, slice, 0, mask_addr);
366 rx_class_ft1_cfg_set_type(miig_rt, slice, 0, FT1_CFG_TYPE_EQ);