Skip to contentSkip to conversation

staging: et131x: Move driver into one file

PATCH In review Mark Einon 2 participants 12 messages Oct 12, 2011 – Oct 17, 2011 Staging

lore
Share & tools
lore

Mark Einon

author
#0 lore raw

cover staging: et131x: Move driver into one file

This patch set moves all driver code into one file, and all register defines into one header file.

Mark Einon (10):
staging: et131x: Put all .c files into one big file
staging: et131x: Move function declarations from et131x.h to et131x.c
staging: et131x: Move non-register defines from et131x.h to et131x.c
staging: et131x: move et1310_address_map.h contents into et131x.h
staging: et131x: move et1310_phy.h contents into et131x.h
staging: et131x: move et131x_adapter.h contents into et131x.c
staging: et131x: move et131x_defs.h contents into et131x.c
staging: et131x: move et1310_rx.h contents into et131x.c
staging: et131x: move et1310_tx.h contents into et131x.c
staging: et131x: Update TODO list - remove 'put driver into single file'

 drivers/staging/et131x/Makefile             |   11 -
 drivers/staging/et131x/README               |    1 -
 drivers/staging/et131x/et1310_address_map.h | 1436 -------
 drivers/staging/et131x/et1310_eeprom.c      |  408 --
 drivers/staging/et131x/et1310_mac.c         |  654 ----
 drivers/staging/et131x/et1310_phy.c         |  375 --
 drivers/staging/et131x/et1310_phy.h         |  292 --
 drivers/staging/et131x/et1310_pm.c          |  204 -
 drivers/staging/et131x/et1310_rx.c          | 1160 ------
 drivers/staging/et131x/et1310_rx.h          |  245 --
 drivers/staging/et131x/et1310_tx.c          |  793 ----
 drivers/staging/et131x/et1310_tx.h          |  150 -
 drivers/staging/et131x/et131x.c             | 5578 +++++++++++++++++++++++++++
 drivers/staging/et131x/et131x.h             | 1728 ++++++++-
 drivers/staging/et131x/et131x_adapter.h     |  218 --
 drivers/staging/et131x/et131x_defs.h        |  128 -
 drivers/staging/et131x/et131x_ethtool.c     |  201 -
 drivers/staging/et131x/et131x_initpci.c     |  950 -----
 drivers/staging/et131x/et131x_isr.c         |  442 ---
 drivers/staging/et131x/et131x_netdev.c      |  662 ----
 20 files changed, 7203 insertions(+), 8433 deletions(-)
author
#1 lore raw

PATCH 1/10 staging: et131x: Put all .c files into one big file

Created one big .c file for the driver, moving the contents of all driver .c files into it.

---
 drivers/staging/et131x/Makefile         |   11 -
 drivers/staging/et131x/et1310_eeprom.c  |  408 ---
 drivers/staging/et131x/et1310_mac.c     |  654 ----
 drivers/staging/et131x/et1310_phy.c     |  375 ---
 drivers/staging/et131x/et1310_pm.c      |  204 --
 drivers/staging/et131x/et1310_rx.c      | 1160 -------
 drivers/staging/et131x/et1310_tx.c      |  793 -----
 drivers/staging/et131x/et131x.c         | 5042 +++++++++++++++++++++++++++++++
 drivers/staging/et131x/et131x.h         |   62 +-
 drivers/staging/et131x/et131x_ethtool.c |  201 --
 drivers/staging/et131x/et131x_initpci.c |  950 ------
 drivers/staging/et131x/et131x_isr.c     |  442 ---
 drivers/staging/et131x/et131x_netdev.c  |  662 ----
 13 files changed, 5102 insertions(+), 5862 deletions(-)
 delete mode 100644 drivers/staging/et131x/et1310_eeprom.c
 delete mode 100644 drivers/staging/et131x/et1310_mac.c
 delete mode 100644 drivers/staging/et131x/et1310_phy.c
 delete mode 100644 drivers/staging/et131x/et1310_pm.c
 delete mode 100644 drivers/staging/et131x/et1310_rx.c
 delete mode 100644 drivers/staging/et131x/et1310_tx.c
 create mode 100644 drivers/staging/et131x/et131x.c
 delete mode 100644 drivers/staging/et131x/et131x_ethtool.c
 delete mode 100644 drivers/staging/et131x/et131x_initpci.c
 delete mode 100644 drivers/staging/et131x/et131x_isr.c
 delete mode 100644 drivers/staging/et131x/et131x_netdev.c
