35 static void dwmac100_core_init(
void __iomem *ioaddr)
41 #ifdef STMMAC_VLAN_TAG_USED
46 static void dwmac100_dump_mac_regs(
void __iomem *ioaddr)
48 pr_info(
"\t----------------------------------------------\n"
49 "\t DWMAC 100 CSR (base addr = 0x%p)\n"
50 "\t----------------------------------------------\n",
58 pr_info(
"\tmulticast hash HI (offset 0x%x): 0x%08x\n",
60 pr_info(
"\tmulticast hash LO (offset 0x%x): 0x%08x\n",
62 pr_info(
"\tflow control (offset 0x%x): 0x%08x\n",
70 static int dwmac100_rx_ipc_enable(
void __iomem *ioaddr)
75 static int dwmac100_irq_status(
void __iomem *ioaddr)
80 static void dwmac100_set_umac_addr(
void __iomem *ioaddr,
unsigned char *
addr,
86 static void dwmac100_get_umac_addr(
void __iomem *ioaddr,
unsigned char *
addr,
92 static void dwmac100_set_filter(
struct net_device *
dev,
int id)
120 memset(mc_filter, 0,
sizeof(mc_filter));
129 mc_filter[bit_nr >> 5] |= 1 << (bit_nr & 31);
138 "HI 0x%08x, LO 0x%08x\n",
143 static void dwmac100_flow_ctrl(
void __iomem *ioaddr,
unsigned int duplex,
144 unsigned int fc,
unsigned int pause_time)
156 static void dwmac100_pmt(
void __iomem *ioaddr,
unsigned long mode)
161 static const struct stmmac_ops dwmac100_ops = {
162 .core_init = dwmac100_core_init,
163 .rx_ipc = dwmac100_rx_ipc_enable,
164 .dump_regs = dwmac100_dump_mac_regs,
165 .host_irq_status = dwmac100_irq_status,
166 .set_filter = dwmac100_set_filter,
167 .flow_ctrl = dwmac100_flow_ctrl,
169 .set_umac_addr = dwmac100_set_umac_addr,
170 .get_umac_addr = dwmac100_get_umac_addr,
183 mac->
mac = &dwmac100_ops;