annotate packages/devs/eth/intel/i82559/current/ChangeLog @ 1472:800f60b742b3

* src/if_i82559.c (read_eeprom_esa): Allow bigger EEPROMs to work.
author asl
date Sat, 17 Jan 2004 16:17:55 +0000
parents 9bf998a57d30
children 4c1154a92c9d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1472
800f60b742b3 * src/if_i82559.c (read_eeprom_esa): Allow bigger EEPROMs to work.
asl
parents: 1457
diff changeset
1 2004-01-17 Jeffrey Daly <jeffrey.daly@intel.com>
800f60b742b3 * src/if_i82559.c (read_eeprom_esa): Allow bigger EEPROMs to work.
asl
parents: 1457
diff changeset
2
800f60b742b3 * src/if_i82559.c (read_eeprom_esa): Allow bigger EEPROMs to work.
asl
parents: 1457
diff changeset
3 * src/if_i82559.c (read_eeprom_esa): Allow bigger EEPROMs to work.
800f60b742b3 * src/if_i82559.c (read_eeprom_esa): Allow bigger EEPROMs to work.
asl
parents: 1457
diff changeset
4
1457
9bf998a57d30 Handle changes in FLASH CFG API
gthomas
parents: 772
diff changeset
5 2004-01-05 Gary Thomas <gary@mlbassoc.com>
9bf998a57d30 Handle changes in FLASH CFG API
gthomas
parents: 772
diff changeset
6
9bf998a57d30 Handle changes in FLASH CFG API
gthomas
parents: 772
diff changeset
7 * src/if_i82559.c: Names of FLASH config types changed.
9bf998a57d30 Handle changes in FLASH CFG API
gthomas
parents: 772
diff changeset
8
772
f9b51f6b4eaf i82559 eeprom writing fix
msalter
parents: 657
diff changeset
9 2003-02-27 Mark Salter <msalter@redhat.com>
f9b51f6b4eaf i82559 eeprom writing fix
msalter
parents: 657
diff changeset
10
f9b51f6b4eaf i82559 eeprom writing fix
msalter
parents: 657
diff changeset
11 * src/if_i82559.c (eth_set_mac_address): Correct writing
f9b51f6b4eaf i82559 eeprom writing fix
msalter
parents: 657
diff changeset
12 of wrong address to EEPROM.
f9b51f6b4eaf i82559 eeprom writing fix
msalter
parents: 657
diff changeset
13
657
02afed4f500a i82559 driver updates
msalter
parents: 592
diff changeset
14 2003-02-22 Mark Salter <msalter@redhat.com>
02afed4f500a i82559 driver updates
msalter
parents: 592
diff changeset
15
02afed4f500a i82559 driver updates
msalter
parents: 592
diff changeset
16 * src/if_i82559.c: Fix endian issues with EEPROM writing.
02afed4f500a i82559 driver updates
msalter
parents: 592
diff changeset
17 Use read-modify-write to set EEPROM mac address. Support
02afed4f500a i82559 driver updates
msalter
parents: 592
diff changeset
18 writing to EEPROM the mac address obtained from
02afed4f500a i82559 driver updates
msalter
parents: 592
diff changeset
19 CYGHWR_DEVS_ETH_INTEL_I82559_GET_ESA.
02afed4f500a i82559 driver updates
msalter
parents: 592
diff changeset
20
592
52b1b868a0ef i82559 tweak
msalter
parents: 478
diff changeset
21 2003-02-12 Mark Salter <msalter@redhat.com>
52b1b868a0ef i82559 tweak
msalter
parents: 478
diff changeset
22
52b1b868a0ef i82559 tweak
msalter
parents: 478
diff changeset
23 * src/if_i82559.c: Remove restriction preventing combination of
52b1b868a0ef i82559 tweak
msalter
parents: 478
diff changeset
24 *_GET_ESA and *_HAS_EEPROM.
52b1b868a0ef i82559 tweak
msalter
parents: 478
diff changeset
25
478
69c11cd3bb1a Add CDL to control debug prints.
gthomas
parents: 472
diff changeset
26 2003-01-03 Gary Thomas <gary@mlbassoc.com>
69c11cd3bb1a Add CDL to control debug prints.
gthomas
parents: 472
diff changeset
27
69c11cd3bb1a Add CDL to control debug prints.
gthomas
parents: 472
diff changeset
28 * src/if_i82559.c:
69c11cd3bb1a Add CDL to control debug prints.
gthomas
parents: 472
diff changeset
29 * cdl/intel_i82559_eth_drivers.cdl: Allow finer control over
69c11cd3bb1a Add CDL to control debug prints.
gthomas
parents: 472
diff changeset
30 debug (chatter) by making control booldata.
69c11cd3bb1a Add CDL to control debug prints.
gthomas
parents: 472
diff changeset
31
465
023c99ac60f4 i82559 driver tweak
msalter
parents: 359
diff changeset
32 2002-12-17 Mark Salter <msalter@redhat.com>
023c99ac60f4 i82559 driver tweak
msalter
parents: 359
diff changeset
33
023c99ac60f4 i82559 driver tweak
msalter
parents: 359
diff changeset
34 * src/if_i82559.c (CYGHWR_DEVS_ETH_INTEL_I82559_ENDIAN_NEUTRAL_IO): New
023c99ac60f4 i82559 driver tweak
msalter
parents: 359
diff changeset
35 flag to support systems where PCI IO operations are not affected by
023c99ac60f4 i82559 driver tweak
msalter
parents: 359
diff changeset
36 CPU endianess.
023c99ac60f4 i82559 driver tweak
msalter
parents: 359
diff changeset
37
359
8b024937045d * src/if_i82559.c (pci_init_find_82559s): Changed scope of
asl
parents: 219
diff changeset
38 2002-10-06 Andrew Lunn <andrew.lunn@ascom.ch>
8b024937045d * src/if_i82559.c (pci_init_find_82559s): Changed scope of
asl
parents: 219
diff changeset
39
8b024937045d * src/if_i82559.c (pci_init_find_82559s): Changed scope of
asl
parents: 219
diff changeset
40 * src/if_i82559.c (pci_init_find_82559s): Changed scope of
8b024937045d * src/if_i82559.c (pci_init_find_82559s): Changed scope of
asl
parents: 219
diff changeset
41 max_interrupt_handle since its needed in other places.
8b024937045d * src/if_i82559.c (pci_init_find_82559s): Changed scope of
asl
parents: 219
diff changeset
42 * src/if_i82559.c (i82559_stop): Corrected wrong name of variable
8b024937045d * src/if_i82559.c (pci_init_find_82559s): Changed scope of
asl
parents: 219
diff changeset
43 in a diag_printf function.
8b024937045d * src/if_i82559.c (pci_init_find_82559s): Changed scope of
asl
parents: 219
diff changeset
44
472
3bad6dc606d2 Add new board port for Cogent CSB281
gthomas
parents: 465
diff changeset
45 2002-07-24 Gary Thomas <gary@mlbassoc.com>
3bad6dc606d2 Add new board port for Cogent CSB281
gthomas
parents: 465
diff changeset
46
3bad6dc606d2 Add new board port for Cogent CSB281
gthomas
parents: 465
diff changeset
47 * src/if_i82559.c (pci_init_find_82559s):
3bad6dc606d2 Add new board port for Cogent CSB281
gthomas
parents: 465
diff changeset
48 Allow platform to define CYGHWR_DEVS_ETH_INTEL_I82559_USE_MEMORY
3bad6dc606d2 Add new board port for Cogent CSB281
gthomas
parents: 465
diff changeset
49 which forces use of memory instead of I/O space for device access.
3bad6dc606d2 Add new board port for Cogent CSB281
gthomas
parents: 465
diff changeset
50
219
ae8511176102 Fix CDL dependencies for stand-alone/system operation.
gthomas
parents: 210
diff changeset
51 2002-06-14 Gary Thomas <gary@chez-thomas.org>
ae8511176102 Fix CDL dependencies for stand-alone/system operation.
gthomas
parents: 210
diff changeset
52
ae8511176102 Fix CDL dependencies for stand-alone/system operation.
gthomas
parents: 210
diff changeset
53 * src/if_i82559.c:
ae8511176102 Fix CDL dependencies for stand-alone/system operation.
gthomas
parents: 210
diff changeset
54 Need to include <pkgconf/io_eth_drivers.h> for proper configuration
ae8511176102 Fix CDL dependencies for stand-alone/system operation.
gthomas
parents: 210
diff changeset
55 of stand-alone (polled) vs. system (interrupt driven) mode.
ae8511176102 Fix CDL dependencies for stand-alone/system operation.
gthomas
parents: 210
diff changeset
56
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
57 2002-04-09 Hugo Tyson <hmt@redhat.com>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
58
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
59 * src/if_i82559.c (i82559_stop): Free up any pending transmissions
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
60 to prevent MBUF store leaks if the calling thread - the one that's
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
61 shutting down the interface - priority ends up higher than (or
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
62 same as) the network service threads.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
63
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
64 2002-03-26 Jonathan Larmour <jlarmour@redhat.com>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
65
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
66 * src/if_i82559.c (wait_for_cmd_done): Don't assert if RUC_ADDR_LOAD
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
67 command doesn't clear - on some chips it never does.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
68
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
69 2002-03-18 Hugo Tyson <hmt@redhat.com>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
70
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
71 * src/if_i82559.c (pci_init_find_82559s): Move allocation of
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
72 statistics pointer for each device to here, out of
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
73 i82559_start(). It used to leak PCI window store every time the
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
74 interface cycled down/up. [Case 107110]
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
75
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
76 2002-02-25 Mark Salter <msalter@redhat.com>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
77
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
78 * src/if_i82559.c: Don't call PacketRxReady in standalone configuration
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
79 unless ready to accept a packet. Limit packet delivery to one packet at
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
80 a time in standalone configuration.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
81
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
82 2002-02-20 Hugo Tyson <hmt@redhat.com>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
83
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
84 * include/i82559_info.h: New fields to record/control multicast
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
85 all reception, oversized packet reception and promiscuous mode
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
86 neatly.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
87
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
88 * src/if_i82559.c: Initial support for multicast address reception
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
89 filtering.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
90 (i82559_restart): New routine to restart the device after fiddling
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
91 with its setup - a tail recursion from i82559_start().
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
92 (i82559_configure): More generic flags passed in and handled.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
93 (i82559_set_multicast): Routine to pass a set of addresses into
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
94 the device; it works out the bitmap et al for us!
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
95 (i82559_ioctl): Handle new case arms ETH_DRV_SET_MC_LIST and
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
96 ETH_DRV_SET_MC_ALL if defined. Reset and restart the device,
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
97 diddling its status between.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
98
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
99 2002-02-19 Mark Salter <msalter@redhat.com>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
100
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
101 * src/if_i82559.c (pci_init_find_82559s): Don't use IRQ support if
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
102 CYGPKG_IO_ETH_DRIVERS_STAND_ALONE.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
103
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
104 2002-01-28 Mark Salter <msalter@redhat.com>
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
105
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
106 * src/if_i82559.c (pci_init_find_82559s): Removed CYG_ASSERT which
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
107 assumed system PCI window exists.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
108
202
353a011b23b8 Merge from eCos master repository on 2002-01-11-06:43:03-GMT
jlarmour
parents: 201
diff changeset
109 2002-01-10 Jonathan Larmour <jlarmour@redhat.com>
353a011b23b8 Merge from eCos master repository on 2002-01-11-06:43:03-GMT
jlarmour
parents: 201
diff changeset
110
353a011b23b8 Merge from eCos master repository on 2002-01-11-06:43:03-GMT
jlarmour
parents: 201
diff changeset
111 * src/if_i82559.c (find_82559s_match_func): Add some more compatible PCI
353a011b23b8 Merge from eCos master repository on 2002-01-11-06:43:03-GMT
jlarmour
parents: 201
diff changeset
112 ids.
353a011b23b8 Merge from eCos master repository on 2002-01-11-06:43:03-GMT
jlarmour
parents: 201
diff changeset
113
201
dd81b18e45fb Merge from eCos master repository on 2002-01-04-06:43:04-GMT
jlarmour
parents: 196
diff changeset
114 2002-01-03 Mark Salter <msalter@redhat.com>
dd81b18e45fb Merge from eCos master repository on 2002-01-04-06:43:04-GMT
jlarmour
parents: 196
diff changeset
115
dd81b18e45fb Merge from eCos master repository on 2002-01-04-06:43:04-GMT
jlarmour
parents: 196
diff changeset
116 * src/if_i82559.c (pci_init_find_82559s): Remove check that
dd81b18e45fb Merge from eCos master repository on 2002-01-04-06:43:04-GMT
jlarmour
parents: 196
diff changeset
117 assumes driver owns entire PCI window.
dd81b18e45fb Merge from eCos master repository on 2002-01-04-06:43:04-GMT
jlarmour
parents: 196
diff changeset
118
dd81b18e45fb Merge from eCos master repository on 2002-01-04-06:43:04-GMT
jlarmour
parents: 196
diff changeset
119 * cdl/intel_i82559_eth_drivers.cdl: Add
dd81b18e45fb Merge from eCos master repository on 2002-01-04-06:43:04-GMT
jlarmour
parents: 196
diff changeset
120 CYGNUM_DEVS_ETH_INTEL_I82559_MAX_TX_DESCRIPTORS and
dd81b18e45fb Merge from eCos master repository on 2002-01-04-06:43:04-GMT
jlarmour
parents: 196
diff changeset
121 CYGNUM_DEVS_ETH_INTEL_I82559_MAX_RX_DESCRIPTORS.
dd81b18e45fb Merge from eCos master repository on 2002-01-04-06:43:04-GMT
jlarmour
parents: 196
diff changeset
122
196
9b55e9c69693 Merge from eCos master repository on 2001-11-23-15:32:03-GMT
jlarmour
parents: 184
diff changeset
123 2001-11-19 Hugo Tyson <hmt@redhat.com>
9b55e9c69693 Merge from eCos master repository on 2001-11-23-15:32:03-GMT
jlarmour
parents: 184
diff changeset
124 2001-11-19 Anssi Pulkkinen <Anssi.Pulkkinen@ascom.ch>
9b55e9c69693 Merge from eCos master repository on 2001-11-23-15:32:03-GMT
jlarmour
parents: 184
diff changeset
125
9b55e9c69693 Merge from eCos master repository on 2001-11-23-15:32:03-GMT
jlarmour
parents: 184
diff changeset
126 * src/if_i82559.c (TxMachine): The test to see if there is a new
9b55e9c69693 Merge from eCos master repository on 2001-11-23-15:32:03-GMT
jlarmour
parents: 184
diff changeset
127 tx to start must also say "go" if the tx queue is full. Normally,
9b55e9c69693 Merge from eCos master repository on 2001-11-23-15:32:03-GMT
jlarmour
parents: 184
diff changeset
128 if the txqueue is full, a tx will be occurring at all times - so
9b55e9c69693 Merge from eCos master repository on 2001-11-23-15:32:03-GMT
jlarmour
parents: 184
diff changeset
129 one will complete soon, so the tx queue full flag will soon be
9b55e9c69693 Merge from eCos master repository on 2001-11-23-15:32:03-GMT
jlarmour
parents: 184
diff changeset
130 cleared, and this condition will recover. I suspect a subtle race
9b55e9c69693 Merge from eCos master repository on 2001-11-23-15:32:03-GMT
jlarmour
parents: 184
diff changeset
131 which effectively means a new tx is queued and fills the queue in
9b55e9c69693 Merge from eCos master repository on 2001-11-23-15:32:03-GMT
jlarmour
parents: 184
diff changeset
132 between two tx's, so no TxDone() follows, causes the hang which we
9b55e9c69693 Merge from eCos master repository on 2001-11-23-15:32:03-GMT
jlarmour
parents: 184
diff changeset
133 get without this extra test under high load. [CASE 106686]
9b55e9c69693 Merge from eCos master repository on 2001-11-23-15:32:03-GMT
jlarmour
parents: 184
diff changeset
134
184
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents: 182
diff changeset
135 2001-09-20 Gary Thomas <gthomas@redhat.com>
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents: 182
diff changeset
136
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents: 182
diff changeset
137 * src/if_i82559.c: Add declaration of 'i82559_stop' to quiet warning.
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents: 182
diff changeset
138
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents: 182
diff changeset
139 2001-09-13 Hugo Tyson <hmt@redhat.com>
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents: 182
diff changeset
140
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents: 182
diff changeset
141 * cdl/intel_i82559_eth_drivers.cdl:
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents: 182
diff changeset
142 * src/if_i82559.c:
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents: 182
diff changeset
143 Remove the tickle thread from this driver. The functionality is
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents: 182
diff changeset
144 now in the network timeout functionality which handles the
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents: 182
diff changeset
145 "deliver" calls. So it's only called if the net is quiet.
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents: 182
diff changeset
146
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents: 182
diff changeset
147 2001-09-12 Hugo Tyson <hmt@redhat.com>
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents: 182
diff changeset
148
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents: 182
diff changeset
149 * src/if_i82559.c (TxDone): Defensive programming; zero the Tx key
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents: 182
diff changeset
150 in the global data before making the callback. This change
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents: 182
diff changeset
151 appeared useful in our forebear, the EBSA-specific driver.
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents: 182
diff changeset
152
182
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
153 2001-08-29 Hugo Tyson <hmt@redhat.com>
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
154
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
155 * cdl/intel_i82559_eth_drivers.cdl: New CDL options called
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
156 CYGPKG_DEVS_ETH_INTEL_I82559_TICKLE_THREAD, .._PRIORITY and
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
157 .._DELAY to control the thread. By default this is all disabled
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
158 because it is not needed for a real network application which
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
159 itself proactively tries to use the net - it's only needed when
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
160 the app is totally passive, so the driver otherwise does not get
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
161 CPU time at all.
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
162
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
163 * src/if_i82559.c (starti82559ticklethread): New code to start a
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
164 thread (!) to catch lost interrupts and thus restart jammed
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
165 hardware. It's only possible if KERNEL and NET - RedBoot is
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
166 unaffected, and it's not needed for RedBoot 'cos RedBoot polls.
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
167 (TxMachine): An assert about the CU idle status sometimes fired;
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
168 made the code more conservative wrt timing here.
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
169 (comments): more documentation on the possible external configury
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
170 by .inl file, described the two TIMEOUT macros that can be set,
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
171 and indeed must be to use the tickling thread meaningfully.
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
172
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
173 2001-08-22 Gary Thomas <gthomas@redhat.com>
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
174
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
175 * src/if_i82559.c:
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
176 printf() is no longer a part of RedBoot. Thus all programs
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
177 must use diag_printf() and related functions instead.
f62680ef1804 Merge from eCos master repository on 2001-09-07-06:43:02-BST
jlarmour
parents: 163
diff changeset
178
163
0d2b193a635f Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents: 159
diff changeset
179 2001-06-22 Jesper Skov <jskov@redhat.com>
0d2b193a635f Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents: 159
diff changeset
180
0d2b193a635f Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents: 159
diff changeset
181 * src/if_i82559.c (i82559_init): Handle EEPROMS without CRC.
0d2b193a635f Merge from eCos master repository on 2001-06-22-17:38:39-BST
jlarmour
parents: 159
diff changeset
182
159
511f4dc167f6 Merge from eCos master repository on 2001-05-18-01:30:05-BST
jlarmour
parents: 158
diff changeset
183 2001-05-16 Jonathan Larmour <jlarmour@redhat.com>
511f4dc167f6 Merge from eCos master repository on 2001-05-18-01:30:05-BST
jlarmour
parents: 158
diff changeset
184
511f4dc167f6 Merge from eCos master repository on 2001-05-18-01:30:05-BST
jlarmour
parents: 158
diff changeset
185 * src/if_i82559.c (udelay): Use virtual vector rather than assuming
511f4dc167f6 Merge from eCos master repository on 2001-05-18-01:30:05-BST
jlarmour
parents: 158
diff changeset
186 hal_delay_us() exists.
511f4dc167f6 Merge from eCos master repository on 2001-05-18-01:30:05-BST
jlarmour
parents: 158
diff changeset
187
158
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
188 2001-04-09 Hugo Tyson <hmt@redhat.com>
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
189
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
190 * src/if_i82559.c (pciwindow_mem_alloc): If asked, by
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
191 CYGHWR_DEVS_ETH_INTEL_I82559_PCIMEM_DISCONTIGUOUS, check for
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
192 breaks in the physical address of PCI window memory, and discard
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
193 any block with a break in it, then redo the alloc. This is for
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
194 targets where smaller SDRAM chips are fitted than the address
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
195 width, so they end up with gaps in (physical) memory.
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
196
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
197 2001-04-09 Hugo Tyson <hmt@redhat.com>
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
198
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
199 * src/if_i82559.c (i82559_init): Support hardware with only one
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
200 serial EEPROM attached to one device, but multiple devices. This
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
201 generally involves moving some decisions for eg. programming
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
202 EEPROM or not, optionally from compiletime to runtime. Improved
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
203 the diagnostics a bit also, and fixed some bugs.
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
204 (eth_set_mac_address): now takes an arg to say whether we want to
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
205 program the EEPROM, or are just setting up the chip.
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
206 (i82559_ioctl): This is the only place we set that arg to write
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
207 the EEPROM, startup never tries to write EEPROM from any external
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
208 source such as configured ESA or RedBoot params.
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
209
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
210 2001-04-09 Hugo Tyson <hmt@redhat.com>
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
211
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
212 * src/if_i82559.c (i82559_start): Warnings fixed; unused vars
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
213 following previous change.
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
214
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
215 2001-04-09 Hugo Tyson <hmt@redhat.com>
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
216
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
217 * src/if_i82559.c (i82559_start): Do not wait for command
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
218 completion after the initial DUMPSTATS operation. The code to
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
219 wait was bogus; it was looking at the structure in the wrong way.
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
220 In any case, there is no need to wait, the wait_for_cmd_done() in
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
221 any following activity is good enough.
f2545e5de153 Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents: 156
diff changeset
222
156
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
223 2001-03-28 Hugo Tyson <hmt@redhat.com>
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
224
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
225 * src/if_i82559.c (update_statistics): Fix warning - only declare
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
226 op_i82559 if we use it - from previous change.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
227
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
228 2001-03-23 Hugo Tyson <hmt@redhat.com>
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
229
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
230 * src/if_i82559.c (i82559_can_send, i82559_send): Count up and
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
231 down entries into these routines, and always say "no" to
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
232 can_send() if we are recursing, ie. within_send != 0. This is a
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
233 good idea because it limits stack usage. The recursion happens
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
234 because of the very neccessary polling of rx state within the tx
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
235 routines - which can deliver packets up into the stack, which can
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
236 trigger a response tx and so on... Also fixed a harmless bug
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
237 where, after polling, the p_i82559 current device state pointer
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
238 pointer to the wrong device, if we polled both devs regardless; it
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
239 only caused problems with the within_send recursion count.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
240
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
241 * include/i82559_info.h (I82559): Add within_send field.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
242
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
243 2001-03-15 Hugo Tyson <hmt@redhat.com>
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
244
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
245 * src/if_i82559.c (i82559_init): Support external macro
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
246 CYGHWR_DEVS_ETH_INTEL_I82559_GET_ESA(...), which if defined, is
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
247 used to acquire a MAC address, on the assumption that there is no
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
248 EEPROM present. CYGHWR_DEVS_ETH_INTEL_I82559_HAS_NO_EEPROM
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
249 confirms that there is no EEPROM attached to the 82559(s) so we
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
250 can omit all that code. It's in the negative sense because it's
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
251 the unusual case.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
252
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
253 2001-03-13 Hugo Tyson <hmt@redhat.com>
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
254
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
255 * src/if_i82559.c (CYGHWR_DEVS_ETH_INTEL_I82559_DEMUX_ALL): Fully
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
256 enable "DEMUX_ALL" option; all devices are scanned for
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
257 activity/wedging/interrupts at every opportunity. Multiple
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
258 devices on the same interrupts are now supported.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
259
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
260 2001-03-12 Hugo Tyson <hmt@redhat.com>
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
261
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
262 * src/if_i82559.c (i82559_configure): New routine combines actions
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
263 of eth_set_promiscuous_mode() and eth_set_config() both of which
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
264 disappear. Thus the device is always configured correctly from
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
265 the start. [from a patch from Martin Buck <martin.buck@ascom.ch>
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
266 via the EBSA285 driver]
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
267 (eth_dsr): Do not call upper layer unless we are in a networked
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
268 [non-RedBoot, non-polled] environment. This is necessary because
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
269 we call our own DSR from foreground to unstick after a lost
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
270 interrupt.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
271 (find_82559s_match_func): New routine to discover disparate
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
272 devices on the PCI bus. Used in pci_init_find_82559s().
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
273 (dump_txcb): Various junk debug functions removed.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
274
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
275 2001-03-12 Hugo Tyson <hmt@redhat.com>
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
276
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
277 * src/if_i82559.c: Some tidying up, and two main additions to the
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
278 mechanisms used for managing this nasty entomological device.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
279 (i82559_can_send): [amongst other places] if it is defined, use
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
280 CYGHWR_DEVS_ETH_INTEL_I82559_MISSED_INTERRUPT(p_i82559) to detect
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
281 that we missed an interrupt - and if so, call the ISR and DSR
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
282 directly. This is necessary for edge-triggered interrupt
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
283 controllers being fed by this level-sending device, where an
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
284 internal event in the device can keep the line low after the code
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
285 thinks that all events have been handled.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
286 (Check82559TxLockupTimeout): This routine runs a timeout (if the
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
287 HAL provides a pair of watchdog-like macros) which performs a
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
288 selective reset of the device if it takes too long to transmit.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
289 This happens rarely, but when it happens this is the only way out;
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
290 the tx machine is fixated on one tx and never comes out of it.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
291
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
292
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
293 Sadly these two techniques to escape lockup only work if the
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
294 driver is called (ie. the stack tries to tx); incoming packets
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
295 cannot unwedge a device. We might need to add a poll from the
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
296 stack in future if this causes problems.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
297
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
298 * include/i82559_info.h (I82559): Added two words for managing tx
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
299 lockup timeouts since this must be per-device.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
300
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
301 2001-03-02 Hugo Tyson <hmt@redhat.com>
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
302
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
303 * src/if_i82559.c: Remove "Platform specific - defaults provided"
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
304 definitions for CYGHWR_INTEL_I82559_PCI_MEM_MAP_BASE/SIZE; all
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
305 platforms now provide these.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
306 Added a little further disclaimer to the comment about LE/BE/GE.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
307
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
308 2001-03-01 Hugo Tyson <hmt@redhat.com>
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
309
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
310 * src/if_i82559.c: Global change: what was HAL_READ_UINTxx or
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
311 HAL_WRITE_UINTxx are now READMEMxx or WRITEMEMxx - just
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
312 convenience macros that do all the volatile casts we want there.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
313 Definitions of INL, INW, INB and OUTL, OUTW, OUTB recast in terms
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
314 of HAL_READ_UINTxx or HAL_WRITE_UINTxx so that they will use
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
315 proper IO operations on those CISCy mainframes that have a special
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
316 way of doing IO.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
317
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
318 2001-03-01 Hugo Tyson <hmt@redhat.com>
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
319
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
320 * src/if_i82559.c: Much more configury added, so that I can use it
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
321 with a new target board. Including, but not limited to:
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
322
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
323 o An essay about addressing, big endian, little endian and GIB
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
324 endian (sic) and how we treat the various types of access within
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
325 this module. In other words, a lot of comments.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
326
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
327 o CYGNUM_DEVS_ETH_INTEL_I82559_SEPARATE_MUX_INTERRUPT to clarify
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
328 that such an interrupt is SEPARATE from any simplex intrs that are
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
329 also available.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
330
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
331 o CYGHWR_DEVS_ETH_INTEL_I82559_DEMUX_ALL for hardware where the
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
332 the only interrupt is a multiplexed (wire or'd) one. Plus
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
333 associated macros for direct manipulation of interrupt masks and
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
334 acknowledgments.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
335
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
336 o Support for external definition from the platform HAL or driver
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
337 config module of CYGHWR_INTEL_I82559_PCI_MEM_MAP_BASE and SIZE.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
338 Also CYGHWR_INTEL_I82559_PCI_VIRT_TO_BUS.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
339
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
340 o LE definitions of a few macros that were missing.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
341
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
342 o Separated definitions of structure offsets from BE/LE
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
343 definitions of consts within the words. Offsets vary with GIB
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
344 endian, for those CPUs who just flip bits. No change for BE
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
345 machines, needed for LE machines to work. To enable address-flip
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
346 within structures, define CYG_ADDRESSING_IS_GIBENDIAN.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
347
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
348 o Re-org of mux/simplex deliver and isr's for new configuration.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
349
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
350 o Couple of extra debug printouts.
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
351
151
25e238959bae Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents: 150
diff changeset
352 2001-01-26 Jesper Skov <jskov@redhat.com>
25e238959bae Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents: 150
diff changeset
353
156
b939e9cada46 Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents: 151
diff changeset
354 * src/if_i82559.c: Added FIXME for promiscuous mode.
151
25e238959bae Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents: 150
diff changeset
355
150
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
356 2001-01-25 Jesper Skov <jskov@redhat.com>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
357
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
358 * src/if_i82559.c: Replace CYGNUM_HAL_INTERRUPT_PCI_IRQ with
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
359 CYGNUM_DEVS_ETH_INTEL_I82559_MUX_INTERRUPT which platform .inl
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
360 must provide when appropriate. Changed _deliver functions to match
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
361 _isr functions.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
362 * include/i82559_info.h: Remove debug hacks.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
363 Fix declaration.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
364
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
365 * src/if_i82559.c: Moved device descriptors into platform header.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
366 Allow individual devices to hardwire ESA. Handle N devices instead
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
367 of just 1 or 2.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
368 * include/i82559_info.h: ESA hardwired flag added.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
369 * cdl/intel_i82559_eth_drivers.cdl: Device details moved to
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
370 platform CDL.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
371
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
372 * src/if_i82559.c (i82559_start): Poll status after dump command.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
373
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
374 2001-01-24 Jesper Skov <jskov@redhat.com>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
375
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
376 * src/if_i82559.c: [changes from yesterday] Some more endian
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
377 fiddle, and the device coughs out the initial ARP packets.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
378 (wait_for_cmd_done): semantics changed to wait for pending CU
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
379 cmds.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
380 (i82559_reset): Cleaned up to spec. Init register bases after
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
381 reset.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
382 Fix initialization of hardwired ESA.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
383 Correct configuration command.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
384 Fix rcv len masking.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
385 (eth_set_mac_address): Set driver's ESA as well. Proper check for
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
386 completion.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
387 Fix LE structure offsets.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
388 (i82559_start): Call new eth_set_config to enable device. Last
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
389 hacks cleaned up.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
390 Remove a few printfs.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
391
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
392 2001-01-23 Jesper Skov <jskov@redhat.com>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
393
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
394 * src/if_i82559.c: Debug hackery and some endian issues resolved.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
395
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
396 2001-01-22 Jesper Skov <jskov@redhat.com>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
397
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
398 * src/if_i82559.c: Major changes, getting rid of device structures
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
399 in favor of HAL IO accessor macros. Also added endian conversion
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
400 macros where required.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
401 * include/i82559_info.h: Change type of device structures to char.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
402
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
403 2001-01-19 Jesper Skov <jskov@redhat.com>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
404
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
405 * cdl/intel_i82559_eth_drivers.cdl: Hack for just one interface
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
406 now.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
407 * src/if_i82559.c: Fix IO functions. Handle EEPROM not being
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
408 attached to device.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
409
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
410 * src/if_i82559.c: Use uncached/physical address translation
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
411 macros.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
412
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
413 2001-01-15 Jesper Skov <jskov@redhat.com>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
414
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
415 * src/if_i82559.c: Handle endian differences between controller
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
416 and CPU. Leave usdelay to HAL. Hack around PCI-base-at-0
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
417 assumption.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
418 Increase SK_DELAY (not that it changed anything, but now it's to
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
419 the spec), hardwire static ESA.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
420
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
421 2001-01-12 Jesper Skov <jskov@redhat.com>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
422
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
423 * src/if_i82559.c (pci_init_find_82559s): Check that device has
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
424 been found before accessing it.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
425 (pci_init_find_82559s): Only delay if devices were
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
426 found. Recognize 82559ER code as well.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
427
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
428 2001-01-10 Jesper Skov <jskov@redhat.com>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
429
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
430 * src/if_i82559.c: Minor hacks to get it to build.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
431 * include/i82559_info.h: Same.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
432 * cdl/intel_i82559_eth_drivers.cdl: Same.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
433
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
434 2000-12-07 Jesper Skov <jskov@redhat.com>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
435
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
436 * cdl/intel_i82559_eth_drivers.cdl: Cloned from the EBSA driver.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
437 * include/i82559_info.h: Same.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
438 * src/if_i82559.c: Same.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
439
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
440 2000-11-19 Gary Thomas <gthomas@redhat.com>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
441
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
442 * src/if_ebsa285.c (pci_init_find_82559s): Intel has at least
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
443 two devices equivalent to the 82559. Support both (0x1229, 0x01030).
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
444
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
445 2000-10-05 Hugo Tyson <hmt@redhat.com>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
446
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
447 * src/if_ebsa285.c: Deal with device interrupts in a nested
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
448 fashion - disable/restore is the semantics now, rather than
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
449 unconditionally unmasking. Also go directly to the 21285 PIC's
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
450 interrupt control registers to gain atomicity for these. Poll for
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
451 ready received packets when acknowledging an interrupt in the
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
452 tranmitting world; a race here could lose an Rx interrupt. Which
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
453 doesn't matter on a busy system, but in quieter times... there
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
454 will always be such a race because of the vague way the i82559's
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
455 status bits reflect how it's yanking the interrupt line; you have
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
456 to poll until the interrupt is gone before returning else spurious
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
457 interrupt failures occur. The issue is to close the window as
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
458 tightly as possible, which this change achieves at a minor cost in
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
459 performance - because of the time spent polling when not required.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
460
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
461 2000-09-11 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
462
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
463 * src/if_ebsa285.c (i82559_poll): Only diddle the interface we
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
464 were asked to. This is more correct in terms of the intent of the
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
465 API, though it shouldn't really be necessary.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
466
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
467 2000-09-06 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
468
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
469 * src/if_ebsa285.c (pci_init_find_82559s): Add asserts and an
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
470 unconditional check that the PCI window as configured matches the
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
471 address and size of the pci_window region from the MLT. This is
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
472 here because at present the MLT and CT cannot intercommunicate
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
473 enough. The separation of the PCI window is needed because
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
474 otherwise the malloc heap will eat all memory. [This is related
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
475 to CR 902624-CR, "MLT needs to be configuration aware"]
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
476
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
477 2000-09-01 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
478
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
479 * OVERVIEW: This is part of the change to the network stack to
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
480 greatly reduce latencies both of (other) DSRs and of thread
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
481 scheduling. All the work that the network stack *and* individual
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
482 ether drivers used to do in DSRs (including alarm callbacks and
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
483 data copies to/from the device memory) is moved into a "fast
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
484 network thread" instead. It calls a device's "deliver" function
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
485 to do the work that was previously in the DSR. This is a separate
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
486 thread so that it can be set higher priority than application
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
487 threads in order to minimize packet loss (depending on the
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
488 driver), if required (the application threads presumed to be
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
489 higher priority in turn than the network thread). A crucial
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
490 consequence of this is that we are no longer locking against DSRs,
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
491 so a plain mutex can be used rather than the global scheduler
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
492 lock, thus simplifying all the splfoo/splx() style functions.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
493
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
494 * src/if_ebsa285.c: Minor: fix the big assert in i82559_send()
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
495 which suffered a race condition when called from the fast thread
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
496 rather than from a DSR. Major: Add a "deliver" entry to the
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
497 interface record for the "fast thread" implementation of the
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
498 network internal comms system. Provide a pass-up DSR to the
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
499 logical ether driver's DSR and appropriate delivery routine(s).
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
500 i82559_poll() now calls i82559_deliver() rather than the DSR. Add
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
501 valid data for mux'd DSR to pass on up.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
502
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
503 2000-09-01 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
504
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
505 * tests/test_net_realtime.h: Tighten up the latency requirements
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
506 by a factor of 5; it all seems happy, so committed.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
507
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
508 2000-08-25 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
509
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
510 * src/if_ebsa285.c (i82559_ioctl): A little further diddling; have
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
511 a bool to say whether the dot3 info is filled in.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
512
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
513 2000-08-24 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
514
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
515 * cdl/ebsa285_eth_drivers.cdl: Do not export a symbol for the
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
516 device info file (include/ebsa285_info.h) since nobody needs
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
517 (portably) to include it now.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
518
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
519 * src/if_ebsa285.c (i82559_ioctl): Handle new ioctl calls
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
520 ETH_DRV_GET_IF_STATS_UD and ETH_DRV_GET_IF_STATS to get loads of
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
521 statistical information out. _UD means update. The nonUD one can
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
522 be used instead mostly, if we find the performance hit too large.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
523 This should allow SNMP (a) to not explode, (b) to get useful info
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
524 out of other device implementations than this one.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
525
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
526 * include/ebsa285_info.h: Remove all the macro cruft for feature
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
527 detecting of lots of individual statistics; we now just have a
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
528 catch-all struct that SNMP uses, defined in the common ether
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
529 driver environment.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
530
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
531 2000-08-15 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
532
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
533 * src/if_ebsa285.c (PacketRxReady): Put back the check for very
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
534 small packets into the driver; the layer above checks for that
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
535 (defensive programming) but only *after* asserting that the size
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
536 is large enough, to help detect that scenario from other drivers.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
537 I believe we only have struct ether_header available if CYGPKG_NET
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
538 but I could be wrong.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
539 [CASE 104353]
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
540
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
541 2000-08-08 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
542
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
543 * src/if_ebsa285.c (eth_set_promiscuous_mode):
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
544 - ccs->config_bytes[18]=0x70;
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
545 + ccs->config_bytes[18]=0x72; // Keep the Padding Enable bit
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
546 ...otherwise short frame sends don't work in promisc mode.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
547 [CASE 104289]
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
548
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
549 2000-08-07 Gary Thomas <gthomas@redhat.com>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
550
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
551 * src/if_ebsa285.c (pciwindow_mem_alloc): Take out very noisy debug.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
552
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
553 2000-08-03 Gary Thomas <gthomas@redhat.com>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
554
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
555 * src/if_ebsa285.c: Changes for stand-alone mode.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
556
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
557 * cdl/ebsa285_eth_drivers.cdl: Ethernet driver package hierarchy changed.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
558 Add option to control number of interfaces.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
559
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
560 2000-07-28 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
561
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
562 * src/if_ebsa285.c (PacketRxReady): Do not attempt to forward
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
563 short packets; eth_drv.c assumes there is at least a header there.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
564 (i82559_recv): Also be more careful and ASSERTive about -ve buffer
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
565 sizes; be more defensive about sglists. [CASE 104206]
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
566
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
567 2000-07-26 Gary Thomas <gthomas@redhat.com>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
568
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
569 * src/if_ebsa285.c: Update for new eth_drv interfaces.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
570
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
571 2000-07-18 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
572
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
573 * src/if_ebsa285.c (i82559_poll): Fill in the flesh of this, it
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
574 just calls ISR and DSR repeatedly.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
575 (i82559_start): Look in the device record for promiscuous mode
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
576 flag; it should be passed though the common layer, but it's not
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
577 [yet] - this change from Andrew Lunn/ASCOM. Also a fix and delay
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
578 to the promisc mode code per se.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
579
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
580 2000-07-17 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
581
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
582 * src/if_ebsa285.c (i82559_poll): New function, just to fill in
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
583 the interface record; not used.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
584
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
585 2000-06-27 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
586
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
587 * cdl/ebsa285_eth_drivers.cdl: Add sesquipedalian option
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
588 CYGDBG_DEVS_ETH_ARM_EBSA285_KEEP_82559_STATISTICS in (now)
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
589 component CYGDBG_DEVS_ETH_ARM_EBSA285_KEEP_STATISTICS to control
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
590 keeping (well, harvesting really) the i82559's internal stats.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
591 Reputedly, it doesn't service the net whilst this is happening, so
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
592 it could be viewed a bad thing. Hence the option.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
593
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
594 * include/ebsa285_info.h: Only describe the I82559_COUNTERS
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
595 i82559_counters[2]; structs if full stats are to be kept.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
596
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
597 * src/if_ebsa285.c (update_statistics): Only include this if full
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
598 stats are to be kept.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
599
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
600 2000-06-27 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
601
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
602 * src/if_ebsa285.c (ResetRxRing): Re-do the management of the
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
603 RxRing; have an end-of-list flag (EL) in the last entry, and as
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
604 you unload filled slots, drag it round after you.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
605
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
606 2000-06-14 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
607
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
608 * cdl/ebsa285_eth_drivers.cdl: Add option to control statistics
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
609 keeping.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
610
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
611 * include/ebsa285_info.h: Act on it.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
612
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
613 2000-06-13 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
614
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
615 * cdl/ebsa285_eth_drivers.cdl: Properly include the new header
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
616 file and define symbols to allow client code to get at it without
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
617 knowing the particular device driver name.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
618
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
619 * include/ebsa285_info.h: New file: export various statistics
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
620 information about the driver for use by monitoring and
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
621 network-management systems. This requires exposing the
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
622 (otherwise) internal structures of the driver.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
623
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
624 * src/if_ebsa285.c: remove a lot of structure definitions &c that
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
625 are now necessarily in the new header; add a couple of new
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
626 routines which provide status and update statistics from the
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
627 device into memory; tidy up control of whether stats-keeping is
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
628 enabled.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
629
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
630 2000-06-06 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
631
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
632 * cdl/ebsa285_eth_drivers.cdl (define_proc): Add #define of
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
633 CYGDAT_DEVS_ETH_DESCRIPTION in the config file for information.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
634
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
635 2000-05-12 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
636
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
637 * tests/test_net_realtime.h (tnr_print_activity): New routine to
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
638 check the system is working, tidied up the API. It works!
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
639
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
640 2000-05-11 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
641
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
642 * cdl/ebsa285_eth_drivers.cdl: Added export of the test header
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
643 below, and config opts for controlling EEPROM writing and all the
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
644 status chatter as the device starts up.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
645
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
646 * src/if_ebsa285.c: Reworked the code for reading and setting the
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
647 EEPROM that holds the MAC address. This is very ugly, but now
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
648 more reliable. Also tidied up printing cruft with neater
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
649 configury, and made it an option (for safety) whether it's
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
650 possible to write the EEPROM at all.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
651
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
652 * tests/test_net_realtime.h: New file - it is intended to be used
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
653 by networking tests to verify that latency is not compromised by
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
654 the stack and driver. It's very platform specific, hence the
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
655 location in here. This is a preliminary version only.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
656
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
657 2000-04-27 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
658
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
659 * src/if_ebsa285.c: A serious re-write. This cuts out a lot of
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
660 code from the old version and improves the performance greatly.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
661
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
662 The cruft was mainly doing lots of explicit event communication
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
663 between the ISR and DSR, when in fact all the state needed is
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
664 present in the tx/rx rings. So both ISRs and DSRs regard their
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
665 call as an opportunity to progress everything they can, rather
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
666 than only dealing with one interrupt cause at a time; the
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
667 connection between them is now rather looser.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
668
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
669 Interrups can now be re-enabled after the ISR (in other words they
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
670 are not masked in the ISR), no need to wait for the DSR, but in
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
671 consequence some DSR code must mask/unmask intrs as it works.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
672
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
673 The 82559 appears to be a little slow in reacting to commands and
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
674 state changes, so some interrupts were being lost - or persisting
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
675 beyond their desired life - so there's some kinda polling code to
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
676 deal with that also. We also rely on the foreground to kind of
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
677 poll in the same way, in the send/can_send calls - we know the
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
678 stack will re-try if necessary, though this is rare.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
679
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
680 The driver now works (albeit at much reduced performance) with as
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
681 few as 6 rx and tx buffers - in other words the "queue full/out of
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
682 rx buffers" states have been tested and all is well. It works
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
683 generally fine with 8 buffers of each kind.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
684
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
685 The mux ISR and DSR are now rather more polled than the old
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
686 versions; we just try to do things with both devices (if active)
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
687 by simply calling each unitary ISR/DSR respectively.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
688
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
689 I also re-ordered some of the code, moving utilities to the end of
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
690 the file and grouping together Tx and Rx machines a bit better.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
691
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
692 2000-04-13 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
693
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
694 * src/if_ebsa285.c: Attribution to Ron Spence, Pacific Softworks
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
695 added as a contributor.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
696
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
697 2000-04-07 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
698
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
699 * ecos.db: Re-organize device packages. This is a massive change
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
700 involving deleting all the sources for serial and ethernet drivers
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
701 from where they used to live in
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
702 packages/io/serial/current/src/ARCH/PLATFORM.[ch]
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
703 packages/net/drivers/eth/PLATFORM/current/src/...
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
704 and reinstating them in
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
705 packages/devs/serial/ARCH/PLATFORM/current/src/...
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
706 packages/devs/eth/ARCH/PLATFORM/current/src/...
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
707
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
708 All these new packages are properly defined in ecos.db, and are
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
709 all of type "hardware" so that a "target" can grab them.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
710
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
711 This directory layout is descriptive of the devices we have right
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
712 now, arch and platform are separate levels just to make it easier
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
713 to navigate in the filesystem and similar to the HAL structure in
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
714 the filesystem.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
715
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
716 It is *not* prescriptive of future work; for example, the mythical
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
717 common highly-portable 16550 serial driver which works on many
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
718 targets would be called "devs/serial/s16550/current", or a serial
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
719 device for a particular board (cogent springs to mind) that can
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
720 work with different CPUs fitted is "devs/serial/cogent/current".
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
721
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
722 Changelogs have been preserved and replicated over all the new
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
723 packages, so that no history is lost.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
724
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
725 The contents of individual source files are unchanged; they build
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
726 in just the same emvironment except for a very few cases where the
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
727 config file name changed in this movement.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
728
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
729 Targets in ecos.db have been redefined to bring in all relevant
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
730 hardware packages including net and serial drivers (but the newly
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
731 included packages are only active if their desired parent is
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
732 available.)
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
733
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
734 The names of CDL options (and their #defines of course) stay the
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
735 same for the serial drivers, for backward compatibility.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
736
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
737 * templates/*/current.ect: these have had CYGPKG_IO_SERIAL added
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
738 rather than it being in (almost) all target definitions.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
739
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
740 2000-03-29 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
741
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
742 * src/if_ebsa285.c (i82559_recv): Be happy with NULLs in the
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
743 SGlist; it means the caller is out of memory so drop the packet on
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
744 the floor. Also remove a completely redundant test.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
745
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
746 2000-03-06 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
747
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
748 * src/if_ebsa285.c (i82559_can_send): Update net driver to new
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
749 interface style. This is incomplete wrt promiscuous mode, but
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
750 that's probably about all.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
751
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
752 2000-02-14 Gary Thomas <gthomas@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
753
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
754 * cdl/ebsa285_eth_drivers.cdl: Update CDL to indicate multiple
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
755 interface support.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
756
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
757 2000-02-14 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
758
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
759 * src/if_ebsa285.c (pci_init_find_82559s): Tidy comments somewhat
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
760 and set debug and stats collecting defines to most friendly
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
761 settings.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
762
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
763 2000-02-10 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
764
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
765 * src/if_ebsa285.c (PacketRxReady): Fix bug; current descriptor
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
766 was not being write back for the callback to use. Hence asserts
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
767 on state of rfd were firing in busy times - that leading rfd had
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
768 already been drained.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
769
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
770 Also rationalized meaning of DEBUG printy symbols a bit - it's now
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
771 chatty during startup/foreground manipulations but not in any
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
772 performance related activities ie. rx or tx.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
773
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
774 2000-02-09 John Dallaway <jld@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
775
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
776 * cdl/ebsa285_eth_drivers.cdl:
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
777
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
778 Reparent under CYGPKG_NET_ETH_DRIVERS and tidy display strings.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
779
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
780 2000-02-08 Hugo Tyson <hmt@cygnus.co.uk>
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
781
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
782 * src/if_ebsa285.c: New File.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
783 * cdl/ebsa285_eth_drivers.cdl: New File.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
784
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
785 Initial Checkin of EBSA285 Ethernet driver.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
786
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
787 It's one monolithic file at present, and should be split up into a
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
788 more generic Intel 82559 driver plus platform-specific parts (PCI
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
789 et al) plus eCos/Red-Hat-BSD-stack parts.
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
790
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
791 //===========================================================================
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
792 //####ECOSGPLCOPYRIGHTBEGIN####
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
793 // -------------------------------------------
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
794 // This file is part of eCos, the Embedded Configurable Operating System.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
795 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
796 //
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
797 // eCos is free software; you can redistribute it and/or modify it under
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
798 // the terms of the GNU General Public License as published by the Free
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
799 // Software Foundation; either version 2 or (at your option) any later version.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
800 //
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
801 // eCos is distributed in the hope that it will be useful, but WITHOUT ANY
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
802 // WARRANTY; without even the implied warranty of MERCHANTABILITY or
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
803 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
804 // for more details.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
805 //
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
806 // You should have received a copy of the GNU General Public License along
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
807 // with eCos; if not, write to the Free Software Foundation, Inc.,
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
808 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
809 //
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
810 // As a special exception, if other files instantiate templates or use macros
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
811 // or inline functions from this file, or you compile this file and link it
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
812 // with other works to produce a work based on this file, this file does not
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
813 // by itself cause the resulting work to be covered by the GNU General Public
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
814 // License. However the source code for this file must still be made available
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
815 // in accordance with section (3) of the GNU General Public License.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
816 //
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
817 // This exception does not invalidate any other reasons why a work based on
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
818 // this file might be covered by the GNU General Public License.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
819 //
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
820 // Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
821 // at http://sources.redhat.com/ecos/ecos-license/
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
822 // -------------------------------------------
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 202
diff changeset
823 //####ECOSGPLCOPYRIGHTEND####
150
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
824 //===========================================================================
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
825
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
826
f0e3fb000de8 Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff changeset
827