int octeon_eth_configure_common(struct octeon_eth_softc *sc) { static int once; uint64_t reg; if (once == 1) return 0; once = 1; #if 0 octeon_eth_buf_init(sc); #endif cn30xxipd_config(sc->sc_ipd); cn30xxpko_config(sc->sc_pko); cn30xxpow_config(sc->sc_pow, OCTEON_POW_GROUP_PIP); /* Set padding for packets that Octeon does not recognize as IP. */ reg = octeon_xkphys_read_8(PIP_GBL_CFG); reg &= ~PIP_GBL_CFG_NIP_SHF_MASK; reg |= ETHER_ALIGN << PIP_GBL_CFG_NIP_SHF_SHIFT; octeon_xkphys_write_8(PIP_GBL_CFG, reg); return 0; }
int octeon_eth_configure_common(struct octeon_eth_softc *sc) { static int once; if (once == 1) return 0; once = 1; #if 0 octeon_eth_buf_init(sc); #endif cn30xxipd_config(sc->sc_ipd); cn30xxpko_config(sc->sc_pko); cn30xxpow_config(sc->sc_pow, OCTEON_POW_GROUP_PIP); return 0; }