Lines Matching defs:params
242 dev_err(ale->params.dev, "get: wrong ale fld id %d\n", fld_id);
267 dev_err(ale->params.dev, "set: wrong ale fld id %d\n", fld_id);
316 WARN_ON(idx > ale->params.ale_entries);
318 writel_relaxed(idx, ale->params.ale_regs + ALE_TABLE_CONTROL);
321 ale_entry[i] = readl_relaxed(ale->params.ale_regs +
331 WARN_ON(idx > ale->params.ale_entries);
334 writel_relaxed(ale_entry[i], ale->params.ale_regs +
337 writel_relaxed(idx | ALE_TABLE_WRITE, ale->params.ale_regs +
348 for (idx = 0; idx < ale->params.ale_entries; idx++) {
369 for (idx = 0; idx < ale->params.ale_entries; idx++) {
385 for (idx = 0; idx < ale->params.ale_entries; idx++) {
399 for (idx = 0; idx < ale->params.ale_entries; idx++) {
438 for (idx = 0; idx < ale->params.ale_entries; idx++) {
591 writel(reg_mcast, ale->params.ale_regs + ALE_VLAN_MASK_MUX(idx));
596 writel(unreg_mcast, ale->params.ale_regs + ALE_VLAN_MASK_MUX(idx));
625 if (!ale->params.nu_switch_ale) {
677 if (!ale->params.nu_switch_ale) {
743 dev_err(ale->params.dev, "Unable to add vlan\n");
746 dev_dbg(ale->params.dev, "port mask 0x%x untag 0x%x\n", vlan_members,
759 for (idx = 0; idx < ale->params.ale_entries; idx++) {
805 unreg_mcast = readl(ale->params.ale_regs + ALE_VLAN_MASK_MUX(idx));
812 writel(unreg_mcast, ale->params.ale_regs + ALE_VLAN_MASK_MUX(idx));
820 for (idx = 0; idx < ale->params.ale_entries; idx++) {
834 if (!ale->params.nu_switch_ale)
1084 if (port < 0 || port >= ale->params.ale_ports)
1094 tmp = readl_relaxed(ale->params.ale_regs + offset);
1096 writel_relaxed(tmp, ale->params.ale_regs + offset);
1114 if (port < 0 || port >= ale->params.ale_ports)
1120 tmp = readl_relaxed(ale->params.ale_regs + offset) >> shift;
1140 aging_timer = ale->params.bus_freq / 1000000;
1141 aging_timer *= ale->params.ale_ageout;
1145 dev_warn(ale->params.dev,
1149 writel(aging_timer, ale->params.ale_regs + ALE_AGING_TIMER);
1154 writel(0, ale->params.ale_regs + ALE_AGING_TIMER);
1159 if (!ale->params.ale_ageout)
1174 if (!ale->params.ale_ageout)
1262 struct cpsw_ale *cpsw_ale_create(struct cpsw_ale_params *params)
1268 ale_dev_id = cpsw_ale_match_id(cpsw_ale_id_match, params->dev_id);
1272 params->ale_entries = ale_dev_id->tbl_entries;
1273 params->major_ver_mask = ale_dev_id->major_ver_mask;
1274 params->nu_switch_ale = ale_dev_id->nu_switch_ale;
1276 ale = devm_kzalloc(params->dev, sizeof(*ale), GFP_KERNEL);
1281 devm_kmalloc_array(params->dev, BITS_TO_LONGS(VLAN_N_VID),
1287 ale->params = *params;
1288 ale->ageout = ale->params.ale_ageout * HZ;
1292 rev = readl_relaxed(ale->params.ale_regs + ALE_IDVER);
1294 (ALE_VERSION_MAJOR(rev, ale->params.major_ver_mask) << 8) |
1296 dev_info(ale->params.dev, "initialized cpsw ale version %d.%d\n",
1297 ALE_VERSION_MAJOR(rev, ale->params.major_ver_mask),
1301 !ale->params.ale_entries) {
1303 readl_relaxed(ale->params.ale_regs + ALE_STATUS) &
1308 * For these, params.ale_entries will be set to zero. So
1316 ale->params.ale_entries = ale_entries;
1318 dev_info(ale->params.dev,
1319 "ALE Table size %ld\n", ale->params.ale_entries);
1322 ale->port_mask_bits = ale->params.ale_ports;
1323 ale->port_num_bits = order_base_2(ale->params.ale_ports);
1324 ale->vlan_field_bits = ale->params.ale_ports;
1329 if (ale->params.nu_switch_ale) {
1335 ale->params.ale_ports;
1339 ale->params.ale_ports;
1344 ale->params.ale_ports;
1349 ale->params.ale_ports;
1363 for (i = 0; i < ale->params.ale_entries; i++) {
1371 return ale ? ale->params.ale_entries : 0;