rcb_common 45 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c return dsaf_dev->rcb_common[0]->max_q_per_vf; rcb_common 51 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c return dsaf_dev->rcb_common[0]->max_vfn; rcb_common 57 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c struct rcb_common_cb *rcb_comm = dsaf_dev->rcb_common[0]; rcb_common 546 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c *tx_usecs = hns_rcb_get_coalesce_usecs(ring_pair->rcb_common, rcb_common 548 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c *rx_usecs = hns_rcb_get_coalesce_usecs(ring_pair->rcb_common, rcb_common 562 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ring_pair->rcb_common, ring_pair->port_id_in_comm); rcb_common 565 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ring_pair->rcb_common, ring_pair->port_id_in_comm); rcb_common 566 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c *rx_frames = hns_rcb_get_rx_coalesced_frames(ring_pair->rcb_common, rcb_common 577 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ring_pair->rcb_common, ring_pair->port_id_in_comm, timeout); rcb_common 593 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ring_pair->rcb_common, rcb_common 599 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ring_pair->rcb_common, rcb_common 605 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c ring_pair->rcb_common, rcb_common 869 drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c hns_rcb_get_common_regs(vf_cb->dsaf_dev->rcb_common[0], p); rcb_common 191 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c if (vmid >= mac_cb->dsaf_dev->rcb_common[0]->max_vfn) { rcb_common 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; rcb_common 198 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c vf_num_per_port = mac_cb->dsaf_dev->rcb_common[0]->max_vfn; rcb_common 343 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h struct rcb_common_cb *rcb_common[DSAF_COMM_DEV_NUM]; rcb_common 406 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c ret = hns_rcb_common_init_hw(dsaf_dev->rcb_common[ppe_common_index]); rcb_common 410 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c hns_rcb_common_init_commit_hw(dsaf_dev->rcb_common[ppe_common_index]); rcb_common 534 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c ret = hns_rcb_get_cfg(dsaf_dev->rcb_common[i]); rcb_common 210 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c void hns_rcb_common_init_commit_hw(struct rcb_common_cb *rcb_common) rcb_common 213 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_write_dev(rcb_common, RCB_COM_CFG_SYS_FSH_REG, 1); rcb_common 296 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c static void hns_rcb_set_port_desc_cnt(struct rcb_common_cb *rcb_common, rcb_common 299 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_write_dev(rcb_common, RCB_CFG_BD_NUM_REG + port_idx * 4, rcb_common 304 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c struct rcb_common_cb *rcb_common, u32 port_idx, u32 timeout) rcb_common 306 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c if (AE_IS_VER1(rcb_common->dsaf_dev->dsaf_ver)) { rcb_common 307 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_write_dev(rcb_common, RCB_CFG_OVERTIME_REG, rcb_common 309 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c } else if (!HNS_DSAF_IS_DEBUG(rcb_common->dsaf_dev)) { rcb_common 311 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_write_dev(rcb_common, rcb_common 315 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_write_dev(rcb_common, rcb_common 319 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_write_dev(rcb_common, rcb_common 323 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_write_dev(rcb_common, rcb_common 329 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c static int hns_rcb_common_get_port_num(struct rcb_common_cb *rcb_common) rcb_common 331 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c if (!HNS_DSAF_IS_DEBUG(rcb_common->dsaf_dev)) rcb_common 339 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c struct rcb_common_cb *rcb_common, int en) rcb_common 345 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_write_dev(rcb_common, RCB_COM_INTSTS_ECC_ERR_REG, clr_vlue); rcb_common 347 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_write_dev(rcb_common, RCB_COM_SF_CFG_RING_STS, clr_vlue); rcb_common 349 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_write_dev(rcb_common, RCB_COM_SF_CFG_BD_RINT_STS, clr_vlue); rcb_common 351 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_write_dev(rcb_common, RCB_COM_RINT_TX_PKT_REG, clr_vlue); rcb_common 352 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_write_dev(rcb_common, RCB_COM_AXI_ERR_STS, clr_vlue); rcb_common 355 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_write_dev(rcb_common, RCB_COM_INTMASK_ECC_ERR_REG, msk_vlue); rcb_common 357 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_write_dev(rcb_common, RCB_COM_SF_CFG_INTMASK_RING, msk_vlue); rcb_common 360 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_write_dev(rcb_common, RCB_COM_SF_CFG_INTMASK_BD, msk_vlue | 2); rcb_common 362 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_write_dev(rcb_common, RCB_COM_INTMSK_TX_PKT_REG, msk_vlue); rcb_common 363 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_write_dev(rcb_common, RCB_COM_AXI_WR_ERR_INTMASK, msk_vlue); rcb_common 371 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c int hns_rcb_common_init_hw(struct rcb_common_cb *rcb_common) rcb_common 375 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c int port_num = hns_rcb_common_get_port_num(rcb_common); rcb_common 377 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c hns_rcb_comm_exc_irq_en(rcb_common, 0); rcb_common 379 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c reg_val = dsaf_read_dev(rcb_common, RCB_COM_CFG_INIT_FLAG_REG); rcb_common 381 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dev_err(rcb_common->dsaf_dev->dev, rcb_common 387 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c hns_rcb_set_port_desc_cnt(rcb_common, i, rcb_common->desc_num); rcb_common 389 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c rcb_common, i, HNS_RCB_DEF_RX_COALESCED_FRAMES); rcb_common 390 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c if (!AE_IS_VER1(rcb_common->dsaf_dev->dsaf_ver) && rcb_common 391 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c !HNS_DSAF_IS_DEBUG(rcb_common->dsaf_dev)) rcb_common 393 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c rcb_common, i, HNS_RCB_DEF_TX_COALESCED_FRAMES); rcb_common 395 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c rcb_common, i, HNS_RCB_DEF_COALESCED_USECS); rcb_common 398 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_write_dev(rcb_common, RCB_COM_CFG_ENDIAN_REG, rcb_common 401 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c if (AE_IS_VER1(rcb_common->dsaf_dev->dsaf_ver)) { rcb_common 402 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_write_dev(rcb_common, RCB_COM_CFG_FNA_REG, 0x0); rcb_common 403 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_write_dev(rcb_common, RCB_COM_CFG_FA_REG, 0x1); rcb_common 405 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_set_dev_bit(rcb_common, RCBV2_COM_CFG_USER_REG, rcb_common 407 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_set_dev_bit(rcb_common, RCBV2_COM_CFG_USER_REG, rcb_common 409 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_set_dev_bit(rcb_common, RCBV2_COM_CFG_TSO_MODE_REG, rcb_common 443 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c struct rcb_common_cb *rcb_common; rcb_common 449 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c is_ver1 = AE_IS_VER1(ring_pair_cb->rcb_common->dsaf_dev->dsaf_ver); rcb_common 464 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c rcb_common = ring_pair_cb->rcb_common; rcb_common 465 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c desc_num = rcb_common->dsaf_dev->desc_num; rcb_common 491 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c struct rcb_common_cb *rcb_common, int ring_idx) rcb_common 493 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c return ring_idx / (rcb_common->max_q_per_vf * rcb_common->max_vfn); rcb_common 498 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c static int hns_rcb_get_base_irq_idx(struct rcb_common_cb *rcb_common) rcb_common 500 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c bool is_ver1 = AE_IS_VER1(rcb_common->dsaf_dev->dsaf_ver); rcb_common 502 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c if (!HNS_DSAF_IS_DEBUG(rcb_common->dsaf_dev)) rcb_common 514 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c int hns_rcb_get_cfg(struct rcb_common_cb *rcb_common) rcb_common 518 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c u32 ring_num = rcb_common->ring_num; rcb_common 519 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c int base_irq_idx = hns_rcb_get_base_irq_idx(rcb_common); rcb_common 521 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c to_platform_device(rcb_common->dsaf_dev->dev); rcb_common 522 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c bool is_ver1 = AE_IS_VER1(rcb_common->dsaf_dev->dsaf_ver); rcb_common 525 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c ring_pair_cb = &rcb_common->ring_pair_cb[i]; rcb_common 526 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c ring_pair_cb->rcb_common = rcb_common; rcb_common 527 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c ring_pair_cb->dev = rcb_common->dsaf_dev->dev; rcb_common 530 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c RCB_COMM_BASE_TO_RING_BASE(rcb_common->io_base, i); rcb_common 532 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c hns_rcb_get_port_in_comm(rcb_common, i); rcb_common 544 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c RCB_COMM_BASE_TO_RING_BASE(rcb_common->phy_base, i); rcb_common 559 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c struct rcb_common_cb *rcb_common, u32 port_idx) rcb_common 561 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c return dsaf_read_dev(rcb_common, RCB_CFG_PKTLINE_REG + port_idx * 4); rcb_common 572 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c struct rcb_common_cb *rcb_common, u32 port_idx) rcb_common 577 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c return dsaf_read_dev(rcb_common, reg); rcb_common 588 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c struct rcb_common_cb *rcb_common, u32 port_idx) rcb_common 590 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c if (AE_IS_VER1(rcb_common->dsaf_dev->dsaf_ver)) rcb_common 591 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c return dsaf_read_dev(rcb_common, RCB_CFG_OVERTIME_REG) / rcb_common 594 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c return dsaf_read_dev(rcb_common, rcb_common 608 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c struct rcb_common_cb *rcb_common, u32 port_idx, u32 timeout) rcb_common 610 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c u32 old_timeout = hns_rcb_get_coalesce_usecs(rcb_common, port_idx); rcb_common 615 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c if (AE_IS_VER1(rcb_common->dsaf_dev->dsaf_ver)) { rcb_common 616 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c if (!HNS_DSAF_IS_DEBUG(rcb_common->dsaf_dev)) { rcb_common 617 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dev_err(rcb_common->dsaf_dev->dev, rcb_common 623 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dev_err(rcb_common->dsaf_dev->dev, rcb_common 627 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c hns_rcb_set_port_timeout(rcb_common, port_idx, timeout); rcb_common 641 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c struct rcb_common_cb *rcb_common, u32 port_idx, u32 coalesced_frames) rcb_common 644 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c hns_rcb_get_tx_coalesced_frames(rcb_common, port_idx); rcb_common 651 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dev_err(rcb_common->dsaf_dev->dev, rcb_common 657 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_write_dev(rcb_common, reg, coalesced_frames); rcb_common 671 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c struct rcb_common_cb *rcb_common, u32 port_idx, u32 coalesced_frames) rcb_common 674 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c hns_rcb_get_rx_coalesced_frames(rcb_common, port_idx); rcb_common 679 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c if (coalesced_frames >= rcb_common->desc_num || rcb_common 682 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dev_err(rcb_common->dsaf_dev->dev, rcb_common 687 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_write_dev(rcb_common, RCB_CFG_PKTLINE_REG + port_idx * 4, rcb_common 763 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c static u8 __iomem *hns_rcb_common_get_vaddr(struct rcb_common_cb *rcb_common) rcb_common 765 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c struct dsaf_device *dsaf_dev = rcb_common->dsaf_dev; rcb_common 770 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c static phys_addr_t hns_rcb_common_get_paddr(struct rcb_common_cb *rcb_common) rcb_common 772 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c struct dsaf_device *dsaf_dev = rcb_common->dsaf_dev; rcb_common 780 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c struct rcb_common_cb *rcb_common; rcb_common 786 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c rcb_common = rcb_common 788 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c struct_size(rcb_common, ring_pair_cb, ring_num), rcb_common 790 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c if (!rcb_common) { rcb_common 794 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c rcb_common->comm_index = comm_index; rcb_common 795 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c rcb_common->ring_num = ring_num; rcb_common 796 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c rcb_common->dsaf_dev = dsaf_dev; rcb_common 798 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c rcb_common->desc_num = dsaf_dev->desc_num; rcb_common 801 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c rcb_common->max_vfn = max_vfn; rcb_common 802 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c rcb_common->max_q_per_vf = max_q_per_vf; rcb_common 804 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c rcb_common->io_base = hns_rcb_common_get_vaddr(rcb_common); rcb_common 805 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c rcb_common->phy_base = hns_rcb_common_get_paddr(rcb_common); rcb_common 807 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_dev->rcb_common[comm_index] = rcb_common; rcb_common 814 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c dsaf_dev->rcb_common[comm_index] = NULL; rcb_common 821 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c struct dsaf_device *dsaf_dev = ring->rcb_common->dsaf_dev; rcb_common 823 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c = dsaf_dev->ppe_common[ring->rcb_common->comm_index]; rcb_common 85 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.h struct rcb_common_cb *rcb_common; /* ring belongs to */ rcb_common 118 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.h int hns_rcb_common_init_hw(struct rcb_common_cb *rcb_common); rcb_common 120 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.h int hns_rcb_get_cfg(struct rcb_common_cb *rcb_common); rcb_common 124 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.h void hns_rcb_common_init_commit_hw(struct rcb_common_cb *rcb_common); rcb_common 137 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.h struct rcb_common_cb *rcb_common, u32 port_idx); rcb_common 139 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.h struct rcb_common_cb *rcb_common, u32 port_idx); rcb_common 141 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.h struct rcb_common_cb *rcb_common, u32 port_idx); rcb_common 143 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.h struct rcb_common_cb *rcb_common, u32 port_idx, u32 timeout); rcb_common 145 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.h struct rcb_common_cb *rcb_common, u32 port_idx, u32 coalesced_frames); rcb_common 147 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.h struct rcb_common_cb *rcb_common, u32 port_idx, u32 coalesced_frames); rcb_common 152 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.h void hns_rcb_get_common_regs(struct rcb_common_cb *rcb_common, void *data);