dsaf_dev 36 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ppe_comm = vf_cb->dsaf_dev->ppe_common[0]; dsaf_dev 43 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct dsaf_device *dsaf_dev, int port) dsaf_dev 45 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c return dsaf_dev->rcb_common[0]->max_q_per_vf; dsaf_dev 49 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct dsaf_device *dsaf_dev, int port) dsaf_dev 51 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c return dsaf_dev->rcb_common[0]->max_vfn; dsaf_dev 55 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct dsaf_device *dsaf_dev, int port) dsaf_dev 57 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct rcb_common_cb *rcb_comm = dsaf_dev->rcb_common[0]; dsaf_dev 75 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct dsaf_device *dsaf_dev; dsaf_dev 80 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c dsaf_dev = hns_ae_get_dsaf_dev(dev); dsaf_dev 82 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ring_pair_cb = hns_ae_get_base_ring_pair(dsaf_dev, port_id); dsaf_dev 83 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c vfnum_per_port = hns_ae_get_vf_num_per_port(dsaf_dev, port_id); dsaf_dev 84 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c qnum_per_vf = hns_ae_get_q_num_per_vf(dsaf_dev, port_id); dsaf_dev 89 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c dev_err(dsaf_dev->dev, "malloc vf_cb fail!\n"); dsaf_dev 95 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ae_handle->owner_dev = dsaf_dev->dev; dsaf_dev 108 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c dev_err(dsaf_dev->dev, "malloc queue fail!\n"); dsaf_dev 123 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c vf_cb->dsaf_dev = dsaf_dev; dsaf_dev 125 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c vf_cb->mac_cb = dsaf_dev->mac_cb[port_id]; dsaf_dev 154 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct dsaf_device *dsaf_dev; dsaf_dev 171 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c dsaf_dev = hns_ae_get_dsaf_dev(handle->dev); dsaf_dev 172 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c if (!dsaf_dev) dsaf_dev 174 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ret = hns_dsaf_wait_pkt_clean(dsaf_dev, handle->dport_id); dsaf_dev 305 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c if (!AE_IS_VER1(mac_cb->dsaf_dev->dsaf_ver)) { dsaf_dev 311 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c rx_buf_size = mac_cb->dsaf_dev->buf_size; dsaf_dev 346 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c if (AE_IS_VER1(mac_cb->dsaf_dev->dsaf_ver)) dsaf_dev 388 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_ppe_reset_common(vf_cb->dsaf_dev, 0); dsaf_dev 447 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c switch (mac_cb->dsaf_dev->dsaf_ver) { dsaf_dev 481 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; dsaf_dev 489 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_dsaf_get_rx_mac_pause_en(dsaf_dev, mac_cb->mac_id, rx_en); dsaf_dev 522 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; dsaf_dev 531 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ret = hns_dsaf_set_rx_mac_pause_en(dsaf_dev, dsaf_dev 557 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct dsaf_device *dsaf_dev = hns_ae_get_dsaf_dev(handle->dev); dsaf_dev 559 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c if (AE_IS_VER1(dsaf_dev->dsaf_ver) || dsaf_dev 586 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct dsaf_device *dsaf_dev = hns_ae_get_dsaf_dev(handle->dev); dsaf_dev 588 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c if (AE_IS_VER1(dsaf_dev->dsaf_ver) || dsaf_dev 616 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct dsaf_device *dsaf_dev; dsaf_dev 620 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c dsaf_dev = hns_ae_get_dsaf_dev(handle->dev); dsaf_dev 625 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c if (AE_IS_VER1(dsaf_dev->dsaf_ver) || dsaf_dev 628 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c (dsaf_dev->desc_num - 1 > HNS_RCB_TX_FRAMES_HIGH) ? dsaf_dev 629 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c HNS_RCB_TX_FRAMES_HIGH : dsaf_dev->desc_num - 1; dsaf_dev 633 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c *rx_frames_high = (dsaf_dev->desc_num - 1 > HNS_RCB_RX_FRAMES_HIGH) ? dsaf_dev 634 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c HNS_RCB_RX_FRAMES_HIGH : dsaf_dev->desc_num - 1; dsaf_dev 646 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct dsaf_device *dsaf_dev; dsaf_dev 655 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c dsaf_dev = hns_ae_get_dsaf_dev(handle->dev); dsaf_dev 656 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c if (!dsaf_dev) dsaf_dev 682 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_dsaf_update_stats(dsaf_dev, port); dsaf_dev 684 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c rx_missed_errors += dsaf_dev->hw_stats[port].bp_drop; dsaf_dev 685 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c rx_missed_errors += dsaf_dev->hw_stats[port].pad_drop; dsaf_dev 686 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c rx_missed_errors += dsaf_dev->hw_stats[port].crc_false; dsaf_dev 690 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_dsaf_update_stats(dsaf_dev, port); dsaf_dev 691 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c tx_dropped += dsaf_dev->hw_stats[port].bp_drop; dsaf_dev 692 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c tx_dropped += dsaf_dev->hw_stats[port].pad_drop; dsaf_dev 693 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c tx_dropped += dsaf_dev->hw_stats[port].crc_false; dsaf_dev 694 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c tx_dropped += dsaf_dev->hw_stats[port].rslt_drop; dsaf_dev 695 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c tx_dropped += dsaf_dev->hw_stats[port].vlan_drop; dsaf_dev 696 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c tx_dropped += dsaf_dev->hw_stats[port].stp_drop; dsaf_dev 753 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_dsaf_get_stats(vf_cb->dsaf_dev, p, vf_cb->port_index); dsaf_dev 763 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct dsaf_device *dsaf_dev = hns_ae_get_dsaf_dev(handle->dev); dsaf_dev 786 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_dsaf_get_strings(stringset, p, port, dsaf_dev); dsaf_dev 793 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct dsaf_device *dsaf_dev = hns_ae_get_dsaf_dev(handle->dev); dsaf_dev 804 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c sset_count += hns_dsaf_get_sset_count(dsaf_dev, stringset); dsaf_dev 815 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; dsaf_dev 822 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ret = dsaf_dev->misc_op->cfg_serdes_loopback(vf_cb->mac_cb, dsaf_dev 869 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_rcb_get_common_regs(vf_cb->dsaf_dev->rcb_common[0], p); dsaf_dev 881 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_dsaf_get_regs(vf_cb->dsaf_dev, vf_cb->port_index, p); dsaf_dev 1000 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c int hns_dsaf_ae_init(struct dsaf_device *dsaf_dev) dsaf_dev 1002 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct hnae_ae_dev *ae_dev = &dsaf_dev->ae_dev; dsaf_dev 1005 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c switch (dsaf_dev->dsaf_ver) { dsaf_dev 1019 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ae_dev->dev = dsaf_dev->dev; dsaf_dev 1024 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c void hns_dsaf_ae_uninit(struct dsaf_device *dsaf_dev) dsaf_dev 1026 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hnae_ae_unregister(&dsaf_dev->ae_dev); dsaf_dev 109 drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c struct dsaf_device *dsaf_dev dsaf_dev 114 drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c dsaf_dev->misc_op->ge_srst(dsaf_dev, mac_id, 0); dsaf_dev 352 drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c struct dsaf_device *dsaf_dev dsaf_dev 357 drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c dsaf_dev->misc_op->ge_srst(dsaf_dev, port, 0); dsaf_dev 359 drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c dsaf_dev->misc_op->ge_srst(dsaf_dev, port, 1); dsaf_dev 82 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c ret = mac_cb->dsaf_dev->misc_op->get_sfp_prsnt(mac_cb, dsaf_dev 149 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->dsaf_dev->ae_dev.name, dsaf_dev 169 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (mac_cb->dsaf_dev->dsaf_mode <= DSAF_MODE_ENABLE) { dsaf_dev 173 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->dsaf_dev->ae_dev.name, dsaf_dev 177 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c } else if (mac_cb->dsaf_dev->dsaf_mode < DSAF_MODE_MAX) { dsaf_dev 181 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->dsaf_dev->ae_dev.name, dsaf_dev 187 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->dsaf_dev->ae_dev.name, mac_cb->mac_id); dsaf_dev 191 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (vmid >= mac_cb->dsaf_dev->rcb_common[0]->max_vfn) { dsaf_dev 193 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->dsaf_dev->ae_dev.name, mac_cb->mac_id, vmid); dsaf_dev 197 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c q_num_per_vf = mac_cb->dsaf_dev->rcb_common[0]->max_q_per_vf; dsaf_dev 198 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c vf_num_per_port = mac_cb->dsaf_dev->rcb_common[0]->max_vfn; dsaf_dev 203 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c switch (mac_cb->dsaf_dev->dsaf_mode) { dsaf_dev 226 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->dsaf_dev->ae_dev.name, mac_cb->mac_id); dsaf_dev 247 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; dsaf_dev 252 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (!HNS_DSAF_IS_DEBUG(dsaf_dev)) { dsaf_dev 264 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c ret = hns_dsaf_del_mac_entry(dsaf_dev, dsaf_dev 272 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c ret = hns_dsaf_set_mac_uc_entry(dsaf_dev, &mac_entry); dsaf_dev 288 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; dsaf_dev 292 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (HNS_DSAF_IS_DEBUG(dsaf_dev)) dsaf_dev 302 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c return hns_dsaf_set_mac_uc_entry(dsaf_dev, &mac_entry); dsaf_dev 308 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; dsaf_dev 312 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (HNS_DSAF_IS_DEBUG(dsaf_dev)) dsaf_dev 322 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c return hns_dsaf_rm_mac_addr(dsaf_dev, &mac_entry); dsaf_dev 329 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; dsaf_dev 332 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (!HNS_DSAF_IS_DEBUG(dsaf_dev) && addr) { dsaf_dev 339 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c ret = hns_dsaf_del_mac_mc_port(dsaf_dev, &mac_entry); dsaf_dev 341 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c ret = hns_dsaf_add_mac_mc_port(dsaf_dev, &mac_entry); dsaf_dev 343 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dev_err(dsaf_dev->dev, dsaf_dev 345 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->dsaf_dev->ae_dev.name, dsaf_dev 356 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; dsaf_dev 363 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c return hns_dsaf_clr_mac_mc_port(dsaf_dev, mac_cb->mac_id, port_num); dsaf_dev 387 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; dsaf_dev 394 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (!HNS_DSAF_IS_DEBUG(dsaf_dev)) { dsaf_dev 401 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c ret = hns_dsaf_del_mac_mc_port(dsaf_dev, &mac_entry); dsaf_dev 403 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c ret = hns_dsaf_add_mac_mc_port(dsaf_dev, &mac_entry); dsaf_dev 420 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; dsaf_dev 430 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (!HNS_DSAF_IS_DEBUG(dsaf_dev)) { dsaf_dev 440 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c ret = hns_dsaf_del_mac_mc_port(dsaf_dev, &mac_entry); dsaf_dev 442 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c ret = hns_dsaf_add_mac_mc_port(dsaf_dev, &mac_entry); dsaf_dev 462 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c bool is_ver1 = AE_IS_VER1(mac_cb->dsaf_dev->dsaf_ver); dsaf_dev 539 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->dsaf_dev->misc_op->cpld_reset_led(mac_cb); dsaf_dev 608 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c bool is_ver1 = AE_IS_VER1(mac_cb->dsaf_dev->dsaf_ver); dsaf_dev 969 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c hns_mac_get_vaddr(struct dsaf_device *dsaf_dev, dsaf_dev 972 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c u8 __iomem *base = dsaf_dev->io_base; dsaf_dev 979 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c return dsaf_dev->ppe_base + 0x1000; dsaf_dev 989 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c hns_mac_get_cfg(struct dsaf_device *dsaf_dev, struct hns_mac_cb *mac_cb) dsaf_dev 994 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->dsaf_dev = dsaf_dev; dsaf_dev 995 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->dev = dsaf_dev->dev; dsaf_dev 997 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->sys_ctl_vaddr = dsaf_dev->sc_base; dsaf_dev 998 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->serdes_vaddr = dsaf_dev->sds_base; dsaf_dev 1004 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (!HNS_DSAF_IS_DEBUG(dsaf_dev)) dsaf_dev 1009 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->phy_if = dsaf_dev->misc_op->get_phy_if(mac_cb); dsaf_dev 1013 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dev_err(dsaf_dev->dev, dsaf_dev 1024 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->dsaf_dev->misc_op->cpld_reset_led(mac_cb); dsaf_dev 1025 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->vaddr = hns_mac_get_vaddr(dsaf_dev, mac_cb, mac_mode_idx); dsaf_dev 1030 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c static int hns_mac_get_max_port_num(struct dsaf_device *dsaf_dev) dsaf_dev 1032 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (HNS_DSAF_IS_DEBUG(dsaf_dev)) dsaf_dev 1057 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c int hns_mac_init(struct dsaf_device *dsaf_dev) dsaf_dev 1062 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c int max_port_num = hns_mac_get_max_port_num(dsaf_dev); dsaf_dev 1066 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c device_for_each_child_node(dsaf_dev->dev, child) { dsaf_dev 1069 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dev_err(dsaf_dev->dev, dsaf_dev 1074 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dev_err(dsaf_dev->dev, dsaf_dev 1078 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb = devm_kzalloc(dsaf_dev->dev, sizeof(*mac_cb), dsaf_dev 1084 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dsaf_dev->mac_cb[port_id] = mac_cb; dsaf_dev 1093 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb = devm_kzalloc(dsaf_dev->dev, sizeof(*mac_cb), dsaf_dev 1099 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dsaf_dev->mac_cb[port_id] = mac_cb; dsaf_dev 1105 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb = dsaf_dev->mac_cb[port_id]; dsaf_dev 1109 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c ret = hns_mac_get_cfg(dsaf_dev, mac_cb); dsaf_dev 1121 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c void hns_mac_uninit(struct dsaf_device *dsaf_dev) dsaf_dev 1124 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c int max_port_num = hns_mac_get_max_port_num(dsaf_dev); dsaf_dev 1127 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (!dsaf_dev->mac_cb[i]) dsaf_dev 1130 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dsaf_dev->misc_op->cpld_reset_led(dsaf_dev->mac_cb[i]); dsaf_dev 1131 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c hns_mac_remove_phydev(dsaf_dev->mac_cb[i]); dsaf_dev 1132 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dsaf_dev->mac_cb[i] = NULL; dsaf_dev 1183 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c hns_dsaf_set_promisc_tcam(mac_cb->dsaf_dev, mac_cb->mac_id, !!en); dsaf_dev 1216 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->dsaf_dev->misc_op->cpld_set_led(mac_cb, (int)mac_cb->link, dsaf_dev 1226 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c return mac_cb->dsaf_dev->misc_op->cpld_set_led_id(mac_cb, status); dsaf_dev 305 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h struct dsaf_device *dsaf_dev; dsaf_dev 428 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h int hns_mac_init(struct dsaf_device *dsaf_dev); dsaf_dev 438 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h void hns_mac_uninit(struct dsaf_device *dsaf_dev); dsaf_dev 41 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static int hns_dsaf_get_cfg(struct dsaf_device *dsaf_dev) dsaf_dev 51 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct device_node *np = dsaf_dev->dev->of_node, *np_temp; dsaf_dev 52 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct platform_device *pdev = to_platform_device(dsaf_dev->dev); dsaf_dev 54 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (dev_of_node(dsaf_dev->dev)) { dsaf_dev 56 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->dsaf_ver = AE_VERSION_1; dsaf_dev 58 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->dsaf_ver = AE_VERSION_2; dsaf_dev 59 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c } else if (is_acpi_node(dsaf_dev->dev->fwnode)) { dsaf_dev 61 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->dsaf_ver = AE_VERSION_1; dsaf_dev 63 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->dsaf_ver = AE_VERSION_2; dsaf_dev 67 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, "cannot get cfg data from of or acpi\n"); dsaf_dev 71 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c ret = device_property_read_string(dsaf_dev->dev, "mode", &mode_str); dsaf_dev 73 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, "get dsaf mode fail, ret=%d!\n", ret); dsaf_dev 83 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, dsaf_dev 84 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c "%s prs mode str fail!\n", dsaf_dev->ae_dev.name); dsaf_dev 87 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->dsaf_mode = (enum dsaf_mode)i; dsaf_dev 89 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (dsaf_dev->dsaf_mode > DSAF_MODE_ENABLE) dsaf_dev 90 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->dsaf_en = HRD_DSAF_NO_DSAF_MODE; dsaf_dev 92 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->dsaf_en = HRD_DSAF_MODE; dsaf_dev 97 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->dsaf_tc_mode = HRD_DSAF_8TC_MODE; dsaf_dev 99 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->dsaf_tc_mode = HRD_DSAF_4TC_MODE; dsaf_dev 101 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (dev_of_node(dsaf_dev->dev)) { dsaf_dev 109 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, "subctrl info is needed!\n"); dsaf_dev 113 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->sc_base = devm_ioremap_resource(&pdev->dev, dsaf_dev 115 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (IS_ERR(dsaf_dev->sc_base)) dsaf_dev 116 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c return PTR_ERR(dsaf_dev->sc_base); dsaf_dev 121 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, "serdes-ctrl info is needed!\n"); dsaf_dev 125 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->sds_base = devm_ioremap_resource(&pdev->dev, dsaf_dev 127 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (IS_ERR(dsaf_dev->sds_base)) dsaf_dev 128 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c return PTR_ERR(dsaf_dev->sds_base); dsaf_dev 130 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->sub_ctrl = syscon; dsaf_dev 138 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, "ppe-base info is needed!\n"); dsaf_dev 142 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->ppe_base = devm_ioremap_resource(&pdev->dev, res); dsaf_dev 143 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (IS_ERR(dsaf_dev->ppe_base)) dsaf_dev 144 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c return PTR_ERR(dsaf_dev->ppe_base); dsaf_dev 145 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->ppe_paddr = res->start; dsaf_dev 147 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (!HNS_DSAF_IS_DEBUG(dsaf_dev)) { dsaf_dev 154 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, dsaf_dev 159 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->io_base = devm_ioremap_resource(&pdev->dev, res); dsaf_dev 160 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (IS_ERR(dsaf_dev->io_base)) dsaf_dev 161 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c return PTR_ERR(dsaf_dev->io_base); dsaf_dev 164 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c ret = device_property_read_u32(dsaf_dev->dev, "desc-num", &desc_num); dsaf_dev 167 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, "get desc-num(%d) fail, ret=%d!\n", dsaf_dev 171 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->desc_num = desc_num; dsaf_dev 173 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c ret = device_property_read_u32(dsaf_dev->dev, "reset-field-offset", dsaf_dev 176 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_dbg(dsaf_dev->dev, dsaf_dev 179 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->reset_offset = reset_offset; dsaf_dev 181 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c ret = device_property_read_u32(dsaf_dev->dev, "buf-size", &buf_size); dsaf_dev 183 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, dsaf_dev 187 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->buf_size = buf_size; dsaf_dev 189 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->buf_size_type = hns_rcb_buf_size2type(buf_size); dsaf_dev 190 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (dsaf_dev->buf_size_type < 0) { dsaf_dev 191 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, dsaf_dev 196 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->misc_op = hns_misc_op_get(dsaf_dev); dsaf_dev 197 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (!dsaf_dev->misc_op) dsaf_dev 200 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (!dma_set_mask_and_coherent(dsaf_dev->dev, DMA_BIT_MASK(64ULL))) dsaf_dev 201 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_dbg(dsaf_dev->dev, "set mask to 64bit\n"); dsaf_dev 203 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, "set mask to 64bit fail!\n"); dsaf_dev 212 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_sbm_link_sram_init_en(struct dsaf_device *dsaf_dev) dsaf_dev 214 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_set_dev_bit(dsaf_dev, DSAF_CFG_0_REG, DSAF_CFG_SBM_INIT_S, 1); dsaf_dev 223 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_reg_cnt_clr_ce(struct dsaf_device *dsaf_dev, u32 reg_cnt_clr_ce) dsaf_dev 225 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_set_dev_bit(dsaf_dev, DSAF_DSA_REG_CNT_CLR_CE_REG, dsaf_dev 235 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_ppe_qid_cfg(struct dsaf_device *dsaf_dev, u32 qid_cfg) dsaf_dev 240 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_set_dev_field(dsaf_dev, dsaf_dev 247 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_mix_def_qid_cfg(struct dsaf_device *dsaf_dev) dsaf_dev 253 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_rcb_get_queue_mode(dsaf_dev->dsaf_mode, &max_vfn, &max_q_per_vf); dsaf_dev 257 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_set_dev_field(dsaf_dev, dsaf_dev 264 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_inner_qid_cfg(struct dsaf_device *dsaf_dev) dsaf_dev 270 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (AE_IS_VER1(dsaf_dev->dsaf_ver)) dsaf_dev 273 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_rcb_get_queue_mode(dsaf_dev->dsaf_mode, &max_vfn, &max_q_per_vf); dsaf_dev 277 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_set_dev_field(dsaf_dev, dsaf_dev 291 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_sw_port_type_cfg(struct dsaf_device *dsaf_dev, dsaf_dev 297 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_set_dev_field(dsaf_dev, dsaf_dev 309 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_stp_port_type_cfg(struct dsaf_device *dsaf_dev, dsaf_dev 315 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_set_dev_field(dsaf_dev, dsaf_dev 328 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_sbm_cfg(struct dsaf_device *dsaf_dev) dsaf_dev 333 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c for (i = 0; i < HNS_DSAF_SBM_NUM(dsaf_dev); i++) { dsaf_dev 334 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c o_sbm_cfg = dsaf_read_dev(dsaf_dev, dsaf_dev 338 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, dsaf_dev 347 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static int hns_dsaf_sbm_cfg_mib_en(struct dsaf_device *dsaf_dev) dsaf_dev 355 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c for (i = 0; i < HNS_DSAF_SBM_NUM(dsaf_dev); i++) { dsaf_dev 357 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_set_dev_bit(dsaf_dev, reg, DSAF_SBM_CFG_MIB_EN_S, 0); dsaf_dev 360 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c for (i = 0; i < HNS_DSAF_SBM_NUM(dsaf_dev); i++) { dsaf_dev 362 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_set_dev_bit(dsaf_dev, reg, DSAF_SBM_CFG_MIB_EN_S, 1); dsaf_dev 366 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c for (i = 0; i < HNS_DSAF_SBM_NUM(dsaf_dev); i++) { dsaf_dev 372 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev, reg, DSAF_SBM_CFG_MIB_EN_S); dsaf_dev 378 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, dsaf_dev 380 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->ae_dev.name, i); dsaf_dev 392 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_sbm_bp_wl_cfg(struct dsaf_device *dsaf_dev) dsaf_dev 401 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c o_sbm_bp_cfg = dsaf_read_dev(dsaf_dev, reg); dsaf_dev 408 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, reg, o_sbm_bp_cfg); dsaf_dev 411 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c o_sbm_bp_cfg = dsaf_read_dev(dsaf_dev, reg); dsaf_dev 416 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, reg, o_sbm_bp_cfg); dsaf_dev 419 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c o_sbm_bp_cfg = dsaf_read_dev(dsaf_dev, reg); dsaf_dev 424 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, reg, o_sbm_bp_cfg); dsaf_dev 427 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c o_sbm_bp_cfg = dsaf_read_dev(dsaf_dev, reg); dsaf_dev 434 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, reg, o_sbm_bp_cfg); dsaf_dev 438 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c o_sbm_bp_cfg = dsaf_read_dev(dsaf_dev, reg); dsaf_dev 445 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, reg, o_sbm_bp_cfg); dsaf_dev 451 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c o_sbm_bp_cfg = dsaf_read_dev(dsaf_dev, reg); dsaf_dev 456 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, reg, o_sbm_bp_cfg); dsaf_dev 462 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c o_sbm_bp_cfg = dsaf_read_dev(dsaf_dev, reg); dsaf_dev 467 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, reg, o_sbm_bp_cfg); dsaf_dev 471 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsafv2_sbm_bp_wl_cfg(struct dsaf_device *dsaf_dev) dsaf_dev 480 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c o_sbm_bp_cfg = dsaf_read_dev(dsaf_dev, reg); dsaf_dev 487 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, reg, o_sbm_bp_cfg); dsaf_dev 490 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c o_sbm_bp_cfg = dsaf_read_dev(dsaf_dev, reg); dsaf_dev 495 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, reg, o_sbm_bp_cfg); dsaf_dev 498 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c o_sbm_bp_cfg = dsaf_read_dev(dsaf_dev, reg); dsaf_dev 503 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, reg, o_sbm_bp_cfg); dsaf_dev 506 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c o_sbm_bp_cfg = dsaf_read_dev(dsaf_dev, reg); dsaf_dev 513 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, reg, o_sbm_bp_cfg); dsaf_dev 517 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c o_sbm_bp_cfg = dsaf_read_dev(dsaf_dev, reg); dsaf_dev 524 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, reg, o_sbm_bp_cfg); dsaf_dev 530 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c o_sbm_bp_cfg = dsaf_read_dev(dsaf_dev, reg); dsaf_dev 540 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, reg, o_sbm_bp_cfg); dsaf_dev 546 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c o_sbm_bp_cfg = dsaf_read_dev(dsaf_dev, reg); dsaf_dev 553 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, reg, o_sbm_bp_cfg); dsaf_dev 561 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_voq_bp_all_thrd_cfg(struct dsaf_device *dsaf_dev) dsaf_dev 568 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev, DSAF_VOQ_BP_ALL_THRD_0_REG + 0x40 * i); dsaf_dev 585 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev, DSAF_VOQ_BP_ALL_THRD_0_REG + 0x40 * i, dsaf_dev 591 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_device *dsaf_dev, dsaf_dev 594 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_TCAM_MATCH_CFG_L_REG, dsaf_dev 596 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_TCAM_MATCH_CFG_H_REG, dsaf_dev 606 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_device *dsaf_dev, dsaf_dev 609 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_TCAM_LOW_0_REG, dsaf_dev 611 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_TCAM_HIGH_0_REG, dsaf_dev 621 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_device *dsaf_dev, dsaf_dev 626 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c mcast_cfg4 = dsaf_read_dev(dsaf_dev, DSAF_TBL_TCAM_MCAST_CFG_4_0_REG); dsaf_dev 634 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_TCAM_MCAST_CFG_4_0_REG, mcast_cfg4); dsaf_dev 636 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_TCAM_MCAST_CFG_3_0_REG, dsaf_dev 639 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_TCAM_MCAST_CFG_2_0_REG, dsaf_dev 642 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_TCAM_MCAST_CFG_1_0_REG, dsaf_dev 645 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_TCAM_MCAST_CFG_0_0_REG, dsaf_dev 655 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_device *dsaf_dev, dsaf_dev 660 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c ucast_cfg1 = dsaf_read_dev(dsaf_dev, DSAF_TBL_TCAM_UCAST_CFG_0_REG); dsaf_dev 672 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_TCAM_UCAST_CFG_0_REG, ucast_cfg1); dsaf_dev 680 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_tbl_line_cfg(struct dsaf_device *dsaf_dev, dsaf_dev 685 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c tbl_line = dsaf_read_dev(dsaf_dev, DSAF_TBL_LIN_CFG_0_REG); dsaf_dev 693 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_LIN_CFG_0_REG, tbl_line); dsaf_dev 700 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_tbl_tcam_mcast_pul(struct dsaf_device *dsaf_dev) dsaf_dev 704 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c o_tbl_pul = dsaf_read_dev(dsaf_dev, DSAF_TBL_PUL_0_REG); dsaf_dev 706 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_PUL_0_REG, o_tbl_pul); dsaf_dev 708 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_PUL_0_REG, o_tbl_pul); dsaf_dev 715 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_tbl_line_pul(struct dsaf_device *dsaf_dev) dsaf_dev 719 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c tbl_pul = dsaf_read_dev(dsaf_dev, DSAF_TBL_PUL_0_REG); dsaf_dev 721 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_PUL_0_REG, tbl_pul); dsaf_dev 723 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_PUL_0_REG, tbl_pul); dsaf_dev 731 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_device *dsaf_dev) dsaf_dev 735 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c o_tbl_pul = dsaf_read_dev(dsaf_dev, DSAF_TBL_PUL_0_REG); dsaf_dev 738 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_PUL_0_REG, o_tbl_pul); dsaf_dev 741 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_PUL_0_REG, o_tbl_pul); dsaf_dev 749 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_device *dsaf_dev) dsaf_dev 753 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c o_tbl_pul = dsaf_read_dev(dsaf_dev, DSAF_TBL_PUL_0_REG); dsaf_dev 756 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_PUL_0_REG, o_tbl_pul); dsaf_dev 759 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_PUL_0_REG, o_tbl_pul); dsaf_dev 762 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c void hns_dsaf_set_promisc_mode(struct dsaf_device *dsaf_dev, u32 en) dsaf_dev 764 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (AE_IS_VER1(dsaf_dev->dsaf_ver) && !HNS_DSAF_IS_DEBUG(dsaf_dev)) dsaf_dev 765 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_set_dev_bit(dsaf_dev, DSAF_CFG_0_REG, dsaf_dev 774 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_tbl_stat_en(struct dsaf_device *dsaf_dev) dsaf_dev 778 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c o_tbl_ctrl = dsaf_read_dev(dsaf_dev, DSAF_TBL_DFX_CTRL_0_REG); dsaf_dev 783 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_DFX_CTRL_0_REG, o_tbl_ctrl); dsaf_dev 790 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_rocee_bp_en(struct dsaf_device *dsaf_dev) dsaf_dev 792 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (AE_IS_VER1(dsaf_dev->dsaf_ver)) dsaf_dev 793 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_set_dev_bit(dsaf_dev, DSAF_XGE_CTRL_SIG_CFG_0_REG, dsaf_dev 798 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_int_xge_msk_set(struct dsaf_device *dsaf_dev, dsaf_dev 801 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, dsaf_dev 805 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_int_ppe_msk_set(struct dsaf_device *dsaf_dev, dsaf_dev 808 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, dsaf_dev 812 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_int_rocee_msk_set(struct dsaf_device *dsaf_dev, dsaf_dev 815 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, dsaf_dev 820 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_int_tbl_msk_set(struct dsaf_device *dsaf_dev, u32 msk_set) dsaf_dev 822 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_INT_MSK_0_REG, msk_set); dsaf_dev 826 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_int_xge_src_clr(struct dsaf_device *dsaf_dev, dsaf_dev 829 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, dsaf_dev 833 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_int_ppe_src_clr(struct dsaf_device *dsaf_dev, dsaf_dev 836 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, dsaf_dev 840 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_int_rocee_src_clr(struct dsaf_device *dsaf_dev, dsaf_dev 843 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, dsaf_dev 847 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_int_tbl_src_clr(struct dsaf_device *dsaf_dev, dsaf_dev 850 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_INT_SRC_0_REG, int_src); dsaf_dev 860 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_device *dsaf_dev, dsaf_dev 863 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c spin_lock_bh(&dsaf_dev->tcam_lock); dsaf_dev 866 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_line_addr_cfg(dsaf_dev, address); dsaf_dev 869 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_line_cfg(dsaf_dev, ptbl_line); dsaf_dev 872 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_line_pul(dsaf_dev); dsaf_dev 874 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c spin_unlock_bh(&dsaf_dev->tcam_lock); dsaf_dev 884 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_device *dsaf_dev, u32 address, dsaf_dev 888 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c spin_lock_bh(&dsaf_dev->tcam_lock); dsaf_dev 891 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_addr_cfg(dsaf_dev, address); dsaf_dev 893 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_data_cfg(dsaf_dev, ptbl_tcam_data); dsaf_dev 895 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_ucast_cfg(dsaf_dev, ptbl_tcam_ucast); dsaf_dev 897 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_data_ucast_pul(dsaf_dev); dsaf_dev 899 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c spin_unlock_bh(&dsaf_dev->tcam_lock); dsaf_dev 910 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_device *dsaf_dev, u32 address, dsaf_dev 915 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c spin_lock_bh(&dsaf_dev->tcam_lock); dsaf_dev 918 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_addr_cfg(dsaf_dev, address); dsaf_dev 920 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_data_cfg(dsaf_dev, ptbl_tcam_data); dsaf_dev 922 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_mcast_cfg(dsaf_dev, ptbl_tcam_mcast); dsaf_dev 925 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_match_cfg(dsaf_dev, ptbl_tcam_mask); dsaf_dev 928 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_data_mcast_pul(dsaf_dev); dsaf_dev 930 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c spin_unlock_bh(&dsaf_dev->tcam_lock); dsaf_dev 939 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_tcam_uc_cfg_vague(struct dsaf_device *dsaf_dev, dsaf_dev 945 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c spin_lock_bh(&dsaf_dev->tcam_lock); dsaf_dev 946 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_addr_cfg(dsaf_dev, address); dsaf_dev 947 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_data_cfg(dsaf_dev, tcam_data); dsaf_dev 948 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_ucast_cfg(dsaf_dev, tcam_uc); dsaf_dev 949 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_match_cfg(dsaf_dev, tcam_mask); dsaf_dev 950 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_data_ucast_pul(dsaf_dev); dsaf_dev 955 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_match_cfg(dsaf_dev, tcam_mask); dsaf_dev 957 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c spin_unlock_bh(&dsaf_dev->tcam_lock); dsaf_dev 968 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_tcam_mc_cfg_vague(struct dsaf_device *dsaf_dev, dsaf_dev 974 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c spin_lock_bh(&dsaf_dev->tcam_lock); dsaf_dev 975 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_addr_cfg(dsaf_dev, address); dsaf_dev 976 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_data_cfg(dsaf_dev, tcam_data); dsaf_dev 977 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_mcast_cfg(dsaf_dev, tcam_mc); dsaf_dev 978 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_match_cfg(dsaf_dev, tcam_mask); dsaf_dev 979 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_data_mcast_pul(dsaf_dev); dsaf_dev 984 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_match_cfg(dsaf_dev, tcam_mask); dsaf_dev 986 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c spin_unlock_bh(&dsaf_dev->tcam_lock); dsaf_dev 994 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_tcam_mc_invld(struct dsaf_device *dsaf_dev, u32 address) dsaf_dev 996 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c spin_lock_bh(&dsaf_dev->tcam_lock); dsaf_dev 999 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_addr_cfg(dsaf_dev, address); dsaf_dev 1002 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_TCAM_MCAST_CFG_0_0_REG, 0); dsaf_dev 1003 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_TCAM_MCAST_CFG_1_0_REG, 0); dsaf_dev 1004 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_TCAM_MCAST_CFG_2_0_REG, 0); dsaf_dev 1005 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_TCAM_MCAST_CFG_3_0_REG, 0); dsaf_dev 1006 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_TBL_TCAM_MCAST_CFG_4_0_REG, 0); dsaf_dev 1009 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_mcast_pul(dsaf_dev); dsaf_dev 1011 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c spin_unlock_bh(&dsaf_dev->tcam_lock); dsaf_dev 1033 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_device *dsaf_dev, u32 address, dsaf_dev 1040 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c spin_lock_bh(&dsaf_dev->tcam_lock); dsaf_dev 1043 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_addr_cfg(dsaf_dev, address); dsaf_dev 1046 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_load_pul(dsaf_dev); dsaf_dev 1050 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c = dsaf_read_dev(dsaf_dev, DSAF_TBL_TCAM_RDATA_HIGH_0_REG); dsaf_dev 1052 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c = dsaf_read_dev(dsaf_dev, DSAF_TBL_TCAM_RDATA_LOW_0_REG); dsaf_dev 1055 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c tcam_read_data0 = dsaf_read_dev(dsaf_dev, dsaf_dev 1057 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c tcam_read_data4 = dsaf_read_dev(dsaf_dev, dsaf_dev 1075 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c spin_unlock_bh(&dsaf_dev->tcam_lock); dsaf_dev 1086 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_device *dsaf_dev, u32 address, dsaf_dev 1092 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c spin_lock_bh(&dsaf_dev->tcam_lock); dsaf_dev 1095 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_addr_cfg(dsaf_dev, address); dsaf_dev 1098 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_load_pul(dsaf_dev); dsaf_dev 1102 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_read_dev(dsaf_dev, DSAF_TBL_TCAM_RDATA_HIGH_0_REG); dsaf_dev 1104 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_read_dev(dsaf_dev, DSAF_TBL_TCAM_RDATA_LOW_0_REG); dsaf_dev 1108 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_read_dev(dsaf_dev, DSAF_TBL_TCAM_RAM_RDATA0_0_REG); dsaf_dev 1110 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_read_dev(dsaf_dev, DSAF_TBL_TCAM_RAM_RDATA1_0_REG); dsaf_dev 1112 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_read_dev(dsaf_dev, DSAF_TBL_TCAM_RAM_RDATA2_0_REG); dsaf_dev 1114 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_read_dev(dsaf_dev, DSAF_TBL_TCAM_RAM_RDATA3_0_REG); dsaf_dev 1116 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c data_tmp = dsaf_read_dev(dsaf_dev, DSAF_TBL_TCAM_RAM_RDATA4_0_REG); dsaf_dev 1125 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c spin_unlock_bh(&dsaf_dev->tcam_lock); dsaf_dev 1132 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_tbl_line_init(struct dsaf_device *dsaf_dev) dsaf_dev 1139 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_single_line_tbl_cfg(dsaf_dev, i, tbl_line); dsaf_dev 1146 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_tbl_tcam_init(struct dsaf_device *dsaf_dev) dsaf_dev 1154 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tcam_uc_cfg(dsaf_dev, i, tcam_data, tcam_ucast); dsaf_dev 1161 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_pfc_en_cfg(struct dsaf_device *dsaf_dev, dsaf_dev 1164 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_PFC_EN_0_REG + mac_id * 4, tc_en); dsaf_dev 1167 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_set_pfc_pause(struct dsaf_device *dsaf_dev, dsaf_dev 1170 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (AE_IS_VER1(dsaf_dev->dsaf_ver)) { dsaf_dev 1172 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, "dsaf v1 can not close pfc!\n"); dsaf_dev 1177 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_set_dev_bit(dsaf_dev, DSAF_PAUSE_CFG_REG + mac_id * 4, dsaf_dev 1179 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_set_dev_bit(dsaf_dev, DSAF_PAUSE_CFG_REG + mac_id * 4, dsaf_dev 1183 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c int hns_dsaf_set_rx_mac_pause_en(struct dsaf_device *dsaf_dev, int mac_id, dsaf_dev 1186 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (AE_IS_VER1(dsaf_dev->dsaf_ver)) { dsaf_dev 1188 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, "dsafv1 can't close rx_pause!\n"); dsaf_dev 1193 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_set_dev_bit(dsaf_dev, DSAF_PAUSE_CFG_REG + mac_id * 4, dsaf_dev 1199 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c void hns_dsaf_get_rx_mac_pause_en(struct dsaf_device *dsaf_dev, int mac_id, dsaf_dev 1202 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (AE_IS_VER1(dsaf_dev->dsaf_ver)) dsaf_dev 1205 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c *en = dsaf_get_dev_bit(dsaf_dev, dsaf_dev 1215 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_comm_init(struct dsaf_device *dsaf_dev) dsaf_dev 1219 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c bool is_ver1 = AE_IS_VER1(dsaf_dev->dsaf_ver); dsaf_dev 1221 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c o_dsaf_cfg = dsaf_read_dev(dsaf_dev, DSAF_CFG_0_REG); dsaf_dev 1222 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_set_bit(o_dsaf_cfg, DSAF_CFG_EN_S, dsaf_dev->dsaf_en); dsaf_dev 1223 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_set_bit(o_dsaf_cfg, DSAF_CFG_TC_MODE_S, dsaf_dev->dsaf_tc_mode); dsaf_dev 1227 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_CFG_0_REG, o_dsaf_cfg); dsaf_dev 1229 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_reg_cnt_clr_ce(dsaf_dev, 1); dsaf_dev 1230 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_stp_port_type_cfg(dsaf_dev, DSAF_STP_PORT_TYPE_FORWARD); dsaf_dev 1233 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_ppe_qid_cfg(dsaf_dev, DSAF_DEFAUTL_QUEUE_NUM_PER_PPE); dsaf_dev 1236 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_mix_def_qid_cfg(dsaf_dev); dsaf_dev 1239 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_inner_qid_cfg(dsaf_dev); dsaf_dev 1242 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_sw_port_type_cfg(dsaf_dev, DSAF_SW_PORT_TYPE_NON_VLAN); dsaf_dev 1246 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_pfc_en_cfg(dsaf_dev, i, 0); dsaf_dev 1247 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_set_pfc_pause(dsaf_dev, i, is_ver1, is_ver1); dsaf_dev 1252 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_int_xge_src_clr(dsaf_dev, i, 0xfffffffful); dsaf_dev 1253 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_int_ppe_src_clr(dsaf_dev, i, 0xfffffffful); dsaf_dev 1254 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_int_rocee_src_clr(dsaf_dev, i, 0xfffffffful); dsaf_dev 1256 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_int_xge_msk_set(dsaf_dev, i, 0xfffffffful); dsaf_dev 1257 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_int_ppe_msk_set(dsaf_dev, i, 0xfffffffful); dsaf_dev 1258 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_int_rocee_msk_set(dsaf_dev, i, 0xfffffffful); dsaf_dev 1260 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_int_tbl_src_clr(dsaf_dev, 0xfffffffful); dsaf_dev 1261 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_int_tbl_msk_set(dsaf_dev, 0xfffffffful); dsaf_dev 1268 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_inode_init(struct dsaf_device *dsaf_dev) dsaf_dev 1274 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (dsaf_dev->dsaf_tc_mode == HRD_DSAF_4TC_MODE) dsaf_dev 1279 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (AE_IS_VER1(dsaf_dev->dsaf_ver)) { dsaf_dev 1282 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_set_dev_field(dsaf_dev, reg, dsaf_dev 1290 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_set_dev_field(dsaf_dev, reg, dsaf_dev 1293 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_set_dev_field(dsaf_dev, reg, dsaf_dev 1296 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_set_dev_field(dsaf_dev, reg, dsaf_dev 1299 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_set_dev_field(dsaf_dev, reg, dsaf_dev 1302 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_set_dev_field(dsaf_dev, reg, dsaf_dev 1305 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_set_dev_field(dsaf_dev, reg, dsaf_dev 1312 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, reg, tc_cfg); dsaf_dev 1320 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static int hns_dsaf_sbm_init(struct dsaf_device *dsaf_dev) dsaf_dev 1327 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (AE_IS_VER1(dsaf_dev->dsaf_ver)) { dsaf_dev 1328 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_sbm_bp_wl_cfg(dsaf_dev); dsaf_dev 1331 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsafv2_sbm_bp_wl_cfg(dsaf_dev); dsaf_dev 1336 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_sbm_cfg(dsaf_dev); dsaf_dev 1339 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c ret = hns_dsaf_sbm_cfg_mib_en(dsaf_dev); dsaf_dev 1341 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, dsaf_dev 1343 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->ae_dev.name, ret); dsaf_dev 1348 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_sbm_link_sram_init_en(dsaf_dev); dsaf_dev 1352 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c flag = dsaf_get_dev_field(dsaf_dev, DSAF_SRAM_INIT_OVER_0_REG, dsaf_dev 1359 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, dsaf_dev 1361 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->ae_dev.name, flag, cnt); dsaf_dev 1365 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_rocee_bp_en(dsaf_dev); dsaf_dev 1374 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_tbl_init(struct dsaf_device *dsaf_dev) dsaf_dev 1376 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_stat_en(dsaf_dev); dsaf_dev 1378 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_tcam_init(dsaf_dev); dsaf_dev 1379 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_line_init(dsaf_dev); dsaf_dev 1386 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_voq_init(struct dsaf_device *dsaf_dev) dsaf_dev 1388 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_voq_bp_all_thrd_cfg(dsaf_dev); dsaf_dev 1395 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static int hns_dsaf_init_hw(struct dsaf_device *dsaf_dev) dsaf_dev 1399 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_dbg(dsaf_dev->dev, dsaf_dev 1400 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c "hns_dsaf_init_hw begin %s !\n", dsaf_dev->ae_dev.name); dsaf_dev 1402 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->misc_op->dsaf_reset(dsaf_dev, 0); dsaf_dev 1404 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->misc_op->dsaf_reset(dsaf_dev, 1); dsaf_dev 1406 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_comm_init(dsaf_dev); dsaf_dev 1409 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_inode_init(dsaf_dev); dsaf_dev 1412 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c ret = hns_dsaf_sbm_init(dsaf_dev); dsaf_dev 1417 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tbl_init(dsaf_dev); dsaf_dev 1420 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_voq_init(dsaf_dev); dsaf_dev 1429 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_remove_hw(struct dsaf_device *dsaf_dev) dsaf_dev 1432 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->misc_op->dsaf_reset(dsaf_dev, 0); dsaf_dev 1440 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static int hns_dsaf_init(struct dsaf_device *dsaf_dev) dsaf_dev 1443 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c (struct dsaf_drv_priv *)hns_dsaf_dev_priv(dsaf_dev); dsaf_dev 1447 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (HNS_DSAF_IS_DEBUG(dsaf_dev)) dsaf_dev 1450 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (AE_IS_VER1(dsaf_dev->dsaf_ver)) dsaf_dev 1451 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->tcam_max_num = DSAF_TCAM_SUM; dsaf_dev 1453 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->tcam_max_num = dsaf_dev 1456 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c spin_lock_init(&dsaf_dev->tcam_lock); dsaf_dev 1457 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c ret = hns_dsaf_init_hw(dsaf_dev); dsaf_dev 1476 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_remove_hw(dsaf_dev); dsaf_dev 1484 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_free(struct dsaf_device *dsaf_dev) dsaf_dev 1487 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c (struct dsaf_drv_priv *)hns_dsaf_dev_priv(dsaf_dev); dsaf_dev 1489 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_remove_hw(dsaf_dev); dsaf_dev 1502 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_device *dsaf_dev, dsaf_dev 1506 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c (struct dsaf_drv_priv *)hns_dsaf_dev_priv(dsaf_dev); dsaf_dev 1511 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c for (i = 0; i < dsaf_dev->tcam_max_num; i++) { dsaf_dev 1528 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static u16 hns_dsaf_find_empty_mac_entry(struct dsaf_device *dsaf_dev) dsaf_dev 1531 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c (struct dsaf_drv_priv *)hns_dsaf_dev_priv(dsaf_dev); dsaf_dev 1536 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c for (i = 0; i < dsaf_dev->tcam_max_num; i++) { dsaf_dev 1552 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static u16 hns_dsaf_find_empty_mac_entry_reverse(struct dsaf_device *dsaf_dev) dsaf_dev 1554 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_drv_priv *priv = hns_dsaf_dev_priv(dsaf_dev); dsaf_dev 1577 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_device *dsaf_dev, dsaf_dev 1583 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (dsaf_dev->dsaf_mode <= DSAF_MODE_ENABLE) dsaf_dev 1609 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_device *dsaf_dev, dsaf_dev 1616 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c (struct dsaf_drv_priv *)hns_dsaf_dev_priv(dsaf_dev); dsaf_dev 1624 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, "set_uc %s Mac %pM err!\n", dsaf_dev 1625 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->ae_dev.name, mac_entry->addr); dsaf_dev 1630 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_set_mac_key(dsaf_dev, &mac_key, mac_entry->in_vlan_id, dsaf_dev 1634 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c entry_index = hns_dsaf_find_soft_mac_entry(dsaf_dev, &mac_key); dsaf_dev 1637 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c entry_index = hns_dsaf_find_empty_mac_entry(dsaf_dev); dsaf_dev 1640 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, dsaf_dev 1642 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->ae_dev.name, dsaf_dev 1648 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_dbg(dsaf_dev->dev, dsaf_dev 1650 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->ae_dev.name, mac_key.high.val, dsaf_dev 1663 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tcam_uc_cfg(dsaf_dev, entry_index, &tcam_data, &mac_data); dsaf_dev 1675 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_device *dsaf_dev, dsaf_dev 1684 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, "rm_uc_addr %s Mac %pM err!\n", dsaf_dev 1685 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->ae_dev.name, mac_entry->addr); dsaf_dev 1690 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_set_mac_key(dsaf_dev, &mac_key, mac_entry->in_vlan_id, dsaf_dev 1693 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c entry_index = hns_dsaf_find_soft_mac_entry(dsaf_dev, &mac_key); dsaf_dev 1696 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_info(dsaf_dev->dev, dsaf_dev 1698 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->ae_dev.name, dsaf_dev 1703 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_dbg(dsaf_dev->dev, dsaf_dev 1705 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->ae_dev.name, mac_key.high.val, dsaf_dev 1709 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev, entry_index, dsaf_dev 1717 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c return hns_dsaf_del_mac_entry(dsaf_dev, dsaf_dev 1723 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_setup_mc_mask(struct dsaf_device *dsaf_dev, dsaf_dev 1729 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c memcpy(mask, dsaf_dev->mac_cb[port_num]->mc_mask, ETH_ALEN); dsaf_dev 1747 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c int hns_dsaf_add_mac_mc_port(struct dsaf_device *dsaf_dev, dsaf_dev 1755 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_drv_priv *priv = hns_dsaf_dev_priv(dsaf_dev); dsaf_dev 1763 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, "set_entry failed,addr %pM!\n", dsaf_dev 1769 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (!AE_IS_VER1(dsaf_dev->dsaf_ver)) { dsaf_dev 1773 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_setup_mc_mask(dsaf_dev, mac_entry->in_port_num, dsaf_dev 1778 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_set_mac_key(dsaf_dev, &mask_key, dsaf_dev 1788 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev, &mac_key, mac_entry->in_vlan_id, dsaf_dev 1794 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c entry_index = hns_dsaf_find_soft_mac_entry(dsaf_dev, &mac_key); dsaf_dev 1797 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c entry_index = hns_dsaf_find_empty_mac_entry(dsaf_dev); dsaf_dev 1800 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, dsaf_dev 1802 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->ae_dev.name, mac_key.high.val, dsaf_dev 1808 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tcam_mc_get(dsaf_dev, entry_index, &tcam_data, dsaf_dev 1819 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, dsaf_dev 1821 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->ae_dev.name, mac_entry->port_num, dsaf_dev 1829 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_dbg(dsaf_dev->dev, dsaf_dev 1831 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->ae_dev.name, mac_key.high.val, dsaf_dev 1838 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tcam_mc_cfg(dsaf_dev, entry_index, &tcam_data, dsaf_dev 1857 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c int hns_dsaf_del_mac_entry(struct dsaf_device *dsaf_dev, u16 vlan_id, dsaf_dev 1863 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c (struct dsaf_drv_priv *)hns_dsaf_dev_priv(dsaf_dev); dsaf_dev 1868 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, "del_entry failed,addr %pM!\n", dsaf_dev 1874 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_set_mac_key(dsaf_dev, &mac_key, vlan_id, in_port_num, addr); dsaf_dev 1877 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c entry_index = hns_dsaf_find_soft_mac_entry(dsaf_dev, &mac_key); dsaf_dev 1880 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, dsaf_dev 1882 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->ae_dev.name, dsaf_dev 1886 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_dbg(dsaf_dev->dev, dsaf_dev 1888 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->ae_dev.name, mac_key.high.val, dsaf_dev 1892 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tcam_mc_invld(dsaf_dev, entry_index); dsaf_dev 1906 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c int hns_dsaf_del_mac_mc_port(struct dsaf_device *dsaf_dev, dsaf_dev 1911 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_drv_priv *priv = hns_dsaf_dev_priv(dsaf_dev); dsaf_dev 1924 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, dsaf_dev 1931 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, "del_port failed, addr %pM!\n", dsaf_dev 1939 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (!AE_IS_VER1(dsaf_dev->dsaf_ver)) { dsaf_dev 1943 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_setup_mc_mask(dsaf_dev, mac_entry->in_port_num, dsaf_dev 1948 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_set_mac_key(dsaf_dev, &mask_key, 0x00, 0xff, mc_mask); dsaf_dev 1958 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_set_mac_key(dsaf_dev, &mac_key, vlan_id, in_port_num, mc_addr); dsaf_dev 1961 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c entry_index = hns_dsaf_find_soft_mac_entry(dsaf_dev, &mac_key); dsaf_dev 1964 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, dsaf_dev 1966 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->ae_dev.name, dsaf_dev 1971 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_dbg(dsaf_dev->dev, dsaf_dev 1973 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->ae_dev.name, mac_key.high.val, dsaf_dev 1977 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tcam_mc_get(dsaf_dev, entry_index, &tcam_data, &mac_data); dsaf_dev 1986 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, dsaf_dev 1988 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->ae_dev.name, mac_entry->port_num, dsaf_dev 1997 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tcam_mc_invld(dsaf_dev, entry_index); dsaf_dev 2006 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tcam_mc_cfg(dsaf_dev, entry_index, dsaf_dev 2014 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c int hns_dsaf_clr_mac_mc_port(struct dsaf_device *dsaf_dev, u8 mac_id, dsaf_dev 2017 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_drv_priv *priv = hns_dsaf_dev_priv(dsaf_dev); dsaf_dev 2022 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (HNS_DSAF_IS_DEBUG(dsaf_dev)) dsaf_dev 2054 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (hns_dsaf_del_mac_mc_port(dsaf_dev, &mac_entry)) { dsaf_dev 2062 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tcam_mc_get(dsaf_dev, i, dsaf_dev 2071 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (hns_dsaf_del_mac_mc_port(dsaf_dev, dsaf_dev 2086 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_device *dsaf_dev; dsaf_dev 2088 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev = devm_kzalloc(dev, dsaf_dev 2089 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c sizeof(*dsaf_dev) + sizeof_priv, GFP_KERNEL); dsaf_dev 2090 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (unlikely(!dsaf_dev)) { dsaf_dev 2091 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev = ERR_PTR(-ENOMEM); dsaf_dev 2093 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->dev = dev; dsaf_dev 2094 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_set_drvdata(dev, dsaf_dev); dsaf_dev 2097 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c return dsaf_dev; dsaf_dev 2104 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_free_dev(struct dsaf_device *dsaf_dev) dsaf_dev 2106 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c (void)dev_set_drvdata(dsaf_dev->dev, NULL); dsaf_dev 2115 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void hns_dsaf_pfc_unit_cnt(struct dsaf_device *dsaf_dev, int mac_id, dsaf_dev 2134 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_set_dev_field(dsaf_dev, dsaf_dev 2146 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_port_work_rate_cfg(struct dsaf_device *dsaf_dev, int mac_id, dsaf_dev 2152 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev, DSAF_XGE_GE_WORK_MODE_0_REG + 0x4 * (u64)mac_id); dsaf_dev 2159 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, dsaf_dev 2163 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_pfc_unit_cnt(dsaf_dev, mac_id, rate_mode); dsaf_dev 2173 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; dsaf_dev 2183 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_port_work_rate_cfg(dsaf_dev, mac_id, mode); dsaf_dev 2198 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c void hns_dsaf_update_stats(struct dsaf_device *dsaf_dev, u32 node_num) dsaf_dev 2201 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c = &dsaf_dev->hw_stats[node_num]; dsaf_dev 2202 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c bool is_ver1 = AE_IS_VER1(dsaf_dev->dsaf_ver); dsaf_dev 2206 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hw_stats->pad_drop += dsaf_read_dev(dsaf_dev, dsaf_dev 2208 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hw_stats->man_pkts += dsaf_read_dev(dsaf_dev, dsaf_dev 2210 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hw_stats->rx_pkts += dsaf_read_dev(dsaf_dev, dsaf_dev 2212 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hw_stats->rx_pkt_id += dsaf_read_dev(dsaf_dev, dsaf_dev 2218 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_read_dev(dsaf_dev, reg_tmp + 0x80 * (u64)node_num); dsaf_dev 2220 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hw_stats->release_buf_num += dsaf_read_dev(dsaf_dev, dsaf_dev 2222 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hw_stats->sbm_drop += dsaf_read_dev(dsaf_dev, dsaf_dev 2224 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hw_stats->crc_false += dsaf_read_dev(dsaf_dev, dsaf_dev 2226 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hw_stats->bp_drop += dsaf_read_dev(dsaf_dev, dsaf_dev 2228 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hw_stats->rslt_drop += dsaf_read_dev(dsaf_dev, dsaf_dev 2230 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hw_stats->local_addr_false += dsaf_read_dev(dsaf_dev, dsaf_dev 2233 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hw_stats->vlan_drop += dsaf_read_dev(dsaf_dev, dsaf_dev 2235 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hw_stats->stp_drop += dsaf_read_dev(dsaf_dev, dsaf_dev 2242 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hw_stats->rx_pfc[i] += dsaf_read_dev(dsaf_dev, dsaf_dev 2244 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hw_stats->tx_pfc[i] += dsaf_read_dev(dsaf_dev, dsaf_dev 2250 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hw_stats->tx_pkts += dsaf_read_dev(dsaf_dev, dsaf_dev 2588 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_device *dsaf_dev) dsaf_dev 2592 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c bool is_ver1 = AE_IS_VER1(dsaf_dev->dsaf_ver); dsaf_dev 2696 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c int hns_dsaf_get_sset_count(struct dsaf_device *dsaf_dev, int stringset) dsaf_dev 2698 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c bool is_ver1 = AE_IS_VER1(dsaf_dev->dsaf_ver); dsaf_dev 2716 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_device *dsaf_dev) dsaf_dev 2725 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c buff = hns_dsaf_get_node_stats_strings(buff, node, dsaf_dev); dsaf_dev 2729 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c (void)hns_dsaf_get_node_stats_strings(buff, node, dsaf_dev); dsaf_dev 2752 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void set_promisc_tcam_enable(struct dsaf_device *dsaf_dev, u32 port) dsaf_dev 2758 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_drv_priv *priv = hns_dsaf_dev_priv(dsaf_dev); dsaf_dev 2771 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_set_mac_key(dsaf_dev, &mac_key, 0x00, port, addr); dsaf_dev 2772 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c entry_index = hns_dsaf_find_soft_mac_entry(dsaf_dev, &mac_key); dsaf_dev 2778 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c entry_index = hns_dsaf_find_empty_mac_entry_reverse(dsaf_dev); dsaf_dev 2780 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, dsaf_dev 2786 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c mac_cb = dsaf_dev->mac_cb[port]; dsaf_dev 2791 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tcam_uc_cfg_vague(dsaf_dev, entry_index, &tbl_tcam_data_uc, dsaf_dev 2804 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c entry_index = hns_dsaf_find_empty_mac_entry_reverse(dsaf_dev); dsaf_dev 2806 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, dsaf_dev 2816 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_set_mac_key(dsaf_dev, &mask_key, mask_entry.in_vlan_id, dsaf_dev 2824 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, "%s,pnum(%d)error,key(%#x:%#x)\n", dsaf_dev 2825 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->ae_dev.name, port, dsaf_dev 2835 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, dsaf_dev 2837 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->ae_dev.name, port_num, dsaf_dev 2845 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tcam_mc_cfg_vague(dsaf_dev, entry_index, &tbl_tcam_data_mc, dsaf_dev 2856 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c static void set_promisc_tcam_disable(struct dsaf_device *dsaf_dev, u32 port) dsaf_dev 2861 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_drv_priv *priv = hns_dsaf_dev_priv(dsaf_dev); dsaf_dev 2871 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_set_mac_key(dsaf_dev, &mac_key, 0x00, port, addr); dsaf_dev 2872 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c entry_index = hns_dsaf_find_soft_mac_entry(dsaf_dev, &mac_key); dsaf_dev 2878 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tcam_uc_cfg_vague(dsaf_dev, entry_index, &tbl_tcam_data_uc, dsaf_dev 2890 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_set_mac_key(dsaf_dev, &mac_key, 0x00, port, addr); dsaf_dev 2891 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c entry_index = hns_dsaf_find_soft_mac_entry(dsaf_dev, &mac_key); dsaf_dev 2897 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_tcam_mc_cfg_vague(dsaf_dev, entry_index, &tbl_tcam_data_mc, dsaf_dev 2905 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c void hns_dsaf_set_promisc_tcam(struct dsaf_device *dsaf_dev, dsaf_dev 2909 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c set_promisc_tcam_enable(dsaf_dev, port); dsaf_dev 2911 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c set_promisc_tcam_disable(dsaf_dev, port); dsaf_dev 2914 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c int hns_dsaf_wait_pkt_clean(struct dsaf_device *dsaf_dev, int port) dsaf_dev 2924 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c val = dsaf_read_dev(dsaf_dev, DSAF_VOQ_IN_PKT_NUM_0_REG + dsaf_dev 2926 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c val_tmp = dsaf_read_dev(dsaf_dev, DSAF_VOQ_OUT_PKT_NUM_0_REG + dsaf_dev 2935 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, "hns dsaf clean wait timeout(%u - %u).\n", dsaf_dev 2950 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_device *dsaf_dev; dsaf_dev 2953 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev = hns_dsaf_alloc_dev(&pdev->dev, sizeof(struct dsaf_drv_priv)); dsaf_dev 2954 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (IS_ERR(dsaf_dev)) { dsaf_dev 2955 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c ret = PTR_ERR(dsaf_dev); dsaf_dev 2961 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c ret = hns_dsaf_get_cfg(dsaf_dev); dsaf_dev 2965 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c ret = hns_dsaf_init(dsaf_dev); dsaf_dev 2969 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c ret = hns_mac_init(dsaf_dev); dsaf_dev 2973 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c ret = hns_ppe_init(dsaf_dev); dsaf_dev 2977 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c ret = hns_dsaf_ae_init(dsaf_dev); dsaf_dev 2984 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_ppe_uninit(dsaf_dev); dsaf_dev 2987 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_mac_uninit(dsaf_dev); dsaf_dev 2990 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_free(dsaf_dev); dsaf_dev 2993 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_free_dev(dsaf_dev); dsaf_dev 3004 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_device *dsaf_dev = dev_get_drvdata(&pdev->dev); dsaf_dev 3006 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_ae_uninit(dsaf_dev); dsaf_dev 3008 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_ppe_uninit(dsaf_dev); dsaf_dev 3010 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_mac_uninit(dsaf_dev); dsaf_dev 3012 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_free(dsaf_dev); dsaf_dev 3014 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c hns_dsaf_free_dev(dsaf_dev); dsaf_dev 3046 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_device *dsaf_dev; dsaf_dev 3090 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev = dev_get_drvdata(&pdev->dev); dsaf_dev 3091 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (!dsaf_dev) { dsaf_dev 3098 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (AE_IS_VER1(dsaf_dev->dsaf_ver)) { dsaf_dev 3099 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dev_err(dsaf_dev->dev, "%s v1 chip doesn't support RoCE!\n", dsaf_dev 3100 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->ae_dev.name); dsaf_dev 3108 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->misc_op->hns_dsaf_srst_chns(dsaf_dev, DSAF_CHNS_MASK, dsaf_dev 3110 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->misc_op->hns_dsaf_roce_srst(dsaf_dev, false); dsaf_dev 3113 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c mp = dsaf_read_dev(dsaf_dev, DSAF_ROCE_PORT_MAP_REG); dsaf_dev 3118 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_ROCE_PORT_MAP_REG, mp); dsaf_dev 3120 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c sl = dsaf_read_dev(dsaf_dev, DSAF_ROCE_SL_MAP_REG); dsaf_dev 3124 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_ROCE_SL_MAP_REG, sl); dsaf_dev 3127 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->misc_op->hns_dsaf_srst_chns(dsaf_dev, DSAF_CHNS_MASK, dsaf_dev 3130 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_dev->misc_op->hns_dsaf_roce_srst(dsaf_dev, true); dsaf_dev 3133 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c credit = dsaf_read_dev(dsaf_dev, DSAF_SBM_ROCEE_CFG_REG_REG); dsaf_dev 3135 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_SBM_ROCEE_CFG_REG_REG, credit); dsaf_dev 3138 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c dsaf_write_dev(dsaf_dev, DSAF_SBM_ROCEE_CFG_REG_REG, credit); dsaf_dev 212 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h struct dsaf_device *dsaf_dev; dsaf_dev 305 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h void (*dsaf_reset)(struct dsaf_device *dsaf_dev, bool dereset); dsaf_dev 306 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h void (*xge_srst)(struct dsaf_device *dsaf_dev, u32 port, bool dereset); dsaf_dev 307 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h void (*ge_srst)(struct dsaf_device *dsaf_dev, u32 port, bool dereset); dsaf_dev 308 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h void (*ppe_srst)(struct dsaf_device *dsaf_dev, u32 port, bool dereset); dsaf_dev 309 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h void (*ppe_comm_srst)(struct dsaf_device *dsaf_dev, bool dereset); dsaf_dev 310 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h void (*hns_dsaf_srst_chns)(struct dsaf_device *dsaf_dev, u32 msk, dsaf_dev 312 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h void (*hns_dsaf_roce_srst)(struct dsaf_device *dsaf_dev, bool dereset); dsaf_dev 353 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h static inline void *hns_dsaf_dev_priv(const struct dsaf_device *dsaf_dev) dsaf_dev 355 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h return (void *)((u8 *)dsaf_dev + sizeof(*dsaf_dev)); dsaf_dev 395 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h static inline void hns_dsaf_tbl_tcam_addr_cfg(struct dsaf_device *dsaf_dev, dsaf_dev 398 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h dsaf_set_dev_field(dsaf_dev, DSAF_TBL_TCAM_ADDR_0_REG, dsaf_dev 403 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h static inline void hns_dsaf_tbl_tcam_load_pul(struct dsaf_device *dsaf_dev) dsaf_dev 407 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h o_tbl_pul = dsaf_read_dev(dsaf_dev, DSAF_TBL_PUL_0_REG); dsaf_dev 409 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h dsaf_write_dev(dsaf_dev, DSAF_TBL_PUL_0_REG, o_tbl_pul); dsaf_dev 411 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h dsaf_write_dev(dsaf_dev, DSAF_TBL_PUL_0_REG, o_tbl_pul); dsaf_dev 414 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h static inline void hns_dsaf_tbl_line_addr_cfg(struct dsaf_device *dsaf_dev, dsaf_dev 417 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h dsaf_set_dev_field(dsaf_dev, DSAF_TBL_LINE_ADDR_0_REG, dsaf_dev 428 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h int hns_dsaf_set_mac_uc_entry(struct dsaf_device *dsaf_dev, dsaf_dev 430 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h int hns_dsaf_add_mac_mc_port(struct dsaf_device *dsaf_dev, dsaf_dev 432 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h int hns_dsaf_del_mac_entry(struct dsaf_device *dsaf_dev, u16 vlan_id, dsaf_dev 434 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h int hns_dsaf_del_mac_mc_port(struct dsaf_device *dsaf_dev, dsaf_dev 438 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h int hns_dsaf_ae_init(struct dsaf_device *dsaf_dev); dsaf_dev 439 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h void hns_dsaf_ae_uninit(struct dsaf_device *dsaf_dev); dsaf_dev 441 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h void hns_dsaf_update_stats(struct dsaf_device *dsaf_dev, u32 inode_num); dsaf_dev 443 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h int hns_dsaf_get_sset_count(struct dsaf_device *dsaf_dev, int stringset); dsaf_dev 446 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h struct dsaf_device *dsaf_dev); dsaf_dev 450 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h void hns_dsaf_set_promisc_mode(struct dsaf_device *dsaf_dev, u32 en); dsaf_dev 451 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h void hns_dsaf_set_promisc_tcam(struct dsaf_device *dsaf_dev, dsaf_dev 454 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h void hns_dsaf_get_rx_mac_pause_en(struct dsaf_device *dsaf_dev, int mac_id, dsaf_dev 456 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h int hns_dsaf_set_rx_mac_pause_en(struct dsaf_device *dsaf_dev, int mac_id, dsaf_dev 459 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h struct dsaf_device *dsaf_dev, dsaf_dev 462 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h int hns_dsaf_clr_mac_mc_port(struct dsaf_device *dsaf_dev, dsaf_dev 464 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h int hns_dsaf_wait_pkt_clean(struct dsaf_device *dsaf_dev, int port); dsaf_dev 33 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static void dsaf_write_sub(struct dsaf_device *dsaf_dev, u32 reg, u32 val) dsaf_dev 35 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if (dsaf_dev->sub_ctrl) dsaf_dev 36 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_syscon(dsaf_dev->sub_ctrl, reg, val); dsaf_dev 38 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_reg(dsaf_dev->sc_base, reg, val); dsaf_dev 41 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static u32 dsaf_read_sub(struct dsaf_device *dsaf_dev, u32 reg) dsaf_dev 46 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if (dsaf_dev->sub_ctrl) { dsaf_dev 47 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c err = dsaf_read_syscon(dsaf_dev->sub_ctrl, reg, &ret); dsaf_dev 49 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dev_err(dsaf_dev->dev, "dsaf_read_syscon error %d!\n", dsaf_dev 52 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c ret = dsaf_read_reg(dsaf_dev->sc_base, reg); dsaf_dev 250 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static void hns_dsaf_acpi_srst_by_port(struct dsaf_device *dsaf_dev, u8 op_type, dsaf_dev 267 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c obj = acpi_evaluate_dsm(ACPI_HANDLE(dsaf_dev->dev), dsaf_dev 270 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dev_warn(dsaf_dev->dev, "reset port_type%d port%d fail!", dsaf_dev 278 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static void hns_dsaf_rst(struct dsaf_device *dsaf_dev, bool dereset) dsaf_dev 291 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_sub(dsaf_dev, xbar_reg_addr, RESET_REQ_OR_DREQ); dsaf_dev 292 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_sub(dsaf_dev, nt_reg_addr, RESET_REQ_OR_DREQ); dsaf_dev 295 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static void hns_dsaf_rst_acpi(struct dsaf_device *dsaf_dev, bool dereset) dsaf_dev 297 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c hns_dsaf_acpi_srst_by_port(dsaf_dev, HNS_OP_RESET_FUNC, dsaf_dev 302 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static void hns_dsaf_xge_srst_by_port(struct dsaf_device *dsaf_dev, u32 port, dsaf_dev 312 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c reg_val |= 0x2082082 << dsaf_dev->mac_cb[port]->port_rst_off; dsaf_dev 319 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_sub(dsaf_dev, reg_addr, reg_val); dsaf_dev 322 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static void hns_dsaf_xge_srst_by_port_acpi(struct dsaf_device *dsaf_dev, dsaf_dev 325 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c hns_dsaf_acpi_srst_by_port(dsaf_dev, HNS_OP_RESET_FUNC, dsaf_dev 340 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c hns_dsaf_srst_chns(struct dsaf_device *dsaf_dev, u32 msk, bool dereset) dsaf_dev 349 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_sub(dsaf_dev, reg_addr, msk); dsaf_dev 363 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c hns_dsaf_srst_chns_acpi(struct dsaf_device *dsaf_dev, u32 msk, bool dereset) dsaf_dev 365 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c hns_dsaf_acpi_srst_by_port(dsaf_dev, HNS_OP_RESET_FUNC, dsaf_dev 370 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static void hns_dsaf_roce_srst(struct dsaf_device *dsaf_dev, bool dereset) dsaf_dev 373 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_sub(dsaf_dev, DSAF_SUB_SC_ROCEE_RESET_REQ_REG, 1); dsaf_dev 375 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_sub(dsaf_dev, dsaf_dev 377 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_sub(dsaf_dev, dsaf_dev 380 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_sub(dsaf_dev, DSAF_SUB_SC_ROCEE_CLK_EN_REG, 1); dsaf_dev 384 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static void hns_dsaf_roce_srst_acpi(struct dsaf_device *dsaf_dev, bool dereset) dsaf_dev 386 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c hns_dsaf_acpi_srst_by_port(dsaf_dev, HNS_OP_RESET_FUNC, dsaf_dev 390 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static void hns_dsaf_ge_srst_by_port(struct dsaf_device *dsaf_dev, u32 port, dsaf_dev 400 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if (!HNS_DSAF_IS_DEBUG(dsaf_dev)) { dsaf_dev 402 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c port_rst_off = dsaf_dev->mac_cb[port]->port_rst_off; dsaf_dev 404 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c reg_val_2 = AE_IS_VER1(dsaf_dev->dsaf_ver) ? dsaf_dev 409 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_sub(dsaf_dev, DSAF_SUB_SC_GE_RESET_REQ1_REG, dsaf_dev 412 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_sub(dsaf_dev, DSAF_SUB_SC_GE_RESET_REQ0_REG, dsaf_dev 415 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_sub(dsaf_dev, DSAF_SUB_SC_GE_RESET_DREQ0_REG, dsaf_dev 418 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_sub(dsaf_dev, DSAF_SUB_SC_GE_RESET_DREQ1_REG, dsaf_dev 423 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c reg_val_2 = AE_IS_VER1(dsaf_dev->dsaf_ver) ? 0x100 : 0x40; dsaf_dev 425 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c reg_val_1 <<= dsaf_dev->reset_offset; dsaf_dev 426 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c reg_val_2 <<= dsaf_dev->reset_offset; dsaf_dev 429 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_sub(dsaf_dev, DSAF_SUB_SC_GE_RESET_REQ1_REG, dsaf_dev 432 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_sub(dsaf_dev, DSAF_SUB_SC_PPE_RESET_REQ_REG, dsaf_dev 435 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_sub(dsaf_dev, DSAF_SUB_SC_GE_RESET_DREQ1_REG, dsaf_dev 438 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_sub(dsaf_dev, DSAF_SUB_SC_PPE_RESET_DREQ_REG, dsaf_dev 444 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static void hns_dsaf_ge_srst_by_port_acpi(struct dsaf_device *dsaf_dev, dsaf_dev 447 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c hns_dsaf_acpi_srst_by_port(dsaf_dev, HNS_OP_RESET_FUNC, dsaf_dev 451 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static void hns_ppe_srst_by_port(struct dsaf_device *dsaf_dev, u32 port, dsaf_dev 457 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c reg_val |= RESET_REQ_OR_DREQ << dsaf_dev->mac_cb[port]->port_rst_off; dsaf_dev 464 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_sub(dsaf_dev, reg_addr, reg_val); dsaf_dev 468 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c hns_ppe_srst_by_port_acpi(struct dsaf_device *dsaf_dev, u32 port, bool dereset) dsaf_dev 470 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c hns_dsaf_acpi_srst_by_port(dsaf_dev, HNS_OP_RESET_FUNC, dsaf_dev 474 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static void hns_ppe_com_srst(struct dsaf_device *dsaf_dev, bool dereset) dsaf_dev 479 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if (!(dev_of_node(dsaf_dev->dev))) dsaf_dev 482 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if (!HNS_DSAF_IS_DEBUG(dsaf_dev)) { dsaf_dev 490 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c reg_val = 0x100 << dsaf_dev->reset_offset; dsaf_dev 498 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_sub(dsaf_dev, reg_addr, reg_val); dsaf_dev 510 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c bool is_ver1 = AE_IS_VER1(mac_cb->dsaf_dev->dsaf_ver); dsaf_dev 515 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if (HNS_DSAF_IS_DEBUG(mac_cb->dsaf_dev)) dsaf_dev 523 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if (!HNS_DSAF_IS_DEBUG(mac_cb->dsaf_dev) && mac_id <= 3) dsaf_dev 529 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c mode = dsaf_read_sub(mac_cb->dsaf_dev, reg); dsaf_dev 646 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if (!AE_IS_VER1(mac_cb->dsaf_dev->dsaf_ver)) { dsaf_dev 652 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if ((!HNS_DSAF_IS_DEBUG(mac_cb->dsaf_dev)) && dsaf_dev 692 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c obj = acpi_evaluate_dsm(ACPI_HANDLE(mac_cb->dsaf_dev->dev), dsaf_dev 696 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dev_warn(mac_cb->dsaf_dev->dev, "set port%d serdes lp fail!", dsaf_dev 707 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c struct dsaf_misc_op *hns_misc_op_get(struct dsaf_device *dsaf_dev) dsaf_dev 711 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c misc_op = devm_kzalloc(dsaf_dev->dev, sizeof(*misc_op), GFP_KERNEL); dsaf_dev 715 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if (dev_of_node(dsaf_dev->dev)) { dsaf_dev 732 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c } else if (is_acpi_node(dsaf_dev->dev->fwnode)) { dsaf_dev 750 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c devm_kfree(dsaf_dev->dev, (void *)misc_op); dsaf_dev 32 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.h struct dsaf_misc_op *hns_misc_op_get(struct dsaf_device *dsaf_dev); dsaf_dev 63 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c return ppe_common->dsaf_dev->ppe_base + PPE_COMMON_REG_OFFSET; dsaf_dev 72 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c static int hns_ppe_common_get_cfg(struct dsaf_device *dsaf_dev, int comm_index) dsaf_dev 77 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c if (!HNS_DSAF_IS_DEBUG(dsaf_dev)) dsaf_dev 82 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c ppe_common = devm_kzalloc(dsaf_dev->dev, dsaf_dev 89 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c ppe_common->dsaf_dev = dsaf_dev; dsaf_dev 91 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c if (!HNS_DSAF_IS_DEBUG(dsaf_dev)) dsaf_dev 95 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c ppe_common->dev = dsaf_dev->dev; dsaf_dev 99 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c dsaf_dev->ppe_common[comm_index] = ppe_common; dsaf_dev 105 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c hns_ppe_common_free_cfg(struct dsaf_device *dsaf_dev, u32 comm_index) dsaf_dev 107 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c dsaf_dev->ppe_common[comm_index] = NULL; dsaf_dev 113 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c return ppe_common->dsaf_dev->ppe_base + ppe_idx * PPE_REG_OFFSET; dsaf_dev 200 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c struct dsaf_device *dsaf_dev = ppe_common->dsaf_dev; dsaf_dev 201 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c enum dsaf_mode dsaf_mode = dsaf_dev->dsaf_mode; dsaf_dev 203 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c dsaf_dev->misc_op->ppe_comm_srst(dsaf_dev, 0); dsaf_dev 205 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c dsaf_dev->misc_op->ppe_comm_srst(dsaf_dev, 1); dsaf_dev 306 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c struct dsaf_device *dsaf_dev = ppe_common_cb->dsaf_dev; dsaf_dev 312 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c dsaf_dev->misc_op->ppe_srst(dsaf_dev, port, 0); dsaf_dev 314 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c dsaf_dev->misc_op->ppe_srst(dsaf_dev, port, 1); dsaf_dev 329 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c if (!AE_IS_VER1(dsaf_dev->dsaf_ver)) { dsaf_dev 354 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c struct dsaf_device *dsaf_dev = ppe_cb->ppe_common_cb->dsaf_dev; dsaf_dev 357 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c dsaf_dev->misc_op->ppe_srst(dsaf_dev, port, 0); dsaf_dev 366 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c if (ppe_common->dsaf_dev->mac_cb[i]) dsaf_dev 372 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c void hns_ppe_uninit(struct dsaf_device *dsaf_dev) dsaf_dev 377 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c if (dsaf_dev->ppe_common[i]) dsaf_dev 378 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c hns_ppe_uninit_ex(dsaf_dev->ppe_common[i]); dsaf_dev 379 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c hns_rcb_common_free_cfg(dsaf_dev, i); dsaf_dev 380 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c hns_ppe_common_free_cfg(dsaf_dev, i); dsaf_dev 389 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c void hns_ppe_reset_common(struct dsaf_device *dsaf_dev, u8 ppe_common_index) dsaf_dev 395 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c ppe_common = dsaf_dev->ppe_common[ppe_common_index]; dsaf_dev 402 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c if (dsaf_dev->mac_cb[i]) dsaf_dev 406 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c ret = hns_rcb_common_init_hw(dsaf_dev->rcb_common[ppe_common_index]); dsaf_dev 410 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c hns_rcb_common_init_commit_hw(dsaf_dev->rcb_common[ppe_common_index]); dsaf_dev 518 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c int hns_ppe_init(struct dsaf_device *dsaf_dev) dsaf_dev 524 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c ret = hns_ppe_common_get_cfg(dsaf_dev, i); dsaf_dev 528 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c ret = hns_rcb_common_get_cfg(dsaf_dev, i); dsaf_dev 532 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c hns_ppe_get_cfg(dsaf_dev->ppe_common[i]); dsaf_dev 534 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c ret = hns_rcb_get_cfg(dsaf_dev->rcb_common[i]); dsaf_dev 540 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c hns_ppe_reset_common(dsaf_dev, i); dsaf_dev 546 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c hns_rcb_common_free_cfg(dsaf_dev, i); dsaf_dev 547 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c hns_ppe_common_free_cfg(dsaf_dev, i); dsaf_dev 87 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.h struct dsaf_device *dsaf_dev; dsaf_dev 100 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.h int hns_ppe_init(struct dsaf_device *dsaf_dev); dsaf_dev 102 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.h void hns_ppe_uninit(struct dsaf_device *dsaf_dev); dsaf_dev 104 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.h void hns_ppe_reset_common(struct dsaf_device *dsaf_dev, u8 ppe_common_index); dsaf_dev 306 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c if (AE_IS_VER1(rcb_common->dsaf_dev->dsaf_ver)) { dsaf_dev 309 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c } else if (!HNS_DSAF_IS_DEBUG(rcb_common->dsaf_dev)) { dsaf_dev 331 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c if (!HNS_DSAF_IS_DEBUG(rcb_common->dsaf_dev)) dsaf_dev 381 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dev_err(rcb_common->dsaf_dev->dev, dsaf_dev 390 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c if (!AE_IS_VER1(rcb_common->dsaf_dev->dsaf_ver) && dsaf_dev 391 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c !HNS_DSAF_IS_DEBUG(rcb_common->dsaf_dev)) dsaf_dev 401 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c if (AE_IS_VER1(rcb_common->dsaf_dev->dsaf_ver)) { dsaf_dev 449 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c is_ver1 = AE_IS_VER1(ring_pair_cb->rcb_common->dsaf_dev->dsaf_ver); dsaf_dev 465 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c desc_num = rcb_common->dsaf_dev->desc_num; dsaf_dev 500 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c bool is_ver1 = AE_IS_VER1(rcb_common->dsaf_dev->dsaf_ver); dsaf_dev 502 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c if (!HNS_DSAF_IS_DEBUG(rcb_common->dsaf_dev)) dsaf_dev 521 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c to_platform_device(rcb_common->dsaf_dev->dev); dsaf_dev 522 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c bool is_ver1 = AE_IS_VER1(rcb_common->dsaf_dev->dsaf_ver); dsaf_dev 527 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c ring_pair_cb->dev = rcb_common->dsaf_dev->dev; dsaf_dev 590 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c if (AE_IS_VER1(rcb_common->dsaf_dev->dsaf_ver)) dsaf_dev 615 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c if (AE_IS_VER1(rcb_common->dsaf_dev->dsaf_ver)) { dsaf_dev 616 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c if (!HNS_DSAF_IS_DEBUG(rcb_common->dsaf_dev)) { dsaf_dev 617 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dev_err(rcb_common->dsaf_dev->dev, dsaf_dev 623 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dev_err(rcb_common->dsaf_dev->dev, dsaf_dev 651 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dev_err(rcb_common->dsaf_dev->dev, dsaf_dev 682 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dev_err(rcb_common->dsaf_dev->dev, dsaf_dev 727 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c static int hns_rcb_get_ring_num(struct dsaf_device *dsaf_dev) dsaf_dev 729 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c switch (dsaf_dev->dsaf_mode) { dsaf_dev 756 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dev_warn(dsaf_dev->dev, dsaf_dev 758 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_dev->dsaf_mode); dsaf_dev 765 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c struct dsaf_device *dsaf_dev = rcb_common->dsaf_dev; dsaf_dev 767 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c return dsaf_dev->ppe_base + RCB_COMMON_REG_OFFSET; dsaf_dev 772 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c struct dsaf_device *dsaf_dev = rcb_common->dsaf_dev; dsaf_dev 774 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c return dsaf_dev->ppe_paddr + RCB_COMMON_REG_OFFSET; dsaf_dev 777 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c int hns_rcb_common_get_cfg(struct dsaf_device *dsaf_dev, dsaf_dev 781 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c enum dsaf_mode dsaf_mode = dsaf_dev->dsaf_mode; dsaf_dev 784 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c int ring_num = hns_rcb_get_ring_num(dsaf_dev); dsaf_dev 787 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c devm_kzalloc(dsaf_dev->dev, dsaf_dev 791 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dev_err(dsaf_dev->dev, "rcb common devm_kzalloc fail!\n"); dsaf_dev 796 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c rcb_common->dsaf_dev = dsaf_dev; dsaf_dev 798 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c rcb_common->desc_num = dsaf_dev->desc_num; dsaf_dev 807 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_dev->rcb_common[comm_index] = rcb_common; dsaf_dev 811 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c void hns_rcb_common_free_cfg(struct dsaf_device *dsaf_dev, dsaf_dev 814 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_dev->rcb_common[comm_index] = NULL; dsaf_dev 821 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c struct dsaf_device *dsaf_dev = ring->rcb_common->dsaf_dev; dsaf_dev 823 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c = dsaf_dev->ppe_common[ring->rcb_common->comm_index]; dsaf_dev 999 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c bool is_ver1 = AE_IS_VER1(rcb_com->dsaf_dev->dsaf_ver); dsaf_dev 1000 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c bool is_dbg = HNS_DSAF_IS_DEBUG(rcb_com->dsaf_dev); dsaf_dev 103 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.h struct dsaf_device *dsaf_dev; dsaf_dev 116 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.h int hns_rcb_common_get_cfg(struct dsaf_device *dsaf_dev, int comm_index); dsaf_dev 117 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.h void hns_rcb_common_free_cfg(struct dsaf_device *dsaf_dev, u32 comm_index); dsaf_dev 209 drivers/net/ethernet/hisilicon/hns/hns_dsaf_xgmac.c struct dsaf_device *dsaf_dev dsaf_dev 213 drivers/net/ethernet/hisilicon/hns/hns_dsaf_xgmac.c dsaf_dev->misc_op->xge_srst(dsaf_dev, port, 0); dsaf_dev 215 drivers/net/ethernet/hisilicon/hns/hns_dsaf_xgmac.c dsaf_dev->misc_op->xge_srst(dsaf_dev, port, 1); dsaf_dev 424 drivers/net/ethernet/hisilicon/hns/hns_dsaf_xgmac.c struct dsaf_device *dsaf_dev dsaf_dev 429 drivers/net/ethernet/hisilicon/hns/hns_dsaf_xgmac.c dsaf_dev->misc_op->xge_srst(dsaf_dev, mac_id, 0);