Lines Matching refs:dev
113 static void init_ring(struct FA311_DEV *dev);
132 struct FA311_DEV* dev = &fa311_dev;
136 memset(dev, 0, sizeof(*dev));
137 dev->vendor = pci->vendor;
138 dev->device = pci->dev_id;
139 dev->ioaddr = pci->membase;
142 prev_eedata = eeprom_read(dev->ioaddr, 6);
144 int eedata = eeprom_read(dev->ioaddr, i + 7);
167 init_ring(dev);
169 writel(virt_to_bus(dev->rx_ring), dev->ioaddr + RxRingPtr);
170 writel(virt_to_bus(dev->tx_ring), dev->ioaddr + TxRingPtr);
174 writel(i, dev->ioaddr + RxFilterAddr);
176 dev->ioaddr + RxFilterData);
181 if (readl(dev->ioaddr + ChipConfig) & 0x20000000)
191 writel(tx_config, dev->ioaddr + TxConfig);
192 writel(rx_config, dev->ioaddr + RxConfig);
194 duplex = readl(dev->ioaddr + ChipConfig) & 0x20000000 ? 1 : 0;
202 writew(tx_config, dev->ioaddr + TxConfig);
203 writew(rx_config, dev->ioaddr + RxConfig);
206 dev->ioaddr + RxFilterAddr);
208 writel(RxOn | TxOn, dev->ioaddr + ChipCmd);
209 writel(4, dev->ioaddr + StatsCtrl); /* Clear Stats */
217 struct FA311_DEV* dev = &fa311_dev;
220 outl(ChipReset, dev->ioaddr + ChipCmd);
222 if ((readl(dev->ioaddr + ChipConfig) & 0xe000) != 0xe000)
224 chip_config = readl(dev->ioaddr + ChipConfig);
234 struct FA311_DEV* dev = &fa311_dev;
237 entry = dev->cur_rx;
241 desc_status = dev->rx_ring[entry].cmd_status;
249 readl(dev->ioaddr + IntrStatus); /* clear interrrupt bits */
254 memcpy(nic->packet, (char*)(dev->rx_ring[entry].addr), nic->packetlen);
258 dev->rx_ring[entry].cmd_status = cpu_to_le32(dev->rx_buf_sz);
259 dev->cur_rx++;
260 if (dev->cur_rx >= RX_RING_SIZE)
261 dev->cur_rx = 0;
262 dev->rx_head_desc = &dev->rx_ring[dev->cur_rx];
265 writel(RxOn, dev->ioaddr + ChipCmd);
277 struct FA311_DEV* dev = &fa311_dev;
280 entry = dev->cur_tx;
281 txp = (char*)(dev->tx_ring[entry].addr);
297 dev->tx_ring[entry].cmd_status = cpu_to_le32(DescOwn | len);
298 dev->cur_tx++;
299 if (dev->cur_tx >= TX_RING_SIZE)
300 dev->cur_tx = 0;
303 writel(TxOn, dev->ioaddr + ChipCmd);
309 desc_status = dev->tx_ring[entry].cmd_status;
316 readl(dev->ioaddr + IntrStatus); /* clear interrrupt bits */
322 struct FA311_DEV* dev = &fa311_dev;
325 writel(RxOff | TxOff, dev->ioaddr + ChipCmd);
386 /* Initialize the Rx and Tx rings, along with various 'dev' bits. */
387 static void init_ring(struct FA311_DEV *dev)
391 dev->cur_rx = 0;
392 dev->cur_tx = 0;
394 dev->rx_buf_sz = PKT_BUF_SZ;
395 dev->rx_head_desc = &dev->rx_ring[0];
399 dev->rx_ring[i].next_desc = virt_to_le32desc(&dev->rx_ring[i+1]);
400 dev->rx_ring[i].cmd_status = DescOwn;
403 dev->rx_ring[i-1].next_desc = virt_to_le32desc(&dev->rx_ring[0]);
407 dev->rx_ring[i].addr = (u32)(&rx_packet[PKT_BUF_SZ * i]);
408 dev->rx_ring[i].cmd_status = cpu_to_le32(dev->rx_buf_sz);
412 dev->tx_ring[i].next_desc = virt_to_le32desc(&dev->tx_ring[i+1]);
413 dev->tx_ring[i].cmd_status = 0;
415 dev->tx_ring[i-1].next_desc = virt_to_le32desc(&dev->tx_ring[0]);
418 dev->tx_ring[i].addr = (u32)(&tx_packet[PKT_BUF_SZ * i]);