Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ea8f400c authored by Peer Chen's avatar Peer Chen Committed by Jeff Garzik
Browse files

[netdrvr tulip] Remove ULi-specific code from generic tulip driver

It has a separate driver now, 'uli526x'.
parent 4689ced9
Loading
Loading
Loading
Loading
+0 −36
Original line number Diff line number Diff line
@@ -81,25 +81,6 @@ int tulip_mdio_read(struct net_device *dev, int phy_id, int location)
		return retval & 0xffff;
	}

	if(tp->chip_id == ULI526X && tp->revision >= 0x40) {
		int value;
		int i = 1000;
		
		value = ioread32(ioaddr + CSR9);
		iowrite32(value & 0xFFEFFFFF, ioaddr + CSR9);
		
		value = (phy_id << 21) | (location << 16) | 0x08000000;
		iowrite32(value, ioaddr + CSR10);
		
		while(--i > 0) {
			mdio_delay();
			if(ioread32(ioaddr + CSR10) & 0x10000000)
				break;
		}
		retval = ioread32(ioaddr + CSR10);
		spin_unlock_irqrestore(&tp->mii_lock, flags);
		return retval & 0xFFFF;
	}
	/* Establish sync by sending at least 32 logic ones. */
	for (i = 32; i >= 0; i--) {
		iowrite32(MDIO_ENB | MDIO_DATA_WRITE1, mdio_addr);
@@ -159,23 +140,6 @@ void tulip_mdio_write(struct net_device *dev, int phy_id, int location, int val)
		spin_unlock_irqrestore(&tp->mii_lock, flags);
		return;
	}
	if (tp->chip_id == ULI526X && tp->revision >= 0x40) {
		int value;
		int i = 1000;
		
		value = ioread32(ioaddr + CSR9);
		iowrite32(value & 0xFFEFFFFF, ioaddr + CSR9);
		
		value = (phy_id << 21) | (location << 16) | 0x04000000 | (val & 0xFFFF);
		iowrite32(value, ioaddr + CSR10);
		
		while(--i > 0) {
			if (ioread32(ioaddr + CSR10) & 0x10000000)
				break;
		}
		spin_unlock_irqrestore(&tp->mii_lock, flags);
		return;
	}
		
	/* Establish sync by sending 32 logic ones. */
	for (i = 32; i >= 0; i--) {
+0 −1
Original line number Diff line number Diff line
@@ -39,7 +39,6 @@ void tulip_timer(unsigned long data)
	case MX98713:
	case COMPEX9881:
	case DM910X:
	case ULI526X:
	default: {
		struct medialeaf *mleaf;
		unsigned char *p;
+2 −6
Original line number Diff line number Diff line
@@ -88,7 +88,6 @@ enum chips {
	I21145,
	DM910X,
	CONEXANT,
	ULI526X
};


@@ -482,11 +481,8 @@ static inline void tulip_stop_rxtx(struct tulip_private *tp)

static inline void tulip_restart_rxtx(struct tulip_private *tp)
{
	if(!(tp->chip_id == ULI526X && 
		(tp->revision == 0x40 || tp->revision == 0x50))) {
	tulip_stop_rxtx(tp);
	udelay(5);
	}
	tulip_start_rxtx(tp);
}

+11 −23
Original line number Diff line number Diff line
@@ -199,9 +199,6 @@ struct tulip_chip_table tulip_tbl[] = {
  { "Conexant LANfinity", 256, 0x0001ebef,
	HAS_MII | HAS_ACPI, tulip_timer },

   /* ULi526X */
   { "ULi M5261/M5263", 128, 0x0001ebef,
        HAS_MII | HAS_MEDIA_TABLE | CSR12_IN_SROM | HAS_ACPI, tulip_timer },
};


@@ -239,8 +236,6 @@ static struct pci_device_id tulip_pci_tbl[] = {
	{ 0x1737, 0xAB09, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
	{ 0x1737, 0xAB08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
	{ 0x17B3, 0xAB08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET },
 	{ 0x10b9, 0x5261, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ULI526X },	/* ALi 1563 integrated ethernet */
 	{ 0x10b9, 0x5263, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ULI526X },	/* ALi 1563 integrated ethernet */
	{ 0x10b7, 0x9300, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET }, /* 3Com 3CSOHO100B-TX */
	{ 0x14ea, 0xab08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, COMET }, /* Planex FNW-3602-TX */
	{ } /* terminate list */
@@ -522,7 +517,7 @@ static void tulip_tx_timeout(struct net_device *dev)
				   dev->name);
	} else if (tp->chip_id == DC21140 || tp->chip_id == DC21142
			   || tp->chip_id == MX98713 || tp->chip_id == COMPEX9881
			   || tp->chip_id == DM910X || tp->chip_id == ULI526X) {
			   || tp->chip_id == DM910X) {
		printk(KERN_WARNING "%s: 21140 transmit timed out, status %8.8x, "
			   "SIA %8.8x %8.8x %8.8x %8.8x, resetting...\n",
			   dev->name, ioread32(ioaddr + CSR5), ioread32(ioaddr + CSR12),
@@ -1103,9 +1098,7 @@ static void set_rx_mode(struct net_device *dev)
			entry = tp->cur_tx++ % TX_RING_SIZE;

			if (entry != 0) {
				/* Avoid a chip errata by prefixing a dummy entry. Don't do
				   this on the ULI526X as it triggers a different problem */
				if (!(tp->chip_id == ULI526X && (tp->revision == 0x40 || tp->revision == 0x50))) {
				/* Avoid a chip errata by prefixing a dummy entry. */
				tp->tx_buffers[entry].skb = NULL;
				tp->tx_buffers[entry].mapping = 0;
				tp->tx_ring[entry].length =
@@ -1114,7 +1107,7 @@ static void set_rx_mode(struct net_device *dev)
				/* Must set DescOwned later to avoid race with chip */
				dummy = entry;
				entry = tp->cur_tx++ % TX_RING_SIZE;
				}

			}

			tp->tx_buffers[entry].skb = NULL;
@@ -1235,10 +1228,6 @@ static int tulip_uli_dm_quirk(struct pci_dev *pdev)
{
	if (pdev->vendor == 0x1282 && pdev->device == 0x9102)
		return 1;
	if (pdev->vendor == 0x10b9 && pdev->device == 0x5261)
		return 1;
	if (pdev->vendor == 0x10b9 && pdev->device == 0x5263)
		return 1;
	return 0;
}

@@ -1680,7 +1669,6 @@ static int __devinit tulip_init_one (struct pci_dev *pdev,
	switch (chip_idx) {
	case DC21140:
	case DM910X:
	case ULI526X:
	default:
		if (tp->mtable)
			iowrite32(tp->mtable->csr12dir | 0x100, ioaddr + CSR12);