drivers/staging/et131x/Makefile +0 -11
index 5ea0272..027ff94 100644
@@ -3,14 +3,3 @@
 #
 
 obj-$(CONFIG_ET131X) += et131x.o
-
-et131x-y :=	et1310_eeprom.o \
-		et1310_mac.o \
-		et1310_phy.o \
-		et1310_pm.o \
-		et1310_rx.o \
-		et1310_tx.o \
-		et131x_initpci.o \
-		et131x_ethtool.o \
-		et131x_isr.o \
-		et131x_netdev.o
drivers/staging/et131x/et1310_eeprom.c deleted +0 -0
deleted file mode 100644
index 20b9660..0000000
drivers/staging/et131x/et1310_mac.c deleted +0 -0
deleted file mode 100644
index 65179a3..0000000
drivers/staging/et131x/et1310_phy.c deleted +0 -0
deleted file mode 100644
index b809dd4..0000000
drivers/staging/et131x/et1310_pm.c deleted +0 -0
deleted file mode 100644
index 91d47dc..0000000
drivers/staging/et131x/et1310_rx.c deleted +0 -0
deleted file mode 100644
index 814922b..0000000
drivers/staging/et131x/et1310_tx.c deleted +0 -0
deleted file mode 100644
index cd12500..0000000
drivers/staging/et131x/et131x.c new file +5042 -0

2,986 lines not on this page · raw message

drivers/staging/et131x/et131x.h +60 -2

62 lines not on this page · raw message

drivers/staging/et131x/et131x_ethtool.c deleted +0 -0
deleted file mode 100644
index ff95a3e..0000000
drivers/staging/et131x/et131x_initpci.c deleted +0 -0
deleted file mode 100644
index 45ce832..0000000
drivers/staging/et131x/et131x_isr.c deleted +0 -0
deleted file mode 100644
index cf8665b..0000000
drivers/staging/et131x/et131x_netdev.c deleted +0 -0
deleted file mode 100644
index 62070cf..0000000

The rest of this diff is not shown. View the raw message.

Signature · 1 line
1.7.6.4

Part of the diff is not shown here. View the raw message.

#2 lore raw

Re: [PATCH 01/10] staging: et131x: Put all .c files into one big file

Quoted 2 lines · Mark Einon

Created one big .c file for the driver, moving the contents of all driver .c files into it.

This patch doesn't apply properly, so the rest of the series doesn't as well.

Care to redo it against my staging-next branch so that I can properly apply it?

Because of this, I'll drop this series, and the other one you sent me, from my "to-apply" mailbox, feel free to resend them when you resync back up.

thanks,

greg k-h

author
#3 lore raw

PATCH 2/10 staging: et131x: Move function declarations from et131x.h to et131x.c

In reply to Mark Einon

The function declarations in et131x.h are no longer used now all functions are in one file. Removed declarations from et131x.h and added any required forward declarations to et131x.c.

---
 drivers/staging/et131x/et131x.c |   31 ++++++++++++
 drivers/staging/et131x/et131x.h |  102 ---------------------------------------
 2 files changed, 31 insertions(+), 102 deletions(-)
drivers/staging/et131x/et131x.c +31 -0
index fdf6385..a038a37 100644
@@ -96,6 +96,37 @@ MODULE_LICENSE("Dual BSD/GPL");
 MODULE_DESCRIPTION("10/100/1000 Base-T Ethernet Driver "
 		   "for the ET1310 by Agere Systems");
 
