mac_cb 22 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c return vf_cb->mac_cb; mac_cb 125 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c vf_cb->mac_cb = dsaf_dev->mac_cb[port_id]; mac_cb 127 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ae_handle->phy_if = vf_cb->mac_cb->phy_if; mac_cb 128 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ae_handle->phy_dev = vf_cb->mac_cb->phy_dev; mac_cb 129 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ae_handle->if_support = vf_cb->mac_cb->if_support; mac_cb 130 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ae_handle->port_type = vf_cb->mac_cb->mac_type; mac_cb 131 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ae_handle->media_type = vf_cb->mac_cb->media_type; mac_cb 179 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ret = hns_mac_wait_fifo_clean(vf_cb->mac_cb); mac_cb 208 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c if (vf_cb->mac_cb->mac_type == HNAE_PORT_SERVICE) mac_cb 215 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct hns_mac_cb *mac_cb = hns_get_mac_cb(handle); mac_cb 222 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ret = hns_mac_change_vf_addr(mac_cb, handle->vf_id, p); mac_cb 235 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct hns_mac_cb *mac_cb = hns_get_mac_cb(handle); mac_cb 237 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c if (mac_cb->mac_type != HNAE_PORT_SERVICE) mac_cb 240 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c return hns_mac_add_uc_addr(mac_cb, handle->vf_id, addr); mac_cb 246 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct hns_mac_cb *mac_cb = hns_get_mac_cb(handle); mac_cb 248 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c if (mac_cb->mac_type != HNAE_PORT_SERVICE) mac_cb 251 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c return hns_mac_rm_uc_addr(mac_cb, handle->vf_id, addr); mac_cb 258 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct hns_mac_cb *mac_cb = hns_get_mac_cb(handle); mac_cb 261 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c assert(mac_cb); mac_cb 263 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c if (mac_cb->mac_type != HNAE_PORT_SERVICE) mac_cb 266 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ret = hns_mac_set_multi(mac_cb, mac_cb->mac_id, mac_addr, true); mac_cb 270 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c mac_addr, mac_cb->mac_id, ret); mac_cb 274 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ret = hns_mac_get_inner_port_num(mac_cb, handle->vf_id, &port_num); mac_cb 278 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ret = hns_mac_set_multi(mac_cb, port_num, mac_addr, true); mac_cb 289 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct hns_mac_cb *mac_cb = hns_get_mac_cb(handle); mac_cb 291 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c if (mac_cb->mac_type != HNAE_PORT_SERVICE) mac_cb 294 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c return hns_mac_clr_multicast(mac_cb, handle->vf_id); mac_cb 299 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct hns_mac_cb *mac_cb = hns_get_mac_cb(handle); mac_cb 305 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c if (!AE_IS_VER1(mac_cb->dsaf_dev->dsaf_ver)) { mac_cb 311 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c rx_buf_size = mac_cb->dsaf_dev->buf_size; mac_cb 314 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ret = hns_mac_set_mtu(mac_cb, new_mtu, rx_buf_size); mac_cb 339 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct hns_mac_cb *mac_cb = hns_get_mac_cb(handle); mac_cb 341 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ret = hns_mac_vm_config_bc_en(mac_cb, 0, true); mac_cb 346 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c if (AE_IS_VER1(mac_cb->dsaf_dev->dsaf_ver)) mac_cb 356 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_mac_start(mac_cb); mac_cb 363 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct hns_mac_cb *mac_cb = hns_get_mac_cb(handle); mac_cb 370 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_mac_stop(mac_cb); mac_cb 379 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c (void)hns_mac_vm_config_bc_en(mac_cb, 0, false); mac_cb 386 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c if (vf_cb->mac_cb->mac_type == HNAE_PORT_DEBUG) { mac_cb 387 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_mac_reset(vf_cb->mac_cb); mac_cb 419 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct hns_mac_cb *mac_cb = hns_get_mac_cb(handle); mac_cb 421 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_mac_get_link_status(mac_cb, &link_status); mac_cb 429 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct hns_mac_cb *mac_cb = hns_get_mac_cb(handle); mac_cb 431 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c return hns_mac_get_port_info(mac_cb, auto_neg, speed, duplex); mac_cb 437 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct hns_mac_cb *mac_cb = hns_get_mac_cb(handle); mac_cb 439 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c return hns_mac_need_adjust_link(mac_cb, speed, duplex); mac_cb 445 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct hns_mac_cb *mac_cb = hns_get_mac_cb(handle); mac_cb 447 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c switch (mac_cb->dsaf_dev->dsaf_ver) { mac_cb 449 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_mac_adjust_link(mac_cb, speed, duplex); mac_cb 454 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_mac_disable(mac_cb, MAC_COMM_MODE_RX); mac_cb 456 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_mac_enable(mac_cb, MAC_COMM_MODE_RX); mac_cb 460 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_mac_adjust_link(mac_cb, speed, duplex); mac_cb 461 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_mac_enable(mac_cb, MAC_COMM_MODE_RX); mac_cb 480 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct hns_mac_cb *mac_cb = hns_get_mac_cb(handle); mac_cb 481 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; mac_cb 483 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_mac_get_autoneg(mac_cb, auto_neg); mac_cb 485 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_mac_get_pauseparam(mac_cb, rx_en, tx_en); mac_cb 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); mac_cb 501 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct hns_mac_cb *mac_cb = hns_get_mac_cb(handle); mac_cb 504 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_mac_set_promisc(mac_cb, (u8)!!en); mac_cb 521 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct hns_mac_cb *mac_cb = hns_get_mac_cb(handle); mac_cb 522 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; mac_cb 525 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ret = hns_mac_set_autoneg(mac_cb, autoneg); mac_cb 532 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c mac_cb->mac_id, rx_en); mac_cb 537 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c return hns_mac_set_pauseparam(mac_cb, rx_en, tx_en); mac_cb 647 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct hns_mac_cb *mac_cb; mac_cb 660 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c mac_cb = hns_get_mac_cb(handle); mac_cb 681 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c if (mac_cb->mac_type == HNAE_PORT_SERVICE) { mac_cb 699 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_mac_update_stats(mac_cb); mac_cb 700 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c rx_errors += mac_cb->hw_stats.rx_fifo_overrun_err; mac_cb 702 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c tx_errors += mac_cb->hw_stats.tx_bad_pkts mac_cb 703 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c + mac_cb->hw_stats.tx_fragment_err mac_cb 704 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c + mac_cb->hw_stats.tx_jabber_err mac_cb 705 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c + mac_cb->hw_stats.tx_underrun_err mac_cb 706 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c + mac_cb->hw_stats.tx_crc_err; mac_cb 717 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c net_stats->rx_crc_errors = mac_cb->hw_stats.rx_fcs_err; mac_cb 718 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c net_stats->rx_frame_errors = mac_cb->hw_stats.rx_align_err; mac_cb 719 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c net_stats->rx_fifo_errors = mac_cb->hw_stats.rx_fifo_overrun_err; mac_cb 720 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c net_stats->rx_length_errors = mac_cb->hw_stats.rx_len_err; mac_cb 721 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c net_stats->multicast = mac_cb->hw_stats.rx_mc_pkts; mac_cb 727 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct hns_mac_cb *mac_cb; mac_cb 738 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c mac_cb = hns_get_mac_cb(handle); mac_cb 749 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_mac_get_stats(mac_cb, p); mac_cb 750 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c p += hns_mac_get_sset_count(mac_cb, (int)ETH_SS_STATS); mac_cb 752 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c if (mac_cb->mac_type == HNAE_PORT_SERVICE) mac_cb 761 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct hns_mac_cb *mac_cb; mac_cb 771 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c mac_cb = hns_get_mac_cb(handle); mac_cb 782 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_mac_get_strings(mac_cb, stringset, p); mac_cb 783 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c p += ETH_GSTRING_LEN * hns_mac_get_sset_count(mac_cb, stringset); mac_cb 785 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c if (mac_cb->mac_type == HNAE_PORT_SERVICE) mac_cb 792 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct hns_mac_cb *mac_cb; mac_cb 797 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c mac_cb = hns_get_mac_cb(handle); mac_cb 801 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c sset_count += hns_mac_get_sset_count(mac_cb, stringset); mac_cb 803 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c if (mac_cb->mac_type == HNAE_PORT_SERVICE) mac_cb 814 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct hns_mac_cb *mac_cb = hns_get_mac_cb(handle); mac_cb 815 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; mac_cb 822 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ret = dsaf_dev->misc_op->cfg_serdes_loopback(vf_cb->mac_cb, mac_cb 826 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ret = hns_mac_config_mac_loopback(vf_cb->mac_cb, loop, en); mac_cb 837 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct hns_mac_cb *mac_cb; mac_cb 840 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c mac_cb = hns_get_mac_cb(handle); mac_cb 841 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c if (mac_cb->media_type != HNAE_MEDIA_TYPE_FIBER) mac_cb 844 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_set_led_opt(mac_cb); mac_cb 850 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct hns_mac_cb *mac_cb; mac_cb 854 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c mac_cb = hns_get_mac_cb(handle); mac_cb 856 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c return hns_cpld_led_set_id(mac_cb, status); mac_cb 877 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_mac_get_regs(vf_cb->mac_cb, p); mac_cb 878 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c p += hns_mac_get_regs_count(vf_cb->mac_cb); mac_cb 880 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c if (vf_cb->mac_cb->mac_type == HNAE_PORT_SERVICE) mac_cb 892 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c total_num += hns_mac_get_regs_count(vf_cb->mac_cb); mac_cb 894 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c if (vf_cb->mac_cb->mac_type == HNAE_PORT_SERVICE) mac_cb 266 drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c struct hns_mac_cb *mac_cb = drv->mac_cb; mac_cb 268 drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c return (mac_cb->speed != speed) || mac_cb 269 drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c (mac_cb->half_duplex == duplex); mac_cb 320 drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c if (drv->mac_cb->mac_type == HNAE_PORT_DEBUG) mac_cb 363 drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c if (drv->mac_cb->mac_type == HNAE_PORT_DEBUG) mac_cb 383 drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c hw_stats = &drv->mac_cb->hw_stats; mac_cb 680 drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c hw_stats = &drv->mac_cb->hw_stats; mac_cb 716 drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c void *hns_gmac_config(struct hns_mac_cb *mac_cb, struct mac_params *mac_param) mac_cb 720 drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c mac_drv = devm_kzalloc(mac_cb->dev, sizeof(*mac_drv), GFP_KERNEL); mac_cb 738 drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c mac_drv->mac_cb = mac_cb; mac_cb 55 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c static enum mac_mode hns_get_enet_interface(const struct hns_mac_cb *mac_cb) mac_cb 57 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c switch (mac_cb->max_speed) { mac_cb 59 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c return g_mac_mode_100[mac_cb->phy_if]; mac_cb 61 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c return g_mac_mode_1000[mac_cb->phy_if]; mac_cb 69 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c void hns_mac_get_link_status(struct hns_mac_cb *mac_cb, u32 *link_status) mac_cb 74 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_ctrl_drv = hns_mac_get_drv(mac_cb); mac_cb 81 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (mac_cb->media_type == HNAE_MEDIA_TYPE_FIBER) { mac_cb 82 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c ret = mac_cb->dsaf_dev->misc_op->get_sfp_prsnt(mac_cb, mac_cb 88 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->link = *link_status; mac_cb 91 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c int hns_mac_get_port_info(struct hns_mac_cb *mac_cb, mac_cb 97 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_ctrl_drv = hns_mac_get_drv(mac_cb); mac_cb 120 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c bool hns_mac_need_adjust_link(struct hns_mac_cb *mac_cb, int speed, int duplex) mac_cb 124 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_ctrl_drv = (struct mac_driver *)(mac_cb->priv.mac); mac_cb 133 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c void hns_mac_adjust_link(struct hns_mac_cb *mac_cb, int speed, int duplex) mac_cb 138 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_ctrl_drv = (struct mac_driver *)(mac_cb->priv.mac); mac_cb 140 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->speed = speed; mac_cb 141 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->half_duplex = !duplex; mac_cb 147 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dev_err(mac_cb->dev, mac_cb 149 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->dsaf_dev->ae_dev.name, mac_cb 150 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->mac_id, ret); mac_cb 163 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c int hns_mac_get_inner_port_num(struct hns_mac_cb *mac_cb, u8 vmid, u8 *port_num) mac_cb 169 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (mac_cb->dsaf_dev->dsaf_mode <= DSAF_MODE_ENABLE) { mac_cb 170 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (mac_cb->mac_id != DSAF_MAX_PORT_NUM) { mac_cb 171 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dev_err(mac_cb->dev, mac_cb 173 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->dsaf_dev->ae_dev.name, mac_cb 174 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->mac_id, vmid); mac_cb 177 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c } else if (mac_cb->dsaf_dev->dsaf_mode < DSAF_MODE_MAX) { mac_cb 178 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (mac_cb->mac_id >= DSAF_MAX_PORT_NUM) { mac_cb 179 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dev_err(mac_cb->dev, mac_cb 181 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->dsaf_dev->ae_dev.name, mac_cb 182 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->mac_id, vmid); mac_cb 186 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dev_err(mac_cb->dev, "dsaf mode invalid, %s mac%d!\n", mac_cb 187 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->dsaf_dev->ae_dev.name, mac_cb->mac_id); mac_cb 191 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (vmid >= mac_cb->dsaf_dev->rcb_common[0]->max_vfn) { mac_cb 192 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dev_err(mac_cb->dev, "input invalid, %s mac%d vmid%d !\n", mac_cb 193 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->dsaf_dev->ae_dev.name, mac_cb->mac_id, vmid); mac_cb 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; mac_cb 198 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c vf_num_per_port = mac_cb->dsaf_dev->rcb_common[0]->max_vfn; mac_cb 201 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c vf_num_per_port * q_num_per_vf * mac_cb->mac_id; mac_cb 203 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c switch (mac_cb->dsaf_dev->dsaf_mode) { mac_cb 225 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dev_err(mac_cb->dev, "dsaf mode invalid, %s mac%d!\n", mac_cb 226 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->dsaf_dev->ae_dev.name, mac_cb->mac_id); mac_cb 242 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c int hns_mac_change_vf_addr(struct hns_mac_cb *mac_cb, mac_cb 246 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct mac_driver *mac_ctrl_drv = hns_mac_get_drv(mac_cb); mac_cb 247 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; mac_cb 251 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c old_entry = &mac_cb->addr_entry_idx[vmid]; mac_cb 255 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_entry.in_port_num = mac_cb->mac_id; mac_cb 256 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c ret = hns_mac_get_inner_port_num(mac_cb, (u8)vmid, mac_cb 266 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->mac_id, mac_cb 278 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_ctrl_drv->set_mac_addr(mac_cb->priv.mac, addr); mac_cb 285 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c int hns_mac_add_uc_addr(struct hns_mac_cb *mac_cb, u8 vf_id, mac_cb 288 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; mac_cb 297 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_entry.in_port_num = mac_cb->mac_id; mac_cb 298 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c ret = hns_mac_get_inner_port_num(mac_cb, vf_id, &mac_entry.port_num); mac_cb 305 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c int hns_mac_rm_uc_addr(struct hns_mac_cb *mac_cb, u8 vf_id, mac_cb 308 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; mac_cb 317 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_entry.in_port_num = mac_cb->mac_id; mac_cb 318 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c ret = hns_mac_get_inner_port_num(mac_cb, vf_id, &mac_entry.port_num); mac_cb 325 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c int hns_mac_set_multi(struct hns_mac_cb *mac_cb, mac_cb 329 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; mac_cb 335 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_entry.in_port_num = mac_cb->mac_id; mac_cb 345 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->dsaf_dev->ae_dev.name, mac_cb 346 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->mac_id, ret); mac_cb 354 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c int hns_mac_clr_multicast(struct hns_mac_cb *mac_cb, int vfn) mac_cb 356 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; mac_cb 358 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c int ret = hns_mac_get_inner_port_num(mac_cb, vfn, &port_num); mac_cb 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); mac_cb 367 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct hns_mac_cb *mac_cb) mac_cb 369 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c param->vaddr = mac_cb->vaddr; mac_cb 370 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c param->mac_mode = hns_get_enet_interface(mac_cb); mac_cb 371 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c ether_addr_copy(param->addr, mac_cb->addr_entry_idx[0].addr); mac_cb 372 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c param->mac_id = mac_cb->mac_id; mac_cb 373 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c param->dev = mac_cb->dev; mac_cb 383 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c static int hns_mac_port_config_bc_en(struct hns_mac_cb *mac_cb, mac_cb 387 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; mac_cb 391 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (mac_cb->mac_type == HNAE_PORT_DEBUG) mac_cb 397 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_entry.in_port_num = mac_cb->mac_id; mac_cb 417 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c int hns_mac_vm_config_bc_en(struct hns_mac_cb *mac_cb, u32 vmid, bool enable) mac_cb 420 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; mac_cb 425 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (mac_cb->mac_type == HNAE_PORT_DEBUG) mac_cb 428 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c uc_mac_entry = &mac_cb->addr_entry_idx[vmid]; mac_cb 433 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_entry.in_port_num = mac_cb->mac_id; mac_cb 434 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c ret = hns_mac_get_inner_port_num(mac_cb, vmid, &port_num); mac_cb 449 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c int hns_mac_wait_fifo_clean(struct hns_mac_cb *mac_cb) mac_cb 451 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct mac_driver *drv = hns_mac_get_drv(mac_cb); mac_cb 459 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c void hns_mac_reset(struct hns_mac_cb *mac_cb) mac_cb 461 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct mac_driver *drv = hns_mac_get_drv(mac_cb); mac_cb 462 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c bool is_ver1 = AE_IS_VER1(mac_cb->dsaf_dev->dsaf_ver); mac_cb 467 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c drv->config_max_frame_length(drv, mac_cb->max_frm); mac_cb 470 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c drv->set_tx_auto_pause_frames(drv, mac_cb->tx_pause_frm_time); mac_cb 476 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (mac_cb->mac_type == HNAE_PORT_DEBUG) mac_cb 483 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c int hns_mac_set_mtu(struct hns_mac_cb *mac_cb, u32 new_mtu, u32 buf_size) mac_cb 485 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct mac_driver *drv = hns_mac_get_drv(mac_cb); mac_cb 500 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->max_frm = new_frm; mac_cb 505 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c void hns_mac_start(struct hns_mac_cb *mac_cb) mac_cb 507 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct mac_driver *mac_drv = hns_mac_get_drv(mac_cb); mac_cb 517 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_drv->mac_enable(mac_cb->priv.mac, MAC_COMM_MODE_RX_AND_TX); mac_cb 522 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c void hns_mac_stop(struct hns_mac_cb *mac_cb) mac_cb 524 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct mac_driver *mac_ctrl_drv = hns_mac_get_drv(mac_cb); mac_cb 534 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_ctrl_drv->mac_disable(mac_cb->priv.mac, mac_cb 538 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->link = 0; mac_cb 539 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->dsaf_dev->misc_op->cpld_reset_led(mac_cb); mac_cb 548 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c void hns_mac_get_autoneg(struct hns_mac_cb *mac_cb, u32 *auto_neg) mac_cb 550 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct mac_driver *mac_ctrl_drv = hns_mac_get_drv(mac_cb); mac_cb 565 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c void hns_mac_get_pauseparam(struct hns_mac_cb *mac_cb, u32 *rx_en, u32 *tx_en) mac_cb 567 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct mac_driver *mac_ctrl_drv = hns_mac_get_drv(mac_cb); mac_cb 583 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c int hns_mac_set_autoneg(struct hns_mac_cb *mac_cb, u8 enable) mac_cb 585 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct mac_driver *mac_ctrl_drv = hns_mac_get_drv(mac_cb); mac_cb 587 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (mac_cb->phy_if == PHY_INTERFACE_MODE_XGMII && enable) { mac_cb 588 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dev_err(mac_cb->dev, "enabling autoneg is not allowed!\n"); mac_cb 605 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c int hns_mac_set_pauseparam(struct hns_mac_cb *mac_cb, u32 rx_en, u32 tx_en) mac_cb 607 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct mac_driver *mac_ctrl_drv = hns_mac_get_drv(mac_cb); mac_cb 608 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c bool is_ver1 = AE_IS_VER1(mac_cb->dsaf_dev->dsaf_ver); mac_cb 610 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (mac_cb->mac_type == HNAE_PORT_DEBUG) { mac_cb 612 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dev_err(mac_cb->dev, "macv1 can't enable tx/rx_pause!\n"); mac_cb 628 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c static int hns_mac_init_ex(struct hns_mac_cb *mac_cb) mac_cb 634 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c hns_dsaf_fix_mac_mode(mac_cb); mac_cb 637 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c hns_mac_param_get(¶m, mac_cb); mac_cb 640 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c drv = (struct mac_driver *)hns_gmac_config(mac_cb, ¶m); mac_cb 642 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c drv = (struct mac_driver *)hns_xgmac_config(mac_cb, ¶m); mac_cb 647 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->priv.mac = (void *)drv; mac_cb 648 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c hns_mac_reset(mac_cb); mac_cb 650 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c hns_mac_adjust_link(mac_cb, mac_cb->speed, !mac_cb->half_duplex); mac_cb 652 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c ret = hns_mac_port_config_bc_en(mac_cb, mac_cb->mac_id, 0, true); mac_cb 659 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c drv->mac_free(mac_cb->priv.mac); mac_cb 660 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->priv.mac = NULL; mac_cb 686 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c hns_mac_register_phydev(struct mii_bus *mdio, struct hns_mac_cb *mac_cb, mac_cb 694 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c rc = fwnode_property_read_string(mac_cb->fw_port, mac_cb 723 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->phy_dev = phy; mac_cb 730 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c static int hns_mac_register_phy(struct hns_mac_cb *mac_cb) mac_cb 739 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (!to_acpi_device_node(mac_cb->fw_port)) mac_cb 743 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->fw_port, "mdio-node", 0, &args); mac_cb 749 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c addr = hns_mac_phy_parse_addr(mac_cb->dev, mac_cb->fw_port); mac_cb 756 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dev_err(mac_cb->dev, "mac%d mdio pdev is NULL\n", mac_cb 757 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->mac_id); mac_cb 763 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dev_err(mac_cb->dev, mac_cb 765 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->mac_id); mac_cb 769 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c rc = hns_mac_register_phydev(mii_bus, mac_cb, addr); mac_cb 771 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dev_dbg(mac_cb->dev, "mac%d register phy addr:%d\n", mac_cb 772 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->mac_id, addr); mac_cb 777 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c static void hns_mac_remove_phydev(struct hns_mac_cb *mac_cb) mac_cb 779 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (!to_acpi_device_node(mac_cb->fw_port) || !mac_cb->phy_dev) mac_cb 782 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c phy_device_remove(mac_cb->phy_dev); mac_cb 783 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c phy_device_free(mac_cb->phy_dev); mac_cb 785 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->phy_dev = NULL; mac_cb 806 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c static int hns_mac_get_info(struct hns_mac_cb *mac_cb) mac_cb 815 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->link = false; mac_cb 816 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->half_duplex = false; mac_cb 817 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->media_type = HNAE_MEDIA_TYPE_UNKNOWN; mac_cb 818 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->speed = mac_phy_to_speed[mac_cb->phy_if]; mac_cb 819 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->max_speed = mac_cb->speed; mac_cb 821 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (mac_cb->phy_if == PHY_INTERFACE_MODE_SGMII) { mac_cb 822 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->if_support = MAC_GMAC_SUPPORTED; mac_cb 823 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->if_support |= SUPPORTED_1000baseT_Full; mac_cb 824 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c } else if (mac_cb->phy_if == PHY_INTERFACE_MODE_XGMII) { mac_cb 825 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->if_support = SUPPORTED_10000baseR_FEC; mac_cb 826 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->if_support |= SUPPORTED_10000baseKR_Full; mac_cb 829 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->max_frm = MAC_DEFAULT_MTU; mac_cb 830 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->tx_pause_frm_time = MAC_DEFAULT_PAUSE_TIME; mac_cb 831 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->port_rst_off = mac_cb->mac_id; mac_cb 832 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->port_mode_off = 0; mac_cb 837 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (!mac_cb->fw_port) { mac_cb 838 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c np = of_parse_phandle(mac_cb->dev->of_node, "phy-handle", mac_cb 839 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->mac_id); mac_cb 840 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->phy_dev = of_phy_find_device(np); mac_cb 841 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (mac_cb->phy_dev) { mac_cb 845 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c put_device(&mac_cb->phy_dev->mdio.dev); mac_cb 847 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dev_dbg(mac_cb->dev, "mac%d phy_node: %pOFn\n", mac_cb 848 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->mac_id, np); mac_cb 855 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (is_of_node(mac_cb->fw_port)) { mac_cb 857 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c np = of_parse_phandle(to_of_node(mac_cb->fw_port), mac_cb 859 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->phy_dev = of_phy_find_device(np); mac_cb 860 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (mac_cb->phy_dev) { mac_cb 864 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c put_device(&mac_cb->phy_dev->mdio.dev); mac_cb 865 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dev_dbg(mac_cb->dev, "mac%d phy_node: %pOFn\n", mac_cb 866 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->mac_id, np); mac_cb 870 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c np = of_parse_phandle(to_of_node(mac_cb->fw_port), mac_cb 875 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dev_err(mac_cb->dev, "serdes-syscon is needed!\n"); mac_cb 878 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->serdes_ctrl = syscon; mac_cb 880 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c ret = fwnode_property_read_u32(mac_cb->fw_port, mac_cb 882 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c &mac_cb->port_rst_off); mac_cb 884 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dev_dbg(mac_cb->dev, mac_cb 886 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->mac_id); mac_cb 889 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c ret = fwnode_property_read_u32(mac_cb->fw_port, mac_cb 891 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c &mac_cb->port_mode_off); mac_cb 893 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dev_dbg(mac_cb->dev, mac_cb 895 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->mac_id); mac_cb 899 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c to_of_node(mac_cb->fw_port), "cpld-syscon", 1, 0, mac_cb 902 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dev_dbg(mac_cb->dev, "mac%d no cpld-syscon found.\n", mac_cb 903 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->mac_id); mac_cb 904 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->cpld_ctrl = NULL; mac_cb 908 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dev_dbg(mac_cb->dev, "no cpld-syscon found!\n"); mac_cb 909 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->cpld_ctrl = NULL; mac_cb 911 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->cpld_ctrl = syscon; mac_cb 912 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->cpld_ctrl_reg = cpld_args.args[0]; mac_cb 915 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c } else if (is_acpi_node(mac_cb->fw_port)) { mac_cb 916 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c ret = hns_mac_register_phy(mac_cb); mac_cb 926 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dev_err(mac_cb->dev, "mac%d cannot find phy node\n", mac_cb 927 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->mac_id); mac_cb 930 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (!fwnode_property_read_string(mac_cb->fw_port, "media-type", mac_cb 935 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->media_type = media_type_defs[i].value; mac_cb 941 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (fwnode_property_read_u8_array(mac_cb->fw_port, "mc-mac-mask", mac_cb 942 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->mc_mask, ETH_ALEN)) { mac_cb 943 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dev_warn(mac_cb->dev, mac_cb 945 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c eth_broadcast_addr(mac_cb->mc_mask); mac_cb 970 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct hns_mac_cb *mac_cb, u32 mac_mode_idx) mac_cb 973 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c int mac_id = mac_cb->mac_id; mac_cb 975 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (mac_cb->mac_type == HNAE_PORT_SERVICE) mac_cb 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) mac_cb 994 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->dsaf_dev = dsaf_dev; mac_cb 995 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->dev = dsaf_dev->dev; mac_cb 997 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->sys_ctl_vaddr = dsaf_dev->sc_base; mac_cb 998 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->serdes_vaddr = dsaf_dev->sds_base; mac_cb 1000 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->sfp_prsnt = 0; mac_cb 1001 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->txpkt_for_led = 0; mac_cb 1002 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->rxpkt_for_led = 0; mac_cb 1005 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->mac_type = HNAE_PORT_SERVICE; mac_cb 1007 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->mac_type = HNAE_PORT_DEBUG; mac_cb 1009 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->phy_if = dsaf_dev->misc_op->get_phy_if(mac_cb); mac_cb 1011 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c ret = hns_mac_get_mode(mac_cb->phy_if); mac_cb 1015 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->mac_id, ret); mac_cb 1020 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c ret = hns_mac_get_info(mac_cb); mac_cb 1024 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->dsaf_dev->misc_op->cpld_reset_led(mac_cb); mac_cb 1025 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->vaddr = hns_mac_get_vaddr(dsaf_dev, mac_cb, mac_mode_idx); mac_cb 1038 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c void hns_mac_enable(struct hns_mac_cb *mac_cb, enum mac_commom_mode mode) mac_cb 1040 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct mac_driver *mac_ctrl_drv = hns_mac_get_drv(mac_cb); mac_cb 1042 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_ctrl_drv->mac_enable(mac_cb->priv.mac, mode); mac_cb 1045 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c void hns_mac_disable(struct hns_mac_cb *mac_cb, enum mac_commom_mode mode) mac_cb 1047 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct mac_driver *mac_ctrl_drv = hns_mac_get_drv(mac_cb); mac_cb 1049 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_ctrl_drv->mac_disable(mac_cb->priv.mac, mode); mac_cb 1063 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct hns_mac_cb *mac_cb; mac_cb 1078 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb = devm_kzalloc(dsaf_dev->dev, sizeof(*mac_cb), mac_cb 1080 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (!mac_cb) mac_cb 1082 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->fw_port = child; mac_cb 1083 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->mac_id = (u8)port_id; mac_cb 1084 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dsaf_dev->mac_cb[port_id] = mac_cb; mac_cb 1093 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb = devm_kzalloc(dsaf_dev->dev, sizeof(*mac_cb), mac_cb 1095 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (!mac_cb) mac_cb 1098 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->mac_id = port_id; mac_cb 1099 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dsaf_dev->mac_cb[port_id] = mac_cb; mac_cb 1105 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb = dsaf_dev->mac_cb[port_id]; mac_cb 1106 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (!mac_cb) mac_cb 1109 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c ret = hns_mac_get_cfg(dsaf_dev, mac_cb); mac_cb 1113 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c ret = hns_mac_init_ex(mac_cb); mac_cb 1127 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (!dsaf_dev->mac_cb[i]) mac_cb 1130 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dsaf_dev->misc_op->cpld_reset_led(dsaf_dev->mac_cb[i]); mac_cb 1131 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c hns_mac_remove_phydev(dsaf_dev->mac_cb[i]); mac_cb 1132 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c dsaf_dev->mac_cb[i] = NULL; mac_cb 1136 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c int hns_mac_config_mac_loopback(struct hns_mac_cb *mac_cb, mac_cb 1140 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct mac_driver *drv = hns_mac_get_drv(mac_cb); mac_cb 1150 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c void hns_mac_update_stats(struct hns_mac_cb *mac_cb) mac_cb 1152 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct mac_driver *mac_ctrl_drv = hns_mac_get_drv(mac_cb); mac_cb 1157 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c void hns_mac_get_stats(struct hns_mac_cb *mac_cb, u64 *data) mac_cb 1159 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct mac_driver *mac_ctrl_drv = hns_mac_get_drv(mac_cb); mac_cb 1164 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c void hns_mac_get_strings(struct hns_mac_cb *mac_cb, mac_cb 1167 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct mac_driver *mac_ctrl_drv = hns_mac_get_drv(mac_cb); mac_cb 1172 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c int hns_mac_get_sset_count(struct hns_mac_cb *mac_cb, int stringset) mac_cb 1174 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct mac_driver *mac_ctrl_drv = hns_mac_get_drv(mac_cb); mac_cb 1179 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c void hns_mac_set_promisc(struct hns_mac_cb *mac_cb, u8 en) mac_cb 1181 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct mac_driver *mac_ctrl_drv = hns_mac_get_drv(mac_cb); mac_cb 1183 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c hns_dsaf_set_promisc_tcam(mac_cb->dsaf_dev, mac_cb->mac_id, !!en); mac_cb 1189 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c int hns_mac_get_regs_count(struct hns_mac_cb *mac_cb) mac_cb 1191 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct mac_driver *mac_ctrl_drv = hns_mac_get_drv(mac_cb); mac_cb 1196 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c void hns_mac_get_regs(struct hns_mac_cb *mac_cb, void *data) mac_cb 1198 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c struct mac_driver *mac_ctrl_drv = hns_mac_get_drv(mac_cb); mac_cb 1203 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c void hns_set_led_opt(struct hns_mac_cb *mac_cb) mac_cb 1208 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c txpkts = mac_cb->txpkt_for_led - mac_cb->hw_stats.tx_good_pkts; mac_cb 1209 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c rxpkts = mac_cb->rxpkt_for_led - mac_cb->hw_stats.rx_good_pkts; mac_cb 1214 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->txpkt_for_led = mac_cb->hw_stats.tx_good_pkts; mac_cb 1215 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->rxpkt_for_led = mac_cb->hw_stats.rx_good_pkts; mac_cb 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, mac_cb 1217 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c mac_cb->speed, nic_data); mac_cb 1220 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c int hns_cpld_led_set_id(struct hns_mac_cb *mac_cb, mac_cb 1223 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (!mac_cb) mac_cb 1226 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c return mac_cb->dsaf_dev->misc_op->cpld_set_led_id(mac_cb, status); mac_cb 400 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h struct hns_mac_cb *mac_cb; mac_cb 418 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h const struct hns_mac_cb *mac_cb) mac_cb 420 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h return (struct mac_driver *)(mac_cb->priv.mac); mac_cb 423 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h void *hns_gmac_config(struct hns_mac_cb *mac_cb, mac_cb 425 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h void *hns_xgmac_config(struct hns_mac_cb *mac_cb, mac_cb 430 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h bool hns_mac_need_adjust_link(struct hns_mac_cb *mac_cb, int speed, int duplex); mac_cb 431 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h void hns_mac_get_link_status(struct hns_mac_cb *mac_cb, u32 *link_status); mac_cb 432 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h int hns_mac_change_vf_addr(struct hns_mac_cb *mac_cb, u32 vmid, char *addr); mac_cb 433 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h int hns_mac_set_multi(struct hns_mac_cb *mac_cb, mac_cb 435 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h int hns_mac_vm_config_bc_en(struct hns_mac_cb *mac_cb, u32 vm, bool enable); mac_cb 436 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h void hns_mac_start(struct hns_mac_cb *mac_cb); mac_cb 437 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h void hns_mac_stop(struct hns_mac_cb *mac_cb); mac_cb 439 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h void hns_mac_adjust_link(struct hns_mac_cb *mac_cb, int speed, int duplex); mac_cb 440 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h void hns_mac_reset(struct hns_mac_cb *mac_cb); mac_cb 441 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h void hns_mac_get_autoneg(struct hns_mac_cb *mac_cb, u32 *auto_neg); mac_cb 442 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h void hns_mac_get_pauseparam(struct hns_mac_cb *mac_cb, u32 *rx_en, u32 *tx_en); mac_cb 443 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h int hns_mac_set_autoneg(struct hns_mac_cb *mac_cb, u8 enable); mac_cb 444 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h int hns_mac_set_pauseparam(struct hns_mac_cb *mac_cb, u32 rx_en, u32 tx_en); mac_cb 445 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h int hns_mac_set_mtu(struct hns_mac_cb *mac_cb, u32 new_mtu, u32 buf_size); mac_cb 446 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h int hns_mac_get_port_info(struct hns_mac_cb *mac_cb, mac_cb 448 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h int hns_mac_config_mac_loopback(struct hns_mac_cb *mac_cb, mac_cb 450 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h void hns_mac_update_stats(struct hns_mac_cb *mac_cb); mac_cb 451 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h void hns_mac_get_stats(struct hns_mac_cb *mac_cb, u64 *data); mac_cb 452 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h void hns_mac_get_strings(struct hns_mac_cb *mac_cb, int stringset, u8 *data); mac_cb 453 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h int hns_mac_get_sset_count(struct hns_mac_cb *mac_cb, int stringset); mac_cb 454 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h void hns_mac_get_regs(struct hns_mac_cb *mac_cb, void *data); mac_cb 455 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h int hns_mac_get_regs_count(struct hns_mac_cb *mac_cb); mac_cb 456 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h void hns_set_led_opt(struct hns_mac_cb *mac_cb); mac_cb 457 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h int hns_cpld_led_set_id(struct hns_mac_cb *mac_cb, mac_cb 459 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h void hns_mac_set_promisc(struct hns_mac_cb *mac_cb, u8 en); mac_cb 460 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h int hns_mac_get_inner_port_num(struct hns_mac_cb *mac_cb, mac_cb 462 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h int hns_mac_add_uc_addr(struct hns_mac_cb *mac_cb, u8 vf_id, mac_cb 464 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h int hns_mac_rm_uc_addr(struct hns_mac_cb *mac_cb, u8 vf_id, mac_cb 466 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h int hns_mac_clr_multicast(struct hns_mac_cb *mac_cb, int vfn); mac_cb 467 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h void hns_mac_enable(struct hns_mac_cb *mac_cb, enum mac_commom_mode mode); mac_cb 468 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h void hns_mac_disable(struct hns_mac_cb *mac_cb, enum mac_commom_mode mode); mac_cb 469 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h int hns_mac_wait_fifo_clean(struct hns_mac_cb *mac_cb); mac_cb 1729 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c memcpy(mask, dsaf_dev->mac_cb[port_num]->mc_mask, ETH_ALEN); mac_cb 2170 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c void hns_dsaf_fix_mac_mode(struct hns_mac_cb *mac_cb) mac_cb 2173 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct dsaf_device *dsaf_dev = mac_cb->dsaf_dev; mac_cb 2174 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c int mac_id = mac_cb->mac_id; mac_cb 2176 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (mac_cb->mac_type != HNAE_PORT_SERVICE) mac_cb 2178 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c if (mac_cb->phy_if == PHY_INTERFACE_MODE_XGMII) mac_cb 2765 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c struct hns_mac_cb *mac_cb; mac_cb 2786 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c mac_cb = dsaf_dev->mac_cb[port]; mac_cb 2787 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c (void)hns_mac_get_inner_port_num(mac_cb, 0, &port_num); mac_cb 211 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h struct hns_mac_cb *mac_cb; mac_cb 299 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h void (*cpld_set_led)(struct hns_mac_cb *mac_cb, int link_status, mac_cb 301 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h void (*cpld_reset_led)(struct hns_mac_cb *mac_cb); mac_cb 302 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h int (*cpld_set_led_id)(struct hns_mac_cb *mac_cb, mac_cb 314 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h phy_interface_t (*get_phy_if)(struct hns_mac_cb *mac_cb); mac_cb 315 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h int (*get_sfp_prsnt)(struct hns_mac_cb *mac_cb, int *sfp_prsnt); mac_cb 317 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h int (*cfg_serdes_loopback)(struct hns_mac_cb *mac_cb, bool en); mac_cb 344 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h struct hns_mac_cb *mac_cb[DSAF_MAX_PORT_NUM]; mac_cb 436 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h void hns_dsaf_fix_mac_mode(struct hns_mac_cb *mac_cb); mac_cb 58 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static void hns_dsaf_acpi_ledctrl_by_port(struct hns_mac_cb *mac_cb, u8 op_type, mac_cb 75 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c obj = acpi_evaluate_dsm(ACPI_HANDLE(mac_cb->dev), mac_cb 78 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dev_warn(mac_cb->dev, "ledctrl fail, link:%d port:%d act:%d!\n", mac_cb 86 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static void hns_dsaf_acpi_locate_ledctrl_by_port(struct hns_mac_cb *mac_cb, mac_cb 102 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c obj = acpi_evaluate_dsm(ACPI_HANDLE(mac_cb->dev), mac_cb 105 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dev_err(mac_cb->dev, "ledctrl fail, locate:%d port:%d!\n", mac_cb 113 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static void hns_cpld_set_led(struct hns_mac_cb *mac_cb, int link_status, mac_cb 119 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if (!mac_cb) { mac_cb 123 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if (!mac_cb->cpld_ctrl) { mac_cb 124 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dev_err(mac_cb->dev, "mac_id=%d, cpld syscon is null !\n", mac_cb 125 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c mac_cb->mac_id); mac_cb 132 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c value = mac_cb->cpld_led_value; mac_cb 140 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if (value != mac_cb->cpld_led_value) { mac_cb 141 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_syscon(mac_cb->cpld_ctrl, mac_cb 142 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c mac_cb->cpld_ctrl_reg, value); mac_cb 143 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c mac_cb->cpld_led_value = value; mac_cb 146 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c value = (mac_cb->cpld_led_value) & (0x1 << DSAF_LED_ANCHOR_B); mac_cb 147 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_syscon(mac_cb->cpld_ctrl, mac_cb 148 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c mac_cb->cpld_ctrl_reg, value); mac_cb 149 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c mac_cb->cpld_led_value = value; mac_cb 153 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static void hns_cpld_set_led_acpi(struct hns_mac_cb *mac_cb, int link_status, mac_cb 156 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if (!mac_cb) { mac_cb 161 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c hns_dsaf_acpi_ledctrl_by_port(mac_cb, HNS_OP_LED_SET_FUNC, mac_cb 162 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c link_status, mac_cb->mac_id, data); mac_cb 165 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static void cpld_led_reset(struct hns_mac_cb *mac_cb) mac_cb 167 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if (!mac_cb || !mac_cb->cpld_ctrl) mac_cb 170 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_syscon(mac_cb->cpld_ctrl, mac_cb->cpld_ctrl_reg, mac_cb 172 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c mac_cb->cpld_led_value = CPLD_LED_DEFAULT_VALUE; mac_cb 175 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static void cpld_led_reset_acpi(struct hns_mac_cb *mac_cb) mac_cb 177 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if (!mac_cb) { mac_cb 182 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if (mac_cb->media_type != HNAE_MEDIA_TYPE_FIBER) mac_cb 185 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c hns_dsaf_acpi_ledctrl_by_port(mac_cb, HNS_OP_LED_SET_FUNC, mac_cb 186 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c 0, mac_cb->mac_id, 0); mac_cb 189 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static int cpld_set_led_id(struct hns_mac_cb *mac_cb, mac_cb 195 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if (!mac_cb->cpld_ctrl) mac_cb 200 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c ret = dsaf_read_syscon(mac_cb->cpld_ctrl, mac_cb->cpld_ctrl_reg, mac_cb 206 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_syscon(mac_cb->cpld_ctrl, mac_cb->cpld_ctrl_reg, mac_cb 208 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c mac_cb->cpld_led_value = val; mac_cb 211 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_set_bit(mac_cb->cpld_led_value, DSAF_LED_ANCHOR_B, mac_cb 213 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_syscon(mac_cb->cpld_ctrl, mac_cb->cpld_ctrl_reg, mac_cb 214 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c mac_cb->cpld_led_value); mac_cb 217 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dev_err(mac_cb->dev, "invalid led state: %d!", status); mac_cb 224 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static int cpld_set_led_id_acpi(struct hns_mac_cb *mac_cb, mac_cb 229 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c hns_dsaf_acpi_locate_ledctrl_by_port(mac_cb, mac_cb 232 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c mac_cb->mac_id); mac_cb 235 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c hns_dsaf_acpi_locate_ledctrl_by_port(mac_cb, mac_cb 238 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c mac_cb->mac_id); mac_cb 241 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dev_err(mac_cb->dev, "invalid led state: %d!", status); mac_cb 312 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c reg_val |= 0x2082082 << dsaf_dev->mac_cb[port]->port_rst_off; mac_cb 402 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c port_rst_off = dsaf_dev->mac_cb[port]->port_rst_off; mac_cb 457 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c reg_val |= RESET_REQ_OR_DREQ << dsaf_dev->mac_cb[port]->port_rst_off; mac_cb 506 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static phy_interface_t hns_mac_get_phy_if(struct hns_mac_cb *mac_cb) mac_cb 510 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c bool is_ver1 = AE_IS_VER1(mac_cb->dsaf_dev->dsaf_ver); mac_cb 511 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c int mac_id = mac_cb->mac_id; mac_cb 515 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if (HNS_DSAF_IS_DEBUG(mac_cb->dsaf_dev)) mac_cb 523 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if (!HNS_DSAF_IS_DEBUG(mac_cb->dsaf_dev) && mac_id <= 3) mac_cb 529 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c mode = dsaf_read_sub(mac_cb->dsaf_dev, reg); mac_cb 530 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if (dsaf_get_bit(mode, mac_cb->port_mode_off)) mac_cb 538 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static phy_interface_t hns_mac_get_phy_if_acpi(struct hns_mac_cb *mac_cb) mac_cb 545 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c obj_args.integer.value = mac_cb->mac_id; mac_cb 551 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c obj = acpi_evaluate_dsm(ACPI_HANDLE(mac_cb->dev), mac_cb 561 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dev_dbg(mac_cb->dev, "mac_id=%d, phy_if=%d\n", mac_cb->mac_id, phy_if); mac_cb 568 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static int hns_mac_get_sfp_prsnt(struct hns_mac_cb *mac_cb, int *sfp_prsnt) mac_cb 573 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if (!mac_cb->cpld_ctrl) mac_cb 576 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c ret = dsaf_read_syscon(mac_cb->cpld_ctrl, mac_cb 577 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c mac_cb->cpld_ctrl_reg + MAC_SFP_PORT_OFFSET, mac_cb 586 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static int hns_mac_get_sfp_prsnt_acpi(struct hns_mac_cb *mac_cb, int *sfp_prsnt) mac_cb 592 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c obj_args.integer.value = mac_cb->mac_id; mac_cb 598 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c obj = acpi_evaluate_dsm(ACPI_HANDLE(mac_cb->dev), mac_cb 617 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c static int hns_mac_config_sds_loopback(struct hns_mac_cb *mac_cb, bool en) mac_cb 630 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c u64 reg_offset = RX_CSR(lane_id[mac_cb->mac_id], 0); mac_cb 633 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c int ret = hns_mac_get_sfp_prsnt(mac_cb, &sfp_prsnt); mac_cb 635 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if (!mac_cb->phy_dev) { mac_cb 643 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if (mac_cb->serdes_ctrl) { mac_cb 646 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if (!AE_IS_VER1(mac_cb->dsaf_dev->dsaf_ver)) { mac_cb 652 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c if ((!HNS_DSAF_IS_DEBUG(mac_cb->dsaf_dev)) && mac_cb 653 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c (mac_cb->mac_id <= 3)) mac_cb 654 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_syscon(mac_cb->serdes_ctrl, mac_cb 657 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_syscon(mac_cb->serdes_ctrl, mac_cb 661 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c ret = dsaf_read_syscon(mac_cb->serdes_ctrl, reg_offset, mac_cb 667 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dsaf_write_syscon(mac_cb->serdes_ctrl, reg_offset, origin); mac_cb 669 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c u8 __iomem *base_addr = mac_cb->serdes_vaddr + mac_cb 670 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c (mac_cb->mac_id <= 3 ? 0x00280000 : 0x00200000); mac_cb 678 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c hns_mac_config_sds_loopback_acpi(struct hns_mac_cb *mac_cb, bool en) mac_cb 684 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c obj_args[0].integer.value = mac_cb->mac_id; mac_cb 692 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c obj = acpi_evaluate_dsm(ACPI_HANDLE(mac_cb->dsaf_dev->dev), mac_cb 696 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c dev_warn(mac_cb->dsaf_dev->dev, "set port%d serdes lp fail!", mac_cb 697 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c mac_cb->mac_id); mac_cb 366 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c if (ppe_common->dsaf_dev->mac_cb[i]) mac_cb 402 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c if (dsaf_dev->mac_cb[i]) mac_cb 313 drivers/net/ethernet/hisilicon/hns/hns_dsaf_xgmac.c struct mac_hw_stats *hw_stats = &drv->mac_cb->hw_stats; mac_cb 746 drivers/net/ethernet/hisilicon/hns/hns_dsaf_xgmac.c hw_stats = &drv->mac_cb->hw_stats; mac_cb 795 drivers/net/ethernet/hisilicon/hns/hns_dsaf_xgmac.c void *hns_xgmac_config(struct hns_mac_cb *mac_cb, struct mac_params *mac_param) mac_cb 799 drivers/net/ethernet/hisilicon/hns/hns_dsaf_xgmac.c mac_drv = devm_kzalloc(mac_cb->dev, sizeof(*mac_drv), GFP_KERNEL); mac_cb 811 drivers/net/ethernet/hisilicon/hns/hns_dsaf_xgmac.c mac_drv->mac_cb = mac_cb; mac_cb 226 include/net/ieee802154_netdev.h return mac_cb(skb); mac_cb 116 net/ieee802154/6lowpan/tx.c *mac_cb(frag) = *mac_cb(skb); mac_cb 736 net/ieee802154/socket.c ieee802154_addr_to_sa(&saddr->addr, &mac_cb(skb)->source); mac_cb 742 net/ieee802154/socket.c sizeof(uint8_t), &(mac_cb(skb)->lqi)); mac_cb 371 net/mac802154/iface.c struct ieee802154_mac_cb *cb = mac_cb(skb); mac_cb 45 net/mac802154/rx.c switch (mac_cb(skb)->dest.mode) { mac_cb 47 net/mac802154/rx.c if (mac_cb(skb)->dest.mode != IEEE802154_ADDR_NONE) mac_cb 55 net/mac802154/rx.c if (mac_cb(skb)->dest.pan_id != span && mac_cb 56 net/mac802154/rx.c mac_cb(skb)->dest.pan_id != cpu_to_le16(IEEE802154_PANID_BROADCAST)) mac_cb 58 net/mac802154/rx.c else if (mac_cb(skb)->dest.extended_addr == wpan_dev->extended_addr) mac_cb 64 net/mac802154/rx.c if (mac_cb(skb)->dest.pan_id != span && mac_cb 65 net/mac802154/rx.c mac_cb(skb)->dest.pan_id != cpu_to_le16(IEEE802154_PANID_BROADCAST)) mac_cb 67 net/mac802154/rx.c else if (mac_cb(skb)->dest.short_addr == sshort) mac_cb 69 net/mac802154/rx.c else if (mac_cb(skb)->dest.short_addr == mac_cb 95 net/mac802154/rx.c switch (mac_cb(skb)->type) { mac_cb 105 net/mac802154/rx.c "(type = %d)\n", mac_cb(skb)->type); mac_cb 298 net/mac802154/rx.c mac_cb(skb)->lqi = lqi;