arch/arm/mach-orion5x/kurobox_pro-setup.c
76
.ale = 1,
arch/mips/include/asm/octeon/cvmx-mio-defs.h
496
uint64_t ale:1;
arch/mips/include/asm/octeon/cvmx-mio-defs.h
512
uint64_t ale:1;
arch/mips/include/asm/octeon/cvmx-mio-defs.h
520
uint64_t ale:1;
arch/mips/include/asm/octeon/cvmx-mio-defs.h
536
uint64_t ale:1;
arch/mips/include/asm/octeon/cvmx-mio-defs.h
543
uint64_t ale:1;
arch/mips/include/asm/octeon/cvmx-mio-defs.h
557
uint64_t ale:1;
arch/mips/include/asm/octeon/cvmx-mio-defs.h
565
uint64_t ale:1;
arch/mips/include/asm/octeon/cvmx-mio-defs.h
581
uint64_t ale:1;
arch/mips/include/asm/octeon/cvmx-mio-defs.h
601
uint64_t ale:1;
arch/mips/include/asm/octeon/cvmx-mio-defs.h
609
uint64_t ale:1;
arch/mips/include/asm/octeon/cvmx-mio-defs.h
629
uint64_t ale:1;
arch/mips/include/asm/octeon/cvmx-mio-defs.h
637
uint64_t ale:1;
arch/mips/include/asm/octeon/cvmx-mio-defs.h
673
uint64_t ale:1;
arch/mips/include/asm/octeon/cvmx-mio-defs.h
681
uint64_t ale:1;
arch/mips/include/asm/octeon/cvmx-mio-defs.h
701
uint64_t ale:6;
arch/mips/include/asm/octeon/cvmx-mio-defs.h
721
uint64_t ale:6;
arch/s390/kvm/gaccess.c
238
struct ale ale;
arch/s390/kvm/gaccess.c
279
rc = read_guest_real(vcpu, ald.alo * 128 + alet.alen * 16, &ale,
arch/s390/kvm/gaccess.c
280
sizeof(struct ale));
arch/s390/kvm/gaccess.c
284
if (ale.i == 1)
arch/s390/kvm/gaccess.c
286
if (ale.alesn != alet.alesn)
arch/s390/kvm/gaccess.c
289
rc = read_guest_real(vcpu, ale.asteo * 64, &aste, sizeof(struct aste));
arch/s390/kvm/gaccess.c
295
if (aste.astesn != ale.astesn)
arch/s390/kvm/gaccess.c
298
if (ale.p == 1) {
arch/s390/kvm/gaccess.c
300
if (ale.aleax != eax) {
arch/s390/kvm/gaccess.c
317
if (ale.fo == 1 && mode == GACC_STORE)
drivers/ata/pata_octeon_cf.c
114
reg_cfg.s.ale = 0; /* Don't do address multiplexing */
drivers/ata/pata_octeon_cf.c
183
reg_tim.s.ale = 0;
drivers/bus/ts-nbus.c
112
gpiod_set_value_cansleep(ts_nbus->ale, 0);
drivers/bus/ts-nbus.c
180
gpiod_set_value_cansleep(ts_nbus->ale, 1);
drivers/bus/ts-nbus.c
34
struct gpio_desc *ale;
drivers/bus/ts-nbus.c
66
ts_nbus->ale = devm_gpiod_get(&pdev->dev, "ts,ale", GPIOD_OUT_HIGH);
drivers/bus/ts-nbus.c
67
if (IS_ERR(ts_nbus->ale))
drivers/bus/ts-nbus.c
68
return dev_err_probe(&pdev->dev, PTR_ERR(ts_nbus->ale),
drivers/mtd/nand/raw/gpio.c
330
gpiomtd->ale = devm_gpiod_get(dev, "ale", GPIOD_OUT_LOW);
drivers/mtd/nand/raw/gpio.c
331
if (IS_ERR(gpiomtd->ale)) {
drivers/mtd/nand/raw/gpio.c
332
ret = PTR_ERR(gpiomtd->ale);
drivers/mtd/nand/raw/gpio.c
38
struct gpio_desc *ale;
drivers/mtd/nand/raw/gpio.c
93
gpiod_set_value(gpiomtd->ale, 1);
drivers/mtd/nand/raw/gpio.c
98
gpiod_set_value(gpiomtd->ale, 0);
drivers/mtd/nand/raw/nandsim.c
1872
if (ns->lines.ale || ns->lines.cle) {
drivers/mtd/nand/raw/nandsim.c
1932
if (ns->lines.ale && ns->lines.cle) {
drivers/mtd/nand/raw/nandsim.c
1985
} else if (ns->lines.ale == 1) {
drivers/mtd/nand/raw/nandsim.c
2117
if (ns->lines.ale || ns->lines.cle) {
drivers/mtd/nand/raw/nandsim.c
2185
ns->lines.ale = 0;
drivers/mtd/nand/raw/nandsim.c
2193
ns->lines.ale = 1;
drivers/mtd/nand/raw/nandsim.c
348
int ale; /* address Latch Enable */
drivers/mtd/nand/raw/orion_nand.c
136
board->ale = (u8)val;
drivers/mtd/nand/raw/orion_nand.c
138
board->ale = 1;
drivers/mtd/nand/raw/orion_nand.c
42
offs = (1 << board->ale);
drivers/mtd/nand/raw/renesas-nand-controller.c
902
unsigned int cyc, cle, ale, bef_dly, ca_to_data;
drivers/mtd/nand/raw/renesas-nand-controller.c
931
ale = sdr->tALH_min + sdr->tALS_min;
drivers/mtd/nand/raw/renesas-nand-controller.c
954
TIM_GEN_SEQ1_D4(TO_CYCLES64(ale - cyc, period_ns)) |
drivers/mtd/nand/raw/renesas-nand-controller.c
955
TIM_GEN_SEQ1_D5(TO_CYCLES64(ale - cyc, period_ns)) |
drivers/net/ethernet/ti/am65-cpsw-ethtool.c
539
ale_entries = cpsw_ale_get_num_entries(common->ale);
drivers/net/ethernet/ti/am65-cpsw-ethtool.c
562
ale_entries = cpsw_ale_get_num_entries(common->ale);
drivers/net/ethernet/ti/am65-cpsw-ethtool.c
574
cpsw_ale_dump(common->ale, ®[pos]);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
1775
cpsw_ale_del_ucast(common->ale, ndev->dev_addr,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
1777
cpsw_ale_add_ucast(common->ale, sockaddr->sa_data,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2096
cpsw_ale_control_set(common->ale, port->port_id, ALE_PORT_STATE, ALE_PORT_STATE_DISABLE);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2152
cpsw_ale_control_set(common->ale, port->port_id, ALE_PORT_STATE, ALE_PORT_STATE_FORWARD);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2171
cpsw_ale_control_set(common->ale, port->port_id,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
2496
cpsw_ale_classifier_setup_default(common->ale, common->rx_ch_num_flows);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3040
cpsw_ale_add_mcast(cpsw->ale, eth_stp_addr, ALE_PORT_HOST, ALE_SUPER, 0,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3052
cpsw_ale_control_set(common->ale, HOST_PORT_NUM, ALE_P0_UNI_FLOOD, 1);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3054
cpsw_ale_control_set(common->ale, HOST_PORT_NUM, ALE_PORT_NOLEARN, 0);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3063
cpsw_ale_control_set(common->ale, HOST_PORT_NUM, ALE_P0_UNI_FLOOD, 0);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3067
cpsw_ale_control_set(common->ale, HOST_PORT_NUM, ALE_PORT_NOLEARN, 1);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3097
cpsw_ale_control_set(common->ale, port->port_id,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3100
cpsw_ale_control_set(common->ale, port->port_id, ALE_PORT_NOLEARN, 1);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3104
cpsw_ale_add_ucast(common->ale, port->ndev->dev_addr,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3106
cpsw_ale_add_mcast(common->ale, port->ndev->broadcast,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3116
cpsw_ale_control_set(cpsw->ale, port->port_id,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3119
cpsw_ale_add_ucast(cpsw->ale, port->ndev->dev_addr,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3125
cpsw_ale_add_mcast(cpsw->ale, port->ndev->broadcast,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3131
cpsw_ale_control_set(cpsw->ale, port->port_id,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3190
cpsw_ale_control_set(cpsw->ale, 0, ALE_BYPASS, 1);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3192
cpsw_ale_control_set(cpsw->ale, HOST_PORT_NUM, ALE_CLEAR, 1);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3193
cpsw_ale_control_get(cpsw->ale, HOST_PORT_NUM, ALE_AGEOUT);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
320
ret = cpsw_ale_vlan_add_modify(common->ale, vid, port_mask,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3234
cpsw_ale_control_set(cpsw->ale, HOST_PORT_NUM, ALE_BYPASS, 0);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
345
ret = cpsw_ale_del_vlan(common->ale, vid,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3629
common->ale = cpsw_ale_create(&ale_params);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3630
if (IS_ERR(common->ale)) {
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3632
ret = PTR_ERR(common->ale);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3636
ale_entries = common->ale->params.ale_entries;
drivers/net/ethernet/ti/am65-cpsw-nuss.c
364
cpsw_ale_control_set(common->ale, port->port_id,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
369
cpsw_ale_control_set(common->ale, port->port_id,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3724
cpsw_ale_dump(common->ale, common->ale_context);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
3801
cpsw_ale_restore(common->ale, common->ale_context);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
389
cpsw_ale_set_allmulti(common->ale,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
394
cpsw_ale_flush_multicast(common->ale, port_mask, -1);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
401
cpsw_ale_add_mcast(common->ale, ha->addr,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
904
cpsw_ale_start(common->ale);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
907
cpsw_ale_control_set(common->ale, HOST_PORT_NUM,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
909
cpsw_ale_control_set(common->ale, HOST_PORT_NUM,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
912
cpsw_ale_control_set(common->ale, HOST_PORT_NUM, ALE_VLAN_AWARE, 1);
drivers/net/ethernet/ti/am65-cpsw-nuss.c
913
cpsw_ale_control_set(common->ale, HOST_PORT_NUM,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
920
cpsw_ale_add_vlan(common->ale, 0, port_mask,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
953
cpsw_ale_control_set(common->ale, HOST_PORT_NUM,
drivers/net/ethernet/ti/am65-cpsw-nuss.c
958
cpsw_ale_stop(common->ale);
drivers/net/ethernet/ti/am65-cpsw-nuss.h
164
struct cpsw_ale *ale;
drivers/net/ethernet/ti/am65-cpsw-qos.c
1062
ret = cpsw_ale_rx_ratelimit_bc(port->common->ale, port->port_id, rate_pkt_ps);
drivers/net/ethernet/ti/am65-cpsw-qos.c
1070
ret = cpsw_ale_rx_ratelimit_mc(port->common->ale, port->port_id, rate_pkt_ps);
drivers/net/ethernet/ti/am65-cpsw-qos.c
1151
cpsw_ale_rx_ratelimit_bc(port->common->ale, port->port_id, 0);
drivers/net/ethernet/ti/am65-cpsw-qos.c
1157
cpsw_ale_rx_ratelimit_mc(port->common->ale, port->port_id, 0);
drivers/net/ethernet/ti/am65-cpsw-switchdev.c
176
ret = cpsw_ale_vlan_add_modify(cpsw->ale, vid, port_mask, untag_mask,
drivers/net/ethernet/ti/am65-cpsw-switchdev.c
184
cpsw_ale_add_ucast(cpsw->ale, port->slave.mac_addr,
drivers/net/ethernet/ti/am65-cpsw-switchdev.c
210
ret = cpsw_ale_del_vlan(cpsw->ale, vid, port_mask);
drivers/net/ethernet/ti/am65-cpsw-switchdev.c
218
cpsw_ale_del_ucast(cpsw->ale, port->slave.mac_addr,
drivers/net/ethernet/ti/am65-cpsw-switchdev.c
227
cpsw_ale_del_mcast(cpsw->ale, port->ndev->broadcast, port_mask,
drivers/net/ethernet/ti/am65-cpsw-switchdev.c
270
err = cpsw_ale_add_mcast(cpsw->ale, mdb->addr, port_mask,
drivers/net/ethernet/ti/am65-cpsw-switchdev.c
293
cpsw_ale_del_mcast(cpsw->ale, mdb->addr, del_mask,
drivers/net/ethernet/ti/am65-cpsw-switchdev.c
389
cpsw_ale_add_ucast(cpsw->ale, (u8 *)fdb->addr, port_id,
drivers/net/ethernet/ti/am65-cpsw-switchdev.c
405
cpsw_ale_del_ucast(cpsw->ale, (u8 *)fdb->addr, port_id,
drivers/net/ethernet/ti/am65-cpsw-switchdev.c
49
ret = cpsw_ale_control_set(cpsw->ale, port->port_id,
drivers/net/ethernet/ti/am65-cpsw-switchdev.c
71
cpsw_ale_set_unreg_mcast(cpsw->ale, BIT(port->port_id),
drivers/net/ethernet/ti/cpsw.c
1007
cpsw_ale_del_ucast(cpsw->ale, priv->mac_addr, HOST_PORT_NUM,
drivers/net/ethernet/ti/cpsw.c
1009
cpsw_ale_add_ucast(cpsw->ale, addr->sa_data, HOST_PORT_NUM,
drivers/net/ethernet/ti/cpsw.c
1046
ret = cpsw_ale_add_vlan(cpsw->ale, vid, port_mask, 0, port_mask,
drivers/net/ethernet/ti/cpsw.c
1051
ret = cpsw_ale_add_ucast(cpsw->ale, priv->mac_addr,
drivers/net/ethernet/ti/cpsw.c
1056
ret = cpsw_ale_add_mcast(cpsw->ale, priv->ndev->broadcast,
drivers/net/ethernet/ti/cpsw.c
1063
cpsw_ale_del_ucast(cpsw->ale, priv->mac_addr,
drivers/net/ethernet/ti/cpsw.c
1066
cpsw_ale_del_vlan(cpsw->ale, vid, 0);
drivers/net/ethernet/ti/cpsw.c
1130
ret = cpsw_ale_del_vlan(cpsw->ale, vid, 0);
drivers/net/ethernet/ti/cpsw.c
1131
ret |= cpsw_ale_del_ucast(cpsw->ale, priv->mac_addr,
drivers/net/ethernet/ti/cpsw.c
1133
ret |= cpsw_ale_del_mcast(cpsw->ale, priv->ndev->broadcast,
drivers/net/ethernet/ti/cpsw.c
1135
ret |= cpsw_ale_flush_multicast(cpsw->ale, ALE_PORT_HOST, vid);
drivers/net/ethernet/ti/cpsw.c
118
cpsw_ale_control_set(ale, 0, ALE_BYPASS, 1);
drivers/net/ethernet/ti/cpsw.c
123
cpsw_ale_control_set(ale, 0, ALE_BYPASS, 0);
drivers/net/ethernet/ti/cpsw.c
132
cpsw_ale_control_set(ale, i,
drivers/net/ethernet/ti/cpsw.c
134
cpsw_ale_control_set(ale, i,
drivers/net/ethernet/ti/cpsw.c
139
cpsw_ale_control_set(ale, 0, ALE_AGEOUT, 1);
drivers/net/ethernet/ti/cpsw.c
142
if (cpsw_ale_control_get(ale, 0, ALE_AGEOUT))
drivers/net/ethernet/ti/cpsw.c
145
cpsw_ale_control_set(ale, 0, ALE_AGEOUT, 1);
drivers/net/ethernet/ti/cpsw.c
148
cpsw_ale_flush_multicast(ale, ALE_ALL_PORTS, -1);
drivers/net/ethernet/ti/cpsw.c
152
cpsw_ale_control_set(ale, 0, ALE_P0_UNI_FLOOD, 1);
drivers/net/ethernet/ti/cpsw.c
156
cpsw_ale_control_set(ale, 0, ALE_P0_UNI_FLOOD, 0);
drivers/net/ethernet/ti/cpsw.c
160
cpsw_ale_control_set(ale, i,
drivers/net/ethernet/ti/cpsw.c
162
cpsw_ale_control_set(ale, i,
drivers/net/ethernet/ti/cpsw.c
196
ret = cpsw_ale_add_mcast(cpsw->ale, addr, mask, flags, vid, 0);
drivers/net/ethernet/ti/cpsw.c
198
ret = cpsw_ale_del_mcast(cpsw->ale, addr, 0, flags, vid);
drivers/net/ethernet/ti/cpsw.c
327
cpsw_ale_set_allmulti(cpsw->ale, IFF_ALLMULTI, slave_port);
drivers/net/ethernet/ti/cpsw.c
335
cpsw_ale_set_allmulti(cpsw->ale,
drivers/net/ethernet/ti/cpsw.c
515
cpsw_ale_control_set(cpsw->ale, slave_port,
drivers/net/ethernet/ti/cpsw.c
528
cpsw_ale_control_set(cpsw->ale, slave_port,
drivers/net/ethernet/ti/cpsw.c
574
cpsw_ale_add_vlan(cpsw->ale, slave->port_vlan, port_mask,
drivers/net/ethernet/ti/cpsw.c
576
cpsw_ale_add_mcast(cpsw->ale, priv->ndev->broadcast,
drivers/net/ethernet/ti/cpsw.c
578
cpsw_ale_add_ucast(cpsw->ale, priv->mac_addr,
drivers/net/ethernet/ti/cpsw.c
581
cpsw_ale_control_set(cpsw->ale, slave_port,
drivers/net/ethernet/ti/cpsw.c
633
cpsw_ale_add_mcast(cpsw->ale, priv->ndev->broadcast,
drivers/net/ethernet/ti/cpsw.c
697
cpsw_ale_add_vlan(cpsw->ale, vlan, ALE_ALL_PORTS,
drivers/net/ethernet/ti/cpsw.c
710
cpsw_ale_start(cpsw->ale);
drivers/net/ethernet/ti/cpsw.c
713
cpsw_ale_control_set(cpsw->ale, HOST_PORT_NUM, ALE_VLAN_AWARE,
drivers/net/ethernet/ti/cpsw.c
727
cpsw_ale_control_set(cpsw->ale, HOST_PORT_NUM,
drivers/net/ethernet/ti/cpsw.c
731
cpsw_ale_add_ucast(cpsw->ale, priv->mac_addr, HOST_PORT_NUM,
drivers/net/ethernet/ti/cpsw.c
733
cpsw_ale_add_mcast(cpsw->ale, priv->ndev->broadcast,
drivers/net/ethernet/ti/cpsw.c
749
cpsw_ale_control_set(cpsw->ale, slave_port,
drivers/net/ethernet/ti/cpsw.c
820
cpsw_ale_add_vlan(cpsw->ale, cpsw->data.default_vlan,
drivers/net/ethernet/ti/cpsw.c
912
cpsw_ale_stop(cpsw->ale);
drivers/net/ethernet/ti/cpsw.c
97
struct cpsw_ale *ale = cpsw->ale;
drivers/net/ethernet/ti/cpsw_ale.c
1139
int cpsw_ale_control_set(struct cpsw_ale *ale, int port, int control,
drivers/net/ethernet/ti/cpsw_ale.c
1153
if (port < 0 || port >= ale->params.ale_ports)
drivers/net/ethernet/ti/cpsw_ale.c
1163
tmp = readl_relaxed(ale->params.ale_regs + offset);
drivers/net/ethernet/ti/cpsw_ale.c
1165
writel_relaxed(tmp, ale->params.ale_regs + offset);
drivers/net/ethernet/ti/cpsw_ale.c
1171
int cpsw_ale_control_get(struct cpsw_ale *ale, int port, int control)
drivers/net/ethernet/ti/cpsw_ale.c
1184
if (port < 0 || port >= ale->params.ale_ports)
drivers/net/ethernet/ti/cpsw_ale.c
1190
tmp = readl_relaxed(ale->params.ale_regs + offset) >> shift;
drivers/net/ethernet/ti/cpsw_ale.c
1195
int cpsw_ale_rx_ratelimit_mc(struct cpsw_ale *ale, int port, unsigned int ratelimit_pps)
drivers/net/ethernet/ti/cpsw_ale.c
1202
dev_err(ale->params.dev, "ALE MC port:%d ratelimit min value 1000pps\n", port);
drivers/net/ethernet/ti/cpsw_ale.c
1207
dev_info(ale->params.dev, "ALE port:%d MC ratelimit set to %dpps (requested %d)\n",
drivers/net/ethernet/ti/cpsw_ale.c
1210
cpsw_ale_control_set(ale, port, ALE_PORT_MCAST_LIMIT, val);
drivers/net/ethernet/ti/cpsw_ale.c
1212
dev_dbg(ale->params.dev, "ALE port:%d MC ratelimit set %d\n",
drivers/net/ethernet/ti/cpsw_ale.c
1218
int cpsw_ale_rx_ratelimit_bc(struct cpsw_ale *ale, int port, unsigned int ratelimit_pps)
drivers/net/ethernet/ti/cpsw_ale.c
1225
dev_err(ale->params.dev, "ALE port:%d BC ratelimit min value 1000pps\n", port);
drivers/net/ethernet/ti/cpsw_ale.c
1230
dev_info(ale->params.dev, "ALE port:%d BC ratelimit set to %dpps (requested %d)\n",
drivers/net/ethernet/ti/cpsw_ale.c
1233
cpsw_ale_control_set(ale, port, ALE_PORT_BCAST_LIMIT, val);
drivers/net/ethernet/ti/cpsw_ale.c
1235
dev_dbg(ale->params.dev, "ALE port:%d BC ratelimit set %d\n",
drivers/net/ethernet/ti/cpsw_ale.c
1243
struct cpsw_ale *ale = timer_container_of(ale, t, timer);
drivers/net/ethernet/ti/cpsw_ale.c
1245
cpsw_ale_control_set(ale, 0, ALE_AGEOUT, 1);
drivers/net/ethernet/ti/cpsw_ale.c
1247
if (ale->ageout) {
drivers/net/ethernet/ti/cpsw_ale.c
1248
ale->timer.expires = jiffies + ale->ageout;
drivers/net/ethernet/ti/cpsw_ale.c
1249
add_timer(&ale->timer);
drivers/net/ethernet/ti/cpsw_ale.c
1253
static void cpsw_ale_hw_aging_timer_start(struct cpsw_ale *ale)
drivers/net/ethernet/ti/cpsw_ale.c
1257
aging_timer = ale->params.bus_freq / 1000000;
drivers/net/ethernet/ti/cpsw_ale.c
1258
aging_timer *= ale->params.ale_ageout;
drivers/net/ethernet/ti/cpsw_ale.c
1262
dev_warn(ale->params.dev,
drivers/net/ethernet/ti/cpsw_ale.c
1266
writel(aging_timer, ale->params.ale_regs + ALE_AGING_TIMER);
drivers/net/ethernet/ti/cpsw_ale.c
1269
static void cpsw_ale_hw_aging_timer_stop(struct cpsw_ale *ale)
drivers/net/ethernet/ti/cpsw_ale.c
1271
writel(0, ale->params.ale_regs + ALE_AGING_TIMER);
drivers/net/ethernet/ti/cpsw_ale.c
1274
static void cpsw_ale_aging_start(struct cpsw_ale *ale)
drivers/net/ethernet/ti/cpsw_ale.c
1276
if (!ale->params.ale_ageout)
drivers/net/ethernet/ti/cpsw_ale.c
1279
if (ale->features & CPSW_ALE_F_HW_AUTOAGING) {
drivers/net/ethernet/ti/cpsw_ale.c
1280
cpsw_ale_hw_aging_timer_start(ale);
drivers/net/ethernet/ti/cpsw_ale.c
1284
timer_setup(&ale->timer, cpsw_ale_timer, 0);
drivers/net/ethernet/ti/cpsw_ale.c
1285
ale->timer.expires = jiffies + ale->ageout;
drivers/net/ethernet/ti/cpsw_ale.c
1286
add_timer(&ale->timer);
drivers/net/ethernet/ti/cpsw_ale.c
1289
static void cpsw_ale_aging_stop(struct cpsw_ale *ale)
drivers/net/ethernet/ti/cpsw_ale.c
1291
if (!ale->params.ale_ageout)
drivers/net/ethernet/ti/cpsw_ale.c
1294
if (ale->features & CPSW_ALE_F_HW_AUTOAGING) {
drivers/net/ethernet/ti/cpsw_ale.c
1295
cpsw_ale_hw_aging_timer_stop(ale);
drivers/net/ethernet/ti/cpsw_ale.c
1299
timer_delete_sync(&ale->timer);
drivers/net/ethernet/ti/cpsw_ale.c
1302
void cpsw_ale_start(struct cpsw_ale *ale)
drivers/net/ethernet/ti/cpsw_ale.c
1316
ale_prescale = ale->params.bus_freq / ALE_RATE_LIMIT_MIN_PPS;
drivers/net/ethernet/ti/cpsw_ale.c
1317
writel((u32)ale_prescale, ale->params.ale_regs + ALE_PRESCALE);
drivers/net/ethernet/ti/cpsw_ale.c
1322
cpsw_ale_control_set(ale, 0, ALE_RATE_LIMIT, 1);
drivers/net/ethernet/ti/cpsw_ale.c
1324
cpsw_ale_control_set(ale, 0, ALE_ENABLE, 1);
drivers/net/ethernet/ti/cpsw_ale.c
1325
cpsw_ale_control_set(ale, 0, ALE_CLEAR, 1);
drivers/net/ethernet/ti/cpsw_ale.c
1327
cpsw_ale_aging_start(ale);
drivers/net/ethernet/ti/cpsw_ale.c
1331
void cpsw_ale_stop(struct cpsw_ale *ale)
drivers/net/ethernet/ti/cpsw_ale.c
1333
cpsw_ale_aging_stop(ale);
drivers/net/ethernet/ti/cpsw_ale.c
1334
cpsw_ale_control_set(ale, 0, ALE_CLEAR, 1);
drivers/net/ethernet/ti/cpsw_ale.c
1335
cpsw_ale_control_set(ale, 0, ALE_ENABLE, 0);
drivers/net/ethernet/ti/cpsw_ale.c
1505
static int cpsw_ale_regfield_init(struct cpsw_ale *ale)
drivers/net/ethernet/ti/cpsw_ale.c
1507
const struct reg_field *reg_fields = ale->params.reg_fields;
drivers/net/ethernet/ti/cpsw_ale.c
1508
struct device *dev = ale->params.dev;
drivers/net/ethernet/ti/cpsw_ale.c
1509
struct regmap *regmap = ale->regmap;
drivers/net/ethernet/ti/cpsw_ale.c
1512
for (i = 0; i < ale->params.num_fields; i++) {
drivers/net/ethernet/ti/cpsw_ale.c
1513
ale->fields[i] = devm_regmap_field_alloc(dev, regmap,
drivers/net/ethernet/ti/cpsw_ale.c
1515
if (IS_ERR(ale->fields[i])) {
drivers/net/ethernet/ti/cpsw_ale.c
1517
return PTR_ERR(ale->fields[i]);
drivers/net/ethernet/ti/cpsw_ale.c
1528
struct cpsw_ale *ale;
drivers/net/ethernet/ti/cpsw_ale.c
1540
ale = devm_kzalloc(params->dev, sizeof(*ale), GFP_KERNEL);
drivers/net/ethernet/ti/cpsw_ale.c
1541
if (!ale)
drivers/net/ethernet/ti/cpsw_ale.c
1543
ale->regmap = devm_regmap_init_mmio(params->dev, params->ale_regs,
drivers/net/ethernet/ti/cpsw_ale.c
1545
if (IS_ERR(ale->regmap)) {
drivers/net/ethernet/ti/cpsw_ale.c
1550
ale->params = *params;
drivers/net/ethernet/ti/cpsw_ale.c
1551
ret = cpsw_ale_regfield_init(ale);
drivers/net/ethernet/ti/cpsw_ale.c
1555
ale->p0_untag_vid_mask = devm_bitmap_zalloc(params->dev, VLAN_N_VID,
drivers/net/ethernet/ti/cpsw_ale.c
1557
if (!ale->p0_untag_vid_mask)
drivers/net/ethernet/ti/cpsw_ale.c
1560
ale->ageout = ale->params.ale_ageout * HZ;
drivers/net/ethernet/ti/cpsw_ale.c
1561
ale->features = ale_dev_id->features;
drivers/net/ethernet/ti/cpsw_ale.c
1562
ale->vlan_entry_tbl = ale_dev_id->vlan_entry_tbl;
drivers/net/ethernet/ti/cpsw_ale.c
1564
regmap_field_read(ale->fields[MINOR_VER], &rev_minor);
drivers/net/ethernet/ti/cpsw_ale.c
1565
regmap_field_read(ale->fields[MAJOR_VER], &rev_major);
drivers/net/ethernet/ti/cpsw_ale.c
1566
ale->version = rev_major << 8 | rev_minor;
drivers/net/ethernet/ti/cpsw_ale.c
1567
dev_info(ale->params.dev, "initialized cpsw ale version %d.%d\n",
drivers/net/ethernet/ti/cpsw_ale.c
1570
if (ale->features & CPSW_ALE_F_STATUS_REG &&
drivers/net/ethernet/ti/cpsw_ale.c
1571
!ale->params.ale_entries) {
drivers/net/ethernet/ti/cpsw_ale.c
1572
regmap_field_read(ale->fields[ALE_ENTRIES], &ale_entries);
drivers/net/ethernet/ti/cpsw_ale.c
1584
ale->params.ale_entries = ale_entries;
drivers/net/ethernet/ti/cpsw_ale.c
1587
if (ale->features & CPSW_ALE_F_STATUS_REG &&
drivers/net/ethernet/ti/cpsw_ale.c
1588
!ale->params.num_policers) {
drivers/net/ethernet/ti/cpsw_ale.c
1589
regmap_field_read(ale->fields[ALE_POLICERS], &policers);
drivers/net/ethernet/ti/cpsw_ale.c
1594
ale->params.num_policers = policers;
drivers/net/ethernet/ti/cpsw_ale.c
1597
dev_info(ale->params.dev,
drivers/net/ethernet/ti/cpsw_ale.c
1598
"ALE Table size %ld, Policers %ld\n", ale->params.ale_entries,
drivers/net/ethernet/ti/cpsw_ale.c
1599
ale->params.num_policers);
drivers/net/ethernet/ti/cpsw_ale.c
1602
ale->port_mask_bits = ale->params.ale_ports;
drivers/net/ethernet/ti/cpsw_ale.c
1603
ale->port_num_bits = order_base_2(ale->params.ale_ports);
drivers/net/ethernet/ti/cpsw_ale.c
1604
ale->vlan_field_bits = ale->params.ale_ports;
drivers/net/ethernet/ti/cpsw_ale.c
1609
if (ale->params.nu_switch_ale) {
drivers/net/ethernet/ti/cpsw_ale.c
1615
ale->params.ale_ports;
drivers/net/ethernet/ti/cpsw_ale.c
1619
ale->params.ale_ports;
drivers/net/ethernet/ti/cpsw_ale.c
1624
ale->params.ale_ports;
drivers/net/ethernet/ti/cpsw_ale.c
1629
ale->params.ale_ports;
drivers/net/ethernet/ti/cpsw_ale.c
1635
cpsw_ale_control_set(ale, 0, ALE_CLEAR, 1);
drivers/net/ethernet/ti/cpsw_ale.c
1636
return ale;
drivers/net/ethernet/ti/cpsw_ale.c
1640
void cpsw_ale_dump(struct cpsw_ale *ale, u32 *data)
drivers/net/ethernet/ti/cpsw_ale.c
1644
for (i = 0; i < ale->params.ale_entries; i++) {
drivers/net/ethernet/ti/cpsw_ale.c
1645
cpsw_ale_read(ale, i, data);
drivers/net/ethernet/ti/cpsw_ale.c
1651
void cpsw_ale_restore(struct cpsw_ale *ale, u32 *data)
drivers/net/ethernet/ti/cpsw_ale.c
1655
for (i = 0; i < ale->params.ale_entries; i++) {
drivers/net/ethernet/ti/cpsw_ale.c
1656
cpsw_ale_write(ale, i, data);
drivers/net/ethernet/ti/cpsw_ale.c
1662
u32 cpsw_ale_get_num_entries(struct cpsw_ale *ale)
drivers/net/ethernet/ti/cpsw_ale.c
1664
return ale ? ale->params.ale_entries : 0;
drivers/net/ethernet/ti/cpsw_ale.c
1669
static void cpsw_ale_policer_read_idx(struct cpsw_ale *ale, u32 idx)
drivers/net/ethernet/ti/cpsw_ale.c
1672
writel_relaxed(idx, ale->params.ale_regs + ALE_POLICER_TBL_CTL);
drivers/net/ethernet/ti/cpsw_ale.c
1676
static void cpsw_ale_policer_write_idx(struct cpsw_ale *ale, u32 idx)
drivers/net/ethernet/ti/cpsw_ale.c
1680
writel_relaxed(idx, ale->params.ale_regs + ALE_POLICER_TBL_CTL);
drivers/net/ethernet/ti/cpsw_ale.c
1684
static void cpsw_ale_policer_thread_idx_enable(struct cpsw_ale *ale, u32 idx,
drivers/net/ethernet/ti/cpsw_ale.c
1687
regmap_field_write(ale->fields[ALE_THREAD_CLASS_INDEX], idx);
drivers/net/ethernet/ti/cpsw_ale.c
1688
regmap_field_write(ale->fields[ALE_THREAD_VALUE], thread_id);
drivers/net/ethernet/ti/cpsw_ale.c
1689
regmap_field_write(ale->fields[ALE_THREAD_ENABLE], enable ? 1 : 0);
drivers/net/ethernet/ti/cpsw_ale.c
1693
static void cpsw_ale_policer_reset(struct cpsw_ale *ale)
drivers/net/ethernet/ti/cpsw_ale.c
1697
for (i = 0; i < ale->params.num_policers ; i++) {
drivers/net/ethernet/ti/cpsw_ale.c
1698
cpsw_ale_policer_read_idx(ale, i);
drivers/net/ethernet/ti/cpsw_ale.c
1699
regmap_field_write(ale->fields[POL_PORT_MEN], 0);
drivers/net/ethernet/ti/cpsw_ale.c
1700
regmap_field_write(ale->fields[POL_PRI_MEN], 0);
drivers/net/ethernet/ti/cpsw_ale.c
1701
regmap_field_write(ale->fields[POL_OUI_MEN], 0);
drivers/net/ethernet/ti/cpsw_ale.c
1702
regmap_field_write(ale->fields[POL_DST_MEN], 0);
drivers/net/ethernet/ti/cpsw_ale.c
1703
regmap_field_write(ale->fields[POL_SRC_MEN], 0);
drivers/net/ethernet/ti/cpsw_ale.c
1704
regmap_field_write(ale->fields[POL_OVLAN_MEN], 0);
drivers/net/ethernet/ti/cpsw_ale.c
1705
regmap_field_write(ale->fields[POL_IVLAN_MEN], 0);
drivers/net/ethernet/ti/cpsw_ale.c
1706
regmap_field_write(ale->fields[POL_ETHERTYPE_MEN], 0);
drivers/net/ethernet/ti/cpsw_ale.c
1707
regmap_field_write(ale->fields[POL_IPSRC_MEN], 0);
drivers/net/ethernet/ti/cpsw_ale.c
1708
regmap_field_write(ale->fields[POL_IPDST_MEN], 0);
drivers/net/ethernet/ti/cpsw_ale.c
1709
regmap_field_write(ale->fields[POL_EN], 0);
drivers/net/ethernet/ti/cpsw_ale.c
1710
regmap_field_write(ale->fields[POL_RED_DROP_EN], 0);
drivers/net/ethernet/ti/cpsw_ale.c
1711
regmap_field_write(ale->fields[POL_YELLOW_DROP_EN], 0);
drivers/net/ethernet/ti/cpsw_ale.c
1712
regmap_field_write(ale->fields[POL_PRIORITY_THREAD_EN], 0);
drivers/net/ethernet/ti/cpsw_ale.c
1714
cpsw_ale_policer_thread_idx_enable(ale, i, 0, 0);
drivers/net/ethernet/ti/cpsw_ale.c
1719
void cpsw_ale_classifier_setup_default(struct cpsw_ale *ale, int num_rx_ch)
drivers/net/ethernet/ti/cpsw_ale.c
1751
cpsw_ale_policer_reset(ale);
drivers/net/ethernet/ti/cpsw_ale.c
1758
cpsw_ale_policer_read_idx(ale, idx);
drivers/net/ethernet/ti/cpsw_ale.c
1759
regmap_field_write(ale->fields[POL_PRI_VAL], pri);
drivers/net/ethernet/ti/cpsw_ale.c
1760
regmap_field_write(ale->fields[POL_PRI_MEN], 1);
drivers/net/ethernet/ti/cpsw_ale.c
1761
cpsw_ale_policer_write_idx(ale, idx);
drivers/net/ethernet/ti/cpsw_ale.c
1764
cpsw_ale_policer_thread_idx_enable(ale, idx,
drivers/net/ethernet/ti/cpsw_ale.c
259
static int cpsw_ale_entry_get_fld(struct cpsw_ale *ale,
drivers/net/ethernet/ti/cpsw_ale.c
267
if (!ale || !ale_entry)
drivers/net/ethernet/ti/cpsw_ale.c
272
dev_err(ale->params.dev, "get: wrong ale fld id %d\n", fld_id);
drivers/net/ethernet/ti/cpsw_ale.c
278
bits = ale->port_mask_bits;
drivers/net/ethernet/ti/cpsw_ale.c
283
static void cpsw_ale_entry_set_fld(struct cpsw_ale *ale,
drivers/net/ethernet/ti/cpsw_ale.c
292
if (!ale || !ale_entry)
drivers/net/ethernet/ti/cpsw_ale.c
297
dev_err(ale->params.dev, "set: wrong ale fld id %d\n", fld_id);
drivers/net/ethernet/ti/cpsw_ale.c
303
bits = ale->port_mask_bits;
drivers/net/ethernet/ti/cpsw_ale.c
308
static int cpsw_ale_vlan_get_fld(struct cpsw_ale *ale,
drivers/net/ethernet/ti/cpsw_ale.c
312
return cpsw_ale_entry_get_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
313
ale->vlan_entry_tbl, fld_id);
drivers/net/ethernet/ti/cpsw_ale.c
316
static void cpsw_ale_vlan_set_fld(struct cpsw_ale *ale,
drivers/net/ethernet/ti/cpsw_ale.c
321
cpsw_ale_entry_set_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
322
ale->vlan_entry_tbl, fld_id, value);
drivers/net/ethernet/ti/cpsw_ale.c
342
static int cpsw_ale_read(struct cpsw_ale *ale, int idx, u32 *ale_entry)
drivers/net/ethernet/ti/cpsw_ale.c
346
WARN_ON(idx > ale->params.ale_entries);
drivers/net/ethernet/ti/cpsw_ale.c
348
writel_relaxed(idx, ale->params.ale_regs + ALE_TABLE_CONTROL);
drivers/net/ethernet/ti/cpsw_ale.c
351
ale_entry[i] = readl_relaxed(ale->params.ale_regs +
drivers/net/ethernet/ti/cpsw_ale.c
357
static int cpsw_ale_write(struct cpsw_ale *ale, int idx, u32 *ale_entry)
drivers/net/ethernet/ti/cpsw_ale.c
361
WARN_ON(idx > ale->params.ale_entries);
drivers/net/ethernet/ti/cpsw_ale.c
364
writel_relaxed(ale_entry[i], ale->params.ale_regs +
drivers/net/ethernet/ti/cpsw_ale.c
367
writel_relaxed(idx | ALE_TABLE_WRITE, ale->params.ale_regs +
drivers/net/ethernet/ti/cpsw_ale.c
373
static int cpsw_ale_match_addr(struct cpsw_ale *ale, const u8 *addr, u16 vid)
drivers/net/ethernet/ti/cpsw_ale.c
378
for (idx = 0; idx < ale->params.ale_entries; idx++) {
drivers/net/ethernet/ti/cpsw_ale.c
381
cpsw_ale_read(ale, idx, ale_entry);
drivers/net/ethernet/ti/cpsw_ale.c
394
static int cpsw_ale_match_vlan(struct cpsw_ale *ale, u16 vid)
drivers/net/ethernet/ti/cpsw_ale.c
399
for (idx = 0; idx < ale->params.ale_entries; idx++) {
drivers/net/ethernet/ti/cpsw_ale.c
400
cpsw_ale_read(ale, idx, ale_entry);
drivers/net/ethernet/ti/cpsw_ale.c
410
static int cpsw_ale_match_free(struct cpsw_ale *ale)
drivers/net/ethernet/ti/cpsw_ale.c
415
for (idx = 0; idx < ale->params.ale_entries; idx++) {
drivers/net/ethernet/ti/cpsw_ale.c
416
cpsw_ale_read(ale, idx, ale_entry);
drivers/net/ethernet/ti/cpsw_ale.c
424
static int cpsw_ale_find_ageable(struct cpsw_ale *ale)
drivers/net/ethernet/ti/cpsw_ale.c
429
for (idx = 0; idx < ale->params.ale_entries; idx++) {
drivers/net/ethernet/ti/cpsw_ale.c
430
cpsw_ale_read(ale, idx, ale_entry);
drivers/net/ethernet/ti/cpsw_ale.c
444
static void cpsw_ale_flush_mcast(struct cpsw_ale *ale, u32 *ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
450
ale->port_mask_bits);
drivers/net/ethernet/ti/cpsw_ale.c
459
ale->port_mask_bits);
drivers/net/ethernet/ti/cpsw_ale.c
462
int cpsw_ale_flush_multicast(struct cpsw_ale *ale, int port_mask, int vid)
drivers/net/ethernet/ti/cpsw_ale.c
467
for (idx = 0; idx < ale->params.ale_entries; idx++) {
drivers/net/ethernet/ti/cpsw_ale.c
468
cpsw_ale_read(ale, idx, ale_entry);
drivers/net/ethernet/ti/cpsw_ale.c
489
cpsw_ale_flush_mcast(ale, ale_entry, port_mask);
drivers/net/ethernet/ti/cpsw_ale.c
492
cpsw_ale_write(ale, idx, ale_entry);
drivers/net/ethernet/ti/cpsw_ale.c
509
int cpsw_ale_add_ucast(struct cpsw_ale *ale, const u8 *addr, int port,
drivers/net/ethernet/ti/cpsw_ale.c
521
cpsw_ale_set_port_num(ale_entry, port, ale->port_num_bits);
drivers/net/ethernet/ti/cpsw_ale.c
523
idx = cpsw_ale_match_addr(ale, addr, (flags & ALE_VLAN) ? vid : 0);
drivers/net/ethernet/ti/cpsw_ale.c
525
idx = cpsw_ale_match_free(ale);
drivers/net/ethernet/ti/cpsw_ale.c
527
idx = cpsw_ale_find_ageable(ale);
drivers/net/ethernet/ti/cpsw_ale.c
531
cpsw_ale_write(ale, idx, ale_entry);
drivers/net/ethernet/ti/cpsw_ale.c
536
int cpsw_ale_del_ucast(struct cpsw_ale *ale, const u8 *addr, int port,
drivers/net/ethernet/ti/cpsw_ale.c
542
idx = cpsw_ale_match_addr(ale, addr, (flags & ALE_VLAN) ? vid : 0);
drivers/net/ethernet/ti/cpsw_ale.c
547
cpsw_ale_write(ale, idx, ale_entry);
drivers/net/ethernet/ti/cpsw_ale.c
552
int cpsw_ale_add_mcast(struct cpsw_ale *ale, const u8 *addr, int port_mask,
drivers/net/ethernet/ti/cpsw_ale.c
558
idx = cpsw_ale_match_addr(ale, addr, (flags & ALE_VLAN) ? vid : 0);
drivers/net/ethernet/ti/cpsw_ale.c
560
cpsw_ale_read(ale, idx, ale_entry);
drivers/net/ethernet/ti/cpsw_ale.c
569
ale->port_mask_bits);
drivers/net/ethernet/ti/cpsw_ale.c
572
ale->port_mask_bits);
drivers/net/ethernet/ti/cpsw_ale.c
575
idx = cpsw_ale_match_free(ale);
drivers/net/ethernet/ti/cpsw_ale.c
577
idx = cpsw_ale_find_ageable(ale);
drivers/net/ethernet/ti/cpsw_ale.c
581
cpsw_ale_write(ale, idx, ale_entry);
drivers/net/ethernet/ti/cpsw_ale.c
586
int cpsw_ale_del_mcast(struct cpsw_ale *ale, const u8 *addr, int port_mask,
drivers/net/ethernet/ti/cpsw_ale.c
593
idx = cpsw_ale_match_addr(ale, addr, (flags & ALE_VLAN) ? vid : 0);
drivers/net/ethernet/ti/cpsw_ale.c
597
cpsw_ale_read(ale, idx, ale_entry);
drivers/net/ethernet/ti/cpsw_ale.c
601
ale->port_mask_bits);
drivers/net/ethernet/ti/cpsw_ale.c
607
ale->port_mask_bits);
drivers/net/ethernet/ti/cpsw_ale.c
611
cpsw_ale_write(ale, idx, ale_entry);
drivers/net/ethernet/ti/cpsw_ale.c
617
static void cpsw_ale_set_vlan_mcast(struct cpsw_ale *ale, u32 *ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
623
idx = cpsw_ale_vlan_get_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
625
writel(reg_mcast, ale->params.ale_regs + ALE_VLAN_MASK_MUX(idx));
drivers/net/ethernet/ti/cpsw_ale.c
628
idx = cpsw_ale_vlan_get_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
630
writel(unreg_mcast, ale->params.ale_regs + ALE_VLAN_MASK_MUX(idx));
drivers/net/ethernet/ti/cpsw_ale.c
633
static void cpsw_ale_set_vlan_untag(struct cpsw_ale *ale, u32 *ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
636
cpsw_ale_vlan_set_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
640
bitmap_set(ale->p0_untag_vid_mask, vid, 1);
drivers/net/ethernet/ti/cpsw_ale.c
642
bitmap_clear(ale->p0_untag_vid_mask, vid, 1);
drivers/net/ethernet/ti/cpsw_ale.c
645
int cpsw_ale_add_vlan(struct cpsw_ale *ale, u16 vid, int port_mask, int untag,
drivers/net/ethernet/ti/cpsw_ale.c
651
idx = cpsw_ale_match_vlan(ale, vid);
drivers/net/ethernet/ti/cpsw_ale.c
653
cpsw_ale_read(ale, idx, ale_entry);
drivers/net/ethernet/ti/cpsw_ale.c
657
cpsw_ale_set_vlan_untag(ale, ale_entry, vid, untag);
drivers/net/ethernet/ti/cpsw_ale.c
659
if (!ale->params.nu_switch_ale) {
drivers/net/ethernet/ti/cpsw_ale.c
660
cpsw_ale_vlan_set_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
662
cpsw_ale_vlan_set_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
665
cpsw_ale_vlan_set_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
668
cpsw_ale_set_vlan_mcast(ale, ale_entry, reg_mcast, unreg_mcast);
drivers/net/ethernet/ti/cpsw_ale.c
671
cpsw_ale_vlan_set_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
675
idx = cpsw_ale_match_free(ale);
drivers/net/ethernet/ti/cpsw_ale.c
677
idx = cpsw_ale_find_ageable(ale);
drivers/net/ethernet/ti/cpsw_ale.c
681
cpsw_ale_write(ale, idx, ale_entry);
drivers/net/ethernet/ti/cpsw_ale.c
686
static void cpsw_ale_vlan_del_modify_int(struct cpsw_ale *ale, u32 *ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
692
members = cpsw_ale_vlan_get_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
696
cpsw_ale_set_vlan_untag(ale, ale_entry, vid, 0);
drivers/net/ethernet/ti/cpsw_ale.c
701
untag = cpsw_ale_vlan_get_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
703
reg_mcast = cpsw_ale_vlan_get_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
705
unreg_mcast = cpsw_ale_vlan_get_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
711
cpsw_ale_set_vlan_untag(ale, ale_entry, vid, untag);
drivers/net/ethernet/ti/cpsw_ale.c
713
if (!ale->params.nu_switch_ale) {
drivers/net/ethernet/ti/cpsw_ale.c
714
cpsw_ale_vlan_set_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
716
cpsw_ale_vlan_set_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
719
cpsw_ale_set_vlan_mcast(ale, ale_entry, reg_mcast,
drivers/net/ethernet/ti/cpsw_ale.c
722
cpsw_ale_vlan_set_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
726
int cpsw_ale_vlan_del_modify(struct cpsw_ale *ale, u16 vid, int port_mask)
drivers/net/ethernet/ti/cpsw_ale.c
731
idx = cpsw_ale_match_vlan(ale, vid);
drivers/net/ethernet/ti/cpsw_ale.c
735
cpsw_ale_read(ale, idx, ale_entry);
drivers/net/ethernet/ti/cpsw_ale.c
737
cpsw_ale_vlan_del_modify_int(ale, ale_entry, vid, port_mask);
drivers/net/ethernet/ti/cpsw_ale.c
738
cpsw_ale_write(ale, idx, ale_entry);
drivers/net/ethernet/ti/cpsw_ale.c
744
int cpsw_ale_del_vlan(struct cpsw_ale *ale, u16 vid, int port_mask)
drivers/net/ethernet/ti/cpsw_ale.c
749
idx = cpsw_ale_match_vlan(ale, vid);
drivers/net/ethernet/ti/cpsw_ale.c
753
cpsw_ale_read(ale, idx, ale_entry);
drivers/net/ethernet/ti/cpsw_ale.c
761
members = cpsw_ale_vlan_get_fld(ale, ale_entry, ALE_ENT_VID_MEMBER_LIST);
drivers/net/ethernet/ti/cpsw_ale.c
766
cpsw_ale_set_vlan_untag(ale, ale_entry, vid, 0);
drivers/net/ethernet/ti/cpsw_ale.c
770
cpsw_ale_vlan_del_modify_int(ale, ale_entry, vid, port_mask);
drivers/net/ethernet/ti/cpsw_ale.c
773
cpsw_ale_write(ale, idx, ale_entry);
drivers/net/ethernet/ti/cpsw_ale.c
779
int cpsw_ale_vlan_add_modify(struct cpsw_ale *ale, u16 vid, int port_mask,
drivers/net/ethernet/ti/cpsw_ale.c
787
idx = cpsw_ale_match_vlan(ale, vid);
drivers/net/ethernet/ti/cpsw_ale.c
789
cpsw_ale_read(ale, idx, ale_entry);
drivers/net/ethernet/ti/cpsw_ale.c
791
vlan_members = cpsw_ale_vlan_get_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
793
reg_mcast_members = cpsw_ale_vlan_get_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
796
cpsw_ale_vlan_get_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
798
untag_members = cpsw_ale_vlan_get_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
806
ret = cpsw_ale_add_vlan(ale, vid, vlan_members, untag_members,
drivers/net/ethernet/ti/cpsw_ale.c
809
dev_err(ale->params.dev, "Unable to add vlan\n");
drivers/net/ethernet/ti/cpsw_ale.c
812
dev_dbg(ale->params.dev, "port mask 0x%x untag 0x%x\n", vlan_members,
drivers/net/ethernet/ti/cpsw_ale.c
819
void cpsw_ale_set_unreg_mcast(struct cpsw_ale *ale, int unreg_mcast_mask,
drivers/net/ethernet/ti/cpsw_ale.c
826
for (idx = 0; idx < ale->params.ale_entries; idx++) {
drivers/net/ethernet/ti/cpsw_ale.c
827
cpsw_ale_read(ale, idx, ale_entry);
drivers/net/ethernet/ti/cpsw_ale.c
833
cpsw_ale_vlan_get_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
839
cpsw_ale_vlan_set_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
842
cpsw_ale_write(ale, idx, ale_entry);
drivers/net/ethernet/ti/cpsw_ale.c
847
static void cpsw_ale_vlan_set_unreg_mcast(struct cpsw_ale *ale, u32 *ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
852
unreg_mcast = cpsw_ale_vlan_get_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
859
cpsw_ale_vlan_set_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
864
cpsw_ale_vlan_set_unreg_mcast_idx(struct cpsw_ale *ale, u32 *ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
870
idx = cpsw_ale_vlan_get_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
873
unreg_mcast = readl(ale->params.ale_regs + ALE_VLAN_MASK_MUX(idx));
drivers/net/ethernet/ti/cpsw_ale.c
880
writel(unreg_mcast, ale->params.ale_regs + ALE_VLAN_MASK_MUX(idx));
drivers/net/ethernet/ti/cpsw_ale.c
883
void cpsw_ale_set_allmulti(struct cpsw_ale *ale, int allmulti, int port)
drivers/net/ethernet/ti/cpsw_ale.c
888
for (idx = 0; idx < ale->params.ale_entries; idx++) {
drivers/net/ethernet/ti/cpsw_ale.c
891
cpsw_ale_read(ale, idx, ale_entry);
drivers/net/ethernet/ti/cpsw_ale.c
896
vlan_members = cpsw_ale_vlan_get_fld(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
902
if (!ale->params.nu_switch_ale)
drivers/net/ethernet/ti/cpsw_ale.c
903
cpsw_ale_vlan_set_unreg_mcast(ale, ale_entry, allmulti);
drivers/net/ethernet/ti/cpsw_ale.c
905
cpsw_ale_vlan_set_unreg_mcast_idx(ale, ale_entry,
drivers/net/ethernet/ti/cpsw_ale.c
908
cpsw_ale_write(ale, idx, ale_entry);
drivers/net/ethernet/ti/cpsw_ale.h
161
void cpsw_ale_start(struct cpsw_ale *ale);
drivers/net/ethernet/ti/cpsw_ale.h
162
void cpsw_ale_stop(struct cpsw_ale *ale);
drivers/net/ethernet/ti/cpsw_ale.h
164
int cpsw_ale_flush_multicast(struct cpsw_ale *ale, int port_mask, int vid);
drivers/net/ethernet/ti/cpsw_ale.h
165
int cpsw_ale_add_ucast(struct cpsw_ale *ale, const u8 *addr, int port,
drivers/net/ethernet/ti/cpsw_ale.h
167
int cpsw_ale_del_ucast(struct cpsw_ale *ale, const u8 *addr, int port,
drivers/net/ethernet/ti/cpsw_ale.h
169
int cpsw_ale_add_mcast(struct cpsw_ale *ale, const u8 *addr, int port_mask,
drivers/net/ethernet/ti/cpsw_ale.h
171
int cpsw_ale_del_mcast(struct cpsw_ale *ale, const u8 *addr, int port_mask,
drivers/net/ethernet/ti/cpsw_ale.h
173
int cpsw_ale_add_vlan(struct cpsw_ale *ale, u16 vid, int port, int untag,
drivers/net/ethernet/ti/cpsw_ale.h
175
int cpsw_ale_del_vlan(struct cpsw_ale *ale, u16 vid, int port);
drivers/net/ethernet/ti/cpsw_ale.h
176
void cpsw_ale_set_allmulti(struct cpsw_ale *ale, int allmulti, int port);
drivers/net/ethernet/ti/cpsw_ale.h
177
int cpsw_ale_rx_ratelimit_bc(struct cpsw_ale *ale, int port, unsigned int ratelimit_pps);
drivers/net/ethernet/ti/cpsw_ale.h
178
int cpsw_ale_rx_ratelimit_mc(struct cpsw_ale *ale, int port, unsigned int ratelimit_pps);
drivers/net/ethernet/ti/cpsw_ale.h
180
int cpsw_ale_control_get(struct cpsw_ale *ale, int port, int control);
drivers/net/ethernet/ti/cpsw_ale.h
181
int cpsw_ale_control_set(struct cpsw_ale *ale, int port,
drivers/net/ethernet/ti/cpsw_ale.h
183
void cpsw_ale_dump(struct cpsw_ale *ale, u32 *data);
drivers/net/ethernet/ti/cpsw_ale.h
184
void cpsw_ale_restore(struct cpsw_ale *ale, u32 *data);
drivers/net/ethernet/ti/cpsw_ale.h
185
u32 cpsw_ale_get_num_entries(struct cpsw_ale *ale);
drivers/net/ethernet/ti/cpsw_ale.h
187
static inline int cpsw_ale_get_vlan_p0_untag(struct cpsw_ale *ale, u16 vid)
drivers/net/ethernet/ti/cpsw_ale.h
189
return test_bit(vid, ale->p0_untag_vid_mask);
drivers/net/ethernet/ti/cpsw_ale.h
192
int cpsw_ale_vlan_add_modify(struct cpsw_ale *ale, u16 vid, int port_mask,
drivers/net/ethernet/ti/cpsw_ale.h
194
int cpsw_ale_vlan_del_modify(struct cpsw_ale *ale, u16 vid, int port_mask);
drivers/net/ethernet/ti/cpsw_ale.h
195
void cpsw_ale_set_unreg_mcast(struct cpsw_ale *ale, int unreg_mcast_mask,
drivers/net/ethernet/ti/cpsw_ale.h
197
void cpsw_ale_classifier_setup_default(struct cpsw_ale *ale, int num_rx_ch);
drivers/net/ethernet/ti/cpsw_ethtool.c
356
return cpsw_ale_get_num_entries(cpsw->ale) *
drivers/net/ethernet/ti/cpsw_ethtool.c
369
cpsw_ale_dump(cpsw->ale, reg);
drivers/net/ethernet/ti/cpsw_new.c
1021
cpsw_ale_del_ucast(cpsw->ale, priv->mac_addr, HOST_PORT_NUM,
drivers/net/ethernet/ti/cpsw_new.c
1023
cpsw_ale_add_ucast(cpsw->ale, addr->sa_data, HOST_PORT_NUM,
drivers/net/ethernet/ti/cpsw_new.c
104
cpsw_ale_control_set(cpsw->ale, HOST_PORT_NUM,
drivers/net/ethernet/ti/cpsw_new.c
1068
ret = cpsw_ale_del_vlan(cpsw->ale, vid, 0);
drivers/net/ethernet/ti/cpsw_new.c
1071
ret = cpsw_ale_del_ucast(cpsw->ale, priv->mac_addr,
drivers/net/ethernet/ti/cpsw_new.c
1076
ret = cpsw_ale_del_mcast(cpsw->ale, priv->ndev->broadcast,
drivers/net/ethernet/ti/cpsw_new.c
1081
cpsw_ale_flush_multicast(cpsw->ale, ALE_PORT_HOST, vid);
drivers/net/ethernet/ti/cpsw_new.c
110
cpsw_ale_control_set(cpsw->ale, HOST_PORT_NUM,
drivers/net/ethernet/ti/cpsw_new.c
139
ret = cpsw_ale_add_mcast(cpsw->ale, addr, mask, flags, vid, 0);
drivers/net/ethernet/ti/cpsw_new.c
141
ret = cpsw_ale_del_mcast(cpsw->ale, addr, 0, flags, vid);
drivers/net/ethernet/ti/cpsw_new.c
1719
cpsw_ale_control_set(cpsw->ale, 0, ALE_BYPASS, 1);
drivers/net/ethernet/ti/cpsw_new.c
1722
cpsw_ale_control_set(cpsw->ale, 0, ALE_CLEAR, 1);
drivers/net/ethernet/ti/cpsw_new.c
1723
cpsw_ale_control_get(cpsw->ale, 0, ALE_AGEOUT);
drivers/net/ethernet/ti/cpsw_new.c
1743
cpsw_ale_control_set(cpsw->ale, 0, ALE_BYPASS, 0);
drivers/net/ethernet/ti/cpsw_new.c
1749
cpsw_ale_control_set(cpsw->ale, 0, ALE_BYPASS, 1);
drivers/net/ethernet/ti/cpsw_new.c
1751
cpsw_ale_control_set(cpsw->ale, 0, ALE_CLEAR, 1);
drivers/net/ethernet/ti/cpsw_new.c
1752
cpsw_ale_control_get(cpsw->ale, 0, ALE_AGEOUT);
drivers/net/ethernet/ti/cpsw_new.c
1770
cpsw_ale_control_set(cpsw->ale, 0, ALE_BYPASS, 0);
drivers/net/ethernet/ti/cpsw_new.c
1790
ctx->val.vbool = cpsw_ale_control_get(cpsw->ale, 0, ALE_BYPASS);
drivers/net/ethernet/ti/cpsw_new.c
1811
ret = cpsw_ale_control_set(cpsw->ale, 0, ALE_BYPASS,
drivers/net/ethernet/ti/cpsw_new.c
265
cpsw_ale_set_allmulti(cpsw->ale, IFF_ALLMULTI, priv->emac_port);
drivers/net/ethernet/ti/cpsw_new.c
273
cpsw_ale_set_allmulti(cpsw->ale,
drivers/net/ethernet/ti/cpsw_new.c
436
ret = cpsw_ale_add_vlan(cpsw->ale, vid, port_mask, 0, port_mask,
drivers/net/ethernet/ti/cpsw_new.c
441
ret = cpsw_ale_add_ucast(cpsw->ale, priv->mac_addr,
drivers/net/ethernet/ti/cpsw_new.c
446
ret = cpsw_ale_add_mcast(cpsw->ale, priv->ndev->broadcast,
drivers/net/ethernet/ti/cpsw_new.c
453
cpsw_ale_del_ucast(cpsw->ale, priv->mac_addr,
drivers/net/ethernet/ti/cpsw_new.c
456
cpsw_ale_del_vlan(cpsw->ale, vid, 0);
drivers/net/ethernet/ti/cpsw_new.c
530
cpsw_ale_add_mcast(cpsw->ale, stpa,
drivers/net/ethernet/ti/cpsw_new.c
543
cpsw_ale_add_vlan(cpsw->ale, vlan, ALE_ALL_PORTS,
drivers/net/ethernet/ti/cpsw_new.c
549
cpsw_ale_control_set(cpsw->ale, HOST_PORT_NUM, ALE_P0_UNI_FLOOD, 1);
drivers/net/ethernet/ti/cpsw_new.c
551
cpsw_ale_control_set(cpsw->ale, HOST_PORT_NUM, ALE_PORT_NOLEARN, 0);
drivers/net/ethernet/ti/cpsw_new.c
560
cpsw_ale_control_set(cpsw->ale, HOST_PORT_NUM, ALE_P0_UNI_FLOOD, 0);
drivers/net/ethernet/ti/cpsw_new.c
565
cpsw_ale_add_vlan(cpsw->ale, vlan, ALE_ALL_PORTS, ALE_ALL_PORTS, 0, 0);
drivers/net/ethernet/ti/cpsw_new.c
567
cpsw_ale_control_set(cpsw->ale, HOST_PORT_NUM, ALE_PORT_NOLEARN, 1);
drivers/net/ethernet/ti/cpsw_new.c
577
cpsw_ale_start(cpsw->ale);
drivers/net/ethernet/ti/cpsw_new.c
580
cpsw_ale_control_set(cpsw->ale, HOST_PORT_NUM, ALE_VLAN_AWARE,
drivers/net/ethernet/ti/cpsw_new.c
605
cpsw_ale_control_set(cpsw->ale, HOST_PORT_NUM,
drivers/net/ethernet/ti/cpsw_new.c
620
cpsw_ale_add_vlan(cpsw->ale, slave->port_vlan, port_mask,
drivers/net/ethernet/ti/cpsw_new.c
622
cpsw_ale_add_mcast(cpsw->ale, priv->ndev->broadcast,
drivers/net/ethernet/ti/cpsw_new.c
625
cpsw_ale_add_ucast(cpsw->ale, priv->mac_addr,
drivers/net/ethernet/ti/cpsw_new.c
628
cpsw_ale_control_set(cpsw->ale, priv->emac_port,
drivers/net/ethernet/ti/cpsw_new.c
631
cpsw_ale_control_set(cpsw->ale, priv->emac_port,
drivers/net/ethernet/ti/cpsw_new.c
642
cpsw_ale_control_set(cpsw->ale, priv->emac_port,
drivers/net/ethernet/ti/cpsw_new.c
644
cpsw_ale_control_set(cpsw->ale, priv->emac_port,
drivers/net/ethernet/ti/cpsw_new.c
656
cpsw_ale_control_set(cpsw->ale, priv->emac_port,
drivers/net/ethernet/ti/cpsw_new.c
659
cpsw_ale_add_mcast(cpsw->ale, priv->ndev->broadcast,
drivers/net/ethernet/ti/cpsw_new.c
662
cpsw_ale_add_ucast(cpsw->ale, priv->mac_addr,
drivers/net/ethernet/ti/cpsw_new.c
709
cpsw_ale_control_set(cpsw->ale, priv->emac_port,
drivers/net/ethernet/ti/cpsw_new.c
723
cpsw_ale_control_set(cpsw->ale, priv->emac_port,
drivers/net/ethernet/ti/cpsw_new.c
840
cpsw_ale_stop(cpsw->ale);
drivers/net/ethernet/ti/cpsw_priv.c
1440
ret = cpsw_ale_rx_ratelimit_bc(priv->cpsw->ale, port_id, rate_pkt_ps);
drivers/net/ethernet/ti/cpsw_priv.c
1448
ret = cpsw_ale_rx_ratelimit_mc(priv->cpsw->ale, port_id, rate_pkt_ps);
drivers/net/ethernet/ti/cpsw_priv.c
1527
cpsw_ale_rx_ratelimit_bc(priv->cpsw->ale, port_id, 0);
drivers/net/ethernet/ti/cpsw_priv.c
1533
cpsw_ale_rx_ratelimit_mc(priv->cpsw->ale, port_id, 0);
drivers/net/ethernet/ti/cpsw_priv.c
1593
cpsw_ale_rx_ratelimit_bc(priv->cpsw->ale, port_id,
drivers/net/ethernet/ti/cpsw_priv.c
1597
cpsw_ale_rx_ratelimit_mc(priv->cpsw->ale, port_id,
drivers/net/ethernet/ti/cpsw_priv.c
267
if (!cpsw_ale_get_vlan_p0_untag(cpsw->ale, vid)) {
drivers/net/ethernet/ti/cpsw_priv.c
525
cpsw->ale = cpsw_ale_create(&ale_params);
drivers/net/ethernet/ti/cpsw_priv.c
526
if (IS_ERR(cpsw->ale)) {
drivers/net/ethernet/ti/cpsw_priv.c
528
return PTR_ERR(cpsw->ale);
drivers/net/ethernet/ti/cpsw_priv.h
349
struct cpsw_ale *ale;
drivers/net/ethernet/ti/cpsw_switchdev.c
192
ret = cpsw_ale_vlan_add_modify(cpsw->ale, vid, port_mask, untag_mask,
drivers/net/ethernet/ti/cpsw_switchdev.c
200
cpsw_ale_add_ucast(cpsw->ale, priv->mac_addr,
drivers/net/ethernet/ti/cpsw_switchdev.c
225
ret = cpsw_ale_vlan_del_modify(cpsw->ale, vid, port_mask);
drivers/net/ethernet/ti/cpsw_switchdev.c
233
cpsw_ale_del_ucast(cpsw->ale, priv->mac_addr,
drivers/net/ethernet/ti/cpsw_switchdev.c
242
cpsw_ale_del_mcast(cpsw->ale, priv->ndev->broadcast,
drivers/net/ethernet/ti/cpsw_switchdev.c
278
err = cpsw_ale_add_mcast(cpsw->ale, mdb->addr, port_mask,
drivers/net/ethernet/ti/cpsw_switchdev.c
301
err = cpsw_ale_del_mcast(cpsw->ale, mdb->addr, del_mask,
drivers/net/ethernet/ti/cpsw_switchdev.c
399
cpsw_ale_add_ucast(cpsw->ale, (u8 *)fdb->addr, port,
drivers/net/ethernet/ti/cpsw_switchdev.c
415
cpsw_ale_del_ucast(cpsw->ale, (u8 *)fdb->addr, port,
drivers/net/ethernet/ti/cpsw_switchdev.c
51
ret = cpsw_ale_control_set(cpsw->ale, priv->emac_port,
drivers/net/ethernet/ti/cpsw_switchdev.c
73
cpsw_ale_set_unreg_mcast(cpsw->ale, BIT(priv->emac_port),
drivers/net/ethernet/ti/netcp_ethss.c
2089
cpsw_ale_control_set(gbe_dev->ale, slave->port_num,
drivers/net/ethernet/ti/netcp_ethss.c
2101
cpsw_ale_control_set(gbe_dev->ale, slave->port_num,
drivers/net/ethernet/ti/netcp_ethss.c
2257
cpsw_ale_control_set(gbe_dev->ale, slave->port_num,
drivers/net/ethernet/ti/netcp_ethss.c
2259
cpsw_ale_del_mcast(gbe_dev->ale, intf->ndev->broadcast,
drivers/net/ethernet/ti/netcp_ethss.c
2305
cpsw_ale_control_set(priv->ale, slave->port_num,
drivers/net/ethernet/ti/netcp_ethss.c
2307
cpsw_ale_add_mcast(priv->ale, gbe_intf->ndev->broadcast,
drivers/net/ethernet/ti/netcp_ethss.c
2368
cpsw_ale_start(priv->ale);
drivers/net/ethernet/ti/netcp_ethss.c
2373
cpsw_ale_control_set(priv->ale, 0, ALE_BYPASS, bypass_en);
drivers/net/ethernet/ti/netcp_ethss.c
2375
cpsw_ale_control_set(priv->ale, 0, ALE_NO_PORT_VLAN, 1);
drivers/net/ethernet/ti/netcp_ethss.c
2377
cpsw_ale_control_set(priv->ale, priv->host_port,
drivers/net/ethernet/ti/netcp_ethss.c
2380
cpsw_ale_control_set(priv->ale, 0,
drivers/net/ethernet/ti/netcp_ethss.c
2384
cpsw_ale_control_set(priv->ale, 0,
drivers/net/ethernet/ti/netcp_ethss.c
2388
cpsw_ale_control_set(priv->ale, 0,
drivers/net/ethernet/ti/netcp_ethss.c
2392
cpsw_ale_control_set(priv->ale, 0,
drivers/net/ethernet/ti/netcp_ethss.c
2402
cpsw_ale_add_mcast(gbe_dev->ale, addr,
drivers/net/ethernet/ti/netcp_ethss.c
2406
cpsw_ale_add_mcast(gbe_dev->ale, addr,
drivers/net/ethernet/ti/netcp_ethss.c
2417
cpsw_ale_add_ucast(gbe_dev->ale, addr, gbe_dev->host_port, 0, 0);
drivers/net/ethernet/ti/netcp_ethss.c
2420
cpsw_ale_add_ucast(gbe_dev->ale, addr, gbe_dev->host_port,
drivers/net/ethernet/ti/netcp_ethss.c
2429
cpsw_ale_del_mcast(gbe_dev->ale, addr, 0, 0, 0);
drivers/net/ethernet/ti/netcp_ethss.c
2432
cpsw_ale_del_mcast(gbe_dev->ale, addr, 0, ALE_VLAN, vlan_id);
drivers/net/ethernet/ti/netcp_ethss.c
2441
cpsw_ale_del_ucast(gbe_dev->ale, addr, gbe_dev->host_port, 0, 0);
drivers/net/ethernet/ti/netcp_ethss.c
2444
cpsw_ale_del_ucast(gbe_dev->ale, addr, gbe_dev->host_port,
drivers/net/ethernet/ti/netcp_ethss.c
2508
cpsw_ale_add_vlan(gbe_dev->ale, vid,
drivers/net/ethernet/ti/netcp_ethss.c
2522
cpsw_ale_del_vlan(gbe_dev->ale, vid, 0);
drivers/net/ethernet/ti/netcp_ethss.c
2776
struct cpsw_ale *ale = gbe_dev->ale;
drivers/net/ethernet/ti/netcp_ethss.c
2784
cpsw_ale_control_set(ale, i,
drivers/net/ethernet/ti/netcp_ethss.c
2786
cpsw_ale_control_set(ale, i,
drivers/net/ethernet/ti/netcp_ethss.c
2792
cpsw_ale_control_set(ale, 0, ALE_P0_UNI_FLOOD, 0);
drivers/net/ethernet/ti/netcp_ethss.c
2800
cpsw_ale_control_set(ale, 0, ALE_AGEOUT, 1);
drivers/net/ethernet/ti/netcp_ethss.c
2803
if (cpsw_ale_control_get(ale, 0, ALE_AGEOUT)) {
drivers/net/ethernet/ti/netcp_ethss.c
2811
if (ret && !cpsw_ale_control_get(ale, 0, ALE_AGEOUT))
drivers/net/ethernet/ti/netcp_ethss.c
2814
cpsw_ale_control_set(ale, 0, ALE_AGEOUT, 1);
drivers/net/ethernet/ti/netcp_ethss.c
2817
cpsw_ale_flush_multicast(ale,
drivers/net/ethernet/ti/netcp_ethss.c
2822
cpsw_ale_control_set(ale, 0, ALE_P0_UNI_FLOOD, 1);
drivers/net/ethernet/ti/netcp_ethss.c
3697
gbe_dev->ale = cpsw_ale_create(&ale_params);
drivers/net/ethernet/ti/netcp_ethss.c
3698
if (IS_ERR(gbe_dev->ale)) {
drivers/net/ethernet/ti/netcp_ethss.c
3700
ret = PTR_ERR(gbe_dev->ale);
drivers/net/ethernet/ti/netcp_ethss.c
3805
cpsw_ale_stop(gbe_dev->ale);
drivers/net/ethernet/ti/netcp_ethss.c
738
struct cpsw_ale *ale;
fs/ntfs/attrib.c
1000
if ((u32)ale->name_offset +
fs/ntfs/attrib.c
1001
(u32)ale->name_length * sizeof(__le16) > ale_len ||
fs/ntfs/attrib.c
1004
if (ale->type == AT_UNUSED)
fs/ntfs/attrib.c
1006
if (MSEQNO_LE(ale->mft_reference) == 0)
fs/ntfs/attrib.c
1026
const struct attr_list_entry *ale =
fs/ntfs/attrib.c
1029
if (!ntfs_attr_list_entry_is_valid(ale, al_end))
fs/ntfs/attrib.c
1031
al += le16_to_cpu(ale->length);
fs/ntfs/attrib.c
985
bool ntfs_attr_list_entry_is_valid(const struct attr_list_entry *ale,
fs/ntfs/attrib.c
988
const u8 *al = (const u8 *)ale;
fs/ntfs/attrib.c
994
ale_len = le16_to_cpu(ale->length);
fs/ntfs/attrib.c
998
if (ale->name_offset != sizeof(struct attr_list_entry))
fs/ntfs/attrib.h
74
bool ntfs_attr_list_entry_is_valid(const struct attr_list_entry *ale,
fs/ntfs/attrlist.c
123
struct attr_list_entry *ale;
fs/ntfs/attrlist.c
192
ale = (struct attr_list_entry *)((u8 *)ctx->al_entry +
fs/ntfs/attrlist.c
202
ale = ctx->al_entry;
fs/ntfs/attrlist.c
208
entry_offset = ((u8 *)ale - ni->attr_list);
fs/ntfs/attrlist.c
210
ale = (struct attr_list_entry *)(new_al + entry_offset);
fs/ntfs/attrlist.c
211
memset(ale, 0, entry_len);
fs/ntfs/attrlist.c
213
ale->type = attr->type;
fs/ntfs/attrlist.c
214
ale->length = cpu_to_le16(entry_len);
fs/ntfs/attrlist.c
215
ale->name_length = attr->name_length;
fs/ntfs/attrlist.c
216
ale->name_offset = offsetof(struct attr_list_entry, name);
fs/ntfs/attrlist.c
218
ale->lowest_vcn = attr->data.non_resident.lowest_vcn;
fs/ntfs/attrlist.c
220
ale->lowest_vcn = 0;
fs/ntfs/attrlist.c
221
ale->mft_reference = mref;
fs/ntfs/attrlist.c
222
ale->instance = attr->instance;
fs/ntfs/attrlist.c
223
memcpy(ale->name, (u8 *)attr + le16_to_cpu(attr->name_offset),
fs/ntfs/attrlist.c
262
struct attr_list_entry *ale;
fs/ntfs/attrlist.c
27
struct attr_list_entry *ale;
fs/ntfs/attrlist.c
273
ale = ctx->al_entry;
fs/ntfs/attrlist.c
286
new_al_len = base_ni->attr_list_size - le16_to_cpu(ale->length);
fs/ntfs/attrlist.c
292
memcpy(new_al, base_ni->attr_list, (u8 *)ale - base_ni->attr_list);
fs/ntfs/attrlist.c
293
memcpy(new_al + ((u8 *)ale - base_ni->attr_list), (u8 *)ale + le16_to_cpu(
fs/ntfs/attrlist.c
294
ale->length), new_al_len - ((u8 *)ale - base_ni->attr_list));
fs/ntfs/attrlist.c
45
ale = (struct attr_list_entry *)ni->attr_list;
fs/ntfs/attrlist.c
46
while ((u8 *)ale < ni->attr_list + ni->attr_list_size) {
fs/ntfs/attrlist.c
47
if (MREF_LE(ale->mft_reference) != ni->mft_no)
fs/ntfs/attrlist.c
49
ale = (struct attr_list_entry *)((u8 *)ale + le16_to_cpu(ale->length));
fs/ntfs/inode.c
2996
struct attr_list_entry *ale;
fs/ntfs/inode.c
3019
ale = (struct attr_list_entry *)ni->attr_list;
fs/ntfs/inode.c
3020
while ((u8 *)ale < ni->attr_list + ni->attr_list_size) {
fs/ntfs/inode.c
3021
if (ni->mft_no != MREF_LE(ale->mft_reference) &&
fs/ntfs/inode.c
3022
prev_attached != MREF_LE(ale->mft_reference)) {
fs/ntfs/inode.c
3023
if (!ntfs_extent_inode_open(ni, ale->mft_reference)) {
fs/ntfs/inode.c
3027
prev_attached = MREF_LE(ale->mft_reference);
fs/ntfs/inode.c
3029
ale = (struct attr_list_entry *)((u8 *)ale + le16_to_cpu(ale->length));
fs/ntfs/inode.c
3046
struct attr_list_entry *ale = NULL;
fs/ntfs/inode.c
3091
ale = (struct attr_list_entry *)(aln + ((u8 *)ale - al));
fs/ntfs/inode.c
3094
memset(ale, 0, ale_size);
fs/ntfs/inode.c
3097
ale->type = ctx->attr->type;
fs/ntfs/inode.c
3098
ale->length = cpu_to_le16((sizeof(struct attr_list_entry) +
fs/ntfs/inode.c
3100
ale->name_length = ctx->attr->name_length;
fs/ntfs/inode.c
3101
ale->name_offset = (u8 *)ale->name - (u8 *)ale;
fs/ntfs/inode.c
3103
ale->lowest_vcn =
fs/ntfs/inode.c
3106
ale->lowest_vcn = 0;
fs/ntfs/inode.c
3107
ale->mft_reference = MK_LE_MREF(ni->mft_no,
fs/ntfs/inode.c
3109
ale->instance = ctx->attr->instance;
fs/ntfs/inode.c
3110
memcpy(ale->name, (u8 *)ctx->attr +
fs/ntfs/inode.c
3113
ale = (struct attr_list_entry *)(al + al_len);
fs/ntfs/inode.c
3181
ale = (struct attr_list_entry *)al;
fs/ntfs/inode.c
3182
while ((u8 *)ale < al + al_len) {
fs/ntfs/inode.c
3183
if (MREF_LE(ale->mft_reference) != ni->mft_no) {
fs/ntfs/inode.c
3184
if (!ntfs_attr_lookup(ale->type, ale->name,
fs/ntfs/inode.c
3185
ale->name_length,
fs/ntfs/inode.c
3187
le64_to_cpu(ale->lowest_vcn),
fs/ntfs/inode.c
3197
ale = (struct attr_list_entry *)((u8 *)ale + le16_to_cpu(ale->length));
include/linux/platform_data/mtd-orion_nand.h
16
u8 ale; /* address line number connected to ALE */