Lines Matching refs:mac

94     e1000x_inc_reg_if_not_full(core->mac, IAC);  in e1000e_raise_legacy_irq()
108 int64_t delay_ns = (int64_t) timer->core->mac[timer->delay_reg] * in e1000e_intrmgr_rearm_timer()
160 if (timer->core->mac[IMS] & timer->core->mac[ICR]) { in e1000e_intrmgr_on_throttling_timer()
258 uint32_t rdtr = core->mac[RDTR]; in e1000e_intrmgr_delay_rx_causes()
259 uint32_t radv = core->mac[RADV]; in e1000e_intrmgr_delay_rx_causes()
260 uint32_t raid = core->mac[RAID]; in e1000e_intrmgr_delay_rx_causes()
270 if (!(core->mac[RFCTL] & E1000_RFCTL_ACK_DIS)) { in e1000e_intrmgr_delay_rx_causes()
332 if (!core->tadv.running && (core->mac[TADV] != 0)) { in e1000e_intrmgr_delay_tx_causes()
437 return (core->mac[RXCSUM] & E1000_RXCSUM_PCSD) ? false : true; in e1000e_rx_csum_enabled()
443 return (core->mac[RFCTL] & E1000_RFCTL_EXTEN) ? false : true; in e1000e_rx_use_legacy_descriptor()
450 (core->mac[RCTL] & E1000_RCTL_DTYP_PS); in e1000e_rx_use_ps_descriptor()
456 return E1000_MRQC_ENABLED(core->mac[MRQC]) && in e1000e_rss_enabled()
479 trace_e1000e_rx_rss_ip4(l4hdr_proto, core->mac[MRQC], in e1000e_rss_get_hash_type()
480 E1000_MRQC_EN_TCPIPV4(core->mac[MRQC]), in e1000e_rss_get_hash_type()
481 E1000_MRQC_EN_IPV4(core->mac[MRQC])); in e1000e_rss_get_hash_type()
484 E1000_MRQC_EN_TCPIPV4(core->mac[MRQC])) { in e1000e_rss_get_hash_type()
488 if (E1000_MRQC_EN_IPV4(core->mac[MRQC])) { in e1000e_rss_get_hash_type()
494 bool ex_dis = core->mac[RFCTL] & E1000_RFCTL_IPV6_EX_DIS; in e1000e_rss_get_hash_type()
495 bool new_ex_dis = core->mac[RFCTL] & E1000_RFCTL_NEW_IPV6_EXT_DIS; in e1000e_rss_get_hash_type()
504 trace_e1000e_rx_rss_ip6_rfctl(core->mac[RFCTL]); in e1000e_rss_get_hash_type()
509 core->mac[MRQC], in e1000e_rss_get_hash_type()
510 E1000_MRQC_EN_TCPIPV6EX(core->mac[MRQC]), in e1000e_rss_get_hash_type()
511 E1000_MRQC_EN_IPV6EX(core->mac[MRQC]), in e1000e_rss_get_hash_type()
512 E1000_MRQC_EN_IPV6(core->mac[MRQC])); in e1000e_rss_get_hash_type()
519 E1000_MRQC_EN_TCPIPV6EX(core->mac[MRQC])) { in e1000e_rss_get_hash_type()
523 if (E1000_MRQC_EN_IPV6EX(core->mac[MRQC])) { in e1000e_rss_get_hash_type()
529 if (E1000_MRQC_EN_IPV6(core->mac[MRQC])) { in e1000e_rss_get_hash_type()
568 return net_rx_pkt_calc_rss_hash(pkt, type, (uint8_t *) &core->mac[RSSRK]); in e1000e_rss_calc_hash()
600 info->queue = E1000_RSS_QUEUE(&core->mac[RETA], info->hash); in e1000e_rss_parse_packet()
612 e1000x_inc_reg_if_not_full(core->mac, TSCTC); in e1000e_setup_tx_offloads()
651 ((core->mac[RCTL] & E1000_RCTL_LBM_MAC) == E1000_RCTL_LBM_MAC)) { in e1000e_tx_pkt_send()
667 e1000x_increase_size_stats(core->mac, PTCregs, tot_len); in e1000e_on_tx_done_update_stats()
668 e1000x_inc_reg_if_not_full(core->mac, TPT); in e1000e_on_tx_done_update_stats()
669 e1000x_grow_8reg_if_not_full(core->mac, TOTL, tot_len); in e1000e_on_tx_done_update_stats()
673 e1000x_inc_reg_if_not_full(core->mac, BPTC); in e1000e_on_tx_done_update_stats()
676 e1000x_inc_reg_if_not_full(core->mac, MPTC); in e1000e_on_tx_done_update_stats()
684 e1000x_inc_reg_if_not_full(core->mac, GPTC); in e1000e_on_tx_done_update_stats()
685 e1000x_grow_8reg_if_not_full(core->mac, GOTCL, tot_len); in e1000e_on_tx_done_update_stats()
727 if (e1000x_vlan_enabled(core->mac) && in e1000e_process_tx_desc()
730 le16_to_cpu(dp->upper.fields.special), core->mac[VET]); in e1000e_process_tx_desc()
773 !(core->mac[IVAR] & E1000_IVAR_TX_INT_EVERY_WB)) { in e1000e_txdesc_writeback()
799 return core->mac[r->dh] == core->mac[r->dt] || in e1000e_ring_empty()
800 core->mac[r->dt] >= core->mac[r->dlen] / E1000_RING_DESC_LEN; in e1000e_ring_empty()
806 uint64_t bah = core->mac[r->dbah]; in e1000e_ring_base()
807 uint64_t bal = core->mac[r->dbal]; in e1000e_ring_base()
815 return e1000e_ring_base(core, r) + E1000_RING_DESC_LEN * core->mac[r->dh]; in e1000e_ring_head_descr()
821 core->mac[r->dh] += count; in e1000e_ring_advance()
823 if (core->mac[r->dh] * E1000_RING_DESC_LEN >= core->mac[r->dlen]) { in e1000e_ring_advance()
824 core->mac[r->dh] = 0; in e1000e_ring_advance()
831 trace_e1000e_ring_free_space(r->idx, core->mac[r->dlen], in e1000e_ring_free_descr_num()
832 core->mac[r->dh], core->mac[r->dt]); in e1000e_ring_free_descr_num()
834 if (core->mac[r->dh] <= core->mac[r->dt]) { in e1000e_ring_free_descr_num()
835 return core->mac[r->dt] - core->mac[r->dh]; in e1000e_ring_free_descr_num()
838 if (core->mac[r->dh] > core->mac[r->dt]) { in e1000e_ring_free_descr_num()
839 return core->mac[r->dlen] / E1000_RING_DESC_LEN + in e1000e_ring_free_descr_num()
840 core->mac[r->dt] - core->mac[r->dh]; in e1000e_ring_free_descr_num()
850 return core->mac[r->dlen] > 0; in e1000e_ring_enabled()
856 return core->mac[r->dlen]; in e1000e_ring_len()
910 if (!(core->mac[TCTL] & E1000_TCTL_EN)) { in e1000e_start_xmit()
966 if (!e1000x_rx_ready(core->owner, core->mac)) { in e1000e_can_receive()
999 return !!(core->mac[RXCSUM] & E1000_RXCSUM_IPOFLD); in e1000e_rx_l3_cso_enabled()
1005 return !!(core->mac[RXCSUM] & E1000_RXCSUM_TUOFLD); in e1000e_rx_l4_cso_enabled()
1011 return (!e1000x_is_vlan_packet(buf, core->mac[VET]) || in e1000e_receive_filter()
1012 e1000x_rx_vlan_filter(core->mac, PKT_GET_VLAN_HDR(buf))) && in e1000e_receive_filter()
1013 e1000x_rx_group_filter(core->mac, buf); in e1000e_receive_filter()
1053 if (core->mac[RCTL] & E1000_RCTL_DTYP_PS) { in e1000e_read_rx_descr()
1112 if (core->mac[RFCTL] & E1000_RFCTL_ACK_DATA_DIS) { in e1000e_is_tcp_ack()
1154 if ((core->mac[RXCSUM] & E1000_RXCSUM_PCSD) != 0) { in e1000e_build_rx_metadata()
1171 if (hasip6 && (core->mac[RFCTL] & E1000_RFCTL_IPV6_DIS)) { in e1000e_build_rx_metadata()
1187 if (hasip6 && (core->mac[RFCTL] & E1000_RFCTL_IPV6_XSUM_DIS)) { in e1000e_build_rx_metadata()
1314 if (core->mac[RCTL] & E1000_RCTL_DTYP_PS) { in e1000e_write_rx_descr()
1344 if (core->mac[RCTL] & E1000_RCTL_DTYP_PS) { in e1000e_pci_dma_write_rx_desc()
1433 e1000x_update_rx_total_stats(core->mac, pkt_type, pkt_size, pkt_fcs_size); in e1000e_update_rx_stats()
1464 if (fragment && (core->mac[RFCTL] & E1000_RFCTL_IPFRSP_DIS)) { in e1000e_do_ps()
1497 size_t total_size = size + e1000x_fcs_len(core->mac); in e1000e_write_packet_to_guest()
1589 (const char *) &fcs_pad, e1000x_fcs_len(core->mac)); in e1000e_write_packet_to_guest()
1645 if (!e1000x_hw_rx_enabled(core->mac)) { in e1000e_receive_internal()
1664 e1000x_inc_reg_if_not_full(core->mac, RUC); in e1000e_receive_internal()
1675 if (e1000x_is_oversized(core->mac, size)) { in e1000e_receive_internal()
1688 e1000x_vlan_enabled(core->mac) ? 0 : -1, in e1000e_receive_internal()
1689 core->mac[VET], 0); in e1000e_receive_internal()
1695 e1000x_fcs_len(core->mac); in e1000e_receive_internal()
1705 if (total_size < core->mac[RSRPD]) { in e1000e_receive_internal()
1710 if (!(core->mac[RFCTL] & E1000_RFCTL_ACK_DIS) && in e1000e_receive_internal()
1748 core->mac[CTRL] |= E1000_CTRL_TFCE | E1000_CTRL_RFCE; in e1000e_update_flowctl_status()
1757 e1000x_update_regs_on_link_down(core->mac, core->phy[0]); in e1000e_link_down()
1771 e1000x_restart_autoneg(core->mac, core->phy[0], core->autoneg_timer); in e1000e_set_phy_ctrl()
1781 e1000x_restart_autoneg(core->mac, core->phy[0], core->autoneg_timer); in e1000e_set_phy_oem_bits()
1795 uint32_t old_status = core->mac[STATUS]; in e1000e_core_set_link_status()
1800 e1000x_update_regs_on_link_down(core->mac, core->phy[0]); in e1000e_core_set_link_status()
1804 e1000x_restart_autoneg(core->mac, core->phy[0], in e1000e_core_set_link_status()
1807 e1000x_update_regs_on_link_up(core->mac, core->phy[0]); in e1000e_core_set_link_status()
1812 if (core->mac[STATUS] != old_status) { in e1000e_core_set_link_status()
1823 core->mac[CTRL] = val & ~E1000_CTRL_RST; in e1000e_set_ctrl()
1824 core->mac[CTRL_DUP] = core->mac[CTRL]; in e1000e_set_ctrl()
1841 core->mac[STATUS] |= E1000_STATUS_PHYRA; in e1000e_set_ctrl()
1862 core->mac[RFCTL] = val; in e1000e_set_rfctl()
1879 uint32_t rctl = core->mac[RCTL]; in e1000e_parse_rxbufsize()
1886 bsize = core->mac[PSRCTL] & E1000_PSRCTL_BSIZE0_MASK; in e1000e_parse_rxbufsize()
1889 bsize = core->mac[PSRCTL] & E1000_PSRCTL_BSIZE1_MASK; in e1000e_parse_rxbufsize()
1892 bsize = core->mac[PSRCTL] & E1000_PSRCTL_BSIZE2_MASK; in e1000e_parse_rxbufsize()
1895 bsize = core->mac[PSRCTL] & E1000_PSRCTL_BSIZE3_MASK; in e1000e_parse_rxbufsize()
1916 if (core->mac[RCTL] & E1000_RCTL_DTYP_PS) { in e1000e_calc_rxdesclen()
1928 core->mac[RCTL] = val; in e1000e_set_rx_control()
1929 trace_e1000e_rx_set_rctl(core->mac[RCTL]); in e1000e_set_rx_control()
1960 if (timer->core->mac[timer->delay_reg] != 0) { in e1000e_postpone_interrupt()
1998 if (core->mac[CTRL_EXT] & E1000_CTRL_EXT_EIAME) { in e1000e_msix_notify_one()
1999 trace_e1000e_irq_iam_clear_eiame(core->mac[IAM], cause); in e1000e_msix_notify_one()
2000 core->mac[IAM] &= ~cause; in e1000e_msix_notify_one()
2003 trace_e1000e_irq_icr_clear_eiac(core->mac[ICR], core->mac[EIAC]); in e1000e_msix_notify_one()
2005 effective_eiac = core->mac[EIAC] & cause; in e1000e_msix_notify_one()
2007 core->mac[ICR] &= ~effective_eiac; in e1000e_msix_notify_one()
2009 if (!(core->mac[CTRL_EXT] & E1000_CTRL_EXT_IAME)) { in e1000e_msix_notify_one()
2010 core->mac[IMS] &= ~effective_eiac; in e1000e_msix_notify_one()
2019 E1000_IVAR_RXQ0(core->mac[IVAR])); in e1000e_msix_notify()
2024 E1000_IVAR_RXQ1(core->mac[IVAR])); in e1000e_msix_notify()
2029 E1000_IVAR_TXQ0(core->mac[IVAR])); in e1000e_msix_notify()
2034 E1000_IVAR_TXQ1(core->mac[IVAR])); in e1000e_msix_notify()
2039 E1000_IVAR_OTHER(core->mac[IVAR])); in e1000e_msix_notify()
2064 E1000_IVAR_RXQ0(core->mac[IVAR])); in e1000e_msix_clear()
2069 E1000_IVAR_RXQ1(core->mac[IVAR])); in e1000e_msix_clear()
2074 E1000_IVAR_TXQ0(core->mac[IVAR])); in e1000e_msix_clear()
2079 E1000_IVAR_TXQ1(core->mac[IVAR])); in e1000e_msix_clear()
2084 E1000_IVAR_OTHER(core->mac[IVAR])); in e1000e_msix_clear()
2091 core->mac[ICR] &= ~E1000_ICR_ASSERTED; in e1000e_fix_icr_asserted()
2092 if (core->mac[ICR]) { in e1000e_fix_icr_asserted()
2093 core->mac[ICR] |= E1000_ICR_ASSERTED; in e1000e_fix_icr_asserted()
2096 trace_e1000e_irq_fix_icr_asserted(core->mac[ICR]); in e1000e_fix_icr_asserted()
2103 uint32_t old_causes = core->mac[IMS] & core->mac[ICR]; in e1000e_raise_interrupts()
2107 core->mac[index], core->mac[index] | causes); in e1000e_raise_interrupts()
2109 core->mac[index] |= causes; in e1000e_raise_interrupts()
2113 if (core->mac[ICR] & E1000_ICR_OTHER_CAUSES) { in e1000e_raise_interrupts()
2114 core->mac[ICR] |= E1000_ICR_OTHER; in e1000e_raise_interrupts()
2115 trace_e1000e_irq_add_msi_other(core->mac[ICR]); in e1000e_raise_interrupts()
2129 core->mac[ICS] = core->mac[ICR]; in e1000e_raise_interrupts()
2131 trace_e1000e_irq_pending_interrupts(core->mac[ICR] & core->mac[IMS], in e1000e_raise_interrupts()
2132 core->mac[ICR], core->mac[IMS]); in e1000e_raise_interrupts()
2134 raised_causes = core->mac[IMS] & core->mac[ICR] & ~old_causes; in e1000e_raise_interrupts()
2155 core->mac[index], core->mac[index] & ~causes); in e1000e_lower_interrupts()
2157 core->mac[index] &= ~causes; in e1000e_lower_interrupts()
2167 core->mac[ICS] = core->mac[ICR]; in e1000e_lower_interrupts()
2169 trace_e1000e_irq_pending_interrupts(core->mac[ICR] & core->mac[IMS], in e1000e_lower_interrupts()
2170 core->mac[ICR], core->mac[IMS]); in e1000e_lower_interrupts()
2172 if (!(core->mac[IMS] & core->mac[ICR]) && in e1000e_lower_interrupts()
2190 e1000x_update_regs_on_autoneg_done(core->mac, core->phy[0]); in e1000e_autoneg_timer()
2291 val = core->mac[MDIC] | E1000_MDIC_ERROR; in e1000e_set_mdic()
2309 core->mac[MDIC] = val | E1000_MDIC_READY; in e1000e_set_mdic()
2319 core->mac[index] = val & 0xffff; in e1000e_set_rdt()
2328 core->mac[index] &= ~E1000_STATUS_PHYRA; in e1000e_set_status()
2340 core->mac[CTRL_EXT] = val; in e1000e_set_ctrlext()
2348 core->mac[PBACLR] = val & E1000_PBACLR_VALID_MASK; in e1000e_set_pbaclr()
2355 if (core->mac[PBACLR] & BIT(i)) { in e1000e_set_pbaclr()
2364 core->mac[FCRTH] = val & 0xFFF8; in e1000e_set_fcrth()
2370 core->mac[FCRTL] = val & 0x8000FFF8; in e1000e_set_fcrtl()
2377 core->mac[index] = val & (BIT(num) - 1); \
2390 core->mac[VET] = val & 0xffff; in e1000e_set_vet()
2391 trace_e1000e_vlan_vet(core->mac[VET]); in e1000e_set_vet()
2397 core->mac[index] = val & E1000_XDLEN_MASK; in e1000e_set_dlen()
2403 core->mac[index] = val & E1000_XDBAL_MASK; in e1000e_set_dbal()
2410 core->mac[index] = val; in e1000e_set_tctl()
2412 if (core->mac[TARC0] & E1000_TARC_ENABLE) { in e1000e_set_tctl()
2417 if (core->mac[TARC1] & E1000_TARC_ENABLE) { in e1000e_set_tctl()
2430 core->mac[index] = val & 0xffff; in e1000e_set_tdt()
2432 if (core->mac[tarc_reg] & E1000_TARC_ENABLE) { in e1000e_set_tdt()
2448 if ((core->mac[ICR] & E1000_ICR_ASSERTED) && in e1000e_set_icr()
2449 (core->mac[CTRL_EXT] & E1000_CTRL_EXT_IAME)) { in e1000e_set_icr()
2451 e1000e_lower_interrupts(core, IMS, core->mac[IAM]); in e1000e_set_icr()
2490 (core->mac[CTRL_EXT] & E1000_CTRL_EXT_PBA_CLR) && in e1000e_set_ims()
2496 (core->mac[CTRL_EXT] & E1000_CTRL_EXT_INT_TIMERS_CLEAR_ENA)) { in e1000e_set_ims()
2533 return core->mac[index]; in e1000e_mac_readreg()
2539 trace_e1000e_irq_read_ics(core->mac[ICS]); in e1000e_mac_ics_read()
2540 return core->mac[ICS]; in e1000e_mac_ics_read()
2546 trace_e1000e_irq_read_ims(core->mac[IMS]); in e1000e_mac_ims_read()
2547 return core->mac[IMS]; in e1000e_mac_ims_read()
2553 uint32_t val = core->mac[SWSM]; in e1000e_mac_swsm_read()
2554 core->mac[SWSM] = val | E1000_SWSM_SMBI; in e1000e_mac_swsm_read()
2573 uint32_t ret = core->mac[ICR]; in e1000e_mac_icr_read()
2575 if (core->mac[IMS] == 0) { in e1000e_mac_icr_read()
2585 if (core->mac[ICR] & E1000_ICR_ASSERTED) { in e1000e_mac_icr_read()
2586 if (core->mac[CTRL_EXT] & E1000_CTRL_EXT_IAME) { in e1000e_mac_icr_read()
2590 e1000e_lower_interrupts(core, IMS, core->mac[IAM]); in e1000e_mac_icr_read()
2612 if (core->mac[ICR] & core->mac[IMS]) { in e1000e_mac_icr_read()
2613 trace_e1000e_irq_icr_clear_icr_bit_ims(core->mac[ICR], in e1000e_mac_icr_read()
2614 core->mac[IMS]); in e1000e_mac_icr_read()
2625 uint32_t ret = core->mac[index]; in e1000e_mac_read_clr4()
2627 core->mac[index] = 0; in e1000e_mac_read_clr4()
2634 uint32_t ret = core->mac[index]; in e1000e_mac_read_clr8()
2636 core->mac[index] = 0; in e1000e_mac_read_clr8()
2637 core->mac[index - 1] = 0; in e1000e_mac_read_clr8()
2644 uint32_t val = core->mac[CTRL]; in e1000e_get_ctrl()
2660 uint32_t res = core->mac[STATUS]; in e1000e_get_status()
2662 if (!(core->mac[CTRL] & E1000_CTRL_GIO_MASTER_DISABLE)) { in e1000e_get_status()
2666 if (core->mac[CTRL] & E1000_CTRL_FRCDPX) { in e1000e_get_status()
2667 res |= (core->mac[CTRL] & E1000_CTRL_FD) ? E1000_STATUS_FD : 0; in e1000e_get_status()
2672 if ((core->mac[CTRL] & E1000_CTRL_FRCSPD) || in e1000e_get_status()
2673 (core->mac[CTRL_EXT] & E1000_CTRL_EXT_SPD_BYPS)) { in e1000e_get_status()
2674 switch (core->mac[CTRL] & E1000_CTRL_SPD_SEL) { in e1000e_get_status()
2702 return core->mac[index] & ((BIT(11) - 1) | in e1000e_get_tarc()
2712 core->mac[index] = val; in e1000e_mac_writereg()
2720 core->mac[index] = val; in e1000e_mac_setmacaddr()
2722 macaddr[0] = cpu_to_le32(core->mac[RA]); in e1000e_mac_setmacaddr()
2723 macaddr[1] = cpu_to_le32(core->mac[RA + 1]); in e1000e_mac_setmacaddr()
2737 core->mac[EECD] = (core->mac[EECD] & ro_bits) | (val & ~ro_bits); in e1000e_set_eecd()
2752 core->mac[EERD] = flags | in e1000e_set_eerd()
2769 core->mac[EERD] = flags | in e1000e_set_eewr()
2777 core->mac[RXDCTL] = core->mac[RXDCTL1] = val; in e1000e_set_rxdctl()
2788 core->mac[index] = MAX(interval, E1000E_MIN_XITR); in e1000e_set_itr()
2800 core->mac[index] = MAX(interval, E1000E_MIN_XITR); in e1000e_set_eitr()
2806 if (core->mac[RCTL] & E1000_RCTL_DTYP_MASK) { in e1000e_set_psrctl()
2821 core->mac[PSRCTL] = val; in e1000e_set_psrctl()
2840 core->mac[RXCSUM] = val; in e1000e_set_rxcsum()
2847 uint32_t ro_bits = core->mac[GCR] & E1000_GCR_RO_BITS; in e1000e_set_gcr()
2848 core->mac[GCR] = (val & ~E1000_GCR_RO_BITS) | ro_bits; in e1000e_set_gcr()
2853 e1000x_timestamp(core->mac, core->timadj, SYSTIML, SYSTIMH); in e1000e_get_systiml()
2854 return core->mac[SYSTIML]; in e1000e_get_systiml()
2859 core->mac[TSYNCRXCTL] &= ~E1000_TSYNCRXCTL_VALID; in e1000e_get_rxsatrh()
2860 return core->mac[RXSATRH]; in e1000e_get_rxsatrh()
2865 core->mac[TSYNCTXCTL] &= ~E1000_TSYNCTXCTL_VALID; in e1000e_get_txstmph()
2866 return core->mac[TXSTMPH]; in e1000e_get_txstmph()
2871 e1000x_set_timinca(core->mac, &core->timadj, val); in e1000e_set_timinca()
2876 core->mac[TIMADJH] = val; in e1000e_set_timadjh()
2877 core->timadj += core->mac[TIMADJL] | ((int64_t)core->mac[TIMADJH] << 32); in e1000e_set_timadjh()
3469 core->mac[i] = i < ARRAY_SIZE(e1000e_mac_reg_init) ? in e1000e_reset()
3479 e1000x_reset_mac_addr(core->owner_nic, core->mac, core->permanent_mac); in e1000e_reset()
3524 nc->link_down = (core->mac[STATUS] & E1000_STATUS_LU) == 0; in e1000e_core_post_load()