+void et131x_error_timer_handler(unsigned long data);
+void et131x_enable_interrupts(struct et131x_adapter *adapter);
+void et131x_disable_interrupts(struct et131x_adapter *adapter);
+void et131x_align_allocated_memory(struct et131x_adapter *adapter,
+				   u64 *phys_addr,
+				   u64 *offset, u64 mask);
+void et131x_adapter_setup(struct et131x_adapter *adapter);
+void et131x_soft_reset(struct et131x_adapter *adapter);
+void et131x_isr_handler(struct work_struct *work);
+void et1310_setup_device_for_multicast(struct et131x_adapter *adapter);
+void et1310_setup_device_for_unicast(struct et131x_adapter *adapter);
+void et131x_up(struct net_device *netdev);
+void et131x_down(struct net_device *netdev);
+struct net_device *et131x_device_alloc(void);
+void et131x_enable_txrx(struct net_device *netdev);
+void et131x_disable_txrx(struct net_device *netdev);
+int et1310_in_phy_coma(struct et131x_adapter *adapter);
+void et1310_phy_access_mii_bit(struct et131x_adapter *adapter,
+			       u16 action,
+			       u16 regnum, u16 bitnum, u8 *value);
+int et131x_phy_mii_read(struct et131x_adapter *adapter, u8 addr,
+	      u8 reg, u16 *value);
+int32_t et131x_mii_write(struct et131x_adapter *adapter,
+		u8 reg, u16 value);
+void et131x_rx_dma_memory_free(struct et131x_adapter *adapter);
+void et131x_rx_dma_disable(struct et131x_adapter *adapter);
+void et131x_rx_dma_enable(struct et131x_adapter *adapter);
+void et131x_reset_recv(struct et131x_adapter *adapter);
+void et131x_init_send(struct et131x_adapter *adapter);
+void et131x_tx_dma_enable(struct et131x_adapter *adapter);
+
 /* EEPROM functions */
 
 static int eeprom_wait_ready(struct pci_dev *pdev, u32 *status)
drivers/staging/et131x/et131x.h +0 -102

105 lines not on this page · raw message

Signature · 1 line
1.7.6.4
author
#4 lore raw

PATCH 3/10 staging: et131x: Move non-register defines from et131x.h to et131x.c

In reply to Mark Einon

Header file should only have register defines, moved non-register defines to et131x.c

---
 drivers/staging/et131x/et131x.c |   31 +++++++++++++++++++++++++++++++
 drivers/staging/et131x/et131x.h |   33 +--------------------------------
 2 files changed, 32 insertions(+), 32 deletions(-)
drivers/staging/et131x/et131x.c +31 -0
index a038a37..cad271b 100644
@@ -96,6 +96,37 @@ MODULE_LICENSE("Dual BSD/GPL");
 MODULE_DESCRIPTION("10/100/1000 Base-T Ethernet Driver "
 		   "for the ET1310 by Agere Systems");
 
+/* EEPROM defines */
+#define MAX_NUM_REGISTER_POLLS          1000
+#define MAX_NUM_WRITE_RETRIES           2
+
+/* MAC defines */
+#define COUNTER_WRAP_16_BIT 0x10000
+#define COUNTER_WRAP_12_BIT 0x1000
+
+/* PCI defines */
+#define INTERNAL_MEM_SIZE       0x400	/* 1024 of internal memory */
+#define INTERNAL_MEM_RX_OFFSET  0x1FF	/* 50%   Tx, 50%   Rx */
+
+/* ISR defines */
+/*
+ * For interrupts, normal running is:
+ *       rxdma_xfr_done, phy_interrupt, mac_stat_interrupt,
+ *       watchdog_interrupt & txdma_xfer_done
+ *
+ * In both cases, when flow control is enabled for either Tx or bi-direction,
+ * we additional enable rx_fbr0_low and rx_fbr1_low, so we know when the
+ * buffer rings are running low.
+ */
+#define INT_MASK_DISABLE            0xffffffff
+
+/* NOTE: Masking out MAC_STAT Interrupt for now...
+ * #define INT_MASK_ENABLE             0xfff6bf17
+ * #define INT_MASK_ENABLE_NO_FLOW     0xfff6bfd7
+ */
+#define INT_MASK_ENABLE             0xfffebf17
+#define INT_MASK_ENABLE_NO_FLOW     0xfffebfd7
+
 void et131x_error_timer_handler(unsigned long data);
 void et131x_enable_interrupts(struct et131x_adapter *adapter);
 void et131x_disable_interrupts(struct et131x_adapter *adapter);
