Mercurial > flash_v2
annotate packages/devs/eth/intel/i82559/current/ChangeLog @ 159:511f4dc167f6
Merge from eCos master repository on 2001-05-18-01:30:05-BST
| author | jlarmour |
|---|---|
| date | Fri, 18 May 2001 06:32:28 +0000 |
| parents | f2545e5de153 |
| children | 0d2b193a635f |
| rev | line source |
|---|---|
|
159
511f4dc167f6
Merge from eCos master repository on 2001-05-18-01:30:05-BST
jlarmour
parents:
158
diff
changeset
|
1 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
|
2 |
|
511f4dc167f6
Merge from eCos master repository on 2001-05-18-01:30:05-BST
jlarmour
parents:
158
diff
changeset
|
3 * 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
|
4 hal_delay_us() exists. |
|
511f4dc167f6
Merge from eCos master repository on 2001-05-18-01:30:05-BST
jlarmour
parents:
158
diff
changeset
|
5 |
|
158
f2545e5de153
Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents:
156
diff
changeset
|
6 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
|
7 |
|
f2545e5de153
Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents:
156
diff
changeset
|
8 * 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
|
9 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
|
10 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
|
11 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
|
12 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
|
13 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
|
14 |
|
f2545e5de153
Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents:
156
diff
changeset
|
15 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
|
16 |
|
f2545e5de153
Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents:
156
diff
changeset
|
17 * 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
|
18 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
|
19 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
|
20 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
|
21 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
|
22 (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
|
23 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
|
24 (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
|
25 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
|
26 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
|
27 |
|
f2545e5de153
Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents:
156
diff
changeset
|
28 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
|
29 |
|
f2545e5de153
Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents:
156
diff
changeset
|
30 * 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
|
31 following previous change. |
|
f2545e5de153
Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents:
156
diff
changeset
|
32 |
|
f2545e5de153
Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents:
156
diff
changeset
|
33 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
|
34 |
|
f2545e5de153
Merge from eCos master repository on 2001-04-24-11:22:42-BST
jlarmour
parents:
156
diff
changeset
|
35 * 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
|
36 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
|
37 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
|
38 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
|
39 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
|
40 |
|
156
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
41 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
|
42 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
43 * 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
|
44 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
|
45 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
46 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
|
47 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
48 * 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
|
49 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
|
50 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
|
51 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
|
52 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
|
53 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
|
54 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
|
55 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
|
56 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
|
57 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
|
58 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
59 * 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
|
60 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
61 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
|
62 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
63 * 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
|
64 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
|
65 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
|
66 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
|
67 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
|
68 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
|
69 the unusual case. |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
70 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
71 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
|
72 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
73 * 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
|
74 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
|
75 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
|
76 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
|
77 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
78 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
|
79 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
80 * 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
|
81 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
|
82 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
|
83 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
|
84 via the EBSA285 driver] |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
85 (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
|
86 [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
|
87 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
|
88 interrupt. |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
89 (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
|
90 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
|
91 (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
|
92 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
93 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
|
94 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
95 * 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
|
96 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
|
97 (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
|
98 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
|
99 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
|
100 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
|
101 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
|
102 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
|
103 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
|
104 (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
|
105 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
|
106 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
|
107 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
|
108 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
|
109 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
110 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
111 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
|
112 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
|
113 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
|
114 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
|
115 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
116 * 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
|
117 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
|
118 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
119 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
|
120 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
121 * 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
|
122 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
|
123 platforms now provide these. |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
124 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
|
125 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
126 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
|
127 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
128 * 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
|
129 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
|
130 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
|
131 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
|
132 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
|
133 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
|
134 way of doing IO. |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
135 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
136 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
|
137 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
138 * 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
|
139 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
|
140 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
141 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
|
142 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
|
143 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
|
144 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
145 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
|
146 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
|
147 also available. |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
148 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
149 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
|
150 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
|
151 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
|
152 acknowledgments. |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
153 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
154 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
|
155 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
|
156 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
|
157 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
158 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
|
159 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
160 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
|
161 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
|
162 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
|
163 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
|
164 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
|
165 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
166 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
|
167 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
168 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
|
169 |
|
151
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
150
diff
changeset
|
170 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
|
171 |
|
156
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
172 * 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
|
173 |
|
150
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
174 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
|
175 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
176 * 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
|
177 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
|
178 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
|
179 _isr functions. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
180 * 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
|
181 Fix declaration. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
182 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
183 * 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
|
184 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
|
185 of just 1 or 2. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
186 * 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
|
187 * 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
|
188 platform CDL. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
189 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
190 * 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
|
191 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
192 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
|
193 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
194 * 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
|
195 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
|
196 (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
|
197 cmds. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
198 (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
|
199 reset. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
200 Fix initialization of hardwired ESA. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
201 Correct configuration command. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
202 Fix rcv len masking. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
203 (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
|
204 completion. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
205 Fix LE structure offsets. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
206 (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
|
207 hacks cleaned up. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
208 Remove a few printfs. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
209 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
210 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
|
211 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
212 * 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
|
213 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
214 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
|
215 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
216 * 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
|
217 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
|
218 macros where required. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
219 * 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
|
220 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
221 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
|
222 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
223 * 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
|
224 now. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
225 * 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
|
226 attached to device. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
227 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
228 * 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
|
229 macros. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
230 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
231 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
|
232 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
233 * 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
|
234 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
|
235 assumption. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
236 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
|
237 the spec), hardwire static ESA. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
238 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
239 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
|
240 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
241 * 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
|
242 been found before accessing it. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
243 (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
|
244 found. Recognize 82559ER code as well. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
245 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
246 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
|
247 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
248 * 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
|
249 * include/i82559_info.h: Same. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
250 * 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
|
251 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
252 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
|
253 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
254 * 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
|
255 * include/i82559_info.h: Same. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
256 * src/if_i82559.c: Same. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
257 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
258 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
|
259 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
260 * 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
|
261 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
|
262 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
263 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
|
264 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
265 * 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
|
266 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
|
267 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
|
268 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
|
269 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
|
270 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
|
271 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
|
272 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
|
273 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
|
274 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
|
275 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
|
276 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
|
277 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
|
278 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
279 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
|
280 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
281 * 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
|
282 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
|
283 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
|
284 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
285 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
|
286 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
287 * 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
|
288 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
|
289 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
|
290 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
|
291 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
|
292 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
|
293 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
|
294 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
295 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
|
296 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
297 * 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
|
298 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
|
299 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
|
300 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
|
301 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
|
302 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
|
303 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
|
304 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
|
305 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
|
306 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
|
307 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
|
308 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
|
309 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
|
310 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
|
311 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
312 * 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
|
313 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
|
314 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
|
315 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
|
316 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
|
317 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
|
318 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
|
319 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
|
320 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
321 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
|
322 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
323 * 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
|
324 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
|
325 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
326 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
|
327 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
328 * 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
|
329 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
|
330 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
331 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
|
332 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
333 * 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
|
334 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
|
335 (portably) to include it now. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
336 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
337 * 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
|
338 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
|
339 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
|
340 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
|
341 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
|
342 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
|
343 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
344 * 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
|
345 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
|
346 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
|
347 driver environment. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
348 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
349 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
|
350 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
351 * 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
|
352 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
|
353 (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
|
354 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
|
355 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
|
356 but I could be wrong. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
357 [CASE 104353] |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
358 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
359 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
|
360 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
361 * 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
|
362 - ccs->config_bytes[18]=0x70; |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
363 + 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
|
364 ...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
|
365 [CASE 104289] |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
366 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
367 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
|
368 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
369 * 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
|
370 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
371 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
|
372 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
373 * 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
|
374 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
375 * 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
|
376 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
|
377 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
378 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
|
379 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
380 * 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
|
381 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
|
382 (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
|
383 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
|
384 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
385 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
|
386 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
387 * 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
|
388 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
389 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
|
390 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
391 * 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
|
392 just calls ISR and DSR repeatedly. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
393 (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
|
394 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
|
395 [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
|
396 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
|
397 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
398 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
|
399 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
400 * 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
|
401 the interface record; not used. |
|
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 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
|
404 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
405 * 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
|
406 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
|
407 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
|
408 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
|
409 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
|
410 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
|
411 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
412 * 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
|
413 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
|
414 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
415 * 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
|
416 stats are to be kept. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
417 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
418 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
|
419 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
420 * 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
|
421 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
|
422 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
|
423 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
424 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
|
425 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
426 * 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
|
427 keeping. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
428 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
429 * 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
|
430 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
431 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
|
432 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
433 * 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
|
434 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
|
435 knowing the particular device driver name. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
436 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
437 * 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
|
438 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
|
439 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
|
440 (otherwise) internal structures of the driver. |
|
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: 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
|
443 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
|
444 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
|
445 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
|
446 enabled. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
447 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
448 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
|
449 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
450 * 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
|
451 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
|
452 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
453 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
|
454 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
455 * 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
|
456 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
|
457 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
458 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
|
459 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
460 * 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
|
461 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
|
462 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
|
463 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
464 * 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
|
465 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
|
466 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
|
467 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
|
468 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
|
469 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
470 * 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
|
471 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
|
472 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
|
473 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
|
474 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
475 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
|
476 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
477 * 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
|
478 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
|
479 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
480 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
|
481 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
|
482 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
|
483 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
|
484 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
|
485 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
|
486 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
487 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
|
488 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
|
489 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
|
490 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
491 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
|
492 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
|
493 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
|
494 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
|
495 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
|
496 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
|
497 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
498 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
|
499 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
|
500 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
|
501 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
|
502 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
503 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
|
504 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
|
505 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
|
506 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
507 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
|
508 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
|
509 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
510 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
|
511 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
512 * 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
|
513 added as a contributor. |
|
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 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
|
516 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
517 * 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
|
518 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
|
519 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
|
520 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
|
521 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
|
522 and reinstating them in |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
523 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
|
524 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
|
525 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
526 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
|
527 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
|
528 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
529 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
|
530 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
|
531 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
|
532 the filesystem. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
533 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
534 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
|
535 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
|
536 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
|
537 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
|
538 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
|
539 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
540 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
|
541 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
|
542 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
543 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
|
544 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
|
545 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
|
546 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
547 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
|
548 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
|
549 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
|
550 available.) |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
551 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
552 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
|
553 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
|
554 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
555 * 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
|
556 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
|
557 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
558 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
|
559 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
560 * 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
|
561 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
|
562 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
|
563 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
564 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
|
565 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
566 * 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
|
567 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
|
568 that's probably about all. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
569 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
570 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
|
571 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
572 * 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
|
573 interface support. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
574 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
575 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
|
576 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
577 * 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
|
578 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
|
579 settings. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
580 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
581 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
|
582 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
583 * 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
|
584 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
|
585 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
|
586 already been drained. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
587 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
588 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
|
589 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
|
590 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
|
591 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
592 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
|
593 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
594 * cdl/ebsa285_eth_drivers.cdl: |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
595 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
596 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
|
597 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
598 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
|
599 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
600 * src/if_ebsa285.c: New File. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
601 * 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
|
602 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
603 Initial Checkin of EBSA285 Ethernet driver. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
604 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
605 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
|
606 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
|
607 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
|
608 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
609 //=========================================================================== |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
610 //####COPYRIGHTBEGIN#### |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
611 // |
|
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 // The contents of this file are subject to the Red Hat eCos Public License |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
614 // Version 1.1 (the "License"); you may not use this file except in |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
615 // compliance with the License. You may obtain a copy of the License at |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
616 // http://www.redhat.com/ |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
617 // |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
618 // Software distributed under the License is distributed on an "AS IS" |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
619 // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
620 // License for the specific language governing rights and limitations under |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
621 // the License. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
622 // |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
623 // The Original Code is eCos - Embedded Configurable Operating System, |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
624 // released September 30, 1998. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
625 // |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
626 // The Initial Developer of the Original Code is Red Hat. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
627 // Portions created by Red Hat are |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
628 // Copyright (C) 1998, 1999, 2000 Red Hat, Inc. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
629 // All Rights Reserved. |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
630 // ------------------------------------------- |
|
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 //####COPYRIGHTEND#### |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
633 //=========================================================================== |
|
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 |
|
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
diff
changeset
|
636 |
