Lines Matching refs:dsaf_dev
82 ret = mac_cb->dsaf_dev->misc_op->get_sfp_prsnt(mac_cb, in hns_mac_get_link_status()
149 mac_cb->dsaf_dev->ae_dev.name, in hns_mac_adjust_link()
169 if (mac_cb->dsaf_dev->dsaf_mode <= DSAF_MODE_ENABLE) { in hns_mac_get_inner_port_num()
173 mac_cb->dsaf_dev->ae_dev.name, in hns_mac_get_inner_port_num()
177 } else if (mac_cb->dsaf_dev->dsaf_mode < DSAF_MODE_MAX) { in hns_mac_get_inner_port_num()
181 mac_cb->dsaf_dev->ae_dev.name, in hns_mac_get_inner_port_num()
187 mac_cb->dsaf_dev->ae_dev.name, mac_cb->mac_id); in hns_mac_get_inner_port_num()
191 if (vmid >= mac_cb->dsaf_dev->rcb_common[0]->max_vfn) { in hns_mac_get_inner_port_num()
193 mac_cb->dsaf_dev->ae_dev.name, mac_cb->mac_id, vmid); in hns_mac_get_inner_port_num()
197 q_num_per_vf = mac_cb->dsaf_dev->rcb_common[0]->max_q_per_vf; in hns_mac_get_inner_port_num()
198 vf_num_per_port = mac_cb->dsaf_dev->rcb_common[0]->max_vfn; in hns_mac_get_inner_port_num()
203 switch (mac_cb->dsaf_dev->dsaf_mode) { in hns_mac_get_inner_port_num()
226 mac_cb->dsaf_dev->ae_dev.name, mac_cb->mac_id); in hns_mac_get_inner_port_num()
247 struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; in hns_mac_change_vf_addr() local
252 if (!HNS_DSAF_IS_DEBUG(dsaf_dev)) { in hns_mac_change_vf_addr()
264 ret = hns_dsaf_del_mac_entry(dsaf_dev, in hns_mac_change_vf_addr()
272 ret = hns_dsaf_set_mac_uc_entry(dsaf_dev, &mac_entry); in hns_mac_change_vf_addr()
288 struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; in hns_mac_add_uc_addr() local
292 if (HNS_DSAF_IS_DEBUG(dsaf_dev)) in hns_mac_add_uc_addr()
302 return hns_dsaf_set_mac_uc_entry(dsaf_dev, &mac_entry); in hns_mac_add_uc_addr()
308 struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; in hns_mac_rm_uc_addr() local
312 if (HNS_DSAF_IS_DEBUG(dsaf_dev)) in hns_mac_rm_uc_addr()
322 return hns_dsaf_rm_mac_addr(dsaf_dev, &mac_entry); in hns_mac_rm_uc_addr()
329 struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; in hns_mac_set_multi() local
332 if (!HNS_DSAF_IS_DEBUG(dsaf_dev) && addr) { in hns_mac_set_multi()
339 ret = hns_dsaf_del_mac_mc_port(dsaf_dev, &mac_entry); in hns_mac_set_multi()
341 ret = hns_dsaf_add_mac_mc_port(dsaf_dev, &mac_entry); in hns_mac_set_multi()
343 dev_err(dsaf_dev->dev, in hns_mac_set_multi()
345 mac_cb->dsaf_dev->ae_dev.name, in hns_mac_set_multi()
356 struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; in hns_mac_clr_multicast() local
363 return hns_dsaf_clr_mac_mc_port(dsaf_dev, mac_cb->mac_id, port_num); in hns_mac_clr_multicast()
387 struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; in hns_mac_port_config_bc_en() local
394 if (!HNS_DSAF_IS_DEBUG(dsaf_dev)) { in hns_mac_port_config_bc_en()
401 ret = hns_dsaf_del_mac_mc_port(dsaf_dev, &mac_entry); in hns_mac_port_config_bc_en()
403 ret = hns_dsaf_add_mac_mc_port(dsaf_dev, &mac_entry); in hns_mac_port_config_bc_en()
420 struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; in hns_mac_vm_config_bc_en() local
430 if (!HNS_DSAF_IS_DEBUG(dsaf_dev)) { in hns_mac_vm_config_bc_en()
440 ret = hns_dsaf_del_mac_mc_port(dsaf_dev, &mac_entry); in hns_mac_vm_config_bc_en()
442 ret = hns_dsaf_add_mac_mc_port(dsaf_dev, &mac_entry); in hns_mac_vm_config_bc_en()
462 bool is_ver1 = AE_IS_VER1(mac_cb->dsaf_dev->dsaf_ver); in hns_mac_reset()
539 mac_cb->dsaf_dev->misc_op->cpld_reset_led(mac_cb); in hns_mac_stop()
608 bool is_ver1 = AE_IS_VER1(mac_cb->dsaf_dev->dsaf_ver); in hns_mac_set_pauseparam()
969 hns_mac_get_vaddr(struct dsaf_device *dsaf_dev, in hns_mac_get_vaddr() argument
972 u8 __iomem *base = dsaf_dev->io_base; in hns_mac_get_vaddr()
979 return dsaf_dev->ppe_base + 0x1000; in hns_mac_get_vaddr()
989 hns_mac_get_cfg(struct dsaf_device *dsaf_dev, struct hns_mac_cb *mac_cb) in hns_mac_get_cfg() argument
994 mac_cb->dsaf_dev = dsaf_dev; in hns_mac_get_cfg()
995 mac_cb->dev = dsaf_dev->dev; in hns_mac_get_cfg()
997 mac_cb->sys_ctl_vaddr = dsaf_dev->sc_base; in hns_mac_get_cfg()
998 mac_cb->serdes_vaddr = dsaf_dev->sds_base; in hns_mac_get_cfg()
1004 if (!HNS_DSAF_IS_DEBUG(dsaf_dev)) in hns_mac_get_cfg()
1009 mac_cb->phy_if = dsaf_dev->misc_op->get_phy_if(mac_cb); in hns_mac_get_cfg()
1013 dev_err(dsaf_dev->dev, in hns_mac_get_cfg()
1024 mac_cb->dsaf_dev->misc_op->cpld_reset_led(mac_cb); in hns_mac_get_cfg()
1025 mac_cb->vaddr = hns_mac_get_vaddr(dsaf_dev, mac_cb, mac_mode_idx); in hns_mac_get_cfg()
1030 static int hns_mac_get_max_port_num(struct dsaf_device *dsaf_dev) in hns_mac_get_max_port_num() argument
1032 if (HNS_DSAF_IS_DEBUG(dsaf_dev)) in hns_mac_get_max_port_num()
1057 int hns_mac_init(struct dsaf_device *dsaf_dev) in hns_mac_init() argument
1062 int max_port_num = hns_mac_get_max_port_num(dsaf_dev); in hns_mac_init()
1066 device_for_each_child_node(dsaf_dev->dev, child) { in hns_mac_init()
1069 dev_err(dsaf_dev->dev, in hns_mac_init()
1074 dev_err(dsaf_dev->dev, in hns_mac_init()
1078 mac_cb = devm_kzalloc(dsaf_dev->dev, sizeof(*mac_cb), in hns_mac_init()
1084 dsaf_dev->mac_cb[port_id] = mac_cb; in hns_mac_init()
1093 mac_cb = devm_kzalloc(dsaf_dev->dev, sizeof(*mac_cb), in hns_mac_init()
1099 dsaf_dev->mac_cb[port_id] = mac_cb; in hns_mac_init()
1105 mac_cb = dsaf_dev->mac_cb[port_id]; in hns_mac_init()
1109 ret = hns_mac_get_cfg(dsaf_dev, mac_cb); in hns_mac_init()
1121 void hns_mac_uninit(struct dsaf_device *dsaf_dev) in hns_mac_uninit() argument
1124 int max_port_num = hns_mac_get_max_port_num(dsaf_dev); in hns_mac_uninit()
1127 if (!dsaf_dev->mac_cb[i]) in hns_mac_uninit()
1130 dsaf_dev->misc_op->cpld_reset_led(dsaf_dev->mac_cb[i]); in hns_mac_uninit()
1131 hns_mac_remove_phydev(dsaf_dev->mac_cb[i]); in hns_mac_uninit()
1132 dsaf_dev->mac_cb[i] = NULL; in hns_mac_uninit()
1183 hns_dsaf_set_promisc_tcam(mac_cb->dsaf_dev, mac_cb->mac_id, !!en); in hns_mac_set_promisc()
1216 mac_cb->dsaf_dev->misc_op->cpld_set_led(mac_cb, (int)mac_cb->link, in hns_set_led_opt()
1226 return mac_cb->dsaf_dev->misc_op->cpld_set_led_id(mac_cb, status); in hns_cpld_led_set_id()