drivers/staging/et131x/et131x.h +1 -32
index 71fd7fe..115d307 100644
@@ -49,7 +49,7 @@
 #define DRIVER_NAME "et131x"
 #define DRIVER_VERSION "v2.0"
 
-/* EEPROM defines */
+/* EEPROM registers */
 
 /* LBCIF Register Groups (addressed via 32-bit offsets) */
 #define LBCIF_DWORD0_GROUP       0xAC
@@ -77,34 +77,3 @@
 #define LBCIF_STATUS_CHECKSUM_ERROR     0x40
 #define LBCIF_STATUS_EEPROM_PRESENT     0x80
 
-/* Miscellaneous Constraints */
-#define MAX_NUM_REGISTER_POLLS          1000
-#define MAX_NUM_WRITE_RETRIES           2
-
-/* MAC defines */
-#define COUNTER_WRAP_16_BIT 0x10000
-#define COUNTER_WRAP_12_BIT 0x1000
-
-/* PCI defines */
-#define INTERNAL_MEM_SIZE       0x400	/* 1024 of internal memory */
-#define INTERNAL_MEM_RX_OFFSET  0x1FF	/* 50%   Tx, 50%   Rx */
-
-/* ISR defines */
-/*
- * For interrupts, normal running is:
- *       rxdma_xfr_done, phy_interrupt, mac_stat_interrupt,
- *       watchdog_interrupt & txdma_xfer_done
- *
- * In both cases, when flow control is enabled for either Tx or bi-direction,
- * we additional enable rx_fbr0_low and rx_fbr1_low, so we know when the
- * buffer rings are running low.
- */
-#define INT_MASK_DISABLE            0xffffffff
-
-/* NOTE: Masking out MAC_STAT Interrupt for now...
- * #define INT_MASK_ENABLE             0xfff6bf17
- * #define INT_MASK_ENABLE_NO_FLOW     0xfff6bfd7
- */
-#define INT_MASK_ENABLE             0xfffebf17
-#define INT_MASK_ENABLE_NO_FLOW     0xfffebfd7
-
Signature · 1 line
1.7.6.4
author
#5 lore raw

PATCH 4/10 staging: et131x: move et1310_address_map.h contents into et131x.h

In reply to Mark Einon

Move et1310_address_map.h register defines into et131x.h and delete et1310_address_map.h

---
 drivers/staging/et131x/et1310_address_map.h | 1436 ---------------------------
 drivers/staging/et131x/et1310_phy.h         |    2 -
 drivers/staging/et131x/et1310_rx.h          |    2 -
 drivers/staging/et131x/et131x.c             |    1 -
 drivers/staging/et131x/et131x.h             | 1370 +++++++++++++++++++++++++
 drivers/staging/et131x/et131x_adapter.h     |    1 -
 6 files changed, 1370 insertions(+), 1442 deletions(-)
 delete mode 100644 drivers/staging/et131x/et1310_address_map.h
drivers/staging/et131x/et1310_address_map.h deleted +0 -0
deleted file mode 100644
index b502ce3..0000000
drivers/staging/et131x/et1310_phy.h +0 -2
index 2803bdf..feb5761 100644
@@ -61,8 +61,6 @@
 #ifndef _ET1310_PHY_H_
 #define _ET1310_PHY_H_
 
