#include <linux/types.h>
#include <linux/ethtool.h>
#include <linux/delay.h>
#include "net_driver.h"
#include "mdio_10g.h"
#include "workarounds.h"
unsigned ef4_mdio_id_oui(u32 id)
{ … }
int ef4_mdio_reset_mmd(struct ef4_nic *port, int mmd,
int spins, int spintime)
{ … }
static int ef4_mdio_check_mmd(struct ef4_nic *efx, int mmd)
{ … }
#define MDIO45_RESET_TIME …
#define MDIO45_RESET_ITERS …
int ef4_mdio_wait_reset_mmds(struct ef4_nic *efx, unsigned int mmd_mask)
{ … }
int ef4_mdio_check_mmds(struct ef4_nic *efx, unsigned int mmd_mask)
{ … }
bool ef4_mdio_links_ok(struct ef4_nic *efx, unsigned int mmd_mask)
{ … }
void ef4_mdio_transmit_disable(struct ef4_nic *efx)
{ … }
void ef4_mdio_phy_reconfigure(struct ef4_nic *efx)
{ … }
static void ef4_mdio_set_mmd_lpower(struct ef4_nic *efx,
int lpower, int mmd)
{ … }
void ef4_mdio_set_mmds_lpower(struct ef4_nic *efx,
int low_power, unsigned int mmd_mask)
{ … }
int ef4_mdio_set_link_ksettings(struct ef4_nic *efx,
const struct ethtool_link_ksettings *cmd)
{ … }
void ef4_mdio_an_reconfigure(struct ef4_nic *efx)
{ … }
u8 ef4_mdio_get_pause(struct ef4_nic *efx)
{ … }
int ef4_mdio_test_alive(struct ef4_nic *efx)
{ … }