nic               492 arch/mips/include/asm/sn/klconfig.h 	nic_t		nic;		  /* MUst be aligned properly */
nic               176 drivers/firmware/iscsi_ibft.c 		struct ibft_nic *nic;
nic               295 drivers/firmware/iscsi_ibft.c 	struct ibft_nic *nic = entry->nic;
nic               300 drivers/firmware/iscsi_ibft.c 	if (!nic)
nic               305 drivers/firmware/iscsi_ibft.c 		str += sprintf(str, "%d\n", nic->hdr.index);
nic               308 drivers/firmware/iscsi_ibft.c 		str += sprintf(str, "%d\n", nic->hdr.flags);
nic               311 drivers/firmware/iscsi_ibft.c 		str += sprintf_ipaddr(str, nic->ip_addr);
nic               314 drivers/firmware/iscsi_ibft.c 		val = cpu_to_be32(~((1 << (32-nic->subnet_mask_prefix))-1));
nic               318 drivers/firmware/iscsi_ibft.c 		str += sprintf(str, "%d\n", nic->subnet_mask_prefix);
nic               321 drivers/firmware/iscsi_ibft.c 		str += sprintf(str, "%d\n", nic->origin);
nic               324 drivers/firmware/iscsi_ibft.c 		str += sprintf_ipaddr(str, nic->gateway);
nic               327 drivers/firmware/iscsi_ibft.c 		str += sprintf_ipaddr(str, nic->primary_dns);
nic               330 drivers/firmware/iscsi_ibft.c 		str += sprintf_ipaddr(str, nic->secondary_dns);
nic               333 drivers/firmware/iscsi_ibft.c 		str += sprintf_ipaddr(str, nic->dhcp);
nic               336 drivers/firmware/iscsi_ibft.c 		str += sprintf(str, "%d\n", nic->vlan);
nic               339 drivers/firmware/iscsi_ibft.c 		str += sprintf(str, "%pM\n", nic->mac);
nic               342 drivers/firmware/iscsi_ibft.c 		str += sprintf_string(str, nic->hostname_len,
nic               343 drivers/firmware/iscsi_ibft.c 				      (char *)ibft_loc + nic->hostname_off);
nic               474 drivers/firmware/iscsi_ibft.c 	struct ibft_nic *nic = entry->nic;
nic               483 drivers/firmware/iscsi_ibft.c 		if (address_not_null(nic->ip_addr))
nic               488 drivers/firmware/iscsi_ibft.c 		if (nic->subnet_mask_prefix)
nic               495 drivers/firmware/iscsi_ibft.c 		if (address_not_null(nic->gateway))
nic               499 drivers/firmware/iscsi_ibft.c 		if (address_not_null(nic->primary_dns))
nic               503 drivers/firmware/iscsi_ibft.c 		if (address_not_null(nic->secondary_dns))
nic               507 drivers/firmware/iscsi_ibft.c 		if (address_not_null(nic->dhcp))
nic               515 drivers/firmware/iscsi_ibft.c 		if (nic->hostname_off)
nic               631 drivers/firmware/iscsi_ibft.c 	struct ibft_nic *nic = (struct ibft_nic *)hdr;
nic               661 drivers/firmware/iscsi_ibft.c 				     sizeof(*ibft_kobj->nic));
nic               719 drivers/firmware/iscsi_ibft.c 						(nic->pci_bdf & 0xff00) >> 8,
nic               720 drivers/firmware/iscsi_ibft.c 						(nic->pci_bdf & 0xff));
nic               132 drivers/net/ethernet/aquantia/atlantic/aq_vec.c 		unsigned int idx_ring = AQ_NIC_TCVEC2RING(self->nic,
nic               632 drivers/net/ethernet/cavium/thunder/nic.h void nicvf_config_rss(struct nicvf *nic);
nic               633 drivers/net/ethernet/cavium/thunder/nic.h void nicvf_set_rss_key(struct nicvf *nic);
nic               635 drivers/net/ethernet/cavium/thunder/nic.h void nicvf_update_stats(struct nicvf *nic);
nic               636 drivers/net/ethernet/cavium/thunder/nic.h void nicvf_update_lmac_stats(struct nicvf *nic);
nic                88 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_reg_write(struct nicpf *nic, u64 offset, u64 val)
nic                90 drivers/net/ethernet/cavium/thunder/nic_main.c 	writeq_relaxed(val, nic->reg_base + offset);
nic                93 drivers/net/ethernet/cavium/thunder/nic_main.c static u64 nic_reg_read(struct nicpf *nic, u64 offset)
nic                95 drivers/net/ethernet/cavium/thunder/nic_main.c 	return readq_relaxed(nic->reg_base + offset);
nic                99 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_enable_mbx_intr(struct nicpf *nic)
nic               101 drivers/net/ethernet/cavium/thunder/nic_main.c 	int vf_cnt = pci_sriov_get_totalvfs(nic->pdev);
nic               106 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_MAILBOX_INT, INTR_MASK(vf_cnt));
nic               109 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_MAILBOX_ENA_W1S, INTR_MASK(vf_cnt));
nic               112 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_reg_write(nic, NIC_PF_MAILBOX_INT + sizeof(u64),
nic               114 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_reg_write(nic, NIC_PF_MAILBOX_ENA_W1S + sizeof(u64),
nic               119 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_clear_mbx_intr(struct nicpf *nic, int vf, int mbx_reg)
nic               121 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_MAILBOX_INT + (mbx_reg << 3), BIT_ULL(vf));
nic               133 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_send_msg_to_vf(struct nicpf *nic, int vf, union nic_mbx *mbx)
nic               135 drivers/net/ethernet/cavium/thunder/nic_main.c 	void __iomem *mbx_addr = nic->reg_base + nic_get_mbx_addr(vf);
nic               142 drivers/net/ethernet/cavium/thunder/nic_main.c 	if (pass1_silicon(nic->pdev)) {
nic               158 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_mbx_send_ready(struct nicpf *nic, int vf)
nic               169 drivers/net/ethernet/cavium/thunder/nic_main.c 	if (vf < nic->num_vf_en) {
nic               170 drivers/net/ethernet/cavium/thunder/nic_main.c 		bgx_idx = NIC_GET_BGX_FROM_VF_LMAC_MAP(nic->vf_lmac_map[vf]);
nic               171 drivers/net/ethernet/cavium/thunder/nic_main.c 		lmac = NIC_GET_LMAC_FROM_VF_LMAC_MAP(nic->vf_lmac_map[vf]);
nic               173 drivers/net/ethernet/cavium/thunder/nic_main.c 		mac = bgx_get_lmac_mac(nic->node, bgx_idx, lmac);
nic               177 drivers/net/ethernet/cavium/thunder/nic_main.c 	mbx.nic_cfg.sqs_mode = (vf >= nic->num_vf_en) ? true : false;
nic               178 drivers/net/ethernet/cavium/thunder/nic_main.c 	mbx.nic_cfg.node_id = nic->node;
nic               180 drivers/net/ethernet/cavium/thunder/nic_main.c 	mbx.nic_cfg.loopback_supported = vf < nic->num_vf_en;
nic               182 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_send_msg_to_vf(nic, vf, &mbx);
nic               188 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_mbx_send_ack(struct nicpf *nic, int vf)
nic               193 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_send_msg_to_vf(nic, vf, &mbx);
nic               200 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_mbx_send_nack(struct nicpf *nic, int vf)
nic               205 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_send_msg_to_vf(nic, vf, &mbx);
nic               211 drivers/net/ethernet/cavium/thunder/nic_main.c static int nic_rcv_queue_sw_sync(struct nicpf *nic)
nic               215 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_SW_SYNC_RX, 0x01);
nic               218 drivers/net/ethernet/cavium/thunder/nic_main.c 		if (nic_reg_read(nic, NIC_PF_SW_SYNC_RX_DONE) & 0x1)
nic               222 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_SW_SYNC_RX, 0x00);
nic               224 drivers/net/ethernet/cavium/thunder/nic_main.c 		dev_err(&nic->pdev->dev, "Receive queue software sync failed");
nic               231 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_get_bgx_stats(struct nicpf *nic, struct bgx_stats_msg *bgx)
nic               236 drivers/net/ethernet/cavium/thunder/nic_main.c 	bgx_idx = NIC_GET_BGX_FROM_VF_LMAC_MAP(nic->vf_lmac_map[bgx->vf_id]);
nic               237 drivers/net/ethernet/cavium/thunder/nic_main.c 	lmac = NIC_GET_LMAC_FROM_VF_LMAC_MAP(nic->vf_lmac_map[bgx->vf_id]);
nic               244 drivers/net/ethernet/cavium/thunder/nic_main.c 		mbx.bgx_stats.stats = bgx_get_rx_stats(nic->node, bgx_idx,
nic               247 drivers/net/ethernet/cavium/thunder/nic_main.c 		mbx.bgx_stats.stats = bgx_get_tx_stats(nic->node, bgx_idx,
nic               249 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_send_msg_to_vf(nic, bgx->vf_id, &mbx);
nic               253 drivers/net/ethernet/cavium/thunder/nic_main.c static int nic_update_hw_frs(struct nicpf *nic, int new_frs, int vf)
nic               261 drivers/net/ethernet/cavium/thunder/nic_main.c 	bgx = NIC_GET_BGX_FROM_VF_LMAC_MAP(nic->vf_lmac_map[vf]);
nic               262 drivers/net/ethernet/cavium/thunder/nic_main.c 	lmac = NIC_GET_LMAC_FROM_VF_LMAC_MAP(nic->vf_lmac_map[vf]);
nic               268 drivers/net/ethernet/cavium/thunder/nic_main.c 	lmac_cnt = bgx_get_lmac_count(nic->node, bgx);
nic               269 drivers/net/ethernet/cavium/thunder/nic_main.c 	lmac_credits = nic_reg_read(nic, NIC_PF_LMAC_0_7_CREDIT + (lmac * 8));
nic               272 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_LMAC_0_7_CREDIT + (lmac * 8), lmac_credits);
nic               277 drivers/net/ethernet/cavium/thunder/nic_main.c 	if (!pass1_silicon(nic->pdev))
nic               278 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_reg_write(nic,
nic               284 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_set_tx_pkt_pad(struct nicpf *nic, int size)
nic               299 drivers/net/ethernet/cavium/thunder/nic_main.c 	pci_read_config_word(nic->pdev, PCI_SUBSYSTEM_ID, &sdevid);
nic               302 drivers/net/ethernet/cavium/thunder/nic_main.c 		max_lmac = ((nic->hw->bgx_cnt - 1) * MAX_LMAC_PER_BGX) + 1;
nic               304 drivers/net/ethernet/cavium/thunder/nic_main.c 		max_lmac = nic->hw->bgx_cnt * MAX_LMAC_PER_BGX;
nic               307 drivers/net/ethernet/cavium/thunder/nic_main.c 		lmac_cfg = nic_reg_read(nic, NIC_PF_LMAC_0_7_CFG | (lmac << 3));
nic               310 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_reg_write(nic, NIC_PF_LMAC_0_7_CFG | (lmac << 3), lmac_cfg);
nic               317 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_set_lmac_vf_mapping(struct nicpf *nic)
nic               319 drivers/net/ethernet/cavium/thunder/nic_main.c 	unsigned bgx_map = bgx_get_map(nic->node);
nic               324 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic->num_vf_en = 0;
nic               326 drivers/net/ethernet/cavium/thunder/nic_main.c 	for (bgx = 0; bgx < nic->hw->bgx_cnt; bgx++) {
nic               329 drivers/net/ethernet/cavium/thunder/nic_main.c 		lmac_cnt = bgx_get_lmac_count(nic->node, bgx);
nic               331 drivers/net/ethernet/cavium/thunder/nic_main.c 			nic->vf_lmac_map[next_bgx_lmac++] =
nic               333 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic->num_vf_en += lmac_cnt;
nic               343 drivers/net/ethernet/cavium/thunder/nic_main.c 			nic_reg_write(nic,
nic               350 drivers/net/ethernet/cavium/thunder/nic_main.c 		if (nic->num_vf_en >= pci_sriov_get_totalvfs(nic->pdev)) {
nic               351 drivers/net/ethernet/cavium/thunder/nic_main.c 			nic->num_vf_en = pci_sriov_get_totalvfs(nic->pdev);
nic               357 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_get_hw_info(struct nicpf *nic)
nic               360 drivers/net/ethernet/cavium/thunder/nic_main.c 	struct hw_info *hw = nic->hw;
nic               362 drivers/net/ethernet/cavium/thunder/nic_main.c 	pci_read_config_word(nic->pdev, PCI_SUBSYSTEM_ID, &sdevid);
nic               405 drivers/net/ethernet/cavium/thunder/nic_main.c 	hw->tl4_cnt = MAX_QUEUES_PER_QSET * pci_sriov_get_totalvfs(nic->pdev);
nic               411 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_init_hw(struct nicpf *nic)
nic               417 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_CFG, 0x3);
nic               420 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_BP_CFG, (1ULL << 6) | 0x03);
nic               425 drivers/net/ethernet/cavium/thunder/nic_main.c 	if (nic->pdev->subsystem_device == PCI_SUBSYS_DEVID_88XX_NIC_PF) {
nic               427 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_reg_write(nic, NIC_PF_INTF_0_1_SEND_CFG,
nic               430 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_reg_write(nic, NIC_PF_INTF_0_1_SEND_CFG | (1 << 8),
nic               435 drivers/net/ethernet/cavium/thunder/nic_main.c 		for (i = 0; i < nic->hw->bgx_cnt; i++)
nic               436 drivers/net/ethernet/cavium/thunder/nic_main.c 			nic_reg_write(nic, NIC_PF_INTFX_SEND_CFG | (i << 3),
nic               440 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_INTF_0_1_BP_CFG,
nic               442 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_INTF_0_1_BP_CFG + (1 << 8),
nic               446 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic->pkind.minlen = 0;
nic               447 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic->pkind.maxlen = NIC_HW_MAX_FRS + VLAN_ETH_HLEN + ETH_FCS_LEN + 4;
nic               448 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic->pkind.lenerr_en = 1;
nic               449 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic->pkind.rx_hdr = 0;
nic               450 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic->pkind.hdr_sl = 0;
nic               453 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_reg_write(nic, NIC_PF_PKIND_0_15_CFG | (i << 3),
nic               454 drivers/net/ethernet/cavium/thunder/nic_main.c 			      *(u64 *)&nic->pkind);
nic               456 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_set_tx_pkt_pad(nic, NIC_HW_MIN_FRS);
nic               459 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_INTR_TIMER_CFG, NICPF_CLK_PER_INT_TICK);
nic               462 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_RX_ETYPE_0_7,
nic               466 drivers/net/ethernet/cavium/thunder/nic_main.c 	cqm_cfg = nic_reg_read(nic, NIC_PF_CQM_CFG);
nic               468 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_reg_write(nic, NIC_PF_CQM_CFG, NICPF_CQM_MIN_DROP_LEVEL);
nic               472 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_config_cpi(struct nicpf *nic, struct cpi_cfg_msg *cfg)
nic               474 drivers/net/ethernet/cavium/thunder/nic_main.c 	struct hw_info *hw = nic->hw;
nic               481 drivers/net/ethernet/cavium/thunder/nic_main.c 	bgx = NIC_GET_BGX_FROM_VF_LMAC_MAP(nic->vf_lmac_map[vnic]);
nic               482 drivers/net/ethernet/cavium/thunder/nic_main.c 	lmac = NIC_GET_LMAC_FROM_VF_LMAC_MAP(nic->vf_lmac_map[vnic]);
nic               489 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_CHAN_0_255_RX_BP_CFG | (chan << 3),
nic               491 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_CHAN_0_255_RX_CFG | (chan << 3),
nic               507 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_reg_write(nic, NIC_PF_RSSI_0_4097_RQ | (rssi << 3),
nic               522 drivers/net/ethernet/cavium/thunder/nic_main.c 		if (pass1_silicon(nic->pdev)) {
nic               523 drivers/net/ethernet/cavium/thunder/nic_main.c 			nic_reg_write(nic, NIC_PF_CPI_0_2047_CFG | (cpi << 3),
nic               528 drivers/net/ethernet/cavium/thunder/nic_main.c 			nic_reg_write(nic, NIC_PF_CPI_0_2047_CFG | (cpi << 3),
nic               531 drivers/net/ethernet/cavium/thunder/nic_main.c 			nic_reg_write(nic, NIC_PF_MPI_0_2047_CFG | (cpi << 3),
nic               545 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic->cpi_base[cfg->vf_id] = cpi_base;
nic               546 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic->rssi_base[cfg->vf_id] = rssi_base;
nic               550 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_send_rss_size(struct nicpf *nic, int vf)
nic               555 drivers/net/ethernet/cavium/thunder/nic_main.c 	mbx.rss_size.ind_tbl_size = nic->hw->rss_ind_tbl_size;
nic               556 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_send_msg_to_vf(nic, vf, &mbx);
nic               565 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_config_rss(struct nicpf *nic, struct rss_cfg_msg *cfg)
nic               571 drivers/net/ethernet/cavium/thunder/nic_main.c 	rssi_base = nic->rssi_base[cfg->vf_id] + cfg->tbl_offset;
nic               579 drivers/net/ethernet/cavium/thunder/nic_main.c 			qset = nic->vf_sqs[cfg->vf_id][svf - 1];
nic               582 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_reg_write(nic, NIC_PF_RSSI_0_4097_RQ | (rssi << 3),
nic               587 drivers/net/ethernet/cavium/thunder/nic_main.c 	cpi_base = nic->cpi_base[cfg->vf_id];
nic               588 drivers/net/ethernet/cavium/thunder/nic_main.c 	if (pass1_silicon(nic->pdev))
nic               592 drivers/net/ethernet/cavium/thunder/nic_main.c 	cpi_cfg = nic_reg_read(nic, idx_addr | (cpi_base << 3));
nic               595 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, idx_addr | (cpi_base << 3), cpi_cfg);
nic               611 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_tx_channel_cfg(struct nicpf *nic, u8 vnic,
nic               614 drivers/net/ethernet/cavium/thunder/nic_main.c 	struct hw_info *hw = nic->hw;
nic               623 drivers/net/ethernet/cavium/thunder/nic_main.c 		pqs_vnic = nic->pqs_vf[vnic];
nic               627 drivers/net/ethernet/cavium/thunder/nic_main.c 	bgx = NIC_GET_BGX_FROM_VF_LMAC_MAP(nic->vf_lmac_map[pqs_vnic]);
nic               628 drivers/net/ethernet/cavium/thunder/nic_main.c 	lmac = NIC_GET_LMAC_FROM_VF_LMAC_MAP(nic->vf_lmac_map[pqs_vnic]);
nic               642 drivers/net/ethernet/cavium/thunder/nic_main.c 				if (nic->vf_sqs[pqs_vnic][svf] == vnic)
nic               655 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_QSET_0_127_SQ_0_7_CFG2 |
nic               658 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_TL4_0_1023_CFG | (tl4 << 3),
nic               661 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_TL3_0_255_CFG | (tl3 << 3), rr_quantum);
nic               671 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_reg_write(nic, NIC_PF_TL3_0_255_CHAN | (tl3 << 3), chan);
nic               673 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_reg_write(nic, NIC_PF_TL3_0_255_CHAN | (tl3 << 3), 0);
nic               676 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_CHAN_0_255_TX_CFG | (chan << 3), 1);
nic               679 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_TL3A_0_63_CFG | (tl2 << 3), tl2);
nic               680 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_TL2_0_63_CFG | (tl2 << 3), rr_quantum);
nic               682 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_TL2_0_63_PRI | (tl2 << 3), 0x00);
nic               691 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_reg_write(nic, NIC_PF_TL2_LMAC | (tl2 << 3),
nic               696 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_send_pnicvf(struct nicpf *nic, int sqs)
nic               701 drivers/net/ethernet/cavium/thunder/nic_main.c 	mbx.nicvf.nicvf = nic->nicvf[nic->pqs_vf[sqs]];
nic               702 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_send_msg_to_vf(nic, sqs, &mbx);
nic               706 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_send_snicvf(struct nicpf *nic, struct nicvf_ptr *nicvf)
nic               709 drivers/net/ethernet/cavium/thunder/nic_main.c 	int sqs_id = nic->vf_sqs[nicvf->vf_id][nicvf->sqs_id];
nic               713 drivers/net/ethernet/cavium/thunder/nic_main.c 	mbx.nicvf.nicvf = nic->nicvf[sqs_id];
nic               714 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_send_msg_to_vf(nic, nicvf->vf_id, &mbx);
nic               720 drivers/net/ethernet/cavium/thunder/nic_main.c static int nic_nxt_avail_sqs(struct nicpf *nic)
nic               724 drivers/net/ethernet/cavium/thunder/nic_main.c 	for (sqs = 0; sqs < nic->num_sqs_en; sqs++) {
nic               725 drivers/net/ethernet/cavium/thunder/nic_main.c 		if (!nic->sqs_used[sqs])
nic               726 drivers/net/ethernet/cavium/thunder/nic_main.c 			nic->sqs_used[sqs] = true;
nic               729 drivers/net/ethernet/cavium/thunder/nic_main.c 		return sqs + nic->num_vf_en;
nic               735 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_alloc_sqs(struct nicpf *nic, struct sqs_alloc *sqs)
nic               741 drivers/net/ethernet/cavium/thunder/nic_main.c 	if (!nic->num_sqs_en)
nic               745 drivers/net/ethernet/cavium/thunder/nic_main.c 		sqs_id = nic_nxt_avail_sqs(nic);
nic               748 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic->vf_sqs[sqs->vf_id][idx] = sqs_id;
nic               749 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic->pqs_vf[sqs_id] = sqs->vf_id;
nic               757 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_send_msg_to_vf(nic, sqs->vf_id, &mbx);
nic               760 drivers/net/ethernet/cavium/thunder/nic_main.c static int nic_config_loopback(struct nicpf *nic, struct set_loopback *lbk)
nic               764 drivers/net/ethernet/cavium/thunder/nic_main.c 	if (lbk->vf_id >= nic->num_vf_en)
nic               767 drivers/net/ethernet/cavium/thunder/nic_main.c 	bgx_idx = NIC_GET_BGX_FROM_VF_LMAC_MAP(nic->vf_lmac_map[lbk->vf_id]);
nic               768 drivers/net/ethernet/cavium/thunder/nic_main.c 	lmac_idx = NIC_GET_LMAC_FROM_VF_LMAC_MAP(nic->vf_lmac_map[lbk->vf_id]);
nic               770 drivers/net/ethernet/cavium/thunder/nic_main.c 	bgx_lmac_internal_loopback(nic->node, bgx_idx, lmac_idx, lbk->enable);
nic               776 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_CQ_AVG_CFG,
nic               778 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_RRM_AVG_CFG,
nic               785 drivers/net/ethernet/cavium/thunder/nic_main.c static int nic_reset_stat_counters(struct nicpf *nic,
nic               796 drivers/net/ethernet/cavium/thunder/nic_main.c 			nic_reg_write(nic, reg_addr, 0);
nic               805 drivers/net/ethernet/cavium/thunder/nic_main.c 			nic_reg_write(nic, reg_addr, 0);
nic               816 drivers/net/ethernet/cavium/thunder/nic_main.c 			nic_reg_write(nic, reg_addr, 0);
nic               820 drivers/net/ethernet/cavium/thunder/nic_main.c 			nic_reg_write(nic, reg_addr, 0);
nic               827 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_enable_tunnel_parsing(struct nicpf *nic, int vf)
nic               834 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_RX_GENEVE_DEF,
nic               836 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_RX_GENEVE_PROT_DEF,
nic               838 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_RX_NVGRE_PROT_DEF,
nic               840 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_RX_VXLAN_DEF_0_1,
nic               842 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_RX_VXLAN_PROT_DEF,
nic               846 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_enable_vf(struct nicpf *nic, int vf, bool enable)
nic               850 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic->vf_enabled[vf] = enable;
nic               852 drivers/net/ethernet/cavium/thunder/nic_main.c 	if (vf >= nic->num_vf_en)
nic               855 drivers/net/ethernet/cavium/thunder/nic_main.c 	bgx = NIC_GET_BGX_FROM_VF_LMAC_MAP(nic->vf_lmac_map[vf]);
nic               856 drivers/net/ethernet/cavium/thunder/nic_main.c 	lmac = NIC_GET_LMAC_FROM_VF_LMAC_MAP(nic->vf_lmac_map[vf]);
nic               858 drivers/net/ethernet/cavium/thunder/nic_main.c 	bgx_lmac_rx_tx_enable(nic->node, bgx, lmac, enable);
nic               861 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_pause_frame(struct nicpf *nic, int vf, struct pfc *cfg)
nic               867 drivers/net/ethernet/cavium/thunder/nic_main.c 	if (vf >= nic->num_vf_en)
nic               869 drivers/net/ethernet/cavium/thunder/nic_main.c 	bgx = NIC_GET_BGX_FROM_VF_LMAC_MAP(nic->vf_lmac_map[vf]);
nic               870 drivers/net/ethernet/cavium/thunder/nic_main.c 	lmac = NIC_GET_LMAC_FROM_VF_LMAC_MAP(nic->vf_lmac_map[vf]);
nic               873 drivers/net/ethernet/cavium/thunder/nic_main.c 		bgx_lmac_get_pfc(nic->node, bgx, lmac, &pfc);
nic               878 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_send_msg_to_vf(nic, vf, &mbx);
nic               880 drivers/net/ethernet/cavium/thunder/nic_main.c 		bgx_lmac_set_pfc(nic->node, bgx, lmac, cfg);
nic               881 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_mbx_send_ack(nic, vf);
nic               886 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_config_timestamp(struct nicpf *nic, int vf, struct set_ptp *ptp)
nic               892 drivers/net/ethernet/cavium/thunder/nic_main.c 	if (vf >= nic->num_vf_en)
nic               895 drivers/net/ethernet/cavium/thunder/nic_main.c 	bgx_idx = NIC_GET_BGX_FROM_VF_LMAC_MAP(nic->vf_lmac_map[vf]);
nic               896 drivers/net/ethernet/cavium/thunder/nic_main.c 	lmac = NIC_GET_LMAC_FROM_VF_LMAC_MAP(nic->vf_lmac_map[vf]);
nic               899 drivers/net/ethernet/cavium/thunder/nic_main.c 	pkind_val = nic_reg_read(nic, NIC_PF_PKIND_0_15_CFG | (pkind_idx << 3));
nic               909 drivers/net/ethernet/cavium/thunder/nic_main.c 		bgx_config_timestamping(nic->node, bgx_idx, lmac, true);
nic               910 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_reg_write(nic, NIC_PF_RX_ETYPE_0_7 | (1 << 3),
nic               915 drivers/net/ethernet/cavium/thunder/nic_main.c 		bgx_config_timestamping(nic->node, bgx_idx, lmac, false);
nic               916 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_reg_write(nic, NIC_PF_RX_ETYPE_0_7 | (1 << 3),
nic               920 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_reg_write(nic, NIC_PF_PKIND_0_15_CFG | (pkind_idx << 3), pkind_val);
nic               927 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_link_status_get(struct nicpf *nic, u8 vf)
nic               936 drivers/net/ethernet/cavium/thunder/nic_main.c 	bgx = NIC_GET_BGX_FROM_VF_LMAC_MAP(nic->vf_lmac_map[vf]);
nic               937 drivers/net/ethernet/cavium/thunder/nic_main.c 	lmac = NIC_GET_LMAC_FROM_VF_LMAC_MAP(nic->vf_lmac_map[vf]);
nic               940 drivers/net/ethernet/cavium/thunder/nic_main.c 	bgx_get_lmac_link_state(nic->node, bgx, lmac, &link);
nic               949 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_send_msg_to_vf(nic, vf, &mbx);
nic               953 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_handle_mbx_intr(struct nicpf *nic, int vf)
nic               968 drivers/net/ethernet/cavium/thunder/nic_main.c 		*mbx_data = nic_reg_read(nic, mbx_addr);
nic               973 drivers/net/ethernet/cavium/thunder/nic_main.c 	dev_dbg(&nic->pdev->dev, "%s: Mailbox msg 0x%02x from VF%d\n",
nic               977 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_mbx_send_ready(nic, vf);
nic               984 drivers/net/ethernet/cavium/thunder/nic_main.c 		if (vf >= nic->num_vf_en) {
nic               987 drivers/net/ethernet/cavium/thunder/nic_main.c 			cfg |= nic->pqs_vf[vf];
nic               989 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_reg_write(nic, reg_addr, cfg);
nic               995 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_reg_write(nic, reg_addr, mbx.rq.cfg);
nic              1001 drivers/net/ethernet/cavium/thunder/nic_main.c 		if (pass2_silicon(nic->pdev))
nic              1002 drivers/net/ethernet/cavium/thunder/nic_main.c 			nic_reg_write(nic, NIC_PF_RX_CFG, 0x01);
nic              1003 drivers/net/ethernet/cavium/thunder/nic_main.c 		if (!pass1_silicon(nic->pdev))
nic              1004 drivers/net/ethernet/cavium/thunder/nic_main.c 			nic_enable_tunnel_parsing(nic, vf);
nic              1010 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_reg_write(nic, reg_addr, mbx.rq.cfg);
nic              1013 drivers/net/ethernet/cavium/thunder/nic_main.c 		ret = nic_rcv_queue_sw_sync(nic);
nic              1019 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_reg_write(nic, reg_addr, mbx.rq.cfg);
nic              1025 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_reg_write(nic, reg_addr, mbx.sq.cfg);
nic              1026 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_tx_channel_cfg(nic, mbx.qs.num, &mbx.sq);
nic              1029 drivers/net/ethernet/cavium/thunder/nic_main.c 		if (vf >= nic->num_vf_en) {
nic              1034 drivers/net/ethernet/cavium/thunder/nic_main.c 		bgx = NIC_GET_BGX_FROM_VF_LMAC_MAP(nic->vf_lmac_map[lmac]);
nic              1035 drivers/net/ethernet/cavium/thunder/nic_main.c 		lmac = NIC_GET_LMAC_FROM_VF_LMAC_MAP(nic->vf_lmac_map[lmac]);
nic              1036 drivers/net/ethernet/cavium/thunder/nic_main.c 		bgx_set_lmac_mac(nic->node, bgx, lmac, mbx.mac.mac_addr);
nic              1039 drivers/net/ethernet/cavium/thunder/nic_main.c 		ret = nic_update_hw_frs(nic, mbx.frs.max_frs,
nic              1043 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_config_cpi(nic, &mbx.cpi_cfg);
nic              1046 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_send_rss_size(nic, vf);
nic              1050 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_config_rss(nic, &mbx.rss_cfg);
nic              1054 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_enable_vf(nic, vf, true);
nic              1058 drivers/net/ethernet/cavium/thunder/nic_main.c 		if (vf >= nic->num_vf_en)
nic              1059 drivers/net/ethernet/cavium/thunder/nic_main.c 			nic->sqs_used[vf - nic->num_vf_en] = false;
nic              1060 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic->pqs_vf[vf] = 0;
nic              1061 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_enable_vf(nic, vf, false);
nic              1064 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_alloc_sqs(nic, &mbx.sqs_alloc);
nic              1067 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic->nicvf[vf] = mbx.nicvf.nicvf;
nic              1070 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_send_pnicvf(nic, vf);
nic              1073 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_send_snicvf(nic, &mbx.nicvf);
nic              1076 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_get_bgx_stats(nic, &mbx.bgx_stats);
nic              1079 drivers/net/ethernet/cavium/thunder/nic_main.c 		ret = nic_config_loopback(nic, &mbx.lbk);
nic              1082 drivers/net/ethernet/cavium/thunder/nic_main.c 		ret = nic_reset_stat_counters(nic, vf, &mbx.reset_stat);
nic              1085 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_pause_frame(nic, vf, &mbx.pfc);
nic              1088 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_config_timestamp(nic, vf, &mbx.ptp);
nic              1091 drivers/net/ethernet/cavium/thunder/nic_main.c 		if (vf >= nic->num_vf_en) {
nic              1095 drivers/net/ethernet/cavium/thunder/nic_main.c 		bgx = NIC_GET_BGX_FROM_VF_LMAC_MAP(nic->vf_lmac_map[vf]);
nic              1096 drivers/net/ethernet/cavium/thunder/nic_main.c 		lmac = NIC_GET_LMAC_FROM_VF_LMAC_MAP(nic->vf_lmac_map[vf]);
nic              1097 drivers/net/ethernet/cavium/thunder/nic_main.c 		bgx_reset_xcast_mode(nic->node, bgx, lmac,
nic              1103 drivers/net/ethernet/cavium/thunder/nic_main.c 		if (vf >= nic->num_vf_en) {
nic              1107 drivers/net/ethernet/cavium/thunder/nic_main.c 		bgx = NIC_GET_BGX_FROM_VF_LMAC_MAP(nic->vf_lmac_map[vf]);
nic              1108 drivers/net/ethernet/cavium/thunder/nic_main.c 		lmac = NIC_GET_LMAC_FROM_VF_LMAC_MAP(nic->vf_lmac_map[vf]);
nic              1109 drivers/net/ethernet/cavium/thunder/nic_main.c 		bgx_set_dmac_cam_filter(nic->node, bgx, lmac,
nic              1116 drivers/net/ethernet/cavium/thunder/nic_main.c 		if (vf >= nic->num_vf_en) {
nic              1120 drivers/net/ethernet/cavium/thunder/nic_main.c 		bgx = NIC_GET_BGX_FROM_VF_LMAC_MAP(nic->vf_lmac_map[vf]);
nic              1121 drivers/net/ethernet/cavium/thunder/nic_main.c 		lmac = NIC_GET_LMAC_FROM_VF_LMAC_MAP(nic->vf_lmac_map[vf]);
nic              1122 drivers/net/ethernet/cavium/thunder/nic_main.c 		bgx_set_xcast_mode(nic->node, bgx, lmac, mbx.xcast.mode);
nic              1125 drivers/net/ethernet/cavium/thunder/nic_main.c 		if (vf >= nic->num_vf_en) {
nic              1129 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_link_status_get(nic, vf);
nic              1132 drivers/net/ethernet/cavium/thunder/nic_main.c 		dev_err(&nic->pdev->dev,
nic              1138 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_mbx_send_ack(nic, vf);
nic              1140 drivers/net/ethernet/cavium/thunder/nic_main.c 		dev_err(&nic->pdev->dev, "NACK for MBOX 0x%02x from VF %d\n",
nic              1142 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic_mbx_send_nack(nic, vf);
nic              1148 drivers/net/ethernet/cavium/thunder/nic_main.c 	struct nicpf *nic = (struct nicpf *)nic_irq;
nic              1153 drivers/net/ethernet/cavium/thunder/nic_main.c 	if (irq == pci_irq_vector(nic->pdev, NIC_PF_INTR_ID_MBOX0))
nic              1158 drivers/net/ethernet/cavium/thunder/nic_main.c 	intr = nic_reg_read(nic, NIC_PF_MAILBOX_INT + (mbx << 3));
nic              1159 drivers/net/ethernet/cavium/thunder/nic_main.c 	dev_dbg(&nic->pdev->dev, "PF interrupt Mbox%d 0x%llx\n", mbx, intr);
nic              1162 drivers/net/ethernet/cavium/thunder/nic_main.c 			dev_dbg(&nic->pdev->dev, "Intr from VF %d\n",
nic              1165 drivers/net/ethernet/cavium/thunder/nic_main.c 			nic_handle_mbx_intr(nic, vf +
nic              1167 drivers/net/ethernet/cavium/thunder/nic_main.c 			nic_clear_mbx_intr(nic, vf, mbx);
nic              1173 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_free_all_interrupts(struct nicpf *nic)
nic              1177 drivers/net/ethernet/cavium/thunder/nic_main.c 	for (irq = 0; irq < nic->num_vec; irq++) {
nic              1178 drivers/net/ethernet/cavium/thunder/nic_main.c 		if (nic->irq_allocated[irq])
nic              1179 drivers/net/ethernet/cavium/thunder/nic_main.c 			free_irq(pci_irq_vector(nic->pdev, irq), nic);
nic              1180 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic->irq_allocated[irq] = false;
nic              1184 drivers/net/ethernet/cavium/thunder/nic_main.c static int nic_register_interrupts(struct nicpf *nic)
nic              1187 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic->num_vec = pci_msix_vec_count(nic->pdev);
nic              1190 drivers/net/ethernet/cavium/thunder/nic_main.c 	ret = pci_alloc_irq_vectors(nic->pdev, nic->num_vec, nic->num_vec,
nic              1193 drivers/net/ethernet/cavium/thunder/nic_main.c 		dev_err(&nic->pdev->dev,
nic              1195 drivers/net/ethernet/cavium/thunder/nic_main.c 			   nic->num_vec, ret);
nic              1200 drivers/net/ethernet/cavium/thunder/nic_main.c 	for (i = NIC_PF_INTR_ID_MBOX0; i < nic->num_vec; i++) {
nic              1201 drivers/net/ethernet/cavium/thunder/nic_main.c 		sprintf(nic->irq_name[i],
nic              1204 drivers/net/ethernet/cavium/thunder/nic_main.c 		ret = request_irq(pci_irq_vector(nic->pdev, i),
nic              1206 drivers/net/ethernet/cavium/thunder/nic_main.c 				  nic->irq_name[i], nic);
nic              1210 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic->irq_allocated[i] = true;
nic              1214 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_enable_mbx_intr(nic);
nic              1218 drivers/net/ethernet/cavium/thunder/nic_main.c 	dev_err(&nic->pdev->dev, "Request irq failed\n");
nic              1219 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_free_all_interrupts(nic);
nic              1220 drivers/net/ethernet/cavium/thunder/nic_main.c 	pci_free_irq_vectors(nic->pdev);
nic              1221 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic->num_vec = 0;
nic              1225 drivers/net/ethernet/cavium/thunder/nic_main.c static void nic_unregister_interrupts(struct nicpf *nic)
nic              1227 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_free_all_interrupts(nic);
nic              1228 drivers/net/ethernet/cavium/thunder/nic_main.c 	pci_free_irq_vectors(nic->pdev);
nic              1229 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic->num_vec = 0;
nic              1232 drivers/net/ethernet/cavium/thunder/nic_main.c static int nic_num_sqs_en(struct nicpf *nic, int vf_en)
nic              1247 drivers/net/ethernet/cavium/thunder/nic_main.c 	pos = pci_find_ext_capability(nic->pdev, PCI_EXT_CAP_ID_SRIOV);
nic              1248 drivers/net/ethernet/cavium/thunder/nic_main.c 	pci_read_config_word(nic->pdev, (pos + PCI_SRIOV_TOTAL_VF), &total_vf);
nic              1252 drivers/net/ethernet/cavium/thunder/nic_main.c static int nic_sriov_init(struct pci_dev *pdev, struct nicpf *nic)
nic              1266 drivers/net/ethernet/cavium/thunder/nic_main.c 	if (total_vf_cnt < nic->num_vf_en)
nic              1267 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic->num_vf_en = total_vf_cnt;
nic              1272 drivers/net/ethernet/cavium/thunder/nic_main.c 	vf_en = nic->num_vf_en;
nic              1273 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic->num_sqs_en = nic_num_sqs_en(nic, nic->num_vf_en);
nic              1274 drivers/net/ethernet/cavium/thunder/nic_main.c 	vf_en += nic->num_sqs_en;
nic              1280 drivers/net/ethernet/cavium/thunder/nic_main.c 		nic->num_vf_en = 0;
nic              1287 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic->flags |= NIC_SRIOV_ENABLED;
nic              1294 drivers/net/ethernet/cavium/thunder/nic_main.c 	struct nicpf *nic;
nic              1300 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic = devm_kzalloc(dev, sizeof(*nic), GFP_KERNEL);
nic              1301 drivers/net/ethernet/cavium/thunder/nic_main.c 	if (!nic)
nic              1304 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic->hw = devm_kzalloc(dev, sizeof(struct hw_info), GFP_KERNEL);
nic              1305 drivers/net/ethernet/cavium/thunder/nic_main.c 	if (!nic->hw)
nic              1308 drivers/net/ethernet/cavium/thunder/nic_main.c 	pci_set_drvdata(pdev, nic);
nic              1310 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic->pdev = pdev;
nic              1338 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic->reg_base = pcim_iomap(pdev, PCI_CFG_REG_BAR_NUM, 0);
nic              1339 drivers/net/ethernet/cavium/thunder/nic_main.c 	if (!nic->reg_base) {
nic              1345 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic->node = nic_get_node_id(pdev);
nic              1348 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_get_hw_info(nic);
nic              1352 drivers/net/ethernet/cavium/thunder/nic_main.c 	max_lmac = nic->hw->bgx_cnt * MAX_LMAC_PER_BGX;
nic              1354 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic->vf_lmac_map = devm_kmalloc_array(dev, max_lmac, sizeof(u8),
nic              1356 drivers/net/ethernet/cavium/thunder/nic_main.c 	if (!nic->vf_lmac_map)
nic              1360 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_init_hw(nic);
nic              1362 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_set_lmac_vf_mapping(nic);
nic              1365 drivers/net/ethernet/cavium/thunder/nic_main.c 	err = nic_register_interrupts(nic);
nic              1370 drivers/net/ethernet/cavium/thunder/nic_main.c 	err = nic_sriov_init(pdev, nic);
nic              1377 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_unregister_interrupts(nic);
nic              1388 drivers/net/ethernet/cavium/thunder/nic_main.c 	struct nicpf *nic = pci_get_drvdata(pdev);
nic              1390 drivers/net/ethernet/cavium/thunder/nic_main.c 	if (!nic)
nic              1393 drivers/net/ethernet/cavium/thunder/nic_main.c 	if (nic->flags & NIC_SRIOV_ENABLED)
nic              1396 drivers/net/ethernet/cavium/thunder/nic_main.c 	nic_unregister_interrupts(nic);
nic               122 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct nicvf *nic = netdev_priv(netdev);
nic               128 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	if (!nic->link_up) {
nic               134 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	switch (nic->speed) {
nic               154 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		if (nic->mac_type == BGX_MODE_RXAUI) {
nic               171 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	cmd->base.duplex = nic->duplex;
nic               172 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	cmd->base.speed = nic->speed;
nic               184 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct nicvf *nic = netdev_priv(netdev);
nic               186 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	return nic->link_up;
nic               192 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct nicvf *nic = netdev_priv(netdev);
nic               196 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	strlcpy(info->bus_info, pci_name(nic->pdev), sizeof(info->bus_info));
nic               201 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct nicvf *nic = netdev_priv(netdev);
nic               203 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	return nic->msg_enable;
nic               208 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct nicvf *nic = netdev_priv(netdev);
nic               210 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	nic->msg_enable = lvl;
nic               213 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c static void nicvf_get_qset_strings(struct nicvf *nic, u8 **data, int qset)
nic               218 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	for (qidx = 0; qidx < nic->qs->rq_cnt; qidx++) {
nic               226 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	for (qidx = 0; qidx < nic->qs->sq_cnt; qidx++) {
nic               237 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct nicvf *nic = netdev_priv(netdev);
nic               254 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	nicvf_get_qset_strings(nic, &data, 0);
nic               256 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	for (sqs = 0; sqs < nic->sqs_count; sqs++) {
nic               257 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		if (!nic->snicvf[sqs])
nic               259 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		nicvf_get_qset_strings(nic->snicvf[sqs], &data, sqs + 1);
nic               275 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct nicvf *nic = netdev_priv(netdev);
nic               283 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		       (nic->qs->rq_cnt + nic->qs->sq_cnt);
nic               284 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	for (sqs = 0; sqs < nic->sqs_count; sqs++) {
nic               287 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		snic = nic->snicvf[sqs];
nic               299 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c static void nicvf_get_qset_stats(struct nicvf *nic,
nic               304 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	if (!nic)
nic               307 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	for (qidx = 0; qidx < nic->qs->rq_cnt; qidx++) {
nic               308 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		nicvf_update_rq_stats(nic, qidx);
nic               310 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 			*((*data)++) = ((u64 *)&nic->qs->rq[qidx].stats)
nic               314 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	for (qidx = 0; qidx < nic->qs->sq_cnt; qidx++) {
nic               315 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		nicvf_update_sq_stats(nic, qidx);
nic               317 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 			*((*data)++) = ((u64 *)&nic->qs->sq[qidx].stats)
nic               325 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct nicvf *nic = netdev_priv(netdev);
nic               329 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	nicvf_update_stats(nic);
nic               332 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	nicvf_update_lmac_stats(nic);
nic               335 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		*(data++) = ((u64 *)&nic->hw_stats)
nic               340 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 			tmp_stats += ((u64 *)per_cpu_ptr(nic->drv_stats, cpu))
nic               345 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	nicvf_get_qset_stats(nic, stats, &data);
nic               347 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	for (sqs = 0; sqs < nic->sqs_count; sqs++) {
nic               348 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		if (!nic->snicvf[sqs])
nic               350 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		nicvf_get_qset_stats(nic->snicvf[sqs], stats, &data);
nic               354 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		*(data++) = nic->bgx_stats.rx_stats[stat];
nic               356 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		*(data++) = nic->bgx_stats.tx_stats[stat];
nic               367 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct nicvf *nic = netdev_priv(dev);
nic               376 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	p[i++] = nicvf_reg_read(nic, NIC_VNIC_CFG);
nic               379 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_reg_read(nic,
nic               382 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	p[i++] = nicvf_reg_read(nic, NIC_VF_INT);
nic               383 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	p[i++] = nicvf_reg_read(nic, NIC_VF_INT_W1S);
nic               384 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	p[i++] = nicvf_reg_read(nic, NIC_VF_ENA_W1C);
nic               385 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	p[i++] = nicvf_reg_read(nic, NIC_VF_ENA_W1S);
nic               386 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	p[i++] = nicvf_reg_read(nic, NIC_VNIC_RSS_CFG);
nic               389 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_reg_read(nic, NIC_VNIC_RSS_KEY_0_4 | (key << 3));
nic               393 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_reg_read(nic,
nic               397 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_reg_read(nic,
nic               400 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	p[i++] = nicvf_reg_read(nic, NIC_QSET_RQ_GEN_CFG);
nic               404 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_CFG, q);
nic               405 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_CFG2, q);
nic               406 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_THRESH, q);
nic               407 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_BASE, q);
nic               408 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_HEAD, q);
nic               409 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_TAIL, q);
nic               410 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_DOOR, q);
nic               411 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_STATUS, q);
nic               412 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_STATUS2, q);
nic               413 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_DEBUG, q);
nic               418 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_RQ_0_7_CFG, q);
nic               419 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic,
nic               422 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, reg_offset, q);
nic               426 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_CFG, q);
nic               427 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_THRESH, q);
nic               428 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_BASE, q);
nic               429 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_HEAD, q);
nic               430 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_TAIL, q);
nic               431 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_DOOR, q);
nic               432 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_STATUS, q);
nic               433 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_DEBUG, q);
nic               438 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_STAT_0_1, q);
nic               440 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, reg_offset, q);
nic               444 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_RBDR_0_1_CFG, q);
nic               445 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_RBDR_0_1_THRESH, q);
nic               446 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_RBDR_0_1_BASE, q);
nic               447 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_RBDR_0_1_HEAD, q);
nic               448 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_RBDR_0_1_TAIL, q);
nic               449 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_RBDR_0_1_DOOR, q);
nic               450 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic,
nic               452 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic,
nic               455 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		p[i++] = nicvf_queue_reg_read(nic, reg_offset, q);
nic               462 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct nicvf *nic = netdev_priv(netdev);
nic               464 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	cmd->rx_coalesce_usecs = nic->cq_coalesce_usecs;
nic               471 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct nicvf *nic = netdev_priv(netdev);
nic               472 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct queue_set *qs = nic->qs;
nic               483 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct nicvf *nic = netdev_priv(netdev);
nic               484 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct queue_set *qs = nic->qs;
nic               488 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	if (pass1_silicon(nic->pdev))
nic               514 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c static int nicvf_get_rss_hash_opts(struct nicvf *nic,
nic               542 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct nicvf *nic = netdev_priv(dev);
nic               547 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		info->data = nic->rx_queues;
nic               551 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		return nicvf_get_rss_hash_opts(nic, info);
nic               558 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c static int nicvf_set_rss_hash_opts(struct nicvf *nic,
nic               561 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct nicvf_rss_info *rss = &nic->rss_info;
nic               562 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	u64 rss_cfg = nicvf_reg_read(nic, NIC_VNIC_RSS_CFG);
nic               565 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		netdev_err(nic->netdev,
nic               568 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	netdev_info(nic->netdev, "Set RSS flow type = %d, data = %lld\n",
nic               622 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	nicvf_reg_write(nic, NIC_VNIC_RSS_CFG, rss_cfg);
nic               628 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct nicvf *nic = netdev_priv(dev);
nic               632 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		return nicvf_set_rss_hash_opts(nic, info);
nic               646 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct nicvf *nic = netdev_priv(dev);
nic               648 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	return nic->rss_info.rss_size;
nic               654 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct nicvf *nic = netdev_priv(dev);
nic               655 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct nicvf_rss_info *rss = &nic->rss_info;
nic               675 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct nicvf *nic = netdev_priv(dev);
nic               676 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct nicvf_rss_info *rss = &nic->rss_info;
nic               683 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		netdev_err(nic->netdev,
nic               695 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		nicvf_set_rss_key(nic);
nic               698 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	nicvf_config_rss(nic);
nic               706 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct nicvf *nic = netdev_priv(dev);
nic               710 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	channel->max_rx = nic->max_queues;
nic               711 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	channel->max_tx = nic->max_queues;
nic               713 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	channel->rx_count = nic->rx_queues;
nic               714 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	channel->tx_count = nic->tx_queues;
nic               721 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct nicvf *nic = netdev_priv(dev);
nic               728 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	if (channel->rx_count > nic->max_queues)
nic               730 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	if (channel->tx_count > nic->max_queues)
nic               733 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	if (nic->xdp_prog &&
nic               734 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	    ((channel->tx_count + channel->rx_count) > nic->max_queues)) {
nic               735 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		netdev_err(nic->netdev,
nic               737 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 			   nic->max_queues);
nic               744 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	nic->rx_queues = channel->rx_count;
nic               745 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	nic->tx_queues = channel->tx_count;
nic               746 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	if (!nic->xdp_prog)
nic               747 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		nic->xdp_tx_queues = 0;
nic               749 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		nic->xdp_tx_queues = channel->rx_count;
nic               751 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	txq_count = nic->xdp_tx_queues + nic->tx_queues;
nic               752 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	cqcount = max(nic->rx_queues, txq_count);
nic               755 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		nic->sqs_count = roundup(cqcount, MAX_CMP_QUEUES_PER_QS);
nic               756 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		nic->sqs_count = (nic->sqs_count / MAX_CMP_QUEUES_PER_QS) - 1;
nic               758 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		nic->sqs_count = 0;
nic               761 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	nic->qs->rq_cnt = min_t(u8, nic->rx_queues, MAX_RCV_QUEUES_PER_QS);
nic               762 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	nic->qs->sq_cnt = min_t(u8, txq_count, MAX_SND_QUEUES_PER_QS);
nic               763 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	nic->qs->cq_cnt = max(nic->qs->rq_cnt, nic->qs->sq_cnt);
nic               765 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	err = nicvf_set_real_num_queues(dev, nic->tx_queues, nic->rx_queues);
nic               773 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		    nic->tx_queues, nic->rx_queues);
nic               781 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct nicvf *nic = netdev_priv(dev);
nic               785 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	if ((nic->mac_type == BGX_MODE_SGMII) ||
nic               786 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	    (nic->mac_type == BGX_MODE_QSGMII) ||
nic               787 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	    (nic->mac_type == BGX_MODE_RGMII))
nic               792 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	if (!nicvf_send_msg_to_pf(nic, &mbx)) {
nic               793 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		pause->autoneg = nic->pfc.autoneg;
nic               794 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		pause->rx_pause = nic->pfc.fc_rx;
nic               795 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 		pause->tx_pause = nic->pfc.fc_tx;
nic               802 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct nicvf *nic = netdev_priv(dev);
nic               806 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	if ((nic->mac_type == BGX_MODE_SGMII) ||
nic               807 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	    (nic->mac_type == BGX_MODE_QSGMII) ||
nic               808 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	    (nic->mac_type == BGX_MODE_RGMII))
nic               818 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	if (nicvf_send_msg_to_pf(nic, &mbx))
nic               821 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	nic->pfc.fc_rx = pause->rx_pause;
nic               822 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	nic->pfc.fc_tx = pause->tx_pause;
nic               830 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	struct nicvf *nic = netdev_priv(netdev);
nic               832 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	if (!nic->ptp_clock)
nic               842 drivers/net/ethernet/cavium/thunder/nicvf_ethtool.c 	info->phc_index = cavium_ptp_clock_index(nic->ptp_clock);
nic                75 drivers/net/ethernet/cavium/thunder/nicvf_main.c static inline u8 nicvf_netdev_qidx(struct nicvf *nic, u8 qidx)
nic                77 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nic->sqs_mode)
nic                78 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		return qidx + ((nic->sqs_id + 1) * MAX_CMP_QUEUES_PER_QS);
nic                93 drivers/net/ethernet/cavium/thunder/nicvf_main.c void nicvf_reg_write(struct nicvf *nic, u64 offset, u64 val)
nic                95 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	writeq_relaxed(val, nic->reg_base + offset);
nic                98 drivers/net/ethernet/cavium/thunder/nicvf_main.c u64 nicvf_reg_read(struct nicvf *nic, u64 offset)
nic               100 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	return readq_relaxed(nic->reg_base + offset);
nic               103 drivers/net/ethernet/cavium/thunder/nicvf_main.c void nicvf_queue_reg_write(struct nicvf *nic, u64 offset,
nic               106 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	void __iomem *addr = nic->reg_base + offset;
nic               111 drivers/net/ethernet/cavium/thunder/nicvf_main.c u64 nicvf_queue_reg_read(struct nicvf *nic, u64 offset, u64 qidx)
nic               113 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	void __iomem *addr = nic->reg_base + offset;
nic               119 drivers/net/ethernet/cavium/thunder/nicvf_main.c static void nicvf_write_to_mbx(struct nicvf *nic, union nic_mbx *mbx)
nic               123 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_reg_write(nic, NIC_VF_PF_MAILBOX_0_1 + 0, msg[0]);
nic               124 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_reg_write(nic, NIC_VF_PF_MAILBOX_0_1 + 8, msg[1]);
nic               127 drivers/net/ethernet/cavium/thunder/nicvf_main.c int nicvf_send_msg_to_pf(struct nicvf *nic, union nic_mbx *mbx)
nic               133 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	mutex_lock(&nic->rx_mode_mtx);
nic               135 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->pf_acked = false;
nic               136 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->pf_nacked = false;
nic               138 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_write_to_mbx(nic, mbx);
nic               141 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	while (!nic->pf_acked) {
nic               142 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		if (nic->pf_nacked) {
nic               143 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			netdev_err(nic->netdev,
nic               145 drivers/net/ethernet/cavium/thunder/nicvf_main.c 				   (mbx->msg.msg & 0xFF), nic->vf_id);
nic               150 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		if (nic->pf_acked)
nic               154 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			netdev_err(nic->netdev,
nic               156 drivers/net/ethernet/cavium/thunder/nicvf_main.c 				   (mbx->msg.msg & 0xFF), nic->vf_id);
nic               161 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	mutex_unlock(&nic->rx_mode_mtx);
nic               168 drivers/net/ethernet/cavium/thunder/nicvf_main.c static int nicvf_check_pf_ready(struct nicvf *nic)
nic               173 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nicvf_send_msg_to_pf(nic, &mbx)) {
nic               174 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		netdev_err(nic->netdev,
nic               182 drivers/net/ethernet/cavium/thunder/nicvf_main.c static void nicvf_send_cfg_done(struct nicvf *nic)
nic               187 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nicvf_send_msg_to_pf(nic, &mbx)) {
nic               188 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		netdev_err(nic->netdev,
nic               193 drivers/net/ethernet/cavium/thunder/nicvf_main.c static void nicvf_read_bgx_stats(struct nicvf *nic, struct bgx_stats_msg *bgx)
nic               196 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->bgx_stats.rx_stats[bgx->idx] = bgx->stats;
nic               198 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->bgx_stats.tx_stats[bgx->idx] = bgx->stats;
nic               201 drivers/net/ethernet/cavium/thunder/nicvf_main.c static void  nicvf_handle_mbx_intr(struct nicvf *nic)
nic               212 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		*mbx_data = nicvf_reg_read(nic, mbx_addr);
nic               217 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	netdev_dbg(nic->netdev, "Mbox message: msg: 0x%x\n", mbx.msg.msg);
nic               220 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->pf_acked = true;
nic               221 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->vf_id = mbx.nic_cfg.vf_id & 0x7F;
nic               222 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->tns_mode = mbx.nic_cfg.tns_mode & 0x7F;
nic               223 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->node = mbx.nic_cfg.node_id;
nic               224 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		if (!nic->set_mac_pending)
nic               225 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			ether_addr_copy(nic->netdev->dev_addr,
nic               227 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->sqs_mode = mbx.nic_cfg.sqs_mode;
nic               228 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->loopback_supported = mbx.nic_cfg.loopback_supported;
nic               229 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->link_up = false;
nic               230 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->duplex = 0;
nic               231 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->speed = 0;
nic               234 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->pf_acked = true;
nic               237 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->pf_nacked = true;
nic               240 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->rss_info.rss_size = mbx.rss_size.ind_tbl_size;
nic               241 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->pf_acked = true;
nic               244 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_read_bgx_stats(nic, &mbx.bgx_stats);
nic               245 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->pf_acked = true;
nic               248 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->pf_acked = true;
nic               249 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		if (nic->link_up != mbx.link_status.link_up) {
nic               250 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			nic->link_up = mbx.link_status.link_up;
nic               251 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			nic->duplex = mbx.link_status.duplex;
nic               252 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			nic->speed = mbx.link_status.speed;
nic               253 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			nic->mac_type = mbx.link_status.mac_type;
nic               254 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			if (nic->link_up) {
nic               255 drivers/net/ethernet/cavium/thunder/nicvf_main.c 				netdev_info(nic->netdev,
nic               257 drivers/net/ethernet/cavium/thunder/nicvf_main.c 					    nic->speed,
nic               258 drivers/net/ethernet/cavium/thunder/nicvf_main.c 					    nic->duplex == DUPLEX_FULL ?
nic               260 drivers/net/ethernet/cavium/thunder/nicvf_main.c 				netif_carrier_on(nic->netdev);
nic               261 drivers/net/ethernet/cavium/thunder/nicvf_main.c 				netif_tx_start_all_queues(nic->netdev);
nic               263 drivers/net/ethernet/cavium/thunder/nicvf_main.c 				netdev_info(nic->netdev, "Link is Down\n");
nic               264 drivers/net/ethernet/cavium/thunder/nicvf_main.c 				netif_carrier_off(nic->netdev);
nic               265 drivers/net/ethernet/cavium/thunder/nicvf_main.c 				netif_tx_stop_all_queues(nic->netdev);
nic               270 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->sqs_count = mbx.sqs_alloc.qs_count;
nic               271 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->pf_acked = true;
nic               277 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->snicvf[mbx.nicvf.sqs_id] =
nic               279 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->pf_acked = true;
nic               286 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->pnicvf = (struct nicvf *)mbx.nicvf.nicvf;
nic               287 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->pf_acked = true;
nic               290 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->pfc.autoneg = mbx.pfc.autoneg;
nic               291 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->pfc.fc_rx = mbx.pfc.fc_rx;
nic               292 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->pfc.fc_tx = mbx.pfc.fc_tx;
nic               293 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->pf_acked = true;
nic               296 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		netdev_err(nic->netdev,
nic               300 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_clear_intr(nic, NICVF_INTR_MBOX, 0);
nic               303 drivers/net/ethernet/cavium/thunder/nicvf_main.c static int nicvf_hw_set_mac_addr(struct nicvf *nic, struct net_device *netdev)
nic               308 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	mbx.mac.vf_id = nic->vf_id;
nic               311 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	return nicvf_send_msg_to_pf(nic, &mbx);
nic               314 drivers/net/ethernet/cavium/thunder/nicvf_main.c static void nicvf_config_cpi(struct nicvf *nic)
nic               319 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	mbx.cpi_cfg.vf_id = nic->vf_id;
nic               320 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	mbx.cpi_cfg.cpi_alg = nic->cpi_alg;
nic               321 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	mbx.cpi_cfg.rq_cnt = nic->qs->rq_cnt;
nic               323 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_send_msg_to_pf(nic, &mbx);
nic               326 drivers/net/ethernet/cavium/thunder/nicvf_main.c static void nicvf_get_rss_size(struct nicvf *nic)
nic               331 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	mbx.rss_size.vf_id = nic->vf_id;
nic               332 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_send_msg_to_pf(nic, &mbx);
nic               335 drivers/net/ethernet/cavium/thunder/nicvf_main.c void nicvf_config_rss(struct nicvf *nic)
nic               338 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf_rss_info *rss = &nic->rss_info;
nic               342 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	mbx.rss_cfg.vf_id = nic->vf_id;
nic               354 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_send_msg_to_pf(nic, &mbx);
nic               360 drivers/net/ethernet/cavium/thunder/nicvf_main.c void nicvf_set_rss_key(struct nicvf *nic)
nic               362 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf_rss_info *rss = &nic->rss_info;
nic               367 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_reg_write(nic, key_addr, rss->key[idx]);
nic               372 drivers/net/ethernet/cavium/thunder/nicvf_main.c static int nicvf_rss_init(struct nicvf *nic)
nic               374 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf_rss_info *rss = &nic->rss_info;
nic               377 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_get_rss_size(nic);
nic               388 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_set_rss_key(nic);
nic               391 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_reg_write(nic, NIC_VNIC_RSS_CFG, rss->cfg);
nic               397 drivers/net/ethernet/cavium/thunder/nicvf_main.c 							       nic->rx_queues);
nic               398 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_config_rss(nic);
nic               403 drivers/net/ethernet/cavium/thunder/nicvf_main.c static void nicvf_request_sqs(struct nicvf *nic)
nic               407 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	int sqs_count = nic->sqs_count;
nic               411 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nic->sqs_mode ||  !nic->sqs_count)
nic               415 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	mbx.sqs_alloc.vf_id = nic->vf_id;
nic               416 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	mbx.sqs_alloc.qs_count = nic->sqs_count;
nic               417 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nicvf_send_msg_to_pf(nic, &mbx)) {
nic               419 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->sqs_count = 0;
nic               424 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (!nic->sqs_count)
nic               427 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nic->rx_queues > MAX_RCV_QUEUES_PER_QS)
nic               428 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		rx_queues = nic->rx_queues - MAX_RCV_QUEUES_PER_QS;
nic               430 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	tx_queues = nic->tx_queues + nic->xdp_tx_queues;
nic               435 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	for (sqs = 0; sqs < nic->sqs_count; sqs++) {
nic               437 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		mbx.nicvf.vf_id = nic->vf_id;
nic               439 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_send_msg_to_pf(nic, &mbx);
nic               441 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->snicvf[sqs]->sqs_id = sqs;
nic               443 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			nic->snicvf[sqs]->qs->rq_cnt = MAX_RCV_QUEUES_PER_QS;
nic               446 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			nic->snicvf[sqs]->qs->rq_cnt = rx_queues;
nic               451 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			nic->snicvf[sqs]->qs->sq_cnt = MAX_SND_QUEUES_PER_QS;
nic               454 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			nic->snicvf[sqs]->qs->sq_cnt = tx_queues;
nic               458 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->snicvf[sqs]->qs->cq_cnt =
nic               459 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		max(nic->snicvf[sqs]->qs->rq_cnt, nic->snicvf[sqs]->qs->sq_cnt);
nic               462 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_open(nic->snicvf[sqs]->netdev);
nic               466 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (sqs_count != nic->sqs_count)
nic               467 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_set_real_num_queues(nic->netdev,
nic               468 drivers/net/ethernet/cavium/thunder/nicvf_main.c 					  nic->tx_queues, nic->rx_queues);
nic               475 drivers/net/ethernet/cavium/thunder/nicvf_main.c static void nicvf_send_vf_struct(struct nicvf *nic)
nic               480 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	mbx.nicvf.sqs_mode = nic->sqs_mode;
nic               481 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	mbx.nicvf.nicvf = (u64)nic;
nic               482 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_send_msg_to_pf(nic, &mbx);
nic               485 drivers/net/ethernet/cavium/thunder/nicvf_main.c static void nicvf_get_primary_vf_struct(struct nicvf *nic)
nic               490 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_send_msg_to_pf(nic, &mbx);
nic               512 drivers/net/ethernet/cavium/thunder/nicvf_main.c static int nicvf_init_resources(struct nicvf *nic)
nic               517 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_qset_config(nic, true);
nic               520 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	err = nicvf_config_data_transfer(nic, true);
nic               522 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		netdev_err(nic->netdev,
nic               530 drivers/net/ethernet/cavium/thunder/nicvf_main.c static inline bool nicvf_xdp_rx(struct nicvf *nic, struct bpf_prog *prog,
nic               545 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	cpu_addr = nicvf_iova_to_phys(nic, dma_addr);
nic               578 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			dma_unmap_page_attrs(&nic->pdev->dev, dma_addr,
nic               593 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_xdp_sq_append_pkt(nic, sq, (u64)xdp.data, dma_addr, len);
nic               599 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		trace_xdp_exception(nic->netdev, prog, action);
nic               609 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			dma_unmap_page_attrs(&nic->pdev->dev, dma_addr,
nic               623 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic = netdev_priv(netdev);
nic               627 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic = nic->pnicvf;
nic               633 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	atomic_set(&nic->tx_ptp_skbs, 0);
nic               636 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (!nic->ptp_skb)
nic               646 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	ns = cavium_ptp_tstamp2time(nic->ptp_clock, cqe_tx->ptp_timestamp);
nic               648 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	skb_tstamp_tx(nic->ptp_skb, &ts);
nic               652 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	dev_kfree_skb_any(nic->ptp_skb);
nic               653 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->ptp_skb = NULL;
nic               665 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic = netdev_priv(netdev);
nic               670 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	sq = &nic->qs->sq[cqe_tx->sq_idx];
nic               678 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_check_cqe_tx_errs(nic->pnicvf, cqe_tx);
nic               685 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			nicvf_unmap_sndq_buffers(nic, sq, cqe_tx->sqe_ptr,
nic               703 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			nicvf_unmap_sndq_buffers(nic, sq, hdr->rsvd2,
nic               707 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			nicvf_unmap_sndq_buffers(nic, sq, cqe_tx->sqe_ptr,
nic               716 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		    !nic->pnicvf->ptp_skb)
nic               717 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			nic->pnicvf->ptp_skb = skb;
nic               725 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		if (!nic->hw_tso)
nic               758 drivers/net/ethernet/cavium/thunder/nicvf_main.c static inline void nicvf_set_rxtstamp(struct nicvf *nic, struct sk_buff *skb)
nic               762 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (!nic->ptp_clock || !nic->hw_rx_tstamp)
nic               766 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	ns = cavium_ptp_tstamp2time(nic->ptp_clock,
nic               779 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic = netdev_priv(netdev);
nic               780 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *snic = nic;
nic               784 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	rq_idx = nicvf_netdev_qidx(nic, cqe_rx->rq_idx);
nic               786 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nic->sqs_mode) {
nic               788 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic = nic->pnicvf;
nic               789 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		netdev = nic->netdev;
nic               794 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		err = nicvf_check_cqe_rx_errs(nic, cqe_rx);
nic               800 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nic->xdp_prog && (cqe_rx->rb_cnt == 1)) {
nic               802 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		if (nicvf_xdp_rx(snic, nic->xdp_prog, cqe_rx, sq, rq, &skb))
nic               806 drivers/net/ethernet/cavium/thunder/nicvf_main.c 					nic->xdp_prog ? true : false);
nic               812 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (netif_msg_pktdata(nic)) {
nic               813 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		netdev_info(nic->netdev, "skb 0x%p, len=%d\n", skb, skb->len);
nic               824 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_set_rxtstamp(nic, skb);
nic               854 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic = netdev_priv(netdev);
nic               855 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct queue_set *qs = nic->qs;
nic               867 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	cqe_count = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_STATUS, cq_idx);
nic               873 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	cqe_head = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_HEAD, cq_idx) >> 9;
nic               913 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_queue_reg_write(nic, NIC_QSET_CQ_0_7_DOOR,
nic               924 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	txq_idx = nicvf_netdev_qidx(nic, cq_idx);
nic               926 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nic->pnicvf->xdp_prog) {
nic               927 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		if (txq_idx < nic->pnicvf->xdp_tx_queues) {
nic               928 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			nicvf_xdp_sq_doorbell(nic, sq, cq_idx);
nic               931 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic = nic->pnicvf;
nic               932 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		txq_idx -= nic->pnicvf->xdp_tx_queues;
nic               938 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		netdev = nic->pnicvf->netdev;
nic               947 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			nic = nic->pnicvf;
nic               948 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			this_cpu_inc(nic->drv_stats->txq_wake);
nic               949 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			netif_warn(nic, tx_err, netdev,
nic               964 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic = netdev_priv(netdev);
nic               974 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		cq_head = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_HEAD,
nic               976 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_clear_intr(nic, NICVF_INTR_CQ, cq->cq_idx);
nic               977 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_queue_reg_write(nic, NIC_QSET_CQ_0_7_HEAD,
nic               979 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_enable_intr(nic, NICVF_INTR_CQ, cq->cq_idx);
nic               990 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic = (struct nicvf *)data;
nic               991 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct queue_set *qs = nic->qs;
nic               995 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	netif_tx_disable(nic->netdev);
nic               999 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		status = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_STATUS,
nic              1004 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_disable_intr(nic, NICVF_INTR_CQ, qidx);
nic              1005 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_sq_disable(nic, qidx);
nic              1006 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_cq_intr_handler(nic->netdev, qidx, NULL, 0);
nic              1007 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_cmp_queue_config(nic, qs, qidx, true);
nic              1008 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_sq_free_used_descs(nic->netdev, &qs->sq[qidx], qidx);
nic              1009 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_sq_enable(nic, &qs->sq[qidx], qidx);
nic              1011 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_enable_intr(nic, NICVF_INTR_CQ, qidx);
nic              1014 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	netif_tx_start_all_queues(nic->netdev);
nic              1016 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_enable_intr(nic, NICVF_INTR_QS_ERR, 0);
nic              1019 drivers/net/ethernet/cavium/thunder/nicvf_main.c static void nicvf_dump_intr_status(struct nicvf *nic)
nic              1021 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	netif_info(nic, intr, nic->netdev, "interrupt status 0x%llx\n",
nic              1022 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		   nicvf_reg_read(nic, NIC_VF_INT));
nic              1027 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic = (struct nicvf *)nicvf_irq;
nic              1030 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_dump_intr_status(nic);
nic              1032 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	intr = nicvf_reg_read(nic, NIC_VF_INT);
nic              1037 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_handle_mbx_intr(nic);
nic              1045 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic = cq_poll->nicvf;
nic              1048 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_dump_intr_status(nic);
nic              1051 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_disable_intr(nic, NICVF_INTR_CQ, qidx);
nic              1057 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_clear_intr(nic, NICVF_INTR_CQ, qidx);
nic              1064 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic = (struct nicvf *)nicvf_irq;
nic              1068 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_dump_intr_status(nic);
nic              1071 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	for (qidx = 0; qidx < nic->qs->rbdr_cnt; qidx++) {
nic              1072 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		if (!nicvf_is_intr_enabled(nic, NICVF_INTR_RBDR, qidx))
nic              1074 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_disable_intr(nic, NICVF_INTR_RBDR, qidx);
nic              1075 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		tasklet_hi_schedule(&nic->rbdr_task);
nic              1077 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_clear_intr(nic, NICVF_INTR_RBDR, qidx);
nic              1085 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic = (struct nicvf *)nicvf_irq;
nic              1087 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_dump_intr_status(nic);
nic              1090 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_disable_intr(nic, NICVF_INTR_QS_ERR, 0);
nic              1091 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	tasklet_hi_schedule(&nic->qs_err_task);
nic              1092 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_clear_intr(nic, NICVF_INTR_QS_ERR, 0);
nic              1097 drivers/net/ethernet/cavium/thunder/nicvf_main.c static void nicvf_set_irq_affinity(struct nicvf *nic)
nic              1101 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	for (vec = 0; vec < nic->num_vec; vec++) {
nic              1102 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		if (!nic->irq_allocated[vec])
nic              1105 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		if (!zalloc_cpumask_var(&nic->affinity_mask[vec], GFP_KERNEL))
nic              1110 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			cpu = nicvf_netdev_qidx(nic, vec) + 1;
nic              1114 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		cpumask_set_cpu(cpumask_local_spread(cpu, nic->node),
nic              1115 drivers/net/ethernet/cavium/thunder/nicvf_main.c 				nic->affinity_mask[vec]);
nic              1116 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		irq_set_affinity_hint(pci_irq_vector(nic->pdev, vec),
nic              1117 drivers/net/ethernet/cavium/thunder/nicvf_main.c 				      nic->affinity_mask[vec]);
nic              1121 drivers/net/ethernet/cavium/thunder/nicvf_main.c static int nicvf_register_interrupts(struct nicvf *nic)
nic              1126 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		sprintf(nic->irq_name[irq], "%s-rxtx-%d",
nic              1127 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			nic->pnicvf->netdev->name,
nic              1128 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			nicvf_netdev_qidx(nic, irq));
nic              1131 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		sprintf(nic->irq_name[irq], "%s-sq-%d",
nic              1132 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			nic->pnicvf->netdev->name,
nic              1133 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			nicvf_netdev_qidx(nic, irq - NICVF_INTR_ID_SQ));
nic              1136 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		sprintf(nic->irq_name[irq], "%s-rbdr-%d",
nic              1137 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			nic->pnicvf->netdev->name,
nic              1138 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			nic->sqs_mode ? (nic->sqs_id + 1) : 0);
nic              1141 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	for (irq = 0; irq < nic->qs->cq_cnt; irq++) {
nic              1142 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		ret = request_irq(pci_irq_vector(nic->pdev, irq),
nic              1144 drivers/net/ethernet/cavium/thunder/nicvf_main.c 				  0, nic->irq_name[irq], nic->napi[irq]);
nic              1147 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->irq_allocated[irq] = true;
nic              1152 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	     irq < (NICVF_INTR_ID_RBDR + nic->qs->rbdr_cnt); irq++) {
nic              1153 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		ret = request_irq(pci_irq_vector(nic->pdev, irq),
nic              1155 drivers/net/ethernet/cavium/thunder/nicvf_main.c 				  0, nic->irq_name[irq], nic);
nic              1158 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->irq_allocated[irq] = true;
nic              1162 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	sprintf(nic->irq_name[NICVF_INTR_ID_QS_ERR], "%s-qset-err-%d",
nic              1163 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->pnicvf->netdev->name,
nic              1164 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->sqs_mode ? (nic->sqs_id + 1) : 0);
nic              1166 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	ret = request_irq(pci_irq_vector(nic->pdev, irq),
nic              1168 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			  0, nic->irq_name[irq], nic);
nic              1172 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->irq_allocated[irq] = true;
nic              1175 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_set_irq_affinity(nic);
nic              1179 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		netdev_err(nic->netdev, "request_irq failed, vector %d\n", irq);
nic              1184 drivers/net/ethernet/cavium/thunder/nicvf_main.c static void nicvf_unregister_interrupts(struct nicvf *nic)
nic              1186 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct pci_dev *pdev = nic->pdev;
nic              1190 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	for (irq = 0; irq < nic->num_vec; irq++) {
nic              1191 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		if (!nic->irq_allocated[irq])
nic              1195 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		free_cpumask_var(nic->affinity_mask[irq]);
nic              1198 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			free_irq(pci_irq_vector(pdev, irq), nic->napi[irq]);
nic              1200 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			free_irq(pci_irq_vector(pdev, irq), nic);
nic              1202 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->irq_allocated[irq] = false;
nic              1207 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->num_vec = 0;
nic              1213 drivers/net/ethernet/cavium/thunder/nicvf_main.c static int nicvf_register_misc_interrupt(struct nicvf *nic)
nic              1219 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nic->pdev->msix_enabled)
nic              1223 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->num_vec = pci_msix_vec_count(nic->pdev);
nic              1224 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	ret = pci_alloc_irq_vectors(nic->pdev, nic->num_vec, nic->num_vec,
nic              1227 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		netdev_err(nic->netdev,
nic              1228 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			   "Req for #%d msix vectors failed\n", nic->num_vec);
nic              1232 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	sprintf(nic->irq_name[irq], "%s Mbox", "NICVF");
nic              1234 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	ret = request_irq(pci_irq_vector(nic->pdev, irq),
nic              1235 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			  nicvf_misc_intr_handler, 0, nic->irq_name[irq], nic);
nic              1239 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->irq_allocated[irq] = true;
nic              1242 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_enable_intr(nic, NICVF_INTR_MBOX, 0);
nic              1245 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (!nicvf_check_pf_ready(nic)) {
nic              1246 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_disable_intr(nic, NICVF_INTR_MBOX, 0);
nic              1247 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_unregister_interrupts(nic);
nic              1256 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic = netdev_priv(netdev);
nic              1273 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nic->xdp_prog)
nic              1274 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		qid += nic->xdp_tx_queues;
nic              1276 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	snic = nic;
nic              1280 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		snic = (struct nicvf *)nic->snicvf[tmp - 1];
nic              1282 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			netdev_warn(nic->netdev,
nic              1303 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			this_cpu_inc(nic->drv_stats->txq_stop);
nic              1304 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			netif_warn(nic, tx_err, netdev,
nic              1313 drivers/net/ethernet/cavium/thunder/nicvf_main.c static inline void nicvf_free_cq_poll(struct nicvf *nic)
nic              1318 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	for (qidx = 0; qidx < nic->qs->cq_cnt; qidx++) {
nic              1319 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		cq_poll = nic->napi[qidx];
nic              1322 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->napi[qidx] = NULL;
nic              1330 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic = netdev_priv(netdev);
nic              1331 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct queue_set *qs = nic->qs;
nic              1336 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nic->nicvf_rx_mode_wq) {
nic              1337 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		cancel_delayed_work_sync(&nic->link_change_work);
nic              1338 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		drain_workqueue(nic->nicvf_rx_mode_wq);
nic              1342 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_send_msg_to_pf(nic, &mbx);
nic              1345 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	netif_tx_stop_all_queues(nic->netdev);
nic              1346 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->link_up = false;
nic              1349 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (!nic->sqs_mode) {
nic              1350 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		for (qidx = 0; qidx < nic->sqs_count; qidx++) {
nic              1351 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			if (!nic->snicvf[qidx])
nic              1353 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			nicvf_stop(nic->snicvf[qidx]->netdev);
nic              1354 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			nic->snicvf[qidx] = NULL;
nic              1360 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_disable_intr(nic, NICVF_INTR_RBDR, qidx);
nic              1361 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_clear_intr(nic, NICVF_INTR_RBDR, qidx);
nic              1363 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_disable_intr(nic, NICVF_INTR_QS_ERR, 0);
nic              1364 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_clear_intr(nic, NICVF_INTR_QS_ERR, 0);
nic              1367 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	for (irq = 0; irq < nic->num_vec; irq++)
nic              1368 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		synchronize_irq(pci_irq_vector(nic->pdev, irq));
nic              1370 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	tasklet_kill(&nic->rbdr_task);
nic              1371 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	tasklet_kill(&nic->qs_err_task);
nic              1372 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nic->rb_work_scheduled)
nic              1373 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		cancel_delayed_work_sync(&nic->rbdr_work);
nic              1375 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	for (qidx = 0; qidx < nic->qs->cq_cnt; qidx++) {
nic              1376 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		cq_poll = nic->napi[qidx];
nic              1383 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_disable_intr(nic, NICVF_INTR_CQ, qidx);
nic              1384 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_clear_intr(nic, NICVF_INTR_CQ, qidx);
nic              1395 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_config_data_transfer(nic, false);
nic              1398 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_qset_config(nic, false);
nic              1401 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_disable_intr(nic, NICVF_INTR_MBOX, 0);
nic              1403 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_unregister_interrupts(nic);
nic              1405 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_free_cq_poll(nic);
nic              1408 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nic->ptp_skb) {
nic              1409 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		dev_kfree_skb_any(nic->ptp_skb);
nic              1410 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->ptp_skb = NULL;
nic              1414 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->pnicvf = nic;
nic              1419 drivers/net/ethernet/cavium/thunder/nicvf_main.c static int nicvf_config_hw_rx_tstamp(struct nicvf *nic, bool enable)
nic              1426 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	return nicvf_send_msg_to_pf(nic, &mbx);
nic              1429 drivers/net/ethernet/cavium/thunder/nicvf_main.c static int nicvf_update_hw_max_frs(struct nicvf *nic, int mtu)
nic              1435 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	mbx.frs.vf_id = nic->vf_id;
nic              1437 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	return nicvf_send_msg_to_pf(nic, &mbx);
nic              1442 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic = container_of(work_arg,
nic              1447 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_send_msg_to_pf(nic, &mbx);
nic              1448 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	queue_delayed_work(nic->nicvf_rx_mode_wq,
nic              1449 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			   &nic->link_change_work, 2 * HZ);
nic              1455 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic = netdev_priv(netdev);
nic              1456 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct queue_set *qs = nic->qs;
nic              1460 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nic->nicvf_rx_mode_wq)
nic              1461 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		drain_workqueue(nic->nicvf_rx_mode_wq);
nic              1465 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	err = nicvf_register_misc_interrupt(nic);
nic              1477 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		cq_poll->nicvf = nic;
nic              1481 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->napi[qidx] = cq_poll;
nic              1485 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (!nic->sqs_mode && is_zero_ether_addr(netdev->dev_addr)) {
nic              1487 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_hw_set_mac_addr(nic, netdev);
nic              1490 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nic->set_mac_pending) {
nic              1491 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->set_mac_pending = false;
nic              1492 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_hw_set_mac_addr(nic, netdev);
nic              1496 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	tasklet_init(&nic->qs_err_task, nicvf_handle_qs_err,
nic              1497 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		     (unsigned long)nic);
nic              1500 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	tasklet_init(&nic->rbdr_task, nicvf_rbdr_task,
nic              1501 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		     (unsigned long)nic);
nic              1502 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	INIT_DELAYED_WORK(&nic->rbdr_work, nicvf_rbdr_work);
nic              1505 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->cpi_alg = cpi_alg;
nic              1506 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (!nic->sqs_mode)
nic              1507 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_config_cpi(nic);
nic              1509 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_request_sqs(nic);
nic              1510 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nic->sqs_mode)
nic              1511 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_get_primary_vf_struct(nic);
nic              1514 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nic->ptp_clock)
nic              1515 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_config_hw_rx_tstamp(nic, nic->hw_rx_tstamp);
nic              1516 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	atomic_set(&nic->tx_ptp_skbs, 0);
nic              1517 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->ptp_skb = NULL;
nic              1520 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (!nic->sqs_mode) {
nic              1521 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_rss_init(nic);
nic              1522 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		err = nicvf_update_hw_max_frs(nic, netdev->mtu);
nic              1528 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			memset(per_cpu_ptr(nic->drv_stats, cpu), 0,
nic              1532 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	err = nicvf_register_interrupts(nic);
nic              1537 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	err = nicvf_init_resources(nic);
nic              1544 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_reg_write(nic, NIC_VF_INT, -1);
nic              1546 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_enable_intr(nic, NICVF_INTR_QS_ERR, 0);
nic              1550 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_enable_intr(nic, NICVF_INTR_CQ, qidx);
nic              1554 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_enable_intr(nic, NICVF_INTR_RBDR, qidx);
nic              1557 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_send_cfg_done(nic);
nic              1559 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nic->nicvf_rx_mode_wq) {
nic              1560 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		INIT_DELAYED_WORK(&nic->link_change_work,
nic              1562 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		queue_delayed_work(nic->nicvf_rx_mode_wq,
nic              1563 drivers/net/ethernet/cavium/thunder/nicvf_main.c 				   &nic->link_change_work, 0);
nic              1568 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_disable_intr(nic, NICVF_INTR_MBOX, 0);
nic              1569 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_unregister_interrupts(nic);
nic              1570 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	tasklet_kill(&nic->qs_err_task);
nic              1571 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	tasklet_kill(&nic->rbdr_task);
nic              1574 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		cq_poll = nic->napi[qidx];
nic              1580 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_free_cq_poll(nic);
nic              1586 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic = netdev_priv(netdev);
nic              1592 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nic->xdp_prog && new_mtu > MAX_XDP_MTU) {
nic              1603 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nicvf_update_hw_max_frs(nic, new_mtu)) {
nic              1614 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic = netdev_priv(netdev);
nic              1621 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nic->pdev->msix_enabled) {
nic              1622 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		if (nicvf_hw_set_mac_addr(nic, netdev))
nic              1625 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->set_mac_pending = true;
nic              1631 drivers/net/ethernet/cavium/thunder/nicvf_main.c void nicvf_update_lmac_stats(struct nicvf *nic)
nic              1636 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (!netif_running(nic->netdev))
nic              1640 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	mbx.bgx_stats.vf_id = nic->vf_id;
nic              1645 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		if (nicvf_send_msg_to_pf(nic, &mbx))
nic              1656 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		if (nicvf_send_msg_to_pf(nic, &mbx))
nic              1662 drivers/net/ethernet/cavium/thunder/nicvf_main.c void nicvf_update_stats(struct nicvf *nic)
nic              1666 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf_hw_stats *stats = &nic->hw_stats;
nic              1668 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct queue_set *qs = nic->qs;
nic              1671 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_reg_read(nic, NIC_VNIC_RX_STAT_0_13 | (reg << 3))
nic              1673 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_reg_read(nic, NIC_VNIC_TX_STAT_0_4 | (reg << 3))
nic              1702 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nic->t88 && nic->hw_tso) {
nic              1704 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			drv_stats = per_cpu_ptr(nic->drv_stats, cpu);
nic              1720 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_update_rq_stats(nic, qidx);
nic              1722 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_update_sq_stats(nic, qidx);
nic              1728 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic = netdev_priv(netdev);
nic              1729 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf_hw_stats *hw_stats = &nic->hw_stats;
nic              1731 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_update_stats(nic);
nic              1746 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic = netdev_priv(dev);
nic              1748 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	netif_warn(nic, tx_err, dev, "Transmit timed out, resetting\n");
nic              1750 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	this_cpu_inc(nic->drv_stats->tx_timeout);
nic              1751 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	schedule_work(&nic->reset_task);
nic              1756 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic;
nic              1758 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic = container_of(work, struct nicvf, reset_task);
nic              1760 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (!netif_running(nic->netdev))
nic              1763 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_stop(nic->netdev);
nic              1764 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_open(nic->netdev);
nic              1765 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	netif_trans_update(nic->netdev);
nic              1768 drivers/net/ethernet/cavium/thunder/nicvf_main.c static int nicvf_config_loopback(struct nicvf *nic,
nic              1774 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	mbx.lbk.vf_id = nic->vf_id;
nic              1777 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	return nicvf_send_msg_to_pf(nic, &mbx);
nic              1783 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic = netdev_priv(netdev);
nic              1786 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	    netif_running(netdev) && !nic->loopback_supported)
nic              1795 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic = netdev_priv(netdev);
nic              1799 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_config_vlan_stripping(nic, features);
nic              1802 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		return nicvf_config_loopback(nic, features);
nic              1807 drivers/net/ethernet/cavium/thunder/nicvf_main.c static void nicvf_set_xdp_queues(struct nicvf *nic, bool bpf_attached)
nic              1813 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->xdp_tx_queues = 0;
nic              1815 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->xdp_tx_queues = nic->rx_queues;
nic              1820 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	txq_count = nic->xdp_tx_queues + nic->tx_queues;
nic              1821 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	cq_count = max(nic->rx_queues, txq_count);
nic              1823 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->sqs_count = roundup(cq_count, MAX_CMP_QUEUES_PER_QS);
nic              1824 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->sqs_count = (nic->sqs_count / MAX_CMP_QUEUES_PER_QS) - 1;
nic              1826 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->sqs_count = 0;
nic              1830 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->qs->rq_cnt = min_t(u8, nic->rx_queues, MAX_RCV_QUEUES_PER_QS);
nic              1831 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->qs->sq_cnt = min_t(u8, txq_count, MAX_SND_QUEUES_PER_QS);
nic              1832 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->qs->cq_cnt = max_t(u8, nic->qs->rq_cnt, nic->qs->sq_cnt);
nic              1835 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_set_real_num_queues(nic->netdev, nic->tx_queues, nic->rx_queues);
nic              1838 drivers/net/ethernet/cavium/thunder/nicvf_main.c static int nicvf_xdp_setup(struct nicvf *nic, struct bpf_prog *prog)
nic              1840 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct net_device *dev = nic->netdev;
nic              1841 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	bool if_up = netif_running(nic->netdev);
nic              1862 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if ((nic->rx_queues + nic->tx_queues) > nic->max_queues) {
nic              1865 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			    nic->max_queues);
nic              1870 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_stop(nic->netdev);
nic              1872 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	old_prog = xchg(&nic->xdp_prog, prog);
nic              1877 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nic->xdp_prog) {
nic              1879 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->xdp_prog = bpf_prog_add(nic->xdp_prog, nic->rx_queues - 1);
nic              1880 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		if (!IS_ERR(nic->xdp_prog)) {
nic              1883 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			ret = PTR_ERR(nic->xdp_prog);
nic              1884 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			nic->xdp_prog = NULL;
nic              1889 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_set_xdp_queues(nic, bpf_attached);
nic              1893 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_open(nic->netdev);
nic              1894 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		netif_trans_update(nic->netdev);
nic              1902 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic = netdev_priv(netdev);
nic              1908 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (pass1_silicon(nic->pdev))
nic              1913 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		return nicvf_xdp_setup(nic, xdp->prog);
nic              1915 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		xdp->prog_id = nic->xdp_prog ? nic->xdp_prog->aux->id : 0;
nic              1925 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic = netdev_priv(netdev);
nic              1927 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (!nic->ptp_clock)
nic              1947 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->hw_rx_tstamp = false;
nic              1963 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->hw_rx_tstamp = true;
nic              1971 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nicvf_config_hw_rx_tstamp(nic, nic->hw_rx_tstamp);
nic              1990 drivers/net/ethernet/cavium/thunder/nicvf_main.c 				     struct nicvf *nic)
nic              2003 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nicvf_send_msg_to_pf(nic, &mbx) < 0)
nic              2012 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		if (nicvf_send_msg_to_pf(nic, &mbx) < 0)
nic              2022 drivers/net/ethernet/cavium/thunder/nicvf_main.c 			if (nicvf_send_msg_to_pf(nic, &mbx) < 0)
nic              2031 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_send_msg_to_pf(nic, &mbx);
nic              2040 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic = container_of(vf_work, struct nicvf, rx_mode_work);
nic              2050 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	spin_lock(&nic->rx_mode_wq_lock);
nic              2054 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	spin_unlock(&nic->rx_mode_wq_lock);
nic              2056 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	__nicvf_set_rx_mode_task(mode, mc, nic);
nic              2061 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic = netdev_priv(netdev);
nic              2092 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	spin_lock(&nic->rx_mode_wq_lock);
nic              2093 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	kfree(nic->rx_mode_work.mc);
nic              2094 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->rx_mode_work.mc = mc_list;
nic              2095 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->rx_mode_work.mode = mode;
nic              2096 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	queue_work(nic->nicvf_rx_mode_wq, &nic->rx_mode_work.work);
nic              2097 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	spin_unlock(&nic->rx_mode_wq_lock);
nic              2119 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic;
nic              2176 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic = netdev_priv(netdev);
nic              2177 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->netdev = netdev;
nic              2178 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->pdev = pdev;
nic              2179 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->pnicvf = nic;
nic              2180 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->max_queues = qcount;
nic              2184 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (!nic->t88)
nic              2185 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->max_queues *= 2;
nic              2186 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->ptp_clock = ptp_clock;
nic              2189 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->reg_base = pcim_iomap(pdev, PCI_CFG_REG_BAR_NUM, 0);
nic              2190 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (!nic->reg_base) {
nic              2196 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->drv_stats = netdev_alloc_pcpu_stats(struct nicvf_drv_stats);
nic              2197 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (!nic->drv_stats) {
nic              2202 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	err = nicvf_set_qset_resources(nic);
nic              2207 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	err = nicvf_register_misc_interrupt(nic);
nic              2211 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_send_vf_struct(nic);
nic              2213 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (!pass1_silicon(nic->pdev))
nic              2214 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->hw_tso = true;
nic              2217 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->iommu_domain = iommu_get_domain_for_dev(dev);
nic              2219 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	pci_read_config_word(nic->pdev, PCI_SUBSYSTEM_ID, &sdevid);
nic              2221 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->t88 = true;
nic              2224 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nic->sqs_mode)
nic              2227 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	err = nicvf_set_real_num_queues(netdev, nic->tx_queues, nic->rx_queues);
nic              2251 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	INIT_WORK(&nic->reset_task, nicvf_reset_task);
nic              2253 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->nicvf_rx_mode_wq = alloc_ordered_workqueue("nicvf_rx_mode_wq_VF%d",
nic              2255 drivers/net/ethernet/cavium/thunder/nicvf_main.c 							nic->vf_id);
nic              2256 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (!nic->nicvf_rx_mode_wq) {
nic              2262 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	INIT_WORK(&nic->rx_mode_work.work, nicvf_set_rx_mode_task);
nic              2263 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	spin_lock_init(&nic->rx_mode_wq_lock);
nic              2264 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	mutex_init(&nic->rx_mode_mtx);
nic              2272 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic->msg_enable = debug;
nic              2279 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_unregister_interrupts(nic);
nic              2282 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nic->drv_stats)
nic              2283 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		free_percpu(nic->drv_stats);
nic              2295 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	struct nicvf *nic;
nic              2301 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nic = netdev_priv(netdev);
nic              2302 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	pnetdev = nic->pnicvf->netdev;
nic              2309 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nic->nicvf_rx_mode_wq) {
nic              2310 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		destroy_workqueue(nic->nicvf_rx_mode_wq);
nic              2311 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		nic->nicvf_rx_mode_wq = NULL;
nic              2313 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	nicvf_unregister_interrupts(nic);
nic              2315 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	if (nic->drv_stats)
nic              2316 drivers/net/ethernet/cavium/thunder/nicvf_main.c 		free_percpu(nic->drv_stats);
nic              2317 drivers/net/ethernet/cavium/thunder/nicvf_main.c 	cavium_ptp_put(nic->ptp_clock);
nic                21 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static void nicvf_get_page(struct nicvf *nic)
nic                23 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	if (!nic->rb_pageref || !nic->rb_page)
nic                26 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	page_ref_add(nic->rb_page, nic->rb_pageref);
nic                27 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nic->rb_pageref = 0;
nic                31 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static int nicvf_poll_reg(struct nicvf *nic, int qidx,
nic                42 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		reg_val = nicvf_queue_reg_read(nic, reg, qidx);
nic                48 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	netdev_err(nic->netdev, "Poll on reg 0x%llx failed\n", reg);
nic                53 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static int nicvf_alloc_q_desc_mem(struct nicvf *nic, struct q_desc_mem *dmem,
nic                59 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	dmem->unalign_base = dma_alloc_coherent(&nic->pdev->dev, dmem->size,
nic                71 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static void nicvf_free_q_desc_mem(struct nicvf *nic, struct q_desc_mem *dmem)
nic                76 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	dma_free_coherent(&nic->pdev->dev, dmem->size,
nic                92 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static inline struct pgcache *nicvf_alloc_page(struct nicvf *nic,
nic               125 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->pnicvf->drv_stats->page_alloc);
nic               130 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 			nic->rb_page = page;
nic               175 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static inline int nicvf_alloc_rcv_buffer(struct nicvf *nic, struct rbdr *rbdr,
nic               183 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	if (!rbdr->is_xdp && nic->rb_page &&
nic               184 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	    ((nic->rb_page_offset + buf_len) <= PAGE_SIZE)) {
nic               185 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		nic->rb_pageref++;
nic               189 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_get_page(nic);
nic               190 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nic->rb_page = NULL;
nic               193 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	pgcache = nicvf_alloc_page(nic, rbdr, gfp);
nic               194 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	if (!pgcache && !nic->rb_page) {
nic               195 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->pnicvf->drv_stats->rcv_buffer_alloc_failures);
nic               199 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nic->rb_page_offset = 0;
nic               207 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		nic->rb_page = pgcache->page;
nic               213 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		*rbuf = (u64)dma_map_page_attrs(&nic->pdev->dev, nic->rb_page,
nic               214 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 						nic->rb_page_offset, buf_len,
nic               217 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		if (dma_mapping_error(&nic->pdev->dev, (dma_addr_t)*rbuf)) {
nic               218 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 			if (!nic->rb_page_offset)
nic               219 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 				__free_pages(nic->rb_page, 0);
nic               220 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 			nic->rb_page = NULL;
nic               225 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		nic->rb_page_offset += buf_len;
nic               232 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static struct sk_buff *nicvf_rb_ptr_to_skb(struct nicvf *nic,
nic               252 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static int  nicvf_init_rbdr(struct nicvf *nic, struct rbdr *rbdr,
nic               260 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	err = nicvf_alloc_q_desc_mem(nic, &rbdr->dmem, ring_len,
nic               283 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	if (!nic->pnicvf->xdp_prog) {
nic               298 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nic->rb_page = NULL;
nic               300 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		err = nicvf_alloc_rcv_buffer(nic, rbdr, GFP_KERNEL,
nic               312 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_get_page(nic);
nic               318 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static void nicvf_free_rbdr(struct nicvf *nic, struct rbdr *rbdr)
nic               339 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		phys_addr = nicvf_iova_to_phys(nic, buf_addr);
nic               340 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		dma_unmap_page_attrs(&nic->pdev->dev, buf_addr, RCV_FRAG_LEN,
nic               350 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	phys_addr = nicvf_iova_to_phys(nic, buf_addr);
nic               351 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	dma_unmap_page_attrs(&nic->pdev->dev, buf_addr, RCV_FRAG_LEN,
nic               374 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_free_q_desc_mem(nic, &rbdr->dmem);
nic               379 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static void nicvf_refill_rbdr(struct nicvf *nic, gfp_t gfp)
nic               381 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	struct queue_set *qs = nic->qs;
nic               400 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	qcount = nicvf_queue_reg_read(nic, NIC_QSET_RBDR_0_1_STATUS0, rbdr_idx);
nic               412 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	tail = nicvf_queue_reg_read(nic, NIC_QSET_RBDR_0_1_TAIL, rbdr_idx) >> 3;
nic               417 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		if (nicvf_alloc_rcv_buffer(nic, rbdr, gfp, RCV_FRAG_LEN, &rbuf))
nic               426 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_get_page(nic);
nic               433 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		nic->rb_alloc_fail = true;
nic               435 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		nic->rb_alloc_fail = false;
nic               438 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_RBDR_0_1_DOOR,
nic               442 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	if (!nic->rb_alloc_fail && rbdr->enable &&
nic               443 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	    netif_running(nic->pnicvf->netdev))
nic               444 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		nicvf_enable_intr(nic, NICVF_INTR_RBDR, rbdr_idx);
nic               453 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	struct nicvf *nic = container_of(work, struct nicvf, rbdr_work.work);
nic               455 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_refill_rbdr(nic, GFP_KERNEL);
nic               456 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	if (nic->rb_alloc_fail)
nic               457 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		schedule_delayed_work(&nic->rbdr_work, msecs_to_jiffies(10));
nic               459 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		nic->rb_work_scheduled = false;
nic               465 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	struct nicvf *nic = (struct nicvf *)data;
nic               467 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_refill_rbdr(nic, GFP_ATOMIC);
nic               468 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	if (nic->rb_alloc_fail) {
nic               469 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		nic->rb_work_scheduled = true;
nic               470 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		schedule_delayed_work(&nic->rbdr_work, msecs_to_jiffies(10));
nic               475 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static int nicvf_init_cmp_queue(struct nicvf *nic,
nic               480 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	err = nicvf_alloc_q_desc_mem(nic, &cq->dmem, q_len, CMP_QUEUE_DESC_SIZE,
nic               486 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	cq->thresh = pass1_silicon(nic->pdev) ? 0 : CMP_QUEUE_CQE_THRESH;
nic               487 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nic->cq_coalesce_usecs = (CMP_QUEUE_TIMER_THRESH * 0.05) - 1;
nic               492 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static void nicvf_free_cmp_queue(struct nicvf *nic, struct cmp_queue *cq)
nic               499 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_free_q_desc_mem(nic, &cq->dmem);
nic               503 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static int nicvf_init_snd_queue(struct nicvf *nic,
nic               508 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	err = nicvf_alloc_q_desc_mem(nic, &sq->dmem, q_len, SND_QUEUE_DESC_SIZE,
nic               523 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	if (nic->sqs_mode)
nic               524 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		qidx += ((nic->sqs_id + 1) * MAX_SND_QUEUES_PER_QS);
nic               525 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	if (qidx < nic->pnicvf->xdp_tx_queues) {
nic               542 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		sq->tso_hdrs = dma_alloc_coherent(&nic->pdev->dev,
nic               553 drivers/net/ethernet/cavium/thunder/nicvf_queues.c void nicvf_unmap_sndq_buffers(struct nicvf *nic, struct snd_queue *sq,
nic               565 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		dma_unmap_page_attrs(&nic->pdev->dev, gather->addr,
nic               571 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static void nicvf_free_snd_queue(struct nicvf *nic, struct snd_queue *sq)
nic               584 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		dma_free_coherent(&nic->pdev->dev,
nic               609 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 			nicvf_unmap_sndq_buffers(nic, sq, hdr->rsvd2,
nic               612 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 			nicvf_unmap_sndq_buffers(nic, sq, sq->head,
nic               623 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_free_q_desc_mem(nic, &sq->dmem);
nic               626 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static void nicvf_reclaim_snd_queue(struct nicvf *nic,
nic               630 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_CFG, qidx, 0);
nic               632 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	if (nicvf_poll_reg(nic, qidx, NIC_QSET_SQ_0_7_STATUS, 21, 1, 0x01))
nic               635 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_CFG, qidx, NICVF_SQ_RESET);
nic               638 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static void nicvf_reclaim_rcv_queue(struct nicvf *nic,
nic               645 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_send_msg_to_pf(nic, &mbx);
nic               648 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static void nicvf_reclaim_cmp_queue(struct nicvf *nic,
nic               652 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_CQ_0_7_CFG2, qidx, 0);
nic               654 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_CQ_0_7_CFG, qidx, 0);
nic               656 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_CQ_0_7_CFG, qidx, NICVF_CQ_RESET);
nic               659 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static void nicvf_reclaim_rbdr(struct nicvf *nic,
nic               666 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	rbdr->head = nicvf_queue_reg_read(nic,
nic               669 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	rbdr->tail = nicvf_queue_reg_read(nic,
nic               676 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	fifo_state = nicvf_queue_reg_read(nic, NIC_QSET_RBDR_0_1_STATUS0, qidx);
nic               678 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		nicvf_queue_reg_write(nic, NIC_QSET_RBDR_0_1_CFG,
nic               682 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_RBDR_0_1_CFG, qidx, 0);
nic               683 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	if (nicvf_poll_reg(nic, qidx, NIC_QSET_RBDR_0_1_STATUS0, 62, 2, 0x00))
nic               686 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		tmp = nicvf_queue_reg_read(nic,
nic               694 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 			netdev_err(nic->netdev,
nic               699 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_RBDR_0_1_CFG,
nic               702 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	if (nicvf_poll_reg(nic, qidx, NIC_QSET_RBDR_0_1_STATUS0, 62, 2, 0x02))
nic               704 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_RBDR_0_1_CFG, qidx, 0x00);
nic               705 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	if (nicvf_poll_reg(nic, qidx, NIC_QSET_RBDR_0_1_STATUS0, 62, 2, 0x00))
nic               709 drivers/net/ethernet/cavium/thunder/nicvf_queues.c void nicvf_config_vlan_stripping(struct nicvf *nic, netdev_features_t features)
nic               714 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	rq_cfg = nicvf_queue_reg_read(nic, NIC_QSET_RQ_GEN_CFG, 0);
nic               721 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_RQ_GEN_CFG, 0, rq_cfg);
nic               724 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	for (sqs = 0; sqs < nic->sqs_count; sqs++)
nic               725 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		if (nic->snicvf[sqs])
nic               726 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 			nicvf_queue_reg_write(nic->snicvf[sqs],
nic               730 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static void nicvf_reset_rcv_queue_stats(struct nicvf *nic)
nic               740 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_send_msg_to_pf(nic, &mbx);
nic               744 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static void nicvf_rcv_queue_config(struct nicvf *nic, struct queue_set *qs,
nic               755 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_RQ_0_7_CFG, qidx, 0);
nic               758 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		nicvf_reclaim_rcv_queue(nic, qs, qidx);
nic               773 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	WARN_ON(xdp_rxq_info_reg(&rq->xdp_rxq, nic->netdev, qidx) < 0);
nic               783 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_send_msg_to_pf(nic, &mbx);
nic               789 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_send_msg_to_pf(nic, &mbx);
nic               798 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_send_msg_to_pf(nic, &mbx);
nic               800 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	if (!nic->sqs_mode && (qidx == 0)) {
nic               804 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		nicvf_queue_reg_write(nic, NIC_QSET_RQ_GEN_CFG, 0,
nic               806 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		nicvf_config_vlan_stripping(nic, nic->netdev->features);
nic               813 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_RQ_0_7_CFG, qidx, *(u64 *)&rq_cfg);
nic               817 drivers/net/ethernet/cavium/thunder/nicvf_queues.c void nicvf_cmp_queue_config(struct nicvf *nic, struct queue_set *qs,
nic               827 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		nicvf_reclaim_cmp_queue(nic, qs, qidx);
nic               832 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_CQ_0_7_CFG, qidx, NICVF_CQ_RESET);
nic               839 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_CQ_0_7_BASE,
nic               849 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_CQ_0_7_CFG, qidx, *(u64 *)&cq_cfg);
nic               852 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_CQ_0_7_THRESH, qidx, cq->thresh);
nic               853 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_CQ_0_7_CFG2,
nic               858 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static void nicvf_snd_queue_config(struct nicvf *nic, struct queue_set *qs,
nic               869 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		nicvf_reclaim_snd_queue(nic, qs, qidx);
nic               874 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_CFG, qidx, NICVF_SQ_RESET);
nic               883 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	mbx.sq.sqs_mode = nic->sqs_mode;
nic               885 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_send_msg_to_pf(nic, &mbx);
nic               888 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_BASE,
nic               902 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_CFG, qidx, *(u64 *)&sq_cfg);
nic               905 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_THRESH, qidx, sq->thresh);
nic               910 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		netif_set_xps_queue(nic->netdev,
nic               916 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static void nicvf_rbdr_config(struct nicvf *nic, struct queue_set *qs,
nic               923 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_reclaim_rbdr(nic, rbdr, qidx);
nic               928 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_RBDR_0_1_BASE,
nic               940 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_RBDR_0_1_CFG,
nic               944 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_RBDR_0_1_DOOR,
nic               948 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_RBDR_0_1_THRESH,
nic               953 drivers/net/ethernet/cavium/thunder/nicvf_queues.c void nicvf_qset_config(struct nicvf *nic, bool enable)
nic               956 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	struct queue_set *qs = nic->qs;
nic               960 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		netdev_warn(nic->netdev,
nic               966 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	qs->vnic_id = nic->vf_id;
nic               971 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	mbx.qs.sqs_count = nic->sqs_count;
nic               982 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		if (nic->ptp_clock)
nic               985 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_send_msg_to_pf(nic, &mbx);
nic               988 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static void nicvf_free_resources(struct nicvf *nic)
nic               991 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	struct queue_set *qs = nic->qs;
nic               995 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		nicvf_free_rbdr(nic, &qs->rbdr[qidx]);
nic               999 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		nicvf_free_cmp_queue(nic, &qs->cq[qidx]);
nic              1003 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		nicvf_free_snd_queue(nic, &qs->sq[qidx]);
nic              1006 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static int nicvf_alloc_resources(struct nicvf *nic)
nic              1009 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	struct queue_set *qs = nic->qs;
nic              1013 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		if (nicvf_init_rbdr(nic, &qs->rbdr[qidx], qs->rbdr_len,
nic              1020 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		if (nicvf_init_snd_queue(nic, &qs->sq[qidx], qs->sq_len, qidx))
nic              1026 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		if (nicvf_init_cmp_queue(nic, &qs->cq[qidx], qs->cq_len))
nic              1032 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_free_resources(nic);
nic              1036 drivers/net/ethernet/cavium/thunder/nicvf_queues.c int nicvf_set_qset_resources(struct nicvf *nic)
nic              1040 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	qs = devm_kzalloc(&nic->pdev->dev, sizeof(*qs), GFP_KERNEL);
nic              1043 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nic->qs = qs;
nic              1056 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nic->rx_queues = qs->rq_cnt;
nic              1057 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nic->tx_queues = qs->sq_cnt;
nic              1058 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nic->xdp_tx_queues = 0;
nic              1063 drivers/net/ethernet/cavium/thunder/nicvf_queues.c int nicvf_config_data_transfer(struct nicvf *nic, bool enable)
nic              1066 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	struct queue_set *qs = nic->qs;
nic              1067 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	struct queue_set *pqs = nic->pnicvf->qs;
nic              1077 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	if (nic->sqs_mode && pqs) {
nic              1083 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		if (nicvf_alloc_resources(nic))
nic              1087 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 			nicvf_snd_queue_config(nic, qs, qidx, enable);
nic              1089 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 			nicvf_cmp_queue_config(nic, qs, qidx, enable);
nic              1091 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 			nicvf_rbdr_config(nic, qs, qidx, enable);
nic              1093 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 			nicvf_rcv_queue_config(nic, qs, qidx, enable);
nic              1096 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 			nicvf_rcv_queue_config(nic, qs, qidx, disable);
nic              1098 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 			nicvf_rbdr_config(nic, qs, qidx, disable);
nic              1100 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 			nicvf_snd_queue_config(nic, qs, qidx, disable);
nic              1102 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 			nicvf_cmp_queue_config(nic, qs, qidx, disable);
nic              1104 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		nicvf_free_resources(nic);
nic              1110 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_reset_rcv_queue_stats(nic);
nic              1159 drivers/net/ethernet/cavium/thunder/nicvf_queues.c void nicvf_sq_enable(struct nicvf *nic, struct snd_queue *sq, int qidx)
nic              1163 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	sq_cfg = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_CFG, qidx);
nic              1165 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_CFG, qidx, sq_cfg);
nic              1167 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_DOOR, qidx, 0);
nic              1170 drivers/net/ethernet/cavium/thunder/nicvf_queues.c void nicvf_sq_disable(struct nicvf *nic, int qidx)
nic              1174 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	sq_cfg = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_CFG, qidx);
nic              1176 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_CFG, qidx, sq_cfg);
nic              1184 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	struct nicvf *nic = netdev_priv(netdev);
nic              1187 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	head = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_HEAD, qidx) >> 4;
nic              1188 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	tail = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_TAIL, qidx) >> 4;
nic              1206 drivers/net/ethernet/cavium/thunder/nicvf_queues.c void nicvf_xdp_sq_doorbell(struct nicvf *nic,
nic              1216 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_DOOR,
nic              1236 drivers/net/ethernet/cavium/thunder/nicvf_queues.c int nicvf_xdp_sq_append_pkt(struct nicvf *nic, struct snd_queue *sq,
nic              1307 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static int nicvf_sq_subdesc_required(struct nicvf *nic, struct sk_buff *skb)
nic              1311 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	if (skb_shinfo(skb)->gso_size && !nic->hw_tso) {
nic              1317 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	if (nic->t88 && nic->hw_tso && skb_shinfo(skb)->gso_size)
nic              1330 drivers/net/ethernet/cavium/thunder/nicvf_queues.c nicvf_sq_add_hdr_subdesc(struct nicvf *nic, struct snd_queue *sq, int qentry,
nic              1346 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	if (nic->t88 && nic->hw_tso && skb_shinfo(skb)->gso_size) {
nic              1383 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	if (nic->hw_tso && skb_shinfo(skb)->gso_size) {
nic              1389 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->pnicvf->drv_stats->tx_tso);
nic              1403 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	if (!atomic_add_unless(&nic->pnicvf->tx_ptp_skbs, 1, 1))
nic              1465 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static inline void nicvf_sq_doorbell(struct nicvf *nic, struct sk_buff *skb,
nic              1470 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	txq = netdev_get_tx_queue(nic->pnicvf->netdev,
nic              1479 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_queue_reg_write(nic, NIC_QSET_SQ_0_7_DOOR,
nic              1486 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static int nicvf_sq_append_tso(struct nicvf *nic, struct snd_queue *sq,
nic              1532 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		nicvf_sq_add_hdr_subdesc(nic, sq, hdr_qentry,
nic              1542 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_sq_doorbell(nic, skb, sq_num, desc_cnt);
nic              1544 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	this_cpu_inc(nic->pnicvf->drv_stats->tx_tso);
nic              1549 drivers/net/ethernet/cavium/thunder/nicvf_queues.c int nicvf_sq_append_skb(struct nicvf *nic, struct snd_queue *sq,
nic              1557 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	subdesc_cnt = nicvf_sq_subdesc_required(nic, skb);
nic              1564 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	if (skb_shinfo(skb)->gso_size && !nic->hw_tso)
nic              1565 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		return nicvf_sq_append_tso(nic, sq, sq_num, qentry, skb);
nic              1568 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_sq_add_hdr_subdesc(nic, sq, qentry, subdesc_cnt - 1,
nic              1576 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	dma_addr = dma_map_page_attrs(&nic->pdev->dev, virt_to_page(skb->data),
nic              1579 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	if (dma_mapping_error(&nic->pdev->dev, dma_addr)) {
nic              1595 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		dma_addr = dma_map_page_attrs(&nic->pdev->dev,
nic              1600 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		if (dma_mapping_error(&nic->pdev->dev, dma_addr)) {
nic              1604 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 			nicvf_unmap_sndq_buffers(nic, sq, hdr_sqe, i);
nic              1612 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	if (nic->t88 && skb_shinfo(skb)->gso_size) {
nic              1617 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_sq_doorbell(nic, skb, sq_num, subdesc_cnt);
nic              1623 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nic = nic->pnicvf;
nic              1624 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	netdev_dbg(nic->netdev, "Not enough SQ descriptors to xmit pkt\n");
nic              1637 drivers/net/ethernet/cavium/thunder/nicvf_queues.c static void nicvf_unmap_rcv_buffer(struct nicvf *nic, u64 dma_addr,
nic              1657 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	dma_unmap_page_attrs(&nic->pdev->dev, dma_addr, len,
nic              1662 drivers/net/ethernet/cavium/thunder/nicvf_queues.c struct sk_buff *nicvf_get_rcv_skb(struct nicvf *nic,
nic              1682 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	if (!nic->hw_tso)
nic              1689 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		phys_addr = nicvf_iova_to_phys(nic, *rb_ptrs);
nic              1698 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 			nicvf_unmap_rcv_buffer(nic,
nic              1701 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 			skb = nicvf_rb_ptr_to_skb(nic,
nic              1710 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 			nicvf_unmap_rcv_buffer(nic, *rb_ptrs, phys_addr, xdp);
nic              1756 drivers/net/ethernet/cavium/thunder/nicvf_queues.c void nicvf_enable_intr(struct nicvf *nic, int int_type, int q_idx)
nic              1761 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		netdev_dbg(nic->netdev,
nic              1765 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_reg_write(nic, NIC_VF_ENA_W1S,
nic              1766 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 			nicvf_reg_read(nic, NIC_VF_ENA_W1S) | mask);
nic              1770 drivers/net/ethernet/cavium/thunder/nicvf_queues.c void nicvf_disable_intr(struct nicvf *nic, int int_type, int q_idx)
nic              1775 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		netdev_dbg(nic->netdev,
nic              1780 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_reg_write(nic, NIC_VF_ENA_W1C, mask);
nic              1784 drivers/net/ethernet/cavium/thunder/nicvf_queues.c void nicvf_clear_intr(struct nicvf *nic, int int_type, int q_idx)
nic              1789 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		netdev_dbg(nic->netdev,
nic              1794 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_reg_write(nic, NIC_VF_INT, mask);
nic              1798 drivers/net/ethernet/cavium/thunder/nicvf_queues.c int nicvf_is_intr_enabled(struct nicvf *nic, int int_type, int q_idx)
nic              1803 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		netdev_dbg(nic->netdev,
nic              1808 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	return mask & nicvf_reg_read(nic, NIC_VF_ENA_W1S);
nic              1811 drivers/net/ethernet/cavium/thunder/nicvf_queues.c void nicvf_update_rq_stats(struct nicvf *nic, int rq_idx)
nic              1816 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_reg_read(nic, NIC_QSET_RQ_0_7_STAT_0_1 |\
nic              1819 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	rq = &nic->qs->rq[rq_idx];
nic              1824 drivers/net/ethernet/cavium/thunder/nicvf_queues.c void nicvf_update_sq_stats(struct nicvf *nic, int sq_idx)
nic              1829 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	nicvf_reg_read(nic, NIC_QSET_SQ_0_7_STAT_0_1 |\
nic              1832 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	sq = &nic->qs->sq[sq_idx];
nic              1838 drivers/net/ethernet/cavium/thunder/nicvf_queues.c int nicvf_check_cqe_rx_errs(struct nicvf *nic, struct cqe_rx_t *cqe_rx)
nic              1840 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 	netif_err(nic, rx_err, nic->netdev,
nic              1846 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->rx_bgx_truncated_pkts);
nic              1849 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->rx_jabber_errs);
nic              1852 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->rx_fcs_errs);
nic              1855 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->rx_bgx_errs);
nic              1858 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->rx_prel2_errs);
nic              1861 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->rx_l2_hdr_malformed);
nic              1864 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->rx_oversize);
nic              1867 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->rx_undersize);
nic              1870 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->rx_l2_len_mismatch);
nic              1873 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->rx_l2_pclp);
nic              1876 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->rx_ip_ver_errs);
nic              1879 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->rx_ip_csum_errs);
nic              1882 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->rx_ip_hdr_malformed);
nic              1885 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->rx_ip_payload_malformed);
nic              1888 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->rx_ip_ttl_errs);
nic              1891 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->rx_l3_pclp);
nic              1894 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->rx_l4_malformed);
nic              1897 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->rx_l4_csum_errs);
nic              1900 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->rx_udp_len_errs);
nic              1903 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->rx_l4_port_errs);
nic              1906 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->rx_tcp_flag_errs);
nic              1909 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->rx_tcp_offset_errs);
nic              1912 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->rx_l4_pclp);
nic              1915 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->rx_truncated_pkts);
nic              1923 drivers/net/ethernet/cavium/thunder/nicvf_queues.c int nicvf_check_cqe_tx_errs(struct nicvf *nic, struct cqe_send_t *cqe_tx)
nic              1927 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->tx_desc_fault);
nic              1930 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->tx_hdr_cons_err);
nic              1933 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->tx_subdesc_err);
nic              1936 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->tx_max_size_exceeded);
nic              1939 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->tx_imm_size_oflow);
nic              1942 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->tx_data_seq_err);
nic              1945 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->tx_mem_seq_err);
nic              1948 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->tx_lock_viol);
nic              1951 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->tx_data_fault);
nic              1954 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->tx_tstmp_conflict);
nic              1957 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->tx_tstmp_timeout);
nic              1960 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->tx_mem_fault);
nic              1963 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->tx_csum_overlap);
nic              1966 drivers/net/ethernet/cavium/thunder/nicvf_queues.c 		this_cpu_inc(nic->drv_stats->tx_csum_overflow);
nic               320 drivers/net/ethernet/cavium/thunder/nicvf_queues.h static inline u64 nicvf_iova_to_phys(struct nicvf *nic, dma_addr_t dma_addr)
nic               323 drivers/net/ethernet/cavium/thunder/nicvf_queues.h 	if (nic->iommu_domain)
nic               324 drivers/net/ethernet/cavium/thunder/nicvf_queues.h 		return iommu_iova_to_phys(nic->iommu_domain, dma_addr);
nic               328 drivers/net/ethernet/cavium/thunder/nicvf_queues.h void nicvf_unmap_sndq_buffers(struct nicvf *nic, struct snd_queue *sq,
nic               330 drivers/net/ethernet/cavium/thunder/nicvf_queues.h void nicvf_config_vlan_stripping(struct nicvf *nic,
nic               332 drivers/net/ethernet/cavium/thunder/nicvf_queues.h int nicvf_set_qset_resources(struct nicvf *nic);
nic               333 drivers/net/ethernet/cavium/thunder/nicvf_queues.h int nicvf_config_data_transfer(struct nicvf *nic, bool enable);
nic               334 drivers/net/ethernet/cavium/thunder/nicvf_queues.h void nicvf_qset_config(struct nicvf *nic, bool enable);
nic               335 drivers/net/ethernet/cavium/thunder/nicvf_queues.h void nicvf_cmp_queue_config(struct nicvf *nic, struct queue_set *qs,
nic               338 drivers/net/ethernet/cavium/thunder/nicvf_queues.h void nicvf_sq_enable(struct nicvf *nic, struct snd_queue *sq, int qidx);
nic               339 drivers/net/ethernet/cavium/thunder/nicvf_queues.h void nicvf_sq_disable(struct nicvf *nic, int qidx);
nic               343 drivers/net/ethernet/cavium/thunder/nicvf_queues.h int nicvf_sq_append_skb(struct nicvf *nic, struct snd_queue *sq,
nic               345 drivers/net/ethernet/cavium/thunder/nicvf_queues.h int nicvf_xdp_sq_append_pkt(struct nicvf *nic, struct snd_queue *sq,
nic               347 drivers/net/ethernet/cavium/thunder/nicvf_queues.h void nicvf_xdp_sq_doorbell(struct nicvf *nic, struct snd_queue *sq, int sq_num);
nic               349 drivers/net/ethernet/cavium/thunder/nicvf_queues.h struct sk_buff *nicvf_get_rcv_skb(struct nicvf *nic,
nic               354 drivers/net/ethernet/cavium/thunder/nicvf_queues.h void nicvf_enable_intr(struct nicvf *nic, int int_type, int q_idx);
nic               355 drivers/net/ethernet/cavium/thunder/nicvf_queues.h void nicvf_disable_intr(struct nicvf *nic, int int_type, int q_idx);
nic               356 drivers/net/ethernet/cavium/thunder/nicvf_queues.h void nicvf_clear_intr(struct nicvf *nic, int int_type, int q_idx);
nic               357 drivers/net/ethernet/cavium/thunder/nicvf_queues.h int nicvf_is_intr_enabled(struct nicvf *nic, int int_type, int q_idx);
nic               360 drivers/net/ethernet/cavium/thunder/nicvf_queues.h void nicvf_reg_write(struct nicvf *nic, u64 offset, u64 val);
nic               361 drivers/net/ethernet/cavium/thunder/nicvf_queues.h u64  nicvf_reg_read(struct nicvf *nic, u64 offset);
nic               362 drivers/net/ethernet/cavium/thunder/nicvf_queues.h void nicvf_qset_reg_write(struct nicvf *nic, u64 offset, u64 val);
nic               363 drivers/net/ethernet/cavium/thunder/nicvf_queues.h u64 nicvf_qset_reg_read(struct nicvf *nic, u64 offset);
nic               364 drivers/net/ethernet/cavium/thunder/nicvf_queues.h void nicvf_queue_reg_write(struct nicvf *nic, u64 offset,
nic               366 drivers/net/ethernet/cavium/thunder/nicvf_queues.h u64  nicvf_queue_reg_read(struct nicvf *nic,
nic               370 drivers/net/ethernet/cavium/thunder/nicvf_queues.h void nicvf_update_rq_stats(struct nicvf *nic, int rq_idx);
nic               371 drivers/net/ethernet/cavium/thunder/nicvf_queues.h void nicvf_update_sq_stats(struct nicvf *nic, int sq_idx);
nic               372 drivers/net/ethernet/cavium/thunder/nicvf_queues.h int nicvf_check_cqe_rx_errs(struct nicvf *nic, struct cqe_rx_t *cqe_rx);
nic               373 drivers/net/ethernet/cavium/thunder/nicvf_queues.h int nicvf_check_cqe_tx_errs(struct nicvf *nic, struct cqe_send_t *cqe_tx);
nic              3450 drivers/net/ethernet/chelsio/cxgb4/t4_hw.c 	if (hdr1->chip == hdr2->chip && SAME_INTF(nic) && SAME_INTF(vnic) &&
nic              4253 drivers/net/ethernet/emulex/benet/be_cmds.c 	struct be_nic_res_desc *nic;
nic              4259 drivers/net/ethernet/emulex/benet/be_cmds.c 			nic = (struct be_nic_res_desc *)hdr;
nic              4262 drivers/net/ethernet/emulex/benet/be_cmds.c 			     nic->pf_num == pf_num) &&
nic              4263 drivers/net/ethernet/emulex/benet/be_cmds.c 			    (!get_vft || nic->flags & BIT(VFT_SHIFT)))
nic              4264 drivers/net/ethernet/emulex/benet/be_cmds.c 				return nic;
nic              4441 drivers/net/ethernet/emulex/benet/be_cmds.c 	struct be_nic_res_desc *nic;
nic              4487 drivers/net/ethernet/emulex/benet/be_cmds.c 			nic = be_get_func_nic_desc(resp->func_param, desc_count,
nic              4489 drivers/net/ethernet/emulex/benet/be_cmds.c 			if (nic->link_param == adapter->port_num) {
nic              4509 drivers/net/ethernet/emulex/benet/be_cmds.c 	nic = be_get_func_nic_desc(resp->func_param, desc_count,
nic              4511 drivers/net/ethernet/emulex/benet/be_cmds.c 	if (nic)
nic              4512 drivers/net/ethernet/emulex/benet/be_cmds.c 		be_copy_nic_desc(res, nic);
nic              4559 drivers/net/ethernet/emulex/benet/be_cmds.c static void be_reset_nic_desc(struct be_nic_res_desc *nic)
nic              4561 drivers/net/ethernet/emulex/benet/be_cmds.c 	memset(nic, 0, sizeof(*nic));
nic              4562 drivers/net/ethernet/emulex/benet/be_cmds.c 	nic->unicast_mac_count = 0xFFFF;
nic              4563 drivers/net/ethernet/emulex/benet/be_cmds.c 	nic->mcc_count = 0xFFFF;
nic              4564 drivers/net/ethernet/emulex/benet/be_cmds.c 	nic->vlan_count = 0xFFFF;
nic              4565 drivers/net/ethernet/emulex/benet/be_cmds.c 	nic->mcast_mac_count = 0xFFFF;
nic              4566 drivers/net/ethernet/emulex/benet/be_cmds.c 	nic->txq_count = 0xFFFF;
nic              4567 drivers/net/ethernet/emulex/benet/be_cmds.c 	nic->rq_count = 0xFFFF;
nic              4568 drivers/net/ethernet/emulex/benet/be_cmds.c 	nic->rssq_count = 0xFFFF;
nic              4569 drivers/net/ethernet/emulex/benet/be_cmds.c 	nic->lro_count = 0xFFFF;
nic              4570 drivers/net/ethernet/emulex/benet/be_cmds.c 	nic->cq_count = 0xFFFF;
nic              4571 drivers/net/ethernet/emulex/benet/be_cmds.c 	nic->toe_conn_count = 0xFFFF;
nic              4572 drivers/net/ethernet/emulex/benet/be_cmds.c 	nic->eq_count = 0xFFFF;
nic              4573 drivers/net/ethernet/emulex/benet/be_cmds.c 	nic->iface_count = 0xFFFF;
nic              4574 drivers/net/ethernet/emulex/benet/be_cmds.c 	nic->link_param = 0xFF;
nic              4575 drivers/net/ethernet/emulex/benet/be_cmds.c 	nic->channel_id_param = cpu_to_le16(0xF000);
nic              4576 drivers/net/ethernet/emulex/benet/be_cmds.c 	nic->acpi_params = 0xFF;
nic              4577 drivers/net/ethernet/emulex/benet/be_cmds.c 	nic->wol_param = 0x0F;
nic              4578 drivers/net/ethernet/emulex/benet/be_cmds.c 	nic->tunnel_iface_count = 0xFFFF;
nic              4579 drivers/net/ethernet/emulex/benet/be_cmds.c 	nic->direct_tenant_iface_count = 0xFFFF;
nic              4580 drivers/net/ethernet/emulex/benet/be_cmds.c 	nic->bw_min = 0xFFFFFFFF;
nic              4581 drivers/net/ethernet/emulex/benet/be_cmds.c 	nic->bw_max = 0xFFFFFFFF;
nic               187 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c 		handle = &vport[i].nic;
nic               465 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c 	kinfo = &vport->nic.kinfo;
nic               677 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	handle = &hdev->vport[0].nic;
nic              1502 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	struct hnae3_knic_private_info *kinfo = &vport->nic.kinfo;
nic              1509 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 			hdev->htqp[i].q.handle = &vport->nic;
nic              1533 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	struct hnae3_handle *nic = &vport->nic;
nic              1534 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	struct hnae3_knic_private_info *kinfo = &nic->kinfo;
nic              1558 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	struct hnae3_handle *nic = &vport->nic;
nic              1562 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	kinfo = &nic->kinfo;
nic              1600 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	struct hnae3_handle *nic = &vport->nic;
nic              1604 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	nic->pdev = hdev->pdev;
nic              1605 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	nic->ae_algo = &ae_algo;
nic              1606 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	nic->numa_node_mask = hdev->numa_node_mask;
nic              2278 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	struct hnae3_handle *nic = &vport->nic;
nic              2288 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	roce->rinfo.netdev = nic->kinfo.netdev;
nic              2291 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	roce->pdev = nic->pdev;
nic              2292 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	roce->ae_algo = nic->ae_algo;
nic              2293 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	roce->numa_node_mask = nic->numa_node_mask;
nic              2723 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 			handle = &hdev->vport[i].nic;
nic              3118 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 		struct hnae3_handle *handle = &hdev->vport[i].nic;
nic              3312 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 		client->ops->process_hw_error(&hdev->vport[i].nic, type);
nic              3353 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	struct hnae3_handle *handle = &hdev->vport[0].nic;
nic              3778 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 		handle = &hdev->vport[0].nic;
nic              3926 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 		return container_of(handle, struct hclge_vport, nic);
nic              3930 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 		return container_of(handle, struct hclge_vport, nic);
nic              4117 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 		vport->nic.kinfo.rss_type = PKT_HASH_TYPE_L4;
nic              4120 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 		vport->nic.kinfo.rss_type = PKT_HASH_TYPE_L3;
nic              4122 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 		vport->nic.kinfo.rss_type = PKT_HASH_TYPE_NONE;
nic              6151 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	struct hnae3_handle *handle = &hdev->vport[0].nic;
nic              6597 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	kinfo = &vport->nic.kinfo;
nic              6631 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	kinfo = &vport->nic.kinfo;
nic              7944 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	struct hnae3_handle *handle = &hdev->vport[0].nic;
nic              8186 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	struct hnae3_handle *nic = &vport->nic;
nic              8227 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 		nic->port_base_vlan_state = HNAE3_PORT_BASE_VLAN_DISABLE;
nic              8229 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 		nic->port_base_vlan_state = HNAE3_PORT_BASE_VLAN_ENABLE;
nic              8569 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	queue_gid = hclge_covert_handle_qid_global(&vport->nic, queue_id);
nic              8850 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	struct hnae3_client *client = vport->nic.client;
nic              8856 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	ret = client->ops->init_instance(&vport->nic);
nic              8877 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	if (netif_msg_drv(&hdev->vport->nic))
nic              8887 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	client->ops->uninit_instance(&vport->nic, 0);
nic              8957 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 			vport->nic.client = client;
nic              8987 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	vport->nic.client = NULL;
nic              9021 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 			client->ops->uninit_instance(&vport->nic, 0);
nic              9023 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 			vport->nic.client = NULL;
nic              9555 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 	struct hnae3_knic_private_info *kinfo = &vport->nic.kinfo;
nic               914 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h 	struct hnae3_handle nic;
nic               150 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c 			hclge_get_queue_id(vport->nic.kinfo.tqp[req->msg[4]]);
nic               167 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c 		hclge_get_queue_id(vport->nic.kinfo.tqp
nic               318 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c 		struct hnae3_handle *handle = &vport->nic;
nic               328 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c 		struct hnae3_handle *handle = &vport->nic;
nic               370 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c 	struct hnae3_knic_private_info *kinfo = &vport->nic.kinfo;
nic               394 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c 	memcpy(&resp_data[2], &vport->nic.kinfo.rss_size, sizeof(u16));
nic               524 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c 	qid_in_pf = hclge_covert_handle_qid_global(&vport->nic, queue_id);
nic               203 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c 	struct net_device *netdev = hdev->vport[0].nic.netdev;
nic               263 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c 	struct net_device *netdev = hdev->vport[0].nic.netdev;
nic               516 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c 	struct hnae3_knic_private_info *kinfo = &vport->nic.kinfo;
nic               753 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c 	struct hnae3_knic_private_info *kinfo = &vport->nic.kinfo;
nic               785 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c 				&vport[k].nic.kinfo;
nic               887 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c 	struct hnae3_knic_private_info *kinfo = &vport->nic.kinfo;
nic              1005 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c 	struct hnae3_knic_private_info *kinfo = &vport->nic.kinfo;
nic              1135 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c 	struct hnae3_knic_private_info *kinfo = &vport->nic.kinfo;
nic              1369 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c 			kinfo = &vport[k].nic.kinfo;
nic                91 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 		return container_of(handle, struct hclgevf_dev, nic);
nic                95 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 		return container_of(handle, struct hclgevf_dev, nic);
nic               251 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	struct hnae3_handle *nic = &hdev->nic;
nic               265 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	nic->port_base_vlan_state = resp_msg;
nic               384 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	struct hnae3_handle *nic = &hdev->nic;
nic               389 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	kinfo = &nic->kinfo;
nic               409 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 		hdev->htqp[i].q.handle = &hdev->nic;
nic               439 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	struct hnae3_handle *handle = &hdev->nic;
nic               476 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	struct hnae3_handle *nic = &hdev->nic;
nic               479 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	nic->ae_algo = &ae_algovf;
nic               480 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	nic->pdev = hdev->pdev;
nic               481 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	nic->numa_node_mask = hdev->numa_node_mask;
nic               482 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	nic->flags |= HNAE3_SUPPORT_VF;
nic              1293 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	struct hnae3_handle *handle = &hdev->nic;
nic              1353 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	struct hnae3_handle *handle = &hdev->nic;
nic              1870 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	handle = &hdev->nic;
nic              2025 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	struct hnae3_handle *nic = &hdev->nic;
nic              2035 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	roce->rinfo.netdev = nic->kinfo.netdev;
nic              2038 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	roce->pdev = nic->pdev;
nic              2039 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	roce->ae_algo = nic->ae_algo;
nic              2040 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	roce->numa_node_mask = nic->numa_node_mask;
nic              2074 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	rss_cfg->rss_size = hdev->nic.kinfo.rss_size;
nic              2122 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	return hclgevf_set_vlan_filter(&hdev->nic, htons(ETH_P_8021Q), 0,
nic              2368 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	ret = client->ops->init_instance(&hdev->nic);
nic              2375 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	if (netif_msg_drv(&hdev->nic))
nic              2413 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 		hdev->nic.client = client;
nic              2444 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	hdev->nic.client = NULL;
nic              2469 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 		client->ops->uninit_instance(&hdev->nic, 0);
nic              2471 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 		hdev->nic.client = NULL;
nic              2824 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	struct hnae3_handle *nic = &hdev->nic;
nic              2825 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	struct hnae3_knic_private_info *kinfo = &nic->kinfo;
nic              3079 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 	struct hnae3_handle *nic = &hdev->nic;
nic              3092 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 		nic->port_base_vlan_state = HNAE3_PORT_BASE_VLAN_DISABLE;
nic              3094 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 		nic->port_base_vlan_state = HNAE3_PORT_BASE_VLAN_ENABLE;
nic               296 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h 	struct hnae3_handle nic;
nic               545 drivers/net/ethernet/intel/e100.c 	u16 (*mdio_ctrl)(struct nic *nic, u32 addr, u32 dir, u32 reg, u16 data);
nic               609 drivers/net/ethernet/intel/e100.c static inline void e100_write_flush(struct nic *nic)
nic               613 drivers/net/ethernet/intel/e100.c 	(void)ioread8(&nic->csr->scb.status);
nic               616 drivers/net/ethernet/intel/e100.c static void e100_enable_irq(struct nic *nic)
nic               620 drivers/net/ethernet/intel/e100.c 	spin_lock_irqsave(&nic->cmd_lock, flags);
nic               621 drivers/net/ethernet/intel/e100.c 	iowrite8(irq_mask_none, &nic->csr->scb.cmd_hi);
nic               622 drivers/net/ethernet/intel/e100.c 	e100_write_flush(nic);
nic               623 drivers/net/ethernet/intel/e100.c 	spin_unlock_irqrestore(&nic->cmd_lock, flags);
nic               626 drivers/net/ethernet/intel/e100.c static void e100_disable_irq(struct nic *nic)
nic               630 drivers/net/ethernet/intel/e100.c 	spin_lock_irqsave(&nic->cmd_lock, flags);
nic               631 drivers/net/ethernet/intel/e100.c 	iowrite8(irq_mask_all, &nic->csr->scb.cmd_hi);
nic               632 drivers/net/ethernet/intel/e100.c 	e100_write_flush(nic);
nic               633 drivers/net/ethernet/intel/e100.c 	spin_unlock_irqrestore(&nic->cmd_lock, flags);
nic               636 drivers/net/ethernet/intel/e100.c static void e100_hw_reset(struct nic *nic)
nic               640 drivers/net/ethernet/intel/e100.c 	iowrite32(selective_reset, &nic->csr->port);
nic               641 drivers/net/ethernet/intel/e100.c 	e100_write_flush(nic); udelay(20);
nic               644 drivers/net/ethernet/intel/e100.c 	iowrite32(software_reset, &nic->csr->port);
nic               645 drivers/net/ethernet/intel/e100.c 	e100_write_flush(nic); udelay(20);
nic               648 drivers/net/ethernet/intel/e100.c 	e100_disable_irq(nic);
nic               651 drivers/net/ethernet/intel/e100.c static int e100_self_test(struct nic *nic)
nic               653 drivers/net/ethernet/intel/e100.c 	u32 dma_addr = nic->dma_addr + offsetof(struct mem, selftest);
nic               658 drivers/net/ethernet/intel/e100.c 	nic->mem->selftest.signature = 0;
nic               659 drivers/net/ethernet/intel/e100.c 	nic->mem->selftest.result = 0xFFFFFFFF;
nic               661 drivers/net/ethernet/intel/e100.c 	iowrite32(selftest | dma_addr, &nic->csr->port);
nic               662 drivers/net/ethernet/intel/e100.c 	e100_write_flush(nic);
nic               667 drivers/net/ethernet/intel/e100.c 	e100_disable_irq(nic);
nic               670 drivers/net/ethernet/intel/e100.c 	if (nic->mem->selftest.result != 0) {
nic               671 drivers/net/ethernet/intel/e100.c 		netif_err(nic, hw, nic->netdev,
nic               673 drivers/net/ethernet/intel/e100.c 			  nic->mem->selftest.result);
nic               676 drivers/net/ethernet/intel/e100.c 	if (nic->mem->selftest.signature == 0) {
nic               677 drivers/net/ethernet/intel/e100.c 		netif_err(nic, hw, nic->netdev, "Self-test failed: timed out\n");
nic               684 drivers/net/ethernet/intel/e100.c static void e100_eeprom_write(struct nic *nic, u16 addr_len, u16 addr, __le16 data)
nic               700 drivers/net/ethernet/intel/e100.c 		iowrite8(eecs | eesk, &nic->csr->eeprom_ctrl_lo);
nic               701 drivers/net/ethernet/intel/e100.c 		e100_write_flush(nic); udelay(4);
nic               706 drivers/net/ethernet/intel/e100.c 			iowrite8(ctrl, &nic->csr->eeprom_ctrl_lo);
nic               707 drivers/net/ethernet/intel/e100.c 			e100_write_flush(nic); udelay(4);
nic               709 drivers/net/ethernet/intel/e100.c 			iowrite8(ctrl | eesk, &nic->csr->eeprom_ctrl_lo);
nic               710 drivers/net/ethernet/intel/e100.c 			e100_write_flush(nic); udelay(4);
nic               716 drivers/net/ethernet/intel/e100.c 		iowrite8(0, &nic->csr->eeprom_ctrl_lo);
nic               717 drivers/net/ethernet/intel/e100.c 		e100_write_flush(nic); udelay(4);
nic               722 drivers/net/ethernet/intel/e100.c static __le16 e100_eeprom_read(struct nic *nic, u16 *addr_len, u16 addr)
nic               732 drivers/net/ethernet/intel/e100.c 	iowrite8(eecs | eesk, &nic->csr->eeprom_ctrl_lo);
nic               733 drivers/net/ethernet/intel/e100.c 	e100_write_flush(nic); udelay(4);
nic               738 drivers/net/ethernet/intel/e100.c 		iowrite8(ctrl, &nic->csr->eeprom_ctrl_lo);
nic               739 drivers/net/ethernet/intel/e100.c 		e100_write_flush(nic); udelay(4);
nic               741 drivers/net/ethernet/intel/e100.c 		iowrite8(ctrl | eesk, &nic->csr->eeprom_ctrl_lo);
nic               742 drivers/net/ethernet/intel/e100.c 		e100_write_flush(nic); udelay(4);
nic               746 drivers/net/ethernet/intel/e100.c 		ctrl = ioread8(&nic->csr->eeprom_ctrl_lo);
nic               756 drivers/net/ethernet/intel/e100.c 	iowrite8(0, &nic->csr->eeprom_ctrl_lo);
nic               757 drivers/net/ethernet/intel/e100.c 	e100_write_flush(nic); udelay(4);
nic               763 drivers/net/ethernet/intel/e100.c static int e100_eeprom_load(struct nic *nic)
nic               768 drivers/net/ethernet/intel/e100.c 	e100_eeprom_read(nic, &addr_len, 0);
nic               769 drivers/net/ethernet/intel/e100.c 	nic->eeprom_wc = 1 << addr_len;
nic               771 drivers/net/ethernet/intel/e100.c 	for (addr = 0; addr < nic->eeprom_wc; addr++) {
nic               772 drivers/net/ethernet/intel/e100.c 		nic->eeprom[addr] = e100_eeprom_read(nic, &addr_len, addr);
nic               773 drivers/net/ethernet/intel/e100.c 		if (addr < nic->eeprom_wc - 1)
nic               774 drivers/net/ethernet/intel/e100.c 			checksum += le16_to_cpu(nic->eeprom[addr]);
nic               779 drivers/net/ethernet/intel/e100.c 	if (cpu_to_le16(0xBABA - checksum) != nic->eeprom[nic->eeprom_wc - 1]) {
nic               780 drivers/net/ethernet/intel/e100.c 		netif_err(nic, probe, nic->netdev, "EEPROM corrupted\n");
nic               789 drivers/net/ethernet/intel/e100.c static int e100_eeprom_save(struct nic *nic, u16 start, u16 count)
nic               794 drivers/net/ethernet/intel/e100.c 	e100_eeprom_read(nic, &addr_len, 0);
nic               795 drivers/net/ethernet/intel/e100.c 	nic->eeprom_wc = 1 << addr_len;
nic               797 drivers/net/ethernet/intel/e100.c 	if (start + count >= nic->eeprom_wc)
nic               801 drivers/net/ethernet/intel/e100.c 		e100_eeprom_write(nic, addr_len, addr, nic->eeprom[addr]);
nic               805 drivers/net/ethernet/intel/e100.c 	for (addr = 0; addr < nic->eeprom_wc - 1; addr++)
nic               806 drivers/net/ethernet/intel/e100.c 		checksum += le16_to_cpu(nic->eeprom[addr]);
nic               807 drivers/net/ethernet/intel/e100.c 	nic->eeprom[nic->eeprom_wc - 1] = cpu_to_le16(0xBABA - checksum);
nic               808 drivers/net/ethernet/intel/e100.c 	e100_eeprom_write(nic, addr_len, nic->eeprom_wc - 1,
nic               809 drivers/net/ethernet/intel/e100.c 		nic->eeprom[nic->eeprom_wc - 1]);
nic               816 drivers/net/ethernet/intel/e100.c static int e100_exec_cmd(struct nic *nic, u8 cmd, dma_addr_t dma_addr)
nic               822 drivers/net/ethernet/intel/e100.c 	spin_lock_irqsave(&nic->cmd_lock, flags);
nic               826 drivers/net/ethernet/intel/e100.c 		if (likely(!ioread8(&nic->csr->scb.cmd_lo)))
nic               838 drivers/net/ethernet/intel/e100.c 		iowrite32(dma_addr, &nic->csr->scb.gen_ptr);
nic               839 drivers/net/ethernet/intel/e100.c 	iowrite8(cmd, &nic->csr->scb.cmd_lo);
nic               842 drivers/net/ethernet/intel/e100.c 	spin_unlock_irqrestore(&nic->cmd_lock, flags);
nic               847 drivers/net/ethernet/intel/e100.c static int e100_exec_cb(struct nic *nic, struct sk_buff *skb,
nic               848 drivers/net/ethernet/intel/e100.c 	int (*cb_prepare)(struct nic *, struct cb *, struct sk_buff *))
nic               854 drivers/net/ethernet/intel/e100.c 	spin_lock_irqsave(&nic->cb_lock, flags);
nic               856 drivers/net/ethernet/intel/e100.c 	if (unlikely(!nic->cbs_avail)) {
nic               861 drivers/net/ethernet/intel/e100.c 	cb = nic->cb_to_use;
nic               862 drivers/net/ethernet/intel/e100.c 	nic->cb_to_use = cb->next;
nic               863 drivers/net/ethernet/intel/e100.c 	nic->cbs_avail--;
nic               866 drivers/net/ethernet/intel/e100.c 	err = cb_prepare(nic, cb, skb);
nic               870 drivers/net/ethernet/intel/e100.c 	if (unlikely(!nic->cbs_avail))
nic               880 drivers/net/ethernet/intel/e100.c 	while (nic->cb_to_send != nic->cb_to_use) {
nic               881 drivers/net/ethernet/intel/e100.c 		if (unlikely(e100_exec_cmd(nic, nic->cuc_cmd,
nic               882 drivers/net/ethernet/intel/e100.c 			nic->cb_to_send->dma_addr))) {
nic               890 drivers/net/ethernet/intel/e100.c 				schedule_work(&nic->tx_timeout_task);
nic               894 drivers/net/ethernet/intel/e100.c 			nic->cuc_cmd = cuc_resume;
nic               895 drivers/net/ethernet/intel/e100.c 			nic->cb_to_send = nic->cb_to_send->next;
nic               900 drivers/net/ethernet/intel/e100.c 	spin_unlock_irqrestore(&nic->cb_lock, flags);
nic               907 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic               908 drivers/net/ethernet/intel/e100.c 	return nic->mdio_ctrl(nic, addr, mdi_read, reg, 0);
nic               913 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic               915 drivers/net/ethernet/intel/e100.c 	nic->mdio_ctrl(nic, addr, mdi_write, reg, data);
nic               919 drivers/net/ethernet/intel/e100.c static u16 mdio_ctrl_hw(struct nic *nic, u32 addr, u32 dir, u32 reg, u16 data)
nic               932 drivers/net/ethernet/intel/e100.c 	spin_lock_irqsave(&nic->mdio_lock, flags);
nic               934 drivers/net/ethernet/intel/e100.c 		if (ioread32(&nic->csr->mdi_ctrl) & mdi_ready)
nic               939 drivers/net/ethernet/intel/e100.c 		netdev_err(nic->netdev, "e100.mdio_ctrl won't go Ready\n");
nic               940 drivers/net/ethernet/intel/e100.c 		spin_unlock_irqrestore(&nic->mdio_lock, flags);
nic               943 drivers/net/ethernet/intel/e100.c 	iowrite32((reg << 16) | (addr << 21) | dir | data, &nic->csr->mdi_ctrl);
nic               947 drivers/net/ethernet/intel/e100.c 		if ((data_out = ioread32(&nic->csr->mdi_ctrl)) & mdi_ready)
nic               950 drivers/net/ethernet/intel/e100.c 	spin_unlock_irqrestore(&nic->mdio_lock, flags);
nic               951 drivers/net/ethernet/intel/e100.c 	netif_printk(nic, hw, KERN_DEBUG, nic->netdev,
nic               959 drivers/net/ethernet/intel/e100.c static u16 mdio_ctrl_phy_82552_v(struct nic *nic,
nic               967 drivers/net/ethernet/intel/e100.c 			u16 advert = mdio_read(nic->netdev, nic->mii.phy_id,
nic               980 drivers/net/ethernet/intel/e100.c 	return mdio_ctrl_hw(nic, addr, dir, reg, data);
nic               989 drivers/net/ethernet/intel/e100.c static u16 mdio_ctrl_phy_mii_emulated(struct nic *nic,
nic              1014 drivers/net/ethernet/intel/e100.c 			netif_printk(nic, hw, KERN_DEBUG, nic->netdev,
nic              1023 drivers/net/ethernet/intel/e100.c 			netif_printk(nic, hw, KERN_DEBUG, nic->netdev,
nic              1031 drivers/net/ethernet/intel/e100.c static inline int e100_phy_supports_mii(struct nic *nic)
nic              1036 drivers/net/ethernet/intel/e100.c 	return (nic->mdio_ctrl != mdio_ctrl_phy_mii_emulated);
nic              1039 drivers/net/ethernet/intel/e100.c static void e100_get_defaults(struct nic *nic)
nic              1045 drivers/net/ethernet/intel/e100.c 	nic->mac = (nic->flags & ich) ? mac_82559_D101M : nic->pdev->revision;
nic              1046 drivers/net/ethernet/intel/e100.c 	if (nic->mac == mac_unknown)
nic              1047 drivers/net/ethernet/intel/e100.c 		nic->mac = mac_82557_D100_A;
nic              1049 drivers/net/ethernet/intel/e100.c 	nic->params.rfds = rfds;
nic              1050 drivers/net/ethernet/intel/e100.c 	nic->params.cbs = cbs;
nic              1053 drivers/net/ethernet/intel/e100.c 	nic->tx_threshold = 0xE0;
nic              1056 drivers/net/ethernet/intel/e100.c 	nic->tx_command = cpu_to_le16(cb_tx | cb_tx_sf |
nic              1057 drivers/net/ethernet/intel/e100.c 		((nic->mac >= mac_82558_D101_A4) ? cb_cid : cb_i));
nic              1060 drivers/net/ethernet/intel/e100.c 	nic->blank_rfd.command = 0;
nic              1061 drivers/net/ethernet/intel/e100.c 	nic->blank_rfd.rbd = cpu_to_le32(0xFFFFFFFF);
nic              1062 drivers/net/ethernet/intel/e100.c 	nic->blank_rfd.size = cpu_to_le16(VLAN_ETH_FRAME_LEN + ETH_FCS_LEN);
nic              1065 drivers/net/ethernet/intel/e100.c 	nic->mii.phy_id_mask = 0x1F;
nic              1066 drivers/net/ethernet/intel/e100.c 	nic->mii.reg_num_mask = 0x1F;
nic              1067 drivers/net/ethernet/intel/e100.c 	nic->mii.dev = nic->netdev;
nic              1068 drivers/net/ethernet/intel/e100.c 	nic->mii.mdio_read = mdio_read;
nic              1069 drivers/net/ethernet/intel/e100.c 	nic->mii.mdio_write = mdio_write;
nic              1072 drivers/net/ethernet/intel/e100.c static int e100_configure(struct nic *nic, struct cb *cb, struct sk_buff *skb)
nic              1076 drivers/net/ethernet/intel/e100.c 	struct net_device *netdev = nic->netdev;
nic              1089 drivers/net/ethernet/intel/e100.c 	if (e100_phy_supports_mii(nic))
nic              1108 drivers/net/ethernet/intel/e100.c 	config->adaptive_ifs = nic->adaptive_ifs;
nic              1109 drivers/net/ethernet/intel/e100.c 	config->loopback = nic->loopback;
nic              1111 drivers/net/ethernet/intel/e100.c 	if (nic->mii.force_media && nic->mii.full_duplex)
nic              1114 drivers/net/ethernet/intel/e100.c 	if (nic->flags & promiscuous || nic->loopback) {
nic              1123 drivers/net/ethernet/intel/e100.c 	if (nic->flags & multicast_all)
nic              1127 drivers/net/ethernet/intel/e100.c 	if (netif_running(nic->netdev) || !(nic->flags & wol_magic))
nic              1130 drivers/net/ethernet/intel/e100.c 	if (nic->mac >= mac_82558_D101_A4) {
nic              1135 drivers/net/ethernet/intel/e100.c 		if (nic->mac >= mac_82559_D101M) {
nic              1138 drivers/net/ethernet/intel/e100.c 			if (nic->mac >= mac_82551_10) {
nic              1153 drivers/net/ethernet/intel/e100.c 	netif_printk(nic, hw, KERN_DEBUG, nic->netdev, "[00-07]=%8ph\n",
nic              1155 drivers/net/ethernet/intel/e100.c 	netif_printk(nic, hw, KERN_DEBUG, nic->netdev, "[08-15]=%8ph\n",
nic              1157 drivers/net/ethernet/intel/e100.c 	netif_printk(nic, hw, KERN_DEBUG, nic->netdev, "[16-23]=%8ph\n",
nic              1222 drivers/net/ethernet/intel/e100.c static const struct firmware *e100_request_firmware(struct nic *nic)
nic              1225 drivers/net/ethernet/intel/e100.c 	const struct firmware *fw = nic->fw;
nic              1231 drivers/net/ethernet/intel/e100.c 	if (nic->flags & ich)
nic              1247 drivers/net/ethernet/intel/e100.c 	if (nic->mac == mac_82559_D101M) {
nic              1249 drivers/net/ethernet/intel/e100.c 	} else if (nic->mac == mac_82559_D101S) {
nic              1251 drivers/net/ethernet/intel/e100.c 	} else if (nic->mac == mac_82551_F || nic->mac == mac_82551_10) {
nic              1264 drivers/net/ethernet/intel/e100.c 		err = request_firmware(&fw, fw_name, &nic->pdev->dev);
nic              1268 drivers/net/ethernet/intel/e100.c 			netif_err(nic, probe, nic->netdev,
nic              1273 drivers/net/ethernet/intel/e100.c 			netif_info(nic, probe, nic->netdev,
nic              1283 drivers/net/ethernet/intel/e100.c 		netif_err(nic, probe, nic->netdev,
nic              1297 drivers/net/ethernet/intel/e100.c 		netif_err(nic, probe, nic->netdev,
nic              1306 drivers/net/ethernet/intel/e100.c 	nic->fw = fw;
nic              1310 drivers/net/ethernet/intel/e100.c static int e100_setup_ucode(struct nic *nic, struct cb *cb,
nic              1340 drivers/net/ethernet/intel/e100.c static inline int e100_load_ucode_wait(struct nic *nic)
nic              1344 drivers/net/ethernet/intel/e100.c 	struct cb *cb = nic->cb_to_clean;
nic              1346 drivers/net/ethernet/intel/e100.c 	fw = e100_request_firmware(nic);
nic              1351 drivers/net/ethernet/intel/e100.c 	if ((err = e100_exec_cb(nic, (void *)fw, e100_setup_ucode)))
nic              1352 drivers/net/ethernet/intel/e100.c 		netif_err(nic, probe, nic->netdev,
nic              1356 drivers/net/ethernet/intel/e100.c 	nic->cuc_cmd = cuc_start;
nic              1359 drivers/net/ethernet/intel/e100.c 	e100_write_flush(nic);
nic              1369 drivers/net/ethernet/intel/e100.c 	iowrite8(~0, &nic->csr->scb.stat_ack);
nic              1373 drivers/net/ethernet/intel/e100.c 		netif_err(nic, probe, nic->netdev, "ucode load failed\n");
nic              1380 drivers/net/ethernet/intel/e100.c static int e100_setup_iaaddr(struct nic *nic, struct cb *cb,
nic              1384 drivers/net/ethernet/intel/e100.c 	memcpy(cb->u.iaaddr, nic->netdev->dev_addr, ETH_ALEN);
nic              1388 drivers/net/ethernet/intel/e100.c static int e100_dump(struct nic *nic, struct cb *cb, struct sk_buff *skb)
nic              1391 drivers/net/ethernet/intel/e100.c 	cb->u.dump_buffer_addr = cpu_to_le32(nic->dma_addr +
nic              1396 drivers/net/ethernet/intel/e100.c static int e100_phy_check_without_mii(struct nic *nic)
nic              1401 drivers/net/ethernet/intel/e100.c 	phy_type = (nic->eeprom[eeprom_phy_iface] >> 8) & 0x0f;
nic              1413 drivers/net/ethernet/intel/e100.c 		netif_info(nic, probe, nic->netdev,
nic              1416 drivers/net/ethernet/intel/e100.c 		nic->mdio_ctrl = mdio_ctrl_phy_mii_emulated;
nic              1417 drivers/net/ethernet/intel/e100.c 		nic->mii.phy_id = 0; /* is this ok for an MII-less PHY? */
nic              1437 drivers/net/ethernet/intel/e100.c static int e100_phy_init(struct nic *nic)
nic              1439 drivers/net/ethernet/intel/e100.c 	struct net_device *netdev = nic->netdev;
nic              1445 drivers/net/ethernet/intel/e100.c 		nic->mii.phy_id = (addr == 0) ? 1 : (addr == 1) ? 0 : addr;
nic              1446 drivers/net/ethernet/intel/e100.c 		bmcr = mdio_read(netdev, nic->mii.phy_id, MII_BMCR);
nic              1447 drivers/net/ethernet/intel/e100.c 		stat = mdio_read(netdev, nic->mii.phy_id, MII_BMSR);
nic              1448 drivers/net/ethernet/intel/e100.c 		stat = mdio_read(netdev, nic->mii.phy_id, MII_BMSR);
nic              1457 drivers/net/ethernet/intel/e100.c 		if (e100_phy_check_without_mii(nic))
nic              1461 drivers/net/ethernet/intel/e100.c 			netif_err(nic, hw, nic->netdev,
nic              1466 drivers/net/ethernet/intel/e100.c 		netif_printk(nic, hw, KERN_DEBUG, nic->netdev,
nic              1467 drivers/net/ethernet/intel/e100.c 			     "phy_addr = %d\n", nic->mii.phy_id);
nic              1470 drivers/net/ethernet/intel/e100.c 	id_lo = mdio_read(netdev, nic->mii.phy_id, MII_PHYSID1);
nic              1471 drivers/net/ethernet/intel/e100.c 	id_hi = mdio_read(netdev, nic->mii.phy_id, MII_PHYSID2);
nic              1472 drivers/net/ethernet/intel/e100.c 	nic->phy = (u32)id_hi << 16 | (u32)id_lo;
nic              1473 drivers/net/ethernet/intel/e100.c 	netif_printk(nic, hw, KERN_DEBUG, nic->netdev,
nic              1474 drivers/net/ethernet/intel/e100.c 		     "phy ID = 0x%08X\n", nic->phy);
nic              1478 drivers/net/ethernet/intel/e100.c 		if (addr != nic->mii.phy_id) {
nic              1480 drivers/net/ethernet/intel/e100.c 		} else if (nic->phy != phy_82552_v) {
nic              1491 drivers/net/ethernet/intel/e100.c 	if (nic->phy == phy_82552_v)
nic              1492 drivers/net/ethernet/intel/e100.c 		mdio_write(netdev, nic->mii.phy_id, MII_BMCR,
nic              1497 drivers/net/ethernet/intel/e100.c 	if ((nic->phy & NCS_PHY_MODEL_MASK) == phy_nsc_tx) {
nic              1499 drivers/net/ethernet/intel/e100.c 		cong = mdio_read(netdev, nic->mii.phy_id, MII_NSC_CONG);
nic              1502 drivers/net/ethernet/intel/e100.c 		mdio_write(netdev, nic->mii.phy_id, MII_NSC_CONG, cong);
nic              1505 drivers/net/ethernet/intel/e100.c 	if (nic->phy == phy_82552_v) {
nic              1506 drivers/net/ethernet/intel/e100.c 		u16 advert = mdio_read(netdev, nic->mii.phy_id, MII_ADVERTISE);
nic              1509 drivers/net/ethernet/intel/e100.c 		nic->mdio_ctrl = mdio_ctrl_phy_82552_v;
nic              1513 drivers/net/ethernet/intel/e100.c 		mdio_write(netdev, nic->mii.phy_id, MII_ADVERTISE, advert);
nic              1516 drivers/net/ethernet/intel/e100.c 		bmcr = mdio_read(netdev, nic->mii.phy_id, MII_BMCR);
nic              1518 drivers/net/ethernet/intel/e100.c 		mdio_write(netdev, nic->mii.phy_id, MII_BMCR, bmcr);
nic              1519 drivers/net/ethernet/intel/e100.c 	} else if ((nic->mac >= mac_82550_D102) || ((nic->flags & ich) &&
nic              1520 drivers/net/ethernet/intel/e100.c 	   (mdio_read(netdev, nic->mii.phy_id, MII_TPISTATUS) & 0x8000) &&
nic              1521 drivers/net/ethernet/intel/e100.c 		(nic->eeprom[eeprom_cnfg_mdix] & eeprom_mdix_enabled))) {
nic              1523 drivers/net/ethernet/intel/e100.c 		mdio_write(netdev, nic->mii.phy_id, MII_NCONFIG,
nic              1524 drivers/net/ethernet/intel/e100.c 				nic->mii.force_media ? 0 : NCONFIG_AUTO_SWITCH);
nic              1530 drivers/net/ethernet/intel/e100.c static int e100_hw_init(struct nic *nic)
nic              1534 drivers/net/ethernet/intel/e100.c 	e100_hw_reset(nic);
nic              1536 drivers/net/ethernet/intel/e100.c 	netif_err(nic, hw, nic->netdev, "e100_hw_init\n");
nic              1537 drivers/net/ethernet/intel/e100.c 	if (!in_interrupt() && (err = e100_self_test(nic)))
nic              1540 drivers/net/ethernet/intel/e100.c 	if ((err = e100_phy_init(nic)))
nic              1542 drivers/net/ethernet/intel/e100.c 	if ((err = e100_exec_cmd(nic, cuc_load_base, 0)))
nic              1544 drivers/net/ethernet/intel/e100.c 	if ((err = e100_exec_cmd(nic, ruc_load_base, 0)))
nic              1546 drivers/net/ethernet/intel/e100.c 	if ((err = e100_load_ucode_wait(nic)))
nic              1548 drivers/net/ethernet/intel/e100.c 	if ((err = e100_exec_cb(nic, NULL, e100_configure)))
nic              1550 drivers/net/ethernet/intel/e100.c 	if ((err = e100_exec_cb(nic, NULL, e100_setup_iaaddr)))
nic              1552 drivers/net/ethernet/intel/e100.c 	if ((err = e100_exec_cmd(nic, cuc_dump_addr,
nic              1553 drivers/net/ethernet/intel/e100.c 		nic->dma_addr + offsetof(struct mem, stats))))
nic              1555 drivers/net/ethernet/intel/e100.c 	if ((err = e100_exec_cmd(nic, cuc_dump_reset, 0)))
nic              1558 drivers/net/ethernet/intel/e100.c 	e100_disable_irq(nic);
nic              1563 drivers/net/ethernet/intel/e100.c static int e100_multi(struct nic *nic, struct cb *cb, struct sk_buff *skb)
nic              1565 drivers/net/ethernet/intel/e100.c 	struct net_device *netdev = nic->netdev;
nic              1583 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              1585 drivers/net/ethernet/intel/e100.c 	netif_printk(nic, hw, KERN_DEBUG, nic->netdev,
nic              1590 drivers/net/ethernet/intel/e100.c 		nic->flags |= promiscuous;
nic              1592 drivers/net/ethernet/intel/e100.c 		nic->flags &= ~promiscuous;
nic              1596 drivers/net/ethernet/intel/e100.c 		nic->flags |= multicast_all;
nic              1598 drivers/net/ethernet/intel/e100.c 		nic->flags &= ~multicast_all;
nic              1600 drivers/net/ethernet/intel/e100.c 	e100_exec_cb(nic, NULL, e100_configure);
nic              1601 drivers/net/ethernet/intel/e100.c 	e100_exec_cb(nic, NULL, e100_multi);
nic              1604 drivers/net/ethernet/intel/e100.c static void e100_update_stats(struct nic *nic)
nic              1606 drivers/net/ethernet/intel/e100.c 	struct net_device *dev = nic->netdev;
nic              1608 drivers/net/ethernet/intel/e100.c 	struct stats *s = &nic->mem->stats;
nic              1609 drivers/net/ethernet/intel/e100.c 	__le32 *complete = (nic->mac < mac_82558_D101_A4) ? &s->fc_xmt_pause :
nic              1610 drivers/net/ethernet/intel/e100.c 		(nic->mac < mac_82559_D101M) ? (__le32 *)&s->xmt_tco_frames :
nic              1619 drivers/net/ethernet/intel/e100.c 		nic->tx_frames = le32_to_cpu(s->tx_good_frames);
nic              1620 drivers/net/ethernet/intel/e100.c 		nic->tx_collisions = le32_to_cpu(s->tx_total_collisions);
nic              1625 drivers/net/ethernet/intel/e100.c 		ns->collisions += nic->tx_collisions;
nic              1628 drivers/net/ethernet/intel/e100.c 		nic->rx_short_frame_errors +=
nic              1630 drivers/net/ethernet/intel/e100.c 		ns->rx_length_errors = nic->rx_short_frame_errors +
nic              1631 drivers/net/ethernet/intel/e100.c 			nic->rx_over_length_errors;
nic              1641 drivers/net/ethernet/intel/e100.c 		nic->tx_deferred += le32_to_cpu(s->tx_deferred);
nic              1642 drivers/net/ethernet/intel/e100.c 		nic->tx_single_collisions +=
nic              1644 drivers/net/ethernet/intel/e100.c 		nic->tx_multiple_collisions +=
nic              1646 drivers/net/ethernet/intel/e100.c 		if (nic->mac >= mac_82558_D101_A4) {
nic              1647 drivers/net/ethernet/intel/e100.c 			nic->tx_fc_pause += le32_to_cpu(s->fc_xmt_pause);
nic              1648 drivers/net/ethernet/intel/e100.c 			nic->rx_fc_pause += le32_to_cpu(s->fc_rcv_pause);
nic              1649 drivers/net/ethernet/intel/e100.c 			nic->rx_fc_unsupported +=
nic              1651 drivers/net/ethernet/intel/e100.c 			if (nic->mac >= mac_82559_D101M) {
nic              1652 drivers/net/ethernet/intel/e100.c 				nic->tx_tco_frames +=
nic              1654 drivers/net/ethernet/intel/e100.c 				nic->rx_tco_frames +=
nic              1661 drivers/net/ethernet/intel/e100.c 	if (e100_exec_cmd(nic, cuc_dump_reset, 0))
nic              1662 drivers/net/ethernet/intel/e100.c 		netif_printk(nic, tx_err, KERN_DEBUG, nic->netdev,
nic              1666 drivers/net/ethernet/intel/e100.c static void e100_adjust_adaptive_ifs(struct nic *nic, int speed, int duplex)
nic              1672 drivers/net/ethernet/intel/e100.c 		u32 prev = nic->adaptive_ifs;
nic              1675 drivers/net/ethernet/intel/e100.c 		if ((nic->tx_frames / 32 < nic->tx_collisions) &&
nic              1676 drivers/net/ethernet/intel/e100.c 		   (nic->tx_frames > min_frames)) {
nic              1677 drivers/net/ethernet/intel/e100.c 			if (nic->adaptive_ifs < 60)
nic              1678 drivers/net/ethernet/intel/e100.c 				nic->adaptive_ifs += 5;
nic              1679 drivers/net/ethernet/intel/e100.c 		} else if (nic->tx_frames < min_frames) {
nic              1680 drivers/net/ethernet/intel/e100.c 			if (nic->adaptive_ifs >= 5)
nic              1681 drivers/net/ethernet/intel/e100.c 				nic->adaptive_ifs -= 5;
nic              1683 drivers/net/ethernet/intel/e100.c 		if (nic->adaptive_ifs != prev)
nic              1684 drivers/net/ethernet/intel/e100.c 			e100_exec_cb(nic, NULL, e100_configure);
nic              1690 drivers/net/ethernet/intel/e100.c 	struct nic *nic = from_timer(nic, t, watchdog);
nic              1694 drivers/net/ethernet/intel/e100.c 	netif_printk(nic, timer, KERN_DEBUG, nic->netdev,
nic              1699 drivers/net/ethernet/intel/e100.c 	mii_ethtool_gset(&nic->mii, &cmd);
nic              1702 drivers/net/ethernet/intel/e100.c 	if (mii_link_ok(&nic->mii) && !netif_carrier_ok(nic->netdev)) {
nic              1703 drivers/net/ethernet/intel/e100.c 		netdev_info(nic->netdev, "NIC Link is Up %u Mbps %s Duplex\n",
nic              1706 drivers/net/ethernet/intel/e100.c 	} else if (!mii_link_ok(&nic->mii) && netif_carrier_ok(nic->netdev)) {
nic              1707 drivers/net/ethernet/intel/e100.c 		netdev_info(nic->netdev, "NIC Link is Down\n");
nic              1710 drivers/net/ethernet/intel/e100.c 	mii_check_link(&nic->mii);
nic              1717 drivers/net/ethernet/intel/e100.c 	spin_lock_irq(&nic->cmd_lock);
nic              1718 drivers/net/ethernet/intel/e100.c 	iowrite8(ioread8(&nic->csr->scb.cmd_hi) | irq_sw_gen,&nic->csr->scb.cmd_hi);
nic              1719 drivers/net/ethernet/intel/e100.c 	e100_write_flush(nic);
nic              1720 drivers/net/ethernet/intel/e100.c 	spin_unlock_irq(&nic->cmd_lock);
nic              1722 drivers/net/ethernet/intel/e100.c 	e100_update_stats(nic);
nic              1723 drivers/net/ethernet/intel/e100.c 	e100_adjust_adaptive_ifs(nic, speed, cmd.duplex);
nic              1725 drivers/net/ethernet/intel/e100.c 	if (nic->mac <= mac_82557_D100_C)
nic              1727 drivers/net/ethernet/intel/e100.c 		e100_set_multicast_list(nic->netdev);
nic              1729 drivers/net/ethernet/intel/e100.c 	if (nic->flags & ich && speed == SPEED_10 && cmd.duplex == DUPLEX_HALF)
nic              1731 drivers/net/ethernet/intel/e100.c 		nic->flags |= ich_10h_workaround;
nic              1733 drivers/net/ethernet/intel/e100.c 		nic->flags &= ~ich_10h_workaround;
nic              1735 drivers/net/ethernet/intel/e100.c 	mod_timer(&nic->watchdog,
nic              1739 drivers/net/ethernet/intel/e100.c static int e100_xmit_prepare(struct nic *nic, struct cb *cb,
nic              1743 drivers/net/ethernet/intel/e100.c 	cb->command = nic->tx_command;
nic              1745 drivers/net/ethernet/intel/e100.c 	dma_addr = pci_map_single(nic->pdev,
nic              1748 drivers/net/ethernet/intel/e100.c 	if (pci_dma_mapping_error(nic->pdev, dma_addr)) {
nic              1764 drivers/net/ethernet/intel/e100.c 	if ((nic->cbs_avail & ~15) == nic->cbs_avail)
nic              1768 drivers/net/ethernet/intel/e100.c 	cb->u.tcb.threshold = nic->tx_threshold;
nic              1779 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              1782 drivers/net/ethernet/intel/e100.c 	if (nic->flags & ich_10h_workaround) {
nic              1786 drivers/net/ethernet/intel/e100.c 		if (e100_exec_cmd(nic, cuc_nop, 0))
nic              1787 drivers/net/ethernet/intel/e100.c 			netif_printk(nic, tx_err, KERN_DEBUG, nic->netdev,
nic              1792 drivers/net/ethernet/intel/e100.c 	err = e100_exec_cb(nic, skb, e100_xmit_prepare);
nic              1797 drivers/net/ethernet/intel/e100.c 		netif_printk(nic, tx_err, KERN_DEBUG, nic->netdev,
nic              1803 drivers/net/ethernet/intel/e100.c 		netif_printk(nic, tx_err, KERN_DEBUG, nic->netdev,
nic              1812 drivers/net/ethernet/intel/e100.c static int e100_tx_clean(struct nic *nic)
nic              1814 drivers/net/ethernet/intel/e100.c 	struct net_device *dev = nic->netdev;
nic              1818 drivers/net/ethernet/intel/e100.c 	spin_lock(&nic->cb_lock);
nic              1821 drivers/net/ethernet/intel/e100.c 	for (cb = nic->cb_to_clean;
nic              1823 drivers/net/ethernet/intel/e100.c 	    cb = nic->cb_to_clean = cb->next) {
nic              1825 drivers/net/ethernet/intel/e100.c 		netif_printk(nic, tx_done, KERN_DEBUG, nic->netdev,
nic              1827 drivers/net/ethernet/intel/e100.c 			     (int)(((void*)cb - (void*)nic->cbs)/sizeof(struct cb)),
nic              1834 drivers/net/ethernet/intel/e100.c 			pci_unmap_single(nic->pdev,
nic              1843 drivers/net/ethernet/intel/e100.c 		nic->cbs_avail++;
nic              1846 drivers/net/ethernet/intel/e100.c 	spin_unlock(&nic->cb_lock);
nic              1849 drivers/net/ethernet/intel/e100.c 	if (unlikely(tx_cleaned && netif_queue_stopped(nic->netdev)))
nic              1850 drivers/net/ethernet/intel/e100.c 		netif_wake_queue(nic->netdev);
nic              1855 drivers/net/ethernet/intel/e100.c static void e100_clean_cbs(struct nic *nic)
nic              1857 drivers/net/ethernet/intel/e100.c 	if (nic->cbs) {
nic              1858 drivers/net/ethernet/intel/e100.c 		while (nic->cbs_avail != nic->params.cbs.count) {
nic              1859 drivers/net/ethernet/intel/e100.c 			struct cb *cb = nic->cb_to_clean;
nic              1861 drivers/net/ethernet/intel/e100.c 				pci_unmap_single(nic->pdev,
nic              1867 drivers/net/ethernet/intel/e100.c 			nic->cb_to_clean = nic->cb_to_clean->next;
nic              1868 drivers/net/ethernet/intel/e100.c 			nic->cbs_avail++;
nic              1870 drivers/net/ethernet/intel/e100.c 		dma_pool_free(nic->cbs_pool, nic->cbs, nic->cbs_dma_addr);
nic              1871 drivers/net/ethernet/intel/e100.c 		nic->cbs = NULL;
nic              1872 drivers/net/ethernet/intel/e100.c 		nic->cbs_avail = 0;
nic              1874 drivers/net/ethernet/intel/e100.c 	nic->cuc_cmd = cuc_start;
nic              1875 drivers/net/ethernet/intel/e100.c 	nic->cb_to_use = nic->cb_to_send = nic->cb_to_clean =
nic              1876 drivers/net/ethernet/intel/e100.c 		nic->cbs;
nic              1879 drivers/net/ethernet/intel/e100.c static int e100_alloc_cbs(struct nic *nic)
nic              1882 drivers/net/ethernet/intel/e100.c 	unsigned int i, count = nic->params.cbs.count;
nic              1884 drivers/net/ethernet/intel/e100.c 	nic->cuc_cmd = cuc_start;
nic              1885 drivers/net/ethernet/intel/e100.c 	nic->cb_to_use = nic->cb_to_send = nic->cb_to_clean = NULL;
nic              1886 drivers/net/ethernet/intel/e100.c 	nic->cbs_avail = 0;
nic              1888 drivers/net/ethernet/intel/e100.c 	nic->cbs = dma_pool_zalloc(nic->cbs_pool, GFP_KERNEL,
nic              1889 drivers/net/ethernet/intel/e100.c 				   &nic->cbs_dma_addr);
nic              1890 drivers/net/ethernet/intel/e100.c 	if (!nic->cbs)
nic              1893 drivers/net/ethernet/intel/e100.c 	for (cb = nic->cbs, i = 0; i < count; cb++, i++) {
nic              1894 drivers/net/ethernet/intel/e100.c 		cb->next = (i + 1 < count) ? cb + 1 : nic->cbs;
nic              1895 drivers/net/ethernet/intel/e100.c 		cb->prev = (i == 0) ? nic->cbs + count - 1 : cb - 1;
nic              1897 drivers/net/ethernet/intel/e100.c 		cb->dma_addr = nic->cbs_dma_addr + i * sizeof(struct cb);
nic              1898 drivers/net/ethernet/intel/e100.c 		cb->link = cpu_to_le32(nic->cbs_dma_addr +
nic              1902 drivers/net/ethernet/intel/e100.c 	nic->cb_to_use = nic->cb_to_send = nic->cb_to_clean = nic->cbs;
nic              1903 drivers/net/ethernet/intel/e100.c 	nic->cbs_avail = count;
nic              1908 drivers/net/ethernet/intel/e100.c static inline void e100_start_receiver(struct nic *nic, struct rx *rx)
nic              1910 drivers/net/ethernet/intel/e100.c 	if (!nic->rxs) return;
nic              1911 drivers/net/ethernet/intel/e100.c 	if (RU_SUSPENDED != nic->ru_running) return;
nic              1914 drivers/net/ethernet/intel/e100.c 	if (!rx) rx = nic->rxs;
nic              1918 drivers/net/ethernet/intel/e100.c 		e100_exec_cmd(nic, ruc_start, rx->dma_addr);
nic              1919 drivers/net/ethernet/intel/e100.c 		nic->ru_running = RU_RUNNING;
nic              1924 drivers/net/ethernet/intel/e100.c static int e100_rx_alloc_skb(struct nic *nic, struct rx *rx)
nic              1926 drivers/net/ethernet/intel/e100.c 	if (!(rx->skb = netdev_alloc_skb_ip_align(nic->netdev, RFD_BUF_LEN)))
nic              1930 drivers/net/ethernet/intel/e100.c 	skb_copy_to_linear_data(rx->skb, &nic->blank_rfd, sizeof(struct rfd));
nic              1931 drivers/net/ethernet/intel/e100.c 	rx->dma_addr = pci_map_single(nic->pdev, rx->skb->data,
nic              1934 drivers/net/ethernet/intel/e100.c 	if (pci_dma_mapping_error(nic->pdev, rx->dma_addr)) {
nic              1947 drivers/net/ethernet/intel/e100.c 		pci_dma_sync_single_for_device(nic->pdev, rx->prev->dma_addr,
nic              1954 drivers/net/ethernet/intel/e100.c static int e100_rx_indicate(struct nic *nic, struct rx *rx,
nic              1957 drivers/net/ethernet/intel/e100.c 	struct net_device *dev = nic->netdev;
nic              1967 drivers/net/ethernet/intel/e100.c 	pci_dma_sync_single_for_cpu(nic->pdev, rx->dma_addr,
nic              1971 drivers/net/ethernet/intel/e100.c 	netif_printk(nic, rx_status, KERN_DEBUG, nic->netdev,
nic              1983 drivers/net/ethernet/intel/e100.c 		    (RU_RUNNING == nic->ru_running))
nic              1985 drivers/net/ethernet/intel/e100.c 			if (ioread8(&nic->csr->scb.status) & rus_no_res)
nic              1986 drivers/net/ethernet/intel/e100.c 				nic->ru_running = RU_SUSPENDED;
nic              1987 drivers/net/ethernet/intel/e100.c 		pci_dma_sync_single_for_device(nic->pdev, rx->dma_addr,
nic              2001 drivers/net/ethernet/intel/e100.c 	pci_unmap_single(nic->pdev, rx->dma_addr,
nic              2011 drivers/net/ethernet/intel/e100.c 	    (RU_RUNNING == nic->ru_running)) {
nic              2013 drivers/net/ethernet/intel/e100.c 	    if (ioread8(&nic->csr->scb.status) & rus_no_res)
nic              2014 drivers/net/ethernet/intel/e100.c 		nic->ru_running = RU_SUSPENDED;
nic              2020 drivers/net/ethernet/intel/e100.c 	skb->protocol = eth_type_trans(skb, nic->netdev);
nic              2028 drivers/net/ethernet/intel/e100.c 			nic->rx_over_length_errors++;
nic              2037 drivers/net/ethernet/intel/e100.c 		nic->rx_over_length_errors++;
nic              2053 drivers/net/ethernet/intel/e100.c static void e100_rx_clean(struct nic *nic, unsigned int *work_done,
nic              2062 drivers/net/ethernet/intel/e100.c 	for (rx = nic->rx_to_clean; rx->skb; rx = nic->rx_to_clean = rx->next) {
nic              2063 drivers/net/ethernet/intel/e100.c 		err = e100_rx_indicate(nic, rx, work_done, work_to_do);
nic              2076 drivers/net/ethernet/intel/e100.c 	if (-EAGAIN != err && RU_SUSPENDED == nic->ru_running)
nic              2079 drivers/net/ethernet/intel/e100.c 	old_before_last_rx = nic->rx_to_use->prev->prev;
nic              2083 drivers/net/ethernet/intel/e100.c 	for (rx = nic->rx_to_use; !rx->skb; rx = nic->rx_to_use = rx->next) {
nic              2084 drivers/net/ethernet/intel/e100.c 		if (unlikely(e100_rx_alloc_skb(nic, rx)))
nic              2088 drivers/net/ethernet/intel/e100.c 	new_before_last_rx = nic->rx_to_use->prev->prev;
nic              2103 drivers/net/ethernet/intel/e100.c 		pci_dma_sync_single_for_device(nic->pdev,
nic              2111 drivers/net/ethernet/intel/e100.c 		pci_dma_sync_single_for_device(nic->pdev,
nic              2116 drivers/net/ethernet/intel/e100.c 		pci_dma_sync_single_for_device(nic->pdev,
nic              2123 drivers/net/ethernet/intel/e100.c 		iowrite8(stat_ack_rnr, &nic->csr->scb.stat_ack);
nic              2124 drivers/net/ethernet/intel/e100.c 		e100_start_receiver(nic, nic->rx_to_clean);
nic              2130 drivers/net/ethernet/intel/e100.c static void e100_rx_clean_list(struct nic *nic)
nic              2133 drivers/net/ethernet/intel/e100.c 	unsigned int i, count = nic->params.rfds.count;
nic              2135 drivers/net/ethernet/intel/e100.c 	nic->ru_running = RU_UNINITIALIZED;
nic              2137 drivers/net/ethernet/intel/e100.c 	if (nic->rxs) {
nic              2138 drivers/net/ethernet/intel/e100.c 		for (rx = nic->rxs, i = 0; i < count; rx++, i++) {
nic              2140 drivers/net/ethernet/intel/e100.c 				pci_unmap_single(nic->pdev, rx->dma_addr,
nic              2145 drivers/net/ethernet/intel/e100.c 		kfree(nic->rxs);
nic              2146 drivers/net/ethernet/intel/e100.c 		nic->rxs = NULL;
nic              2149 drivers/net/ethernet/intel/e100.c 	nic->rx_to_use = nic->rx_to_clean = NULL;
nic              2152 drivers/net/ethernet/intel/e100.c static int e100_rx_alloc_list(struct nic *nic)
nic              2155 drivers/net/ethernet/intel/e100.c 	unsigned int i, count = nic->params.rfds.count;
nic              2158 drivers/net/ethernet/intel/e100.c 	nic->rx_to_use = nic->rx_to_clean = NULL;
nic              2159 drivers/net/ethernet/intel/e100.c 	nic->ru_running = RU_UNINITIALIZED;
nic              2161 drivers/net/ethernet/intel/e100.c 	if (!(nic->rxs = kcalloc(count, sizeof(struct rx), GFP_ATOMIC)))
nic              2164 drivers/net/ethernet/intel/e100.c 	for (rx = nic->rxs, i = 0; i < count; rx++, i++) {
nic              2165 drivers/net/ethernet/intel/e100.c 		rx->next = (i + 1 < count) ? rx + 1 : nic->rxs;
nic              2166 drivers/net/ethernet/intel/e100.c 		rx->prev = (i == 0) ? nic->rxs + count - 1 : rx - 1;
nic              2167 drivers/net/ethernet/intel/e100.c 		if (e100_rx_alloc_skb(nic, rx)) {
nic              2168 drivers/net/ethernet/intel/e100.c 			e100_rx_clean_list(nic);
nic              2179 drivers/net/ethernet/intel/e100.c 	rx = nic->rxs->prev->prev;
nic              2183 drivers/net/ethernet/intel/e100.c 	pci_dma_sync_single_for_device(nic->pdev, rx->dma_addr,
nic              2186 drivers/net/ethernet/intel/e100.c 	nic->rx_to_use = nic->rx_to_clean = nic->rxs;
nic              2187 drivers/net/ethernet/intel/e100.c 	nic->ru_running = RU_SUSPENDED;
nic              2195 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2196 drivers/net/ethernet/intel/e100.c 	u8 stat_ack = ioread8(&nic->csr->scb.stat_ack);
nic              2198 drivers/net/ethernet/intel/e100.c 	netif_printk(nic, intr, KERN_DEBUG, nic->netdev,
nic              2206 drivers/net/ethernet/intel/e100.c 	iowrite8(stat_ack, &nic->csr->scb.stat_ack);
nic              2210 drivers/net/ethernet/intel/e100.c 		nic->ru_running = RU_SUSPENDED;
nic              2212 drivers/net/ethernet/intel/e100.c 	if (likely(napi_schedule_prep(&nic->napi))) {
nic              2213 drivers/net/ethernet/intel/e100.c 		e100_disable_irq(nic);
nic              2214 drivers/net/ethernet/intel/e100.c 		__napi_schedule(&nic->napi);
nic              2222 drivers/net/ethernet/intel/e100.c 	struct nic *nic = container_of(napi, struct nic, napi);
nic              2225 drivers/net/ethernet/intel/e100.c 	e100_rx_clean(nic, &work_done, budget);
nic              2226 drivers/net/ethernet/intel/e100.c 	e100_tx_clean(nic);
nic              2234 drivers/net/ethernet/intel/e100.c 		e100_enable_irq(nic);
nic              2242 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2244 drivers/net/ethernet/intel/e100.c 	e100_disable_irq(nic);
nic              2245 drivers/net/ethernet/intel/e100.c 	e100_intr(nic->pdev->irq, netdev);
nic              2246 drivers/net/ethernet/intel/e100.c 	e100_tx_clean(nic);
nic              2247 drivers/net/ethernet/intel/e100.c 	e100_enable_irq(nic);
nic              2253 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2260 drivers/net/ethernet/intel/e100.c 	e100_exec_cb(nic, NULL, e100_setup_iaaddr);
nic              2265 drivers/net/ethernet/intel/e100.c static int e100_asf(struct nic *nic)
nic              2268 drivers/net/ethernet/intel/e100.c 	return (nic->pdev->device >= 0x1050) && (nic->pdev->device <= 0x1057) &&
nic              2269 drivers/net/ethernet/intel/e100.c 	   (nic->eeprom[eeprom_config_asf] & eeprom_asf) &&
nic              2270 drivers/net/ethernet/intel/e100.c 	   !(nic->eeprom[eeprom_config_asf] & eeprom_gcl) &&
nic              2271 drivers/net/ethernet/intel/e100.c 	   ((nic->eeprom[eeprom_smbus_addr] & 0xFF) != 0xFE);
nic              2274 drivers/net/ethernet/intel/e100.c static int e100_up(struct nic *nic)
nic              2278 drivers/net/ethernet/intel/e100.c 	if ((err = e100_rx_alloc_list(nic)))
nic              2280 drivers/net/ethernet/intel/e100.c 	if ((err = e100_alloc_cbs(nic)))
nic              2282 drivers/net/ethernet/intel/e100.c 	if ((err = e100_hw_init(nic)))
nic              2284 drivers/net/ethernet/intel/e100.c 	e100_set_multicast_list(nic->netdev);
nic              2285 drivers/net/ethernet/intel/e100.c 	e100_start_receiver(nic, NULL);
nic              2286 drivers/net/ethernet/intel/e100.c 	mod_timer(&nic->watchdog, jiffies);
nic              2287 drivers/net/ethernet/intel/e100.c 	if ((err = request_irq(nic->pdev->irq, e100_intr, IRQF_SHARED,
nic              2288 drivers/net/ethernet/intel/e100.c 		nic->netdev->name, nic->netdev)))
nic              2290 drivers/net/ethernet/intel/e100.c 	netif_wake_queue(nic->netdev);
nic              2291 drivers/net/ethernet/intel/e100.c 	napi_enable(&nic->napi);
nic              2294 drivers/net/ethernet/intel/e100.c 	e100_enable_irq(nic);
nic              2298 drivers/net/ethernet/intel/e100.c 	del_timer_sync(&nic->watchdog);
nic              2300 drivers/net/ethernet/intel/e100.c 	e100_clean_cbs(nic);
nic              2302 drivers/net/ethernet/intel/e100.c 	e100_rx_clean_list(nic);
nic              2306 drivers/net/ethernet/intel/e100.c static void e100_down(struct nic *nic)
nic              2309 drivers/net/ethernet/intel/e100.c 	napi_disable(&nic->napi);
nic              2310 drivers/net/ethernet/intel/e100.c 	netif_stop_queue(nic->netdev);
nic              2311 drivers/net/ethernet/intel/e100.c 	e100_hw_reset(nic);
nic              2312 drivers/net/ethernet/intel/e100.c 	free_irq(nic->pdev->irq, nic->netdev);
nic              2313 drivers/net/ethernet/intel/e100.c 	del_timer_sync(&nic->watchdog);
nic              2314 drivers/net/ethernet/intel/e100.c 	netif_carrier_off(nic->netdev);
nic              2315 drivers/net/ethernet/intel/e100.c 	e100_clean_cbs(nic);
nic              2316 drivers/net/ethernet/intel/e100.c 	e100_rx_clean_list(nic);
nic              2321 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2325 drivers/net/ethernet/intel/e100.c 	schedule_work(&nic->tx_timeout_task);
nic              2330 drivers/net/ethernet/intel/e100.c 	struct nic *nic = container_of(work, struct nic, tx_timeout_task);
nic              2331 drivers/net/ethernet/intel/e100.c 	struct net_device *netdev = nic->netdev;
nic              2333 drivers/net/ethernet/intel/e100.c 	netif_printk(nic, tx_err, KERN_DEBUG, nic->netdev,
nic              2334 drivers/net/ethernet/intel/e100.c 		     "scb.status=0x%02X\n", ioread8(&nic->csr->scb.status));
nic              2344 drivers/net/ethernet/intel/e100.c static int e100_loopback_test(struct nic *nic, enum loopback loopback_mode)
nic              2354 drivers/net/ethernet/intel/e100.c 	if ((err = e100_rx_alloc_list(nic)))
nic              2356 drivers/net/ethernet/intel/e100.c 	if ((err = e100_alloc_cbs(nic)))
nic              2360 drivers/net/ethernet/intel/e100.c 	if (nic->flags & ich && loopback_mode == lb_phy)
nic              2363 drivers/net/ethernet/intel/e100.c 	nic->loopback = loopback_mode;
nic              2364 drivers/net/ethernet/intel/e100.c 	if ((err = e100_hw_init(nic)))
nic              2368 drivers/net/ethernet/intel/e100.c 		mdio_write(nic->netdev, nic->mii.phy_id, MII_BMCR,
nic              2371 drivers/net/ethernet/intel/e100.c 	e100_start_receiver(nic, NULL);
nic              2373 drivers/net/ethernet/intel/e100.c 	if (!(skb = netdev_alloc_skb(nic->netdev, ETH_DATA_LEN))) {
nic              2379 drivers/net/ethernet/intel/e100.c 	e100_xmit_frame(skb, nic->netdev);
nic              2383 drivers/net/ethernet/intel/e100.c 	pci_dma_sync_single_for_cpu(nic->pdev, nic->rx_to_clean->dma_addr,
nic              2386 drivers/net/ethernet/intel/e100.c 	if (memcmp(nic->rx_to_clean->skb->data + sizeof(struct rfd),
nic              2391 drivers/net/ethernet/intel/e100.c 	mdio_write(nic->netdev, nic->mii.phy_id, MII_BMCR, 0);
nic              2392 drivers/net/ethernet/intel/e100.c 	nic->loopback = lb_none;
nic              2393 drivers/net/ethernet/intel/e100.c 	e100_clean_cbs(nic);
nic              2394 drivers/net/ethernet/intel/e100.c 	e100_hw_reset(nic);
nic              2396 drivers/net/ethernet/intel/e100.c 	e100_rx_clean_list(nic);
nic              2408 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2410 drivers/net/ethernet/intel/e100.c 	mii_ethtool_get_link_ksettings(&nic->mii, cmd);
nic              2418 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2421 drivers/net/ethernet/intel/e100.c 	mdio_write(netdev, nic->mii.phy_id, MII_BMCR, BMCR_RESET);
nic              2422 drivers/net/ethernet/intel/e100.c 	err = mii_ethtool_set_link_ksettings(&nic->mii, cmd);
nic              2423 drivers/net/ethernet/intel/e100.c 	e100_exec_cb(nic, NULL, e100_configure);
nic              2431 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2434 drivers/net/ethernet/intel/e100.c 	strlcpy(info->bus_info, pci_name(nic->pdev),
nic              2441 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2442 drivers/net/ethernet/intel/e100.c 	return 1 + E100_PHY_REGS + sizeof(nic->mem->dump_buf);
nic              2448 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2452 drivers/net/ethernet/intel/e100.c 	regs->version = (1 << 24) | nic->pdev->revision;
nic              2453 drivers/net/ethernet/intel/e100.c 	buff[0] = ioread8(&nic->csr->scb.cmd_hi) << 24 |
nic              2454 drivers/net/ethernet/intel/e100.c 		ioread8(&nic->csr->scb.cmd_lo) << 16 |
nic              2455 drivers/net/ethernet/intel/e100.c 		ioread16(&nic->csr->scb.status);
nic              2458 drivers/net/ethernet/intel/e100.c 			mdio_read(netdev, nic->mii.phy_id, i);
nic              2459 drivers/net/ethernet/intel/e100.c 	memset(nic->mem->dump_buf, 0, sizeof(nic->mem->dump_buf));
nic              2460 drivers/net/ethernet/intel/e100.c 	e100_exec_cb(nic, NULL, e100_dump);
nic              2462 drivers/net/ethernet/intel/e100.c 	memcpy(&buff[2 + E100_PHY_REGS], nic->mem->dump_buf,
nic              2463 drivers/net/ethernet/intel/e100.c 		sizeof(nic->mem->dump_buf));
nic              2468 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2469 drivers/net/ethernet/intel/e100.c 	wol->supported = (nic->mac >= mac_82558_D101_A4) ?  WAKE_MAGIC : 0;
nic              2470 drivers/net/ethernet/intel/e100.c 	wol->wolopts = (nic->flags & wol_magic) ? WAKE_MAGIC : 0;
nic              2475 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2478 drivers/net/ethernet/intel/e100.c 	    !device_can_wakeup(&nic->pdev->dev))
nic              2482 drivers/net/ethernet/intel/e100.c 		nic->flags |= wol_magic;
nic              2484 drivers/net/ethernet/intel/e100.c 		nic->flags &= ~wol_magic;
nic              2486 drivers/net/ethernet/intel/e100.c 	device_set_wakeup_enable(&nic->pdev->dev, wol->wolopts);
nic              2488 drivers/net/ethernet/intel/e100.c 	e100_exec_cb(nic, NULL, e100_configure);
nic              2495 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2496 drivers/net/ethernet/intel/e100.c 	return nic->msg_enable;
nic              2501 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2502 drivers/net/ethernet/intel/e100.c 	nic->msg_enable = value;
nic              2507 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2508 drivers/net/ethernet/intel/e100.c 	return mii_nway_restart(&nic->mii);
nic              2513 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2514 drivers/net/ethernet/intel/e100.c 	return mii_link_ok(&nic->mii);
nic              2519 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2520 drivers/net/ethernet/intel/e100.c 	return nic->eeprom_wc << 1;
nic              2527 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2530 drivers/net/ethernet/intel/e100.c 	memcpy(bytes, &((u8 *)nic->eeprom)[eeprom->offset], eeprom->len);
nic              2538 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2543 drivers/net/ethernet/intel/e100.c 	memcpy(&((u8 *)nic->eeprom)[eeprom->offset], bytes, eeprom->len);
nic              2545 drivers/net/ethernet/intel/e100.c 	return e100_eeprom_save(nic, eeprom->offset >> 1,
nic              2552 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2553 drivers/net/ethernet/intel/e100.c 	struct param_range *rfds = &nic->params.rfds;
nic              2554 drivers/net/ethernet/intel/e100.c 	struct param_range *cbs = &nic->params.cbs;
nic              2565 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2566 drivers/net/ethernet/intel/e100.c 	struct param_range *rfds = &nic->params.rfds;
nic              2567 drivers/net/ethernet/intel/e100.c 	struct param_range *cbs = &nic->params.cbs;
nic              2573 drivers/net/ethernet/intel/e100.c 		e100_down(nic);
nic              2578 drivers/net/ethernet/intel/e100.c 	netif_info(nic, drv, nic->netdev, "Ring Param settings: rx: %d, tx %d\n",
nic              2581 drivers/net/ethernet/intel/e100.c 		e100_up(nic);
nic              2599 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2603 drivers/net/ethernet/intel/e100.c 	data[0] = !mii_link_ok(&nic->mii);
nic              2604 drivers/net/ethernet/intel/e100.c 	data[1] = e100_eeprom_load(nic);
nic              2608 drivers/net/ethernet/intel/e100.c 		err = mii_ethtool_gset(&nic->mii, &cmd);
nic              2611 drivers/net/ethernet/intel/e100.c 			e100_down(nic);
nic              2612 drivers/net/ethernet/intel/e100.c 		data[2] = e100_self_test(nic);
nic              2613 drivers/net/ethernet/intel/e100.c 		data[3] = e100_loopback_test(nic, lb_mac);
nic              2614 drivers/net/ethernet/intel/e100.c 		data[4] = e100_loopback_test(nic, lb_phy);
nic              2617 drivers/net/ethernet/intel/e100.c 		err = mii_ethtool_sset(&nic->mii, &cmd);
nic              2620 drivers/net/ethernet/intel/e100.c 			e100_up(nic);
nic              2631 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2638 drivers/net/ethernet/intel/e100.c 	u16 led_reg = (nic->phy == phy_82552_v) ? E100_82552_LED_OVERRIDE :
nic              2647 drivers/net/ethernet/intel/e100.c 		leds = (nic->phy == phy_82552_v) ? E100_82552_LED_ON :
nic              2648 drivers/net/ethernet/intel/e100.c 		       (nic->mac < mac_82559_D101M) ? led_on_557 : led_on_559;
nic              2652 drivers/net/ethernet/intel/e100.c 		leds = (nic->phy == phy_82552_v) ? E100_82552_LED_OFF : led_off;
nic              2659 drivers/net/ethernet/intel/e100.c 	mdio_write(netdev, nic->mii.phy_id, led_reg, leds);
nic              2694 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2700 drivers/net/ethernet/intel/e100.c 	data[i++] = nic->tx_deferred;
nic              2701 drivers/net/ethernet/intel/e100.c 	data[i++] = nic->tx_single_collisions;
nic              2702 drivers/net/ethernet/intel/e100.c 	data[i++] = nic->tx_multiple_collisions;
nic              2703 drivers/net/ethernet/intel/e100.c 	data[i++] = nic->tx_fc_pause;
nic              2704 drivers/net/ethernet/intel/e100.c 	data[i++] = nic->rx_fc_pause;
nic              2705 drivers/net/ethernet/intel/e100.c 	data[i++] = nic->rx_fc_unsupported;
nic              2706 drivers/net/ethernet/intel/e100.c 	data[i++] = nic->tx_tco_frames;
nic              2707 drivers/net/ethernet/intel/e100.c 	data[i++] = nic->rx_tco_frames;
nic              2708 drivers/net/ethernet/intel/e100.c 	data[i++] = nic->rx_short_frame_errors;
nic              2709 drivers/net/ethernet/intel/e100.c 	data[i++] = nic->rx_over_length_errors;
nic              2751 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2753 drivers/net/ethernet/intel/e100.c 	return generic_mii_ioctl(&nic->mii, if_mii(ifr), cmd, NULL);
nic              2756 drivers/net/ethernet/intel/e100.c static int e100_alloc(struct nic *nic)
nic              2758 drivers/net/ethernet/intel/e100.c 	nic->mem = pci_alloc_consistent(nic->pdev, sizeof(struct mem),
nic              2759 drivers/net/ethernet/intel/e100.c 		&nic->dma_addr);
nic              2760 drivers/net/ethernet/intel/e100.c 	return nic->mem ? 0 : -ENOMEM;
nic              2763 drivers/net/ethernet/intel/e100.c static void e100_free(struct nic *nic)
nic              2765 drivers/net/ethernet/intel/e100.c 	if (nic->mem) {
nic              2766 drivers/net/ethernet/intel/e100.c 		pci_free_consistent(nic->pdev, sizeof(struct mem),
nic              2767 drivers/net/ethernet/intel/e100.c 			nic->mem, nic->dma_addr);
nic              2768 drivers/net/ethernet/intel/e100.c 		nic->mem = NULL;
nic              2774 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2778 drivers/net/ethernet/intel/e100.c 	if ((err = e100_up(nic)))
nic              2779 drivers/net/ethernet/intel/e100.c 		netif_err(nic, ifup, nic->netdev, "Cannot open interface, aborting\n");
nic              2792 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2799 drivers/net/ethernet/intel/e100.c 	e100_exec_cb(nic, NULL, e100_configure);
nic              2821 drivers/net/ethernet/intel/e100.c 	struct nic *nic;
nic              2824 drivers/net/ethernet/intel/e100.c 	if (!(netdev = alloc_etherdev(sizeof(struct nic))))
nic              2836 drivers/net/ethernet/intel/e100.c 	nic = netdev_priv(netdev);
nic              2837 drivers/net/ethernet/intel/e100.c 	netif_napi_add(netdev, &nic->napi, e100_poll, E100_NAPI_WEIGHT);
nic              2838 drivers/net/ethernet/intel/e100.c 	nic->netdev = netdev;
nic              2839 drivers/net/ethernet/intel/e100.c 	nic->pdev = pdev;
nic              2840 drivers/net/ethernet/intel/e100.c 	nic->msg_enable = (1 << debug) - 1;
nic              2841 drivers/net/ethernet/intel/e100.c 	nic->mdio_ctrl = mdio_ctrl_hw;
nic              2845 drivers/net/ethernet/intel/e100.c 		netif_err(nic, probe, nic->netdev, "Cannot enable PCI device, aborting\n");
nic              2850 drivers/net/ethernet/intel/e100.c 		netif_err(nic, probe, nic->netdev, "Cannot find proper PCI device base address, aborting\n");
nic              2856 drivers/net/ethernet/intel/e100.c 		netif_err(nic, probe, nic->netdev, "Cannot obtain PCI resources, aborting\n");
nic              2861 drivers/net/ethernet/intel/e100.c 		netif_err(nic, probe, nic->netdev, "No usable DMA configuration, aborting\n");
nic              2868 drivers/net/ethernet/intel/e100.c 		netif_info(nic, probe, nic->netdev, "using i/o access mode\n");
nic              2870 drivers/net/ethernet/intel/e100.c 	nic->csr = pci_iomap(pdev, (use_io ? 1 : 0), sizeof(struct csr));
nic              2871 drivers/net/ethernet/intel/e100.c 	if (!nic->csr) {
nic              2872 drivers/net/ethernet/intel/e100.c 		netif_err(nic, probe, nic->netdev, "Cannot map device registers, aborting\n");
nic              2878 drivers/net/ethernet/intel/e100.c 		nic->flags |= ich;
nic              2880 drivers/net/ethernet/intel/e100.c 		nic->flags &= ~ich;
nic              2882 drivers/net/ethernet/intel/e100.c 	e100_get_defaults(nic);
nic              2885 drivers/net/ethernet/intel/e100.c 	if (nic->mac < mac_82558_D101_A4)
nic              2889 drivers/net/ethernet/intel/e100.c 	spin_lock_init(&nic->cb_lock);
nic              2890 drivers/net/ethernet/intel/e100.c 	spin_lock_init(&nic->cmd_lock);
nic              2891 drivers/net/ethernet/intel/e100.c 	spin_lock_init(&nic->mdio_lock);
nic              2896 drivers/net/ethernet/intel/e100.c 	e100_hw_reset(nic);
nic              2900 drivers/net/ethernet/intel/e100.c 	timer_setup(&nic->watchdog, e100_watchdog, 0);
nic              2902 drivers/net/ethernet/intel/e100.c 	INIT_WORK(&nic->tx_timeout_task, e100_tx_timeout_task);
nic              2904 drivers/net/ethernet/intel/e100.c 	if ((err = e100_alloc(nic))) {
nic              2905 drivers/net/ethernet/intel/e100.c 		netif_err(nic, probe, nic->netdev, "Cannot alloc driver memory, aborting\n");
nic              2909 drivers/net/ethernet/intel/e100.c 	if ((err = e100_eeprom_load(nic)))
nic              2912 drivers/net/ethernet/intel/e100.c 	e100_phy_init(nic);
nic              2914 drivers/net/ethernet/intel/e100.c 	memcpy(netdev->dev_addr, nic->eeprom, ETH_ALEN);
nic              2917 drivers/net/ethernet/intel/e100.c 			netif_err(nic, probe, nic->netdev, "Invalid MAC address from EEPROM, aborting\n");
nic              2921 drivers/net/ethernet/intel/e100.c 			netif_err(nic, probe, nic->netdev, "Invalid MAC address from EEPROM, you MUST configure one.\n");
nic              2926 drivers/net/ethernet/intel/e100.c 	if ((nic->mac >= mac_82558_D101_A4) &&
nic              2927 drivers/net/ethernet/intel/e100.c 	   (nic->eeprom[eeprom_id] & eeprom_id_wol)) {
nic              2928 drivers/net/ethernet/intel/e100.c 		nic->flags |= wol_magic;
nic              2937 drivers/net/ethernet/intel/e100.c 		netif_err(nic, probe, nic->netdev, "Cannot register net device, aborting\n");
nic              2940 drivers/net/ethernet/intel/e100.c 	nic->cbs_pool = dma_pool_create(netdev->name,
nic              2941 drivers/net/ethernet/intel/e100.c 			   &nic->pdev->dev,
nic              2942 drivers/net/ethernet/intel/e100.c 			   nic->params.cbs.max * sizeof(struct cb),
nic              2945 drivers/net/ethernet/intel/e100.c 	if (!nic->cbs_pool) {
nic              2946 drivers/net/ethernet/intel/e100.c 		netif_err(nic, probe, nic->netdev, "Cannot create DMA pool, aborting\n");
nic              2950 drivers/net/ethernet/intel/e100.c 	netif_info(nic, probe, nic->netdev,
nic              2960 drivers/net/ethernet/intel/e100.c 	e100_free(nic);
nic              2962 drivers/net/ethernet/intel/e100.c 	pci_iounmap(pdev, nic->csr);
nic              2977 drivers/net/ethernet/intel/e100.c 		struct nic *nic = netdev_priv(netdev);
nic              2979 drivers/net/ethernet/intel/e100.c 		e100_free(nic);
nic              2980 drivers/net/ethernet/intel/e100.c 		pci_iounmap(pdev, nic->csr);
nic              2981 drivers/net/ethernet/intel/e100.c 		dma_pool_destroy(nic->cbs_pool);
nic              2994 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              2997 drivers/net/ethernet/intel/e100.c 		e100_down(nic);
nic              3002 drivers/net/ethernet/intel/e100.c 	if ((nic->flags & wol_magic) | e100_asf(nic)) {
nic              3004 drivers/net/ethernet/intel/e100.c 		if (nic->phy == phy_82552_v) {
nic              3005 drivers/net/ethernet/intel/e100.c 			u16 smartspeed = mdio_read(netdev, nic->mii.phy_id,
nic              3008 drivers/net/ethernet/intel/e100.c 			mdio_write(netdev, nic->mii.phy_id,
nic              3042 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              3050 drivers/net/ethernet/intel/e100.c 	if (nic->phy == phy_82552_v) {
nic              3051 drivers/net/ethernet/intel/e100.c 		u16 smartspeed = mdio_read(netdev, nic->mii.phy_id,
nic              3054 drivers/net/ethernet/intel/e100.c 		mdio_write(netdev, nic->mii.phy_id,
nic              3061 drivers/net/ethernet/intel/e100.c 		e100_up(nic);
nic              3084 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              3092 drivers/net/ethernet/intel/e100.c 		e100_down(nic);
nic              3108 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              3119 drivers/net/ethernet/intel/e100.c 	e100_hw_reset(nic);
nic              3120 drivers/net/ethernet/intel/e100.c 	e100_phy_init(nic);
nic              3135 drivers/net/ethernet/intel/e100.c 	struct nic *nic = netdev_priv(netdev);
nic              3143 drivers/net/ethernet/intel/e100.c 		mod_timer(&nic->watchdog, jiffies);
nic               563 drivers/net/ethernet/neterion/s2io.c static int init_shared_mem(struct s2io_nic *nic)
nic               571 drivers/net/ethernet/neterion/s2io.c 	struct net_device *dev = nic->dev;
nic               574 drivers/net/ethernet/neterion/s2io.c 	struct config_param *config = &nic->config;
nic               575 drivers/net/ethernet/neterion/s2io.c 	struct mac_info *mac_control = &nic->mac_control;
nic               635 drivers/net/ethernet/neterion/s2io.c 		fifo->nic = nic;
nic               643 drivers/net/ethernet/neterion/s2io.c 			tmp_v = pci_alloc_consistent(nic->pdev,
nic               661 drivers/net/ethernet/neterion/s2io.c 				tmp_v = pci_alloc_consistent(nic->pdev,
nic               700 drivers/net/ethernet/neterion/s2io.c 		if (rx_cfg->num_rxd % (rxd_count[nic->rxd_mode] + 1)) {
nic               708 drivers/net/ethernet/neterion/s2io.c 			(rxd_count[nic->rxd_mode] + 1);
nic               711 drivers/net/ethernet/neterion/s2io.c 	if (nic->rxd_mode == RXD_MODE_1)
nic               726 drivers/net/ethernet/neterion/s2io.c 		ring->nic = nic;
nic               729 drivers/net/ethernet/neterion/s2io.c 		blk_cnt = rx_cfg->num_rxd / (rxd_count[nic->rxd_mode] + 1);
nic               737 drivers/net/ethernet/neterion/s2io.c 			tmp_v_addr = pci_alloc_consistent(nic->pdev, size,
nic               752 drivers/net/ethernet/neterion/s2io.c 				rxd_count[nic->rxd_mode];
nic               759 drivers/net/ethernet/neterion/s2io.c 			for (l = 0; l < rxd_count[nic->rxd_mode]; l++) {
nic               762 drivers/net/ethernet/neterion/s2io.c 					(rxd_size[nic->rxd_mode] * l);
nic               765 drivers/net/ethernet/neterion/s2io.c 					(rxd_size[nic->rxd_mode] * l);
nic               783 drivers/net/ethernet/neterion/s2io.c 	if (nic->rxd_mode == RXD_MODE_3B) {
nic               793 drivers/net/ethernet/neterion/s2io.c 				(rxd_count[nic->rxd_mode] + 1);
nic               803 drivers/net/ethernet/neterion/s2io.c 					(rxd_count[nic->rxd_mode] + 1);
nic               808 drivers/net/ethernet/neterion/s2io.c 				while (k != rxd_count[nic->rxd_mode]) {
nic               838 drivers/net/ethernet/neterion/s2io.c 		pci_alloc_consistent(nic->pdev, size,
nic               856 drivers/net/ethernet/neterion/s2io.c 		dev_name(&nic->pdev->dev), (unsigned long long)tmp_p_addr);
nic               868 drivers/net/ethernet/neterion/s2io.c static void free_shared_mem(struct s2io_nic *nic)
nic               881 drivers/net/ethernet/neterion/s2io.c 	if (!nic)
nic               884 drivers/net/ethernet/neterion/s2io.c 	dev = nic->dev;
nic               886 drivers/net/ethernet/neterion/s2io.c 	config = &nic->config;
nic               887 drivers/net/ethernet/neterion/s2io.c 	mac_control = &nic->mac_control;
nic               909 drivers/net/ethernet/neterion/s2io.c 			pci_free_consistent(nic->pdev, PAGE_SIZE,
nic               918 drivers/net/ethernet/neterion/s2io.c 			pci_free_consistent(nic->pdev, PAGE_SIZE,
nic               942 drivers/net/ethernet/neterion/s2io.c 			pci_free_consistent(nic->pdev, size,
nic               947 drivers/net/ethernet/neterion/s2io.c 				rxd_count[nic->rxd_mode];
nic               951 drivers/net/ethernet/neterion/s2io.c 	if (nic->rxd_mode == RXD_MODE_3B) {
nic               958 drivers/net/ethernet/neterion/s2io.c 				(rxd_count[nic->rxd_mode] + 1);
nic               963 drivers/net/ethernet/neterion/s2io.c 				while (k != rxd_count[nic->rxd_mode]) {
nic               975 drivers/net/ethernet/neterion/s2io.c 					(rxd_count[nic->rxd_mode] + 1);
nic               983 drivers/net/ethernet/neterion/s2io.c 	for (i = 0; i < nic->config.tx_fifo_num; i++) {
nic               996 drivers/net/ethernet/neterion/s2io.c 		pci_free_consistent(nic->pdev,
nic              1007 drivers/net/ethernet/neterion/s2io.c static int s2io_verify_pci_mode(struct s2io_nic *nic)
nic              1009 drivers/net/ethernet/neterion/s2io.c 	struct XENA_dev_config __iomem *bar0 = nic->bar0;
nic              1041 drivers/net/ethernet/neterion/s2io.c static int s2io_print_pci_mode(struct s2io_nic *nic)
nic              1043 drivers/net/ethernet/neterion/s2io.c 	struct XENA_dev_config __iomem *bar0 = nic->bar0;
nic              1046 drivers/net/ethernet/neterion/s2io.c 	struct config_param *config = &nic->config;
nic              1057 drivers/net/ethernet/neterion/s2io.c 	if (s2io_on_nec_bridge(nic->pdev)) {
nic              1059 drivers/net/ethernet/neterion/s2io.c 			  nic->dev->name);
nic              1094 drivers/net/ethernet/neterion/s2io.c 		  nic->dev->name, val64 & PCI_MODE_32_BITS ? 32 : 64, pcimode);
nic              1109 drivers/net/ethernet/neterion/s2io.c static int init_tti(struct s2io_nic *nic, int link)
nic              1111 drivers/net/ethernet/neterion/s2io.c 	struct XENA_dev_config __iomem *bar0 = nic->bar0;
nic              1114 drivers/net/ethernet/neterion/s2io.c 	struct config_param *config = &nic->config;
nic              1122 drivers/net/ethernet/neterion/s2io.c 		if (nic->device_type == XFRAME_II_DEVICE) {
nic              1123 drivers/net/ethernet/neterion/s2io.c 			int count = (nic->config.bus_speed * 125)/2;
nic              1137 drivers/net/ethernet/neterion/s2io.c 		if (nic->config.intr_type == MSI_X) {
nic              1143 drivers/net/ethernet/neterion/s2io.c 			if ((nic->config.tx_steering_type ==
nic              1146 drivers/net/ethernet/neterion/s2io.c 			    (i >= nic->udp_fifo_idx) &&
nic              1147 drivers/net/ethernet/neterion/s2io.c 			    (i < (nic->udp_fifo_idx +
nic              1148 drivers/net/ethernet/neterion/s2io.c 				  nic->total_udp_fifos)))
nic              1185 drivers/net/ethernet/neterion/s2io.c static int init_nic(struct s2io_nic *nic)
nic              1187 drivers/net/ethernet/neterion/s2io.c 	struct XENA_dev_config __iomem *bar0 = nic->bar0;
nic              1188 drivers/net/ethernet/neterion/s2io.c 	struct net_device *dev = nic->dev;
nic              1196 drivers/net/ethernet/neterion/s2io.c 	struct config_param *config = &nic->config;
nic              1197 drivers/net/ethernet/neterion/s2io.c 	struct mac_info *mac_control = &nic->mac_control;
nic              1200 drivers/net/ethernet/neterion/s2io.c 	if (s2io_set_swapper(nic)) {
nic              1208 drivers/net/ethernet/neterion/s2io.c 	if (nic->device_type & XFRAME_II_DEVICE) {
nic              1224 drivers/net/ethernet/neterion/s2io.c 	if (nic->device_type == XFRAME_II_DEVICE) {
nic              1253 drivers/net/ethernet/neterion/s2io.c 	if (nic->device_type & XFRAME_II_DEVICE) {
nic              1319 drivers/net/ethernet/neterion/s2io.c 	if ((nic->device_type == XFRAME_I_DEVICE) && (nic->pdev->revision < 4))
nic              1351 drivers/net/ethernet/neterion/s2io.c 	if (nic->device_type & XFRAME_II_DEVICE)
nic              1632 drivers/net/ethernet/neterion/s2io.c 		if (rts_ds_steer(nic, i, 0) == FAILURE) {
nic              1643 drivers/net/ethernet/neterion/s2io.c 	if (nic->device_type == XFRAME_II_DEVICE) {
nic              1662 drivers/net/ethernet/neterion/s2io.c 	if (SUCCESS != init_tti(nic, nic->last_link_state))
nic              1666 drivers/net/ethernet/neterion/s2io.c 	if (nic->device_type == XFRAME_II_DEVICE) {
nic              1671 drivers/net/ethernet/neterion/s2io.c 		int count = (nic->config.bus_speed * 125)/4;
nic              1684 drivers/net/ethernet/neterion/s2io.c 	if (nic->config.intr_type == MSI_X)
nic              1742 drivers/net/ethernet/neterion/s2io.c 	if (nic->device_type == XFRAME_II_DEVICE)
nic              1757 drivers/net/ethernet/neterion/s2io.c 	val64 |= RMAC_PAUSE_HG_PTIME(nic->mac_control.rmac_pause_time);
nic              1769 drivers/net/ethernet/neterion/s2io.c 			   nic->mac_control.mc_pause_threshold_q0q3)
nic              1777 drivers/net/ethernet/neterion/s2io.c 			   nic->mac_control.mc_pause_threshold_q4q7)
nic              1790 drivers/net/ethernet/neterion/s2io.c 	if (nic->config.bus_speed == 266) {
nic              1800 drivers/net/ethernet/neterion/s2io.c 	if (nic->device_type == XFRAME_II_DEVICE) {
nic              1808 drivers/net/ethernet/neterion/s2io.c 	if (strstr(nic->product_name, "CX4")) {
nic              1818 drivers/net/ethernet/neterion/s2io.c static int s2io_link_fault_indication(struct s2io_nic *nic)
nic              1820 drivers/net/ethernet/neterion/s2io.c 	if (nic->device_type == XFRAME_II_DEVICE)
nic              1848 drivers/net/ethernet/neterion/s2io.c static void en_dis_err_alarms(struct s2io_nic *nic, u16 mask, int flag)
nic              1850 drivers/net/ethernet/neterion/s2io.c 	struct XENA_dev_config __iomem *bar0 = nic->bar0;
nic              1947 drivers/net/ethernet/neterion/s2io.c 		if (s2io_link_fault_indication(nic) == MAC_RMAC_ERR_TIMER)
nic              1969 drivers/net/ethernet/neterion/s2io.c 	nic->general_int_mask = gen_int_mask;
nic              1972 drivers/net/ethernet/neterion/s2io.c 	nic->general_int_mask = 0;
nic              1986 drivers/net/ethernet/neterion/s2io.c static void en_dis_able_nic_intrs(struct s2io_nic *nic, u16 mask, int flag)
nic              1988 drivers/net/ethernet/neterion/s2io.c 	struct XENA_dev_config __iomem *bar0 = nic->bar0;
nic              1991 drivers/net/ethernet/neterion/s2io.c 	intr_mask = nic->general_int_mask;
nic              2005 drivers/net/ethernet/neterion/s2io.c 			if (s2io_link_fault_indication(nic) ==
nic              2062 drivers/net/ethernet/neterion/s2io.c 	nic->general_int_mask = readq(&bar0->general_int_mask);
nic              2202 drivers/net/ethernet/neterion/s2io.c static int start_nic(struct s2io_nic *nic)
nic              2204 drivers/net/ethernet/neterion/s2io.c 	struct XENA_dev_config __iomem *bar0 = nic->bar0;
nic              2205 drivers/net/ethernet/neterion/s2io.c 	struct net_device *dev = nic->dev;
nic              2208 drivers/net/ethernet/neterion/s2io.c 	struct config_param *config = &nic->config;
nic              2209 drivers/net/ethernet/neterion/s2io.c 	struct mac_info *mac_control = &nic->mac_control;
nic              2219 drivers/net/ethernet/neterion/s2io.c 		if (nic->rxd_mode == RXD_MODE_1)
nic              2223 drivers/net/ethernet/neterion/s2io.c 		if (nic->device_type == XFRAME_II_DEVICE)
nic              2230 drivers/net/ethernet/neterion/s2io.c 	if (nic->rxd_mode == RXD_MODE_3B) {
nic              2241 drivers/net/ethernet/neterion/s2io.c 		nic->vlan_strip_flag = 0;
nic              2266 drivers/net/ethernet/neterion/s2io.c 	if (!verify_xena_quiescence(nic)) {
nic              2286 drivers/net/ethernet/neterion/s2io.c 	if (s2io_link_fault_indication(nic) == MAC_RMAC_ERR_TIMER) {
nic              2291 drivers/net/ethernet/neterion/s2io.c 		schedule_work(&nic->set_link_task);
nic              2294 drivers/net/ethernet/neterion/s2io.c 	subid = nic->pdev->subsystem_device;
nic              2296 drivers/net/ethernet/neterion/s2io.c 	    (nic->device_type == XFRAME_I_DEVICE)) {
nic              2312 drivers/net/ethernet/neterion/s2io.c 	struct s2io_nic *nic = fifo_data->nic;
nic              2319 drivers/net/ethernet/neterion/s2io.c 		pci_unmap_single(nic->pdev, (dma_addr_t)txds->Buffer_Pointer,
nic              2329 drivers/net/ethernet/neterion/s2io.c 	pci_unmap_single(nic->pdev, (dma_addr_t)txds->Buffer_Pointer,
nic              2338 drivers/net/ethernet/neterion/s2io.c 			pci_unmap_page(nic->pdev,
nic              2355 drivers/net/ethernet/neterion/s2io.c static void free_tx_buffers(struct s2io_nic *nic)
nic              2357 drivers/net/ethernet/neterion/s2io.c 	struct net_device *dev = nic->dev;
nic              2362 drivers/net/ethernet/neterion/s2io.c 	struct config_param *config = &nic->config;
nic              2363 drivers/net/ethernet/neterion/s2io.c 	struct mac_info *mac_control = &nic->mac_control;
nic              2401 drivers/net/ethernet/neterion/s2io.c static void stop_nic(struct s2io_nic *nic)
nic              2403 drivers/net/ethernet/neterion/s2io.c 	struct XENA_dev_config __iomem *bar0 = nic->bar0;
nic              2408 drivers/net/ethernet/neterion/s2io.c 	en_dis_err_alarms(nic, ENA_ALL_INTRS, DISABLE_INTRS);
nic              2411 drivers/net/ethernet/neterion/s2io.c 	en_dis_able_nic_intrs(nic, interruptible, DISABLE_INTRS);
nic              2441 drivers/net/ethernet/neterion/s2io.c static int fill_rx_buffers(struct s2io_nic *nic, struct ring_info *ring,
nic              2455 drivers/net/ethernet/neterion/s2io.c 	struct swStat *swstats = &ring->nic->mac_control.stats_info->sw_stat;
nic              2504 drivers/net/ethernet/neterion/s2io.c 		skb = netdev_alloc_skb(nic->dev, size);
nic              2527 drivers/net/ethernet/neterion/s2io.c 			if (pci_dma_mapping_error(nic->pdev,
nic              2563 drivers/net/ethernet/neterion/s2io.c 				if (pci_dma_mapping_error(nic->pdev,
nic              2585 drivers/net/ethernet/neterion/s2io.c 				if (pci_dma_mapping_error(nic->pdev,
nic              2596 drivers/net/ethernet/neterion/s2io.c 					if (pci_dma_mapping_error(nic->pdev,
nic              2732 drivers/net/ethernet/neterion/s2io.c static int s2io_chk_rx_buffers(struct s2io_nic *nic, struct ring_info *ring)
nic              2734 drivers/net/ethernet/neterion/s2io.c 	if (fill_rx_buffers(nic, ring, 0) == -ENOMEM) {
nic              2761 drivers/net/ethernet/neterion/s2io.c 	struct s2io_nic *nic = netdev_priv(dev);
nic              2762 drivers/net/ethernet/neterion/s2io.c 	struct XENA_dev_config __iomem *bar0 = nic->bar0;
nic              2765 drivers/net/ethernet/neterion/s2io.c 	if (unlikely(!is_s2io_card_up(nic)))
nic              2769 drivers/net/ethernet/neterion/s2io.c 	s2io_chk_rx_buffers(nic, ring);
nic              2785 drivers/net/ethernet/neterion/s2io.c 	struct s2io_nic *nic = container_of(napi, struct s2io_nic, napi);
nic              2788 drivers/net/ethernet/neterion/s2io.c 	struct XENA_dev_config __iomem *bar0 = nic->bar0;
nic              2790 drivers/net/ethernet/neterion/s2io.c 	struct config_param *config = &nic->config;
nic              2791 drivers/net/ethernet/neterion/s2io.c 	struct mac_info *mac_control = &nic->mac_control;
nic              2793 drivers/net/ethernet/neterion/s2io.c 	if (unlikely(!is_s2io_card_up(nic)))
nic              2799 drivers/net/ethernet/neterion/s2io.c 		s2io_chk_rx_buffers(nic, ring);
nic              2826 drivers/net/ethernet/neterion/s2io.c 	struct s2io_nic *nic = netdev_priv(dev);
nic              2827 drivers/net/ethernet/neterion/s2io.c 	const int irq = nic->pdev->irq;
nic              2828 drivers/net/ethernet/neterion/s2io.c 	struct XENA_dev_config __iomem *bar0 = nic->bar0;
nic              2831 drivers/net/ethernet/neterion/s2io.c 	struct config_param *config = &nic->config;
nic              2832 drivers/net/ethernet/neterion/s2io.c 	struct mac_info *mac_control = &nic->mac_control;
nic              2834 drivers/net/ethernet/neterion/s2io.c 	if (pci_channel_offline(nic->pdev))
nic              2859 drivers/net/ethernet/neterion/s2io.c 		if (fill_rx_buffers(nic, ring, 0) == -ENOMEM) {
nic              2956 drivers/net/ethernet/neterion/s2io.c 		if (ring_data->nic->config.napi) {
nic              2971 drivers/net/ethernet/neterion/s2io.c 				update_L3L4_header(ring_data->nic, lro);
nic              2994 drivers/net/ethernet/neterion/s2io.c 	struct s2io_nic *nic = fifo_data->nic;
nic              3001 drivers/net/ethernet/neterion/s2io.c 	struct stat_block *stats = nic->mac_control.stats_info;
nic              3066 drivers/net/ethernet/neterion/s2io.c 	s2io_wake_tx_queue(fifo_data, pkt_cnt, nic->config.multiq);
nic              3646 drivers/net/ethernet/neterion/s2io.c static int wait_for_msix_trans(struct s2io_nic *nic, int i)
nic              3648 drivers/net/ethernet/neterion/s2io.c 	struct XENA_dev_config __iomem *bar0 = nic->bar0;
nic              3667 drivers/net/ethernet/neterion/s2io.c static void restore_xmsi_data(struct s2io_nic *nic)
nic              3669 drivers/net/ethernet/neterion/s2io.c 	struct XENA_dev_config __iomem *bar0 = nic->bar0;
nic              3673 drivers/net/ethernet/neterion/s2io.c 	if (nic->device_type == XFRAME_I_DEVICE)
nic              3678 drivers/net/ethernet/neterion/s2io.c 		writeq(nic->msix_info[i].addr, &bar0->xmsi_address);
nic              3679 drivers/net/ethernet/neterion/s2io.c 		writeq(nic->msix_info[i].data, &bar0->xmsi_data);
nic              3682 drivers/net/ethernet/neterion/s2io.c 		if (wait_for_msix_trans(nic, msix_index))
nic              3688 drivers/net/ethernet/neterion/s2io.c static void store_xmsi_data(struct s2io_nic *nic)
nic              3690 drivers/net/ethernet/neterion/s2io.c 	struct XENA_dev_config __iomem *bar0 = nic->bar0;
nic              3694 drivers/net/ethernet/neterion/s2io.c 	if (nic->device_type == XFRAME_I_DEVICE)
nic              3702 drivers/net/ethernet/neterion/s2io.c 		if (wait_for_msix_trans(nic, msix_index)) {
nic              3710 drivers/net/ethernet/neterion/s2io.c 			nic->msix_info[i].addr = addr;
nic              3711 drivers/net/ethernet/neterion/s2io.c 			nic->msix_info[i].data = data;
nic              3716 drivers/net/ethernet/neterion/s2io.c static int s2io_enable_msi_x(struct s2io_nic *nic)
nic              3718 drivers/net/ethernet/neterion/s2io.c 	struct XENA_dev_config __iomem *bar0 = nic->bar0;
nic              3723 drivers/net/ethernet/neterion/s2io.c 	struct stat_block *stats = nic->mac_control.stats_info;
nic              3726 drivers/net/ethernet/neterion/s2io.c 	size = nic->num_entries * sizeof(struct msix_entry);
nic              3727 drivers/net/ethernet/neterion/s2io.c 	nic->entries = kzalloc(size, GFP_KERNEL);
nic              3728 drivers/net/ethernet/neterion/s2io.c 	if (!nic->entries) {
nic              3736 drivers/net/ethernet/neterion/s2io.c 	size = nic->num_entries * sizeof(struct s2io_msix_entry);
nic              3737 drivers/net/ethernet/neterion/s2io.c 	nic->s2io_entries = kzalloc(size, GFP_KERNEL);
nic              3738 drivers/net/ethernet/neterion/s2io.c 	if (!nic->s2io_entries) {
nic              3742 drivers/net/ethernet/neterion/s2io.c 		kfree(nic->entries);
nic              3744 drivers/net/ethernet/neterion/s2io.c 			+= (nic->num_entries * sizeof(struct msix_entry));
nic              3749 drivers/net/ethernet/neterion/s2io.c 	nic->entries[0].entry = 0;
nic              3750 drivers/net/ethernet/neterion/s2io.c 	nic->s2io_entries[0].entry = 0;
nic              3751 drivers/net/ethernet/neterion/s2io.c 	nic->s2io_entries[0].in_use = MSIX_FLG;
nic              3752 drivers/net/ethernet/neterion/s2io.c 	nic->s2io_entries[0].type = MSIX_ALARM_TYPE;
nic              3753 drivers/net/ethernet/neterion/s2io.c 	nic->s2io_entries[0].arg = &nic->mac_control.fifos;
nic              3755 drivers/net/ethernet/neterion/s2io.c 	for (i = 1; i < nic->num_entries; i++) {
nic              3756 drivers/net/ethernet/neterion/s2io.c 		nic->entries[i].entry = ((i - 1) * 8) + 1;
nic              3757 drivers/net/ethernet/neterion/s2io.c 		nic->s2io_entries[i].entry = ((i - 1) * 8) + 1;
nic              3758 drivers/net/ethernet/neterion/s2io.c 		nic->s2io_entries[i].arg = NULL;
nic              3759 drivers/net/ethernet/neterion/s2io.c 		nic->s2io_entries[i].in_use = 0;
nic              3763 drivers/net/ethernet/neterion/s2io.c 	for (j = 0; j < nic->config.rx_ring_num; j++) {
nic              3765 drivers/net/ethernet/neterion/s2io.c 		nic->s2io_entries[j+1].arg = &nic->mac_control.rings[j];
nic              3766 drivers/net/ethernet/neterion/s2io.c 		nic->s2io_entries[j+1].type = MSIX_RING_TYPE;
nic              3767 drivers/net/ethernet/neterion/s2io.c 		nic->s2io_entries[j+1].in_use = MSIX_FLG;
nic              3773 drivers/net/ethernet/neterion/s2io.c 	ret = pci_enable_msix_range(nic->pdev, nic->entries,
nic              3774 drivers/net/ethernet/neterion/s2io.c 				    nic->num_entries, nic->num_entries);
nic              3778 drivers/net/ethernet/neterion/s2io.c 		kfree(nic->entries);
nic              3779 drivers/net/ethernet/neterion/s2io.c 		swstats->mem_freed += nic->num_entries *
nic              3781 drivers/net/ethernet/neterion/s2io.c 		kfree(nic->s2io_entries);
nic              3782 drivers/net/ethernet/neterion/s2io.c 		swstats->mem_freed += nic->num_entries *
nic              3784 drivers/net/ethernet/neterion/s2io.c 		nic->entries = NULL;
nic              3785 drivers/net/ethernet/neterion/s2io.c 		nic->s2io_entries = NULL;
nic              3793 drivers/net/ethernet/neterion/s2io.c 	pci_read_config_word(nic->pdev, 0x42, &msi_control);
nic              3795 drivers/net/ethernet/neterion/s2io.c 	pci_write_config_word(nic->pdev, 0x42, msi_control);
nic              4198 drivers/net/ethernet/neterion/s2io.c 	struct s2io_nic *sp = ring->nic;
nic              4226 drivers/net/ethernet/neterion/s2io.c 	struct s2io_nic *sp = fifos->nic;
nic              5671 drivers/net/ethernet/neterion/s2io.c static void s2io_vpd_read(struct s2io_nic *nic)
nic              5677 drivers/net/ethernet/neterion/s2io.c 	struct swStat *swstats = &nic->mac_control.stats_info->sw_stat;
nic              5679 drivers/net/ethernet/neterion/s2io.c 	if (nic->device_type == XFRAME_II_DEVICE) {
nic              5680 drivers/net/ethernet/neterion/s2io.c 		strcpy(nic->product_name, "Xframe II 10GbE network adapter");
nic              5683 drivers/net/ethernet/neterion/s2io.c 		strcpy(nic->product_name, "Xframe I 10GbE network adapter");
nic              5686 drivers/net/ethernet/neterion/s2io.c 	strcpy(nic->serial_num, "NOT AVAILABLE");
nic              5696 drivers/net/ethernet/neterion/s2io.c 		pci_write_config_byte(nic->pdev, (vpd_addr + 2), i);
nic              5697 drivers/net/ethernet/neterion/s2io.c 		pci_read_config_byte(nic->pdev,  (vpd_addr + 2), &data);
nic              5698 drivers/net/ethernet/neterion/s2io.c 		pci_write_config_byte(nic->pdev, (vpd_addr + 3), 0);
nic              5701 drivers/net/ethernet/neterion/s2io.c 			pci_read_config_byte(nic->pdev, (vpd_addr + 3), &data);
nic              5710 drivers/net/ethernet/neterion/s2io.c 		pci_read_config_dword(nic->pdev,  (vpd_addr + 4),
nic              5721 drivers/net/ethernet/neterion/s2io.c 					memcpy(nic->serial_num,
nic              5724 drivers/net/ethernet/neterion/s2io.c 					memset(nic->serial_num+len,
nic              5735 drivers/net/ethernet/neterion/s2io.c 		memcpy(nic->product_name, &vpd_data[3], len);
nic              5736 drivers/net/ethernet/neterion/s2io.c 		nic->product_name[len] = 0;
nic              6666 drivers/net/ethernet/neterion/s2io.c 	struct s2io_nic *nic = container_of(work, struct s2io_nic,
nic              6668 drivers/net/ethernet/neterion/s2io.c 	struct net_device *dev = nic->dev;
nic              6669 drivers/net/ethernet/neterion/s2io.c 	struct XENA_dev_config __iomem *bar0 = nic->bar0;
nic              6678 drivers/net/ethernet/neterion/s2io.c 	if (test_and_set_bit(__S2IO_STATE_LINK_TASK, &(nic->state))) {
nic              6683 drivers/net/ethernet/neterion/s2io.c 	subid = nic->pdev->subsystem_device;
nic              6684 drivers/net/ethernet/neterion/s2io.c 	if (s2io_link_fault_indication(nic) == MAC_RMAC_ERR_TIMER) {
nic              6695 drivers/net/ethernet/neterion/s2io.c 			if (verify_xena_quiescence(nic)) {
nic              6700 drivers/net/ethernet/neterion/s2io.c 					    nic->device_type, subid)) {
nic              6709 drivers/net/ethernet/neterion/s2io.c 				nic->device_enabled_once = true;
nic              6714 drivers/net/ethernet/neterion/s2io.c 				s2io_stop_all_tx_queue(nic);
nic              6720 drivers/net/ethernet/neterion/s2io.c 		s2io_link(nic, LINK_UP);
nic              6722 drivers/net/ethernet/neterion/s2io.c 		if (CARDS_WITH_FAULTY_LINK_INDICATORS(nic->device_type,
nic              6733 drivers/net/ethernet/neterion/s2io.c 		s2io_link(nic, LINK_DOWN);
nic              6735 drivers/net/ethernet/neterion/s2io.c 	clear_bit(__S2IO_STATE_LINK_TASK, &(nic->state));
nic              7272 drivers/net/ethernet/neterion/s2io.c 	struct s2io_nic *sp = ring_data->nic;
nic              7597 drivers/net/ethernet/neterion/s2io.c static int rts_ds_steer(struct s2io_nic *nic, u8 ds_codepoint, u8 ring)
nic              7599 drivers/net/ethernet/neterion/s2io.c 	struct XENA_dev_config __iomem *bar0 = nic->bar0;
nic               710 drivers/net/ethernet/neterion/s2io.h 	struct s2io_nic *nic;
nic               788 drivers/net/ethernet/neterion/s2io.h 	struct s2io_nic *nic;
nic              1062 drivers/net/ethernet/neterion/s2io.h static int init_nic(struct s2io_nic *nic);
nic              1087 drivers/net/ethernet/neterion/s2io.h static void s2io_card_down(struct s2io_nic *nic);
nic              1088 drivers/net/ethernet/neterion/s2io.h static int s2io_card_up(struct s2io_nic *nic);
nic              1094 drivers/net/ethernet/neterion/s2io.h static void restore_xmsi_data(struct s2io_nic *nic);
nic              1110 drivers/net/ethernet/neterion/s2io.h static int rts_ds_steer(struct s2io_nic *nic, u8 ds_codepoint, u8 ring);
nic              2373 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c 			     struct qlcnic_info *nic)
nic              2389 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c 	cmd.req.arg[1] = (nic->pci_func << 16);
nic              2391 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c 	cmd.req.arg[3] = nic->phys_port | (nic->switch_mode << 16);
nic              2392 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c 	cmd.req.arg[4] = nic->capabilities;
nic              2393 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c 	cmd.req.arg[5] = (nic->max_mac_filters & 0xFF) | ((nic->max_mtu) << 16);
nic              2394 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c 	cmd.req.arg[6] = (nic->max_tx_ques) | ((nic->max_rx_ques) << 16);
nic              2395 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c 	cmd.req.arg[7] = (nic->min_tx_bw) | ((nic->max_tx_bw) << 16);
nic              2466 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c 			     u16 *nic, u16 *fcoe, u16 *iscsi)
nic              2473 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c 		(*nic)++;
nic              2495 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c 	u16 nic = 0, fcoe = 0, iscsi = 0;
nic              2519 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c 						       &nic, &fcoe, &iscsi);
nic              2537 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c 	ahw->total_nic_func = nic;
nic              2538 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c 	ahw->total_pci_func = nic + fcoe + iscsi;
nic               900 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c 			     struct qlcnic_info *nic)
nic               919 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c 	nic_info->pci_func = cpu_to_le16(nic->pci_func);
nic               920 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c 	nic_info->op_mode = cpu_to_le16(nic->op_mode);
nic               921 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c 	nic_info->phys_port = cpu_to_le16(nic->phys_port);
nic               922 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c 	nic_info->switch_mode = cpu_to_le16(nic->switch_mode);
nic               923 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c 	nic_info->capabilities = cpu_to_le32(nic->capabilities);
nic               924 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c 	nic_info->max_mac_filters = nic->max_mac_filters;
nic               925 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c 	nic_info->max_tx_ques = cpu_to_le16(nic->max_tx_ques);
nic               926 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c 	nic_info->max_rx_ques = cpu_to_le16(nic->max_rx_ques);
nic               927 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c 	nic_info->min_tx_bw = cpu_to_le16(nic->min_tx_bw);
nic               928 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c 	nic_info->max_tx_bw = cpu_to_le16(nic->max_tx_bw);
nic               936 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c 	cmd.req.arg[3] = ((nic->pci_func << 16) | nic_size);
nic               960 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c 	u16 nic = 0, fcoe = 0, iscsi = 0;
nic               991 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c 						       &nic, &fcoe, &iscsi);
nic              1006 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c 	ahw->total_nic_func = nic;
nic              1007 drivers/net/ethernet/qlogic/qlcnic/qlcnic_ctx.c 	ahw->total_pci_func = nic + fcoe + iscsi;
nic                53 drivers/net/ethernet/sfc/ethtool.c 	EFX_ETHTOOL_STAT(field, nic, field,			\
nic                53 drivers/net/ethernet/sfc/falcon/ethtool.c 	EF4_ETHTOOL_STAT(field, nic, field,			\
nic               155 drivers/net/ethernet/sfc/falcon/nic.h 	int (*init) (struct ef4_nic *nic);
nic               157 drivers/net/ethernet/sfc/falcon/nic.h 	void (*fini) (struct ef4_nic *nic);
nic               159 drivers/net/ethernet/sfc/falcon/nic.h 	int (*monitor) (struct ef4_nic *nic);
nic               363 drivers/net/ethernet/sgi/ioc3-eth.c 	u8 nic[14];
nic               385 drivers/net/ethernet/sgi/ioc3-eth.c 		nic[i] = nic_read_byte(mcr);
nic               388 drivers/net/ethernet/sgi/ioc3-eth.c 		ip->dev->dev_addr[i - 2] = nic[i];
nic                99 drivers/net/ethernet/tehuti/tehuti.c 	struct pci_nic *nic = pci_get_drvdata(pdev);
nic               107 drivers/net/ethernet/tehuti/tehuti.c 		nic->port_num == 1 ? "" : ", 2-Port");
nic               109 drivers/net/ethernet/tehuti/tehuti.c 		readl(nic->regs + SROM_VER), readl(nic->regs + FPGA_VER) & 0xFFF,
nic               110 drivers/net/ethernet/tehuti/tehuti.c 		readl(nic->regs + FPGA_SEED),
nic               115 drivers/net/ethernet/tehuti/tehuti.c static void print_fw_id(struct pci_nic *nic)
nic               117 drivers/net/ethernet/tehuti/tehuti.c 	pr_info("fw 0x%x\n", readl(nic->regs + FW_VER));
nic               423 drivers/net/ethernet/tehuti/tehuti.c #define BDX_IRQ_TYPE	((priv->nic->irq_type == IRQ_MSI) ? 0 : IRQF_SHARED)
nic               622 drivers/net/ethernet/tehuti/tehuti.c 	print_fw_id(priv->nic);
nic               633 drivers/net/ethernet/tehuti/tehuti.c 	return (offset > (u32) (BDX_REGS_SIZE / priv->nic->port_num)) ?
nic              1904 drivers/net/ethernet/tehuti/tehuti.c 	struct pci_nic *nic;
nic              1908 drivers/net/ethernet/tehuti/tehuti.c 	nic = vmalloc(sizeof(*nic));
nic              1909 drivers/net/ethernet/tehuti/tehuti.c 	if (!nic)
nic              1948 drivers/net/ethernet/tehuti/tehuti.c 	nic->regs = ioremap(pciaddr, regionSize);
nic              1949 drivers/net/ethernet/tehuti/tehuti.c 	if (!nic->regs) {
nic              1960 drivers/net/ethernet/tehuti/tehuti.c 	pci_set_drvdata(pdev, nic);
nic              1963 drivers/net/ethernet/tehuti/tehuti.c 		nic->port_num = 2;
nic              1965 drivers/net/ethernet/tehuti/tehuti.c 		nic->port_num = 1;
nic              1969 drivers/net/ethernet/tehuti/tehuti.c 	bdx_hw_reset_direct(nic->regs);
nic              1971 drivers/net/ethernet/tehuti/tehuti.c 	nic->irq_type = IRQ_INTX;
nic              1973 drivers/net/ethernet/tehuti/tehuti.c 	if ((readl(nic->regs + FPGA_VER) & 0xFFF) >= 378) {
nic              1978 drivers/net/ethernet/tehuti/tehuti.c 			nic->irq_type = IRQ_MSI;
nic              1984 drivers/net/ethernet/tehuti/tehuti.c 	for (port = 0; port < nic->port_num; port++) {
nic              2010 drivers/net/ethernet/tehuti/tehuti.c 		priv = nic->priv[port] = netdev_priv(ndev);
nic              2012 drivers/net/ethernet/tehuti/tehuti.c 		priv->pBdxRegs = nic->regs + port * 0x8000;
nic              2016 drivers/net/ethernet/tehuti/tehuti.c 		priv->nic = nic;
nic              2021 drivers/net/ethernet/tehuti/tehuti.c 		if ((readl(nic->regs + FPGA_VER) & 0xFFF) == 308) {
nic              2073 drivers/net/ethernet/tehuti/tehuti.c 	iounmap(nic->regs);
nic              2079 drivers/net/ethernet/tehuti/tehuti.c 	vfree(nic);
nic              2402 drivers/net/ethernet/tehuti/tehuti.c 	struct pci_nic *nic = pci_get_drvdata(pdev);
nic              2406 drivers/net/ethernet/tehuti/tehuti.c 	for (port = 0; port < nic->port_num; port++) {
nic              2407 drivers/net/ethernet/tehuti/tehuti.c 		ndev = nic->priv[port]->ndev;
nic              2414 drivers/net/ethernet/tehuti/tehuti.c 	if (nic->irq_type == IRQ_MSI)
nic              2418 drivers/net/ethernet/tehuti/tehuti.c 	iounmap(nic->regs);
nic              2421 drivers/net/ethernet/tehuti/tehuti.c 	vfree(nic);
nic               272 drivers/net/ethernet/tehuti/tehuti.h 	struct pci_nic *nic;
nic              2893 drivers/net/wireless/intel/ipw2x00/ipw2100.c 			     (u32) (txq->nic + i * sizeof(struct ipw2100_bd)),
nic              2901 drivers/net/wireless/intel/ipw2x00/ipw2100.c 				     (u32) (txq->nic + i *
nic              3024 drivers/net/wireless/intel/ipw2x00/ipw2100.c 			     (u32) (txq->nic + txq->next *
nic              4325 drivers/net/wireless/intel/ipw2x00/ipw2100.c 	q->drv = pci_zalloc_consistent(priv->pci_dev, q->size, &q->nic);
nic              4343 drivers/net/wireless/intel/ipw2x00/ipw2100.c 				    priv->status_queue.nic);
nic              4359 drivers/net/wireless/intel/ipw2x00/ipw2100.c 	q->drv = pci_zalloc_consistent(priv->pci_dev, q->size, &q->nic);
nic              4379 drivers/net/wireless/intel/ipw2x00/ipw2100.c 		pci_free_consistent(priv->pci_dev, q->size, q->drv, q->nic);
nic              4393 drivers/net/wireless/intel/ipw2x00/ipw2100.c 		       (u32) q->nic);
nic              4395 drivers/net/wireless/intel/ipw2x00/ipw2100.c 	write_register(priv->net_dev, base, q->nic);
nic              4645 drivers/net/wireless/intel/ipw2x00/ipw2100.c 		       priv->status_queue.nic);
nic               170 drivers/net/wireless/intel/ipw2x00/ipw2100.h 	dma_addr_t nic;
nic               219 drivers/net/wireless/intel/ipw2x00/ipw2100.h 	dma_addr_t nic;
nic              6064 drivers/net/wireless/ti/wlcore/main.c static void wl12xx_derive_mac_addresses(struct wl1271 *wl, u32 oui, u32 nic)
nic              6069 drivers/net/wireless/ti/wlcore/main.c 		     oui, nic);
nic              6071 drivers/net/wireless/ti/wlcore/main.c 	if (nic + WLCORE_NUM_MAC_ADDRESSES - wl->num_mac_addr > 0xffffff)
nic              6078 drivers/net/wireless/ti/wlcore/main.c 		wl->addresses[i].addr[3] = (u8)(nic >> 16);
nic              6079 drivers/net/wireless/ti/wlcore/main.c 		wl->addresses[i].addr[4] = (u8)(nic >> 8);
nic              6080 drivers/net/wireless/ti/wlcore/main.c 		wl->addresses[i].addr[5] = (u8) nic;
nic              6081 drivers/net/wireless/ti/wlcore/main.c 		nic++;
nic               797 drivers/scsi/be2iscsi/be_mgmt.c 		      struct be_cmd_get_nic_conf_resp *nic)
nic               804 drivers/scsi/be2iscsi/be_mgmt.c 			sizeof(*nic));
nic               809 drivers/scsi/be2iscsi/be_mgmt.c 				     nic, sizeof(*nic));
nic              2233 drivers/scsi/csiostor/csio_hw.c 	if (hdr1->chip == hdr2->chip && SAME_INTF(nic) && SAME_INTF(vnic) &&
nic                82 drivers/scsi/iscsi_boot_sysfs.c iscsi_boot_rd_attr(tgt_nic, nic-assoc, ISCSI_BOOT_TGT_NIC_ASSOC);
nic                71 drivers/staging/gdm724x/gdm_lte.c 	struct nic *nic = arg;
nic                73 drivers/staging/gdm724x/gdm_lte.c 	if (netif_queue_stopped(nic->netdev))
nic                74 drivers/staging/gdm724x/gdm_lte.c 		netif_wake_queue(nic->netdev);
nic                77 drivers/staging/gdm724x/gdm_lte.c static int gdm_lte_rx(struct sk_buff *skb, struct nic *nic, int nic_type)
nic                83 drivers/staging/gdm724x/gdm_lte.c 		nic->stats.rx_dropped++;
nic                85 drivers/staging/gdm724x/gdm_lte.c 		nic->stats.rx_packets++;
nic                86 drivers/staging/gdm724x/gdm_lte.c 		nic->stats.rx_bytes += skb->len + ETH_HLEN;
nic                94 drivers/staging/gdm724x/gdm_lte.c 	struct nic *nic = netdev_priv(skb_in->dev);
nic               151 drivers/staging/gdm724x/gdm_lte.c 	memcpy(mac_header_data + ETH_ALEN, nic->src_mac_addr, ETH_ALEN);
nic               168 drivers/staging/gdm724x/gdm_lte.c 	gdm_lte_rx(skb_out, nic, nic_type);
nic               214 drivers/staging/gdm724x/gdm_lte.c 	struct nic *nic = netdev_priv(skb_in->dev);
nic               312 drivers/staging/gdm724x/gdm_lte.c 	memcpy(mac_header_data + ETH_ALEN, nic->src_mac_addr, ETH_ALEN);
nic               330 drivers/staging/gdm724x/gdm_lte.c 	gdm_lte_rx(skb_out, nic, nic_type);
nic               337 drivers/staging/gdm724x/gdm_lte.c 	struct nic *nic = netdev_priv(dev);
nic               347 drivers/staging/gdm724x/gdm_lte.c 	nic_type = 0x00000010 | nic->nic_id;
nic               403 drivers/staging/gdm724x/gdm_lte.c 	struct nic *nic = netdev_priv(dev);
nic               440 drivers/staging/gdm724x/gdm_lte.c 		nic->vlan_id = ntohs(vlan_eth->h_vlan_TCI) & VLAN_VID_MASK;
nic               444 drivers/staging/gdm724x/gdm_lte.c 		nic->vlan_id = 0;
nic               467 drivers/staging/gdm724x/gdm_lte.c 	ret = nic->phy_dev->send_sdu_func(nic->phy_dev->priv_dev,
nic               469 drivers/staging/gdm724x/gdm_lte.c 					  nic->pdn_table.dft_eps_id, 0,
nic               470 drivers/staging/gdm724x/gdm_lte.c 					  tx_complete, nic, idx,
nic               485 drivers/staging/gdm724x/gdm_lte.c 		nic->stats.tx_dropped++;
nic               487 drivers/staging/gdm724x/gdm_lte.c 		nic->stats.tx_packets++;
nic               488 drivers/staging/gdm724x/gdm_lte.c 		nic->stats.tx_bytes += data_len;
nic               497 drivers/staging/gdm724x/gdm_lte.c 	struct nic *nic = netdev_priv(dev);
nic               499 drivers/staging/gdm724x/gdm_lte.c 	return &nic->stats;
nic               504 drivers/staging/gdm724x/gdm_lte.c 	struct phy_dev *phy_dev = ((struct nic *)netdev_priv(dev))->phy_dev;
nic               522 drivers/staging/gdm724x/gdm_lte.c 	struct nic *nic = netdev_priv(dev);
nic               524 drivers/staging/gdm724x/gdm_lte.c 	nic->phy_dev->send_hci_func(nic->phy_dev->priv_dev, msg, len, NULL,
nic               565 drivers/staging/gdm724x/gdm_lte.c 	struct nic *nic;
nic               574 drivers/staging/gdm724x/gdm_lte.c 	nic = netdev_priv(dev);
nic               617 drivers/staging/gdm724x/gdm_lte.c 			ether_addr_copy(nic->dest_mac_addr, addr);
nic               621 drivers/staging/gdm724x/gdm_lte.c 	if (nic->vlan_id > 0) {
nic               630 drivers/staging/gdm724x/gdm_lte.c 	ether_addr_copy(mac_header_data, nic->dest_mac_addr);
nic               631 drivers/staging/gdm724x/gdm_lte.c 	memcpy(mac_header_data + ETH_ALEN, nic->src_mac_addr, ETH_ALEN);
nic               633 drivers/staging/gdm724x/gdm_lte.c 	vlan_eth.h_vlan_TCI = htons(nic->vlan_id);
nic               670 drivers/staging/gdm724x/gdm_lte.c 	gdm_lte_rx(skb, nic, nic_type);
nic               721 drivers/staging/gdm724x/gdm_lte.c 	struct nic *nic = netdev_priv(dev);
nic               723 drivers/staging/gdm724x/gdm_lte.c 	u8 ed = nic->phy_dev->get_endian(nic->phy_dev->priv_dev);
nic               726 drivers/staging/gdm724x/gdm_lte.c 		memset(&nic->pdn_table, 0x00, sizeof(struct pdn_table));
nic               732 drivers/staging/gdm724x/gdm_lte.c 	nic->pdn_table.activate = pdn_table->activate;
nic               733 drivers/staging/gdm724x/gdm_lte.c 	nic->pdn_table.dft_eps_id = gdm_dev32_to_cpu(ed, pdn_table->dft_eps_id);
nic               734 drivers/staging/gdm724x/gdm_lte.c 	nic->pdn_table.nic_type = gdm_dev32_to_cpu(ed, pdn_table->nic_type);
nic               737 drivers/staging/gdm724x/gdm_lte.c 		    nic->pdn_table.nic_type);
nic               858 drivers/staging/gdm724x/gdm_lte.c 	struct nic *nic;
nic               871 drivers/staging/gdm724x/gdm_lte.c 		net = alloc_netdev(sizeof(struct nic), pdn_dev_name,
nic               881 drivers/staging/gdm724x/gdm_lte.c 		nic = netdev_priv(net);
nic               882 drivers/staging/gdm724x/gdm_lte.c 		memset(nic, 0, sizeof(struct nic));
nic               883 drivers/staging/gdm724x/gdm_lte.c 		nic->netdev = net;
nic               884 drivers/staging/gdm724x/gdm_lte.c 		nic->phy_dev = phy_dev;
nic               885 drivers/staging/gdm724x/gdm_lte.c 		nic->nic_id = index;
nic               888 drivers/staging/gdm724x/gdm_lte.c 				 nic->src_mac_addr,
nic               889 drivers/staging/gdm724x/gdm_lte.c 				 nic->dest_mac_addr,
nic                34 drivers/staging/gdm724x/gdm_lte.h struct nic;
nic               243 drivers/staging/wilc1000/wilc_wlan.h 	int (*enable_interrupt)(struct wilc *nic);
nic               244 drivers/staging/wilc1000/wilc_wlan.h 	void (*disable_interrupt)(struct wilc *nic);