-#include "et1310_address_map.h"
-
 /*
  * Defines for generic MII registers 0x00 -> 0x0F can be found in
  * include/linux/mii.h
drivers/staging/et131x/et1310_rx.h +0 -2
index a19fab9..b3b1bc9 100644
@@ -61,8 +61,6 @@
 #ifndef __ET1310_RX_H__
 #define __ET1310_RX_H__
 
-#include "et1310_address_map.h"
-
 #define USE_FBR0 true
 
 #ifdef USE_FBR0
drivers/staging/et131x/et131x.c +0 -1
index cad271b..60ff3bc 100644
@@ -85,7 +85,6 @@
 
 #include "et1310_phy.h"
 #include "et131x_adapter.h"
-#include "et1310_address_map.h"
 #include "et1310_tx.h"
 #include "et1310_rx.h"
 #include "et131x.h"
drivers/staging/et131x/et131x.h +1370 -0

1,373 lines not on this page · raw message

drivers/staging/et131x/et131x_adapter.h +0 -1
index b062e6d..74efdb0 100644
@@ -61,7 +61,6 @@
 #ifndef __ET131X_ADAPTER_H__
 #define __ET131X_ADAPTER_H__
 
-#include "et1310_address_map.h"
 #include "et1310_tx.h"
 #include "et1310_rx.h"
 
Signature · 1 line
1.7.6.4
author
#6 lore raw

PATCH 5/10 staging: et131x: move et1310_phy.h contents into et131x.h

In reply to Mark Einon

Move et1310_phy.h register defines into et131x.h and delete et1310_phy.h

---
 drivers/staging/et131x/et1310_phy.h |  290 -----------------------------------
 drivers/staging/et131x/et131x.c     |    1 -
 drivers/staging/et131x/et131x.h     |  227 +++++++++++++++++++++++++++
 3 files changed, 227 insertions(+), 291 deletions(-)
 delete mode 100644 drivers/staging/et131x/et1310_phy.h
drivers/staging/et131x/et1310_phy.h deleted +0 -0
deleted file mode 100644
index feb5761..0000000
drivers/staging/et131x/et131x.c +0 -1
index 60ff3bc..271ae31 100644
@@ -83,7 +83,6 @@
 #include <linux/random.h>
 #include <linux/phy.h>
 
-#include "et1310_phy.h"
 #include "et131x_adapter.h"
 #include "et1310_tx.h"
 #include "et1310_rx.h"
drivers/staging/et131x/et131x.h +227 -0

230 lines not on this page · raw message

Signature · 1 line
1.7.6.4
author
#7 lore raw

PATCH 6/10 staging: et131x: move et131x_adapter.h contents into et131x.c

In reply to Mark Einon

Move et131x_adapter.h contents into et131x.c and delete et131x_adapter.h

---
 drivers/staging/et131x/et131x.c         |  152 +++++++++++++++++++++-
 drivers/staging/et131x/et131x_adapter.h |  217 -------------------------------
 2 files changed, 151 insertions(+), 218 deletions(-)
 delete mode 100644 drivers/staging/et131x/et131x_adapter.h
drivers/staging/et131x/et131x.c +151 -1
index 271ae31..e88c277 100644
@@ -83,7 +83,6 @@
 #include <linux/random.h>
 #include <linux/phy.h>
 
-#include "et131x_adapter.h"
 #include "et1310_tx.h"
 #include "et1310_rx.h"
 #include "et131x.h"
@@ -125,6 +124,157 @@ MODULE_DESCRIPTION("10/100/1000 Base-T Ethernet Driver "
 #define INT_MASK_ENABLE             0xfffebf17
 #define INT_MASK_ENABLE_NO_FLOW     0xfffebfd7
 
+/* ADAPTER defines */
+/*
+ * Do not change these values: if changed, then change also in respective
+ * TXdma and Rxdma engines
+ */
+#define NUM_DESC_PER_RING_TX         512    /* TX Do not change these values */
+#define NUM_TCB                      64
+
+/*
+ * These values are all superseded by registry entries to facilitate tuning.
+ * Once the desired performance has been achieved, the optimal registry values
+ * should be re-populated to these #defines:
+ */
+#define NUM_TRAFFIC_CLASSES          1
+
+#define TX_ERROR_PERIOD             1000
+
+#define LO_MARK_PERCENT_FOR_PSR     15
+#define LO_MARK_PERCENT_FOR_RX      15
+
+/* RFD (Receive Frame Descriptor) */
+struct rfd {
+	struct list_head list_node;
+	struct sk_buff *skb;
+	u32 len;	/* total size of receive frame */
+	u16 bufferindex;
+	u8 ringindex;
+};
+
+/* Flow Control */
+#define FLOW_BOTH	0
+#define FLOW_TXONLY	1
+#define FLOW_RXONLY	2
+#define FLOW_NONE	3
+
+/* Struct to define some device statistics */
+struct ce_stats {
+	/* MIB II variables
+	 *
+	 * NOTE: atomic_t types are only guaranteed to store 24-bits; if we
+	 * MUST have 32, then we'll need another way to perform atomic
+	 * operations
+	 */
+	u32		unicast_pkts_rcvd;
+	atomic_t	unicast_pkts_xmtd;
+	u32		multicast_pkts_rcvd;
+	atomic_t	multicast_pkts_xmtd;
+	u32		broadcast_pkts_rcvd;
+	atomic_t	broadcast_pkts_xmtd;
+	u32		rcvd_pkts_dropped;
+
+	/* Tx Statistics. */
+	u32		tx_underflows;
+
+	u32		tx_collisions;
+	u32		tx_excessive_collisions;
+	u32		tx_first_collisions;
+	u32		tx_late_collisions;
+	u32		tx_max_pkt_errs;
+	u32		tx_deferred;
+
+	/* Rx Statistics. */
+	u32		rx_overflows;
+
+	u32		rx_length_errs;
+	u32		rx_align_errs;
+	u32		rx_crc_errs;
+	u32		rx_code_violations;
+	u32		rx_other_errs;
+
+	u32		synchronous_iterations;
+	u32		interrupt_status;
+};
+
+/* The private adapter structure */
+struct et131x_adapter {
+	struct net_device *netdev;
+	struct pci_dev *pdev;
+	struct mii_bus *mii_bus;
+	struct phy_device *phydev;
+	struct work_struct task;
+
+	/* Flags that indicate current state of the adapter */
+	u32 flags;
+
+	/* local link state, to determine if a state change has occurred */
+	int link;
+
+	/* Configuration  */
+	u8 rom_addr[ETH_ALEN];
+	u8 addr[ETH_ALEN];
+	bool has_eeprom;
+	u8 eeprom_data[2];
+
+	/* Spinlocks */
+	spinlock_t lock;
+
+	spinlock_t tcb_send_qlock;
+	spinlock_t tcb_ready_qlock;
+	spinlock_t send_hw_lock;
+
+	spinlock_t rcv_lock;
+	spinlock_t rcv_pend_lock;
+	spinlock_t fbr_lock;
+
+	spinlock_t phy_lock;
+
+	/* Packet Filter and look ahead size */
+	u32 packet_filter;
+
+	/* multicast list */
+	u32 multicast_addr_count;
+	u8 multicast_list[NIC_MAX_MCAST_LIST][ETH_ALEN];
+
+	/* Pointer to the device's PCI register space */
+	struct address_map __iomem *regs;
+
+	/* Registry parameters */
+	u8 wanted_flow;		/* Flow we want for 802.3x flow control */
+	u32 registry_jumbo_packet;	/* Max supported ethernet packet size */
+
+	/* Derived from the registry: */
+	u8 flowcontrol;		/* flow control validated by the far-end */
+
+	/* Minimize init-time */
+	struct timer_list error_timer;
+
+	/* variable putting the phy into coma mode when boot up with no cable
+	 * plugged in after 5 seconds
+	 */
+	u8 boot_coma;
+
+	/* Next two used to save power information at power down. This
+	 * information will be used during power up to set up parts of Power
+	 * Management in JAGCore
+	 */
+	u16 pdown_speed;
+	u8 pdown_duplex;
+
+	/* Tx Memory Variables */
+	struct tx_ring tx_ring;
+
+	/* Rx Memory Variables */
+	struct rx_ring rx_ring;
+
+	/* Stats */
+	struct ce_stats stats;
+
+	struct net_device_stats net_stats;
+};
+
 void et131x_error_timer_handler(unsigned long data);
 void et131x_enable_interrupts(struct et131x_adapter *adapter);
 void et131x_disable_interrupts(struct et131x_adapter *adapter);
drivers/staging/et131x/et131x_adapter.h deleted +0 -0
deleted file mode 100644
index 74efdb0..0000000
Signature · 1 line
1.7.6.4
author
#8 lore raw

PATCH 7/10 staging: et131x: move et131x_defs.h contents into et131x.c

In reply to Mark Einon

Move et131x_defs.h contents into et131x.c and delete et131x_defs.h

---
 drivers/staging/et131x/et131x.c      |   66 +++++++++++++++++-
 drivers/staging/et131x/et131x_defs.h |  128 ----------------------------------
 2 files changed, 64 insertions(+), 130 deletions(-)
 delete mode 100644 drivers/staging/et131x/et131x_defs.h
drivers/staging/et131x/et131x.c +64 -2
index e88c277..402ab7f 100644
@@ -53,8 +53,6 @@
  *
  */
 
-#include "et131x_defs.h"
-
 #include <linux/pci.h>
 #include <linux/init.h>
 #include <linux/module.h>
@@ -124,6 +122,70 @@ MODULE_DESCRIPTION("10/100/1000 Base-T Ethernet Driver "
 #define INT_MASK_ENABLE             0xfffebf17
 #define INT_MASK_ENABLE_NO_FLOW     0xfffebfd7
 
+/* General defines */
+/* Packet and header sizes */
+#define NIC_MIN_PACKET_SIZE	60
+
+/* Multicast list size */
+#define NIC_MAX_MCAST_LIST	128
+
+/* Supported Filters */
+#define ET131X_PACKET_TYPE_DIRECTED		0x0001
+#define ET131X_PACKET_TYPE_MULTICAST		0x0002
+#define ET131X_PACKET_TYPE_BROADCAST		0x0004
+#define ET131X_PACKET_TYPE_PROMISCUOUS		0x0008
+#define ET131X_PACKET_TYPE_ALL_MULTICAST	0x0010
+
+/* Tx Timeout */
+#define ET131X_TX_TIMEOUT	(1 * HZ)
+#define NIC_SEND_HANG_THRESHOLD	0
+
+/* MP_TCB flags */
+#define fMP_DEST_MULTI			0x00000001
+#define fMP_DEST_BROAD			0x00000002
+
+/* MP_ADAPTER flags */
+#define fMP_ADAPTER_RECV_LOOKASIDE	0x00000004
+#define fMP_ADAPTER_INTERRUPT_IN_USE	0x00000008
+#define fMP_ADAPTER_SECONDARY		0x00000010
+
+/* MP_SHARED flags */
+#define fMP_ADAPTER_SHUTDOWN		0x00100000
+#define fMP_ADAPTER_LOWER_POWER		0x00200000
+
+#define fMP_ADAPTER_NON_RECOVER_ERROR	0x00800000
+#define fMP_ADAPTER_RESET_IN_PROGRESS	0x01000000
+#define fMP_ADAPTER_NO_CABLE		0x02000000
+#define fMP_ADAPTER_HARDWARE_ERROR	0x04000000
+#define fMP_ADAPTER_REMOVE_IN_PROGRESS	0x08000000
+#define fMP_ADAPTER_HALT_IN_PROGRESS	0x10000000
+
+#define fMP_ADAPTER_FAIL_SEND_MASK	0x3ff00000
+#define fMP_ADAPTER_NOT_READY_MASK	0x3ff00000
+
+/* Some offsets in PCI config space that are actually used. */
+#define ET1310_PCI_MAX_PYLD		0x4C
+#define ET1310_PCI_MAC_ADDRESS		0xA4
+#define ET1310_PCI_EEPROM_STATUS	0xB2
+#define ET1310_PCI_ACK_NACK		0xC0
+#define ET1310_PCI_REPLAY		0xC2
+#define ET1310_PCI_L0L1LATENCY		0xCF
+
+/* PCI Vendor/Product IDs */
+#define ET131X_PCI_VENDOR_ID		0x11C1	/* Agere Systems */
+#define ET131X_PCI_DEVICE_ID_GIG	0xED00	/* ET1310 1000 Base-T 8 */
+#define ET131X_PCI_DEVICE_ID_FAST	0xED01	/* ET1310 100  Base-T */
+
+/* Define order of magnitude converter */
+#define NANO_IN_A_MICRO	1000
+
+#define PARM_RX_NUM_BUFS_DEF    4
+#define PARM_RX_TIME_INT_DEF    10
+#define PARM_RX_MEM_END_DEF     0x2bc
+#define PARM_TX_TIME_INT_DEF    40
+#define PARM_TX_NUM_BUFS_DEF    4
+#define PARM_DMA_CACHE_DEF      0
+
 /* ADAPTER defines */
 /*
  * Do not change these values: if changed, then change also in respective
drivers/staging/et131x/et131x_defs.h deleted +0 -0
deleted file mode 100644
index 872a5af..0000000
Signature · 1 line
1.7.6.4
author
#9 lore raw

PATCH 8/10 staging: et131x: move et1310_rx.h contents into et131x.c

In reply to Mark Einon

Move et1310_rx.h contents into et131x.c and delete et1310_rx.h

---
 drivers/staging/et131x/et1310_rx.h |  243 ------------------------------------
 drivers/staging/et131x/et131x.c    |  181 ++++++++++++++++++++++++++-
 2 files changed, 180 insertions(+), 244 deletions(-)
 delete mode 100644 drivers/staging/et131x/et1310_rx.h
drivers/staging/et131x/et1310_rx.h deleted +0 -0
deleted file mode 100644
index b3b1bc9..0000000
drivers/staging/et131x/et131x.c +180 -1

193 lines not on this page · raw message

Signature · 1 line
1.7.6.4
author
#10 lore raw

PATCH 9/10 staging: et131x: move et1310_tx.h contents into et131x.c

In reply to Mark Einon

Move et1310_tx.h contents into et131x.c and delete et1310_tx.h

---
 drivers/staging/et131x/et1310_tx.h |  150 ------------------------------------
 drivers/staging/et131x/et131x.c    |   87 ++++++++++++++++++++-
 2 files changed, 86 insertions(+), 151 deletions(-)
 delete mode 100644 drivers/staging/et131x/et1310_tx.h
drivers/staging/et131x/et1310_tx.h deleted +0 -0
deleted file mode 100644
index 82d06e9..0000000
drivers/staging/et131x/et131x.c +86 -1

99 lines not on this page · raw message

Signature · 1 line
1.7.6.4
author
#11 lore raw

PATCH 10/10 staging: et131x: Update TODO list - remove 'put driver into single file'

In reply to Mark Einon

Driver now resides in a single file with a separate header with registers, updated the README TODO list.

---
 drivers/staging/et131x/README |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
drivers/staging/et131x/README +0 -1
index c67f83e..a7b33dc 100644
@@ -8,7 +8,6 @@ Note, the powermanagement options were removed from the vendor provided
 driver as they did not build properly at the time.
 
 TODO:
-	- Put the driver into a single file, with a .h for the registers layout.
 	- rx_ring.fbr{0, 1} can probably share a common structure
 	- Use of kmem_cache seems a bit unusual
 	- Use dma_alloc_... in place of pci_alloc_...
Signature · 1 line
1.7.6.4