Rev 3858 | Rev 4467 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3858 | Rev 4449 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ;; ;; |
2 | ;; ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2013. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2014. All rights reserved. ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; ;; |
5 | ;; ;; |
6 | ;; Realtek 8139 driver for KolibriOS ;; |
6 | ;; Realtek 8139 driver for KolibriOS ;; |
7 | ;; ;; |
7 | ;; ;; |
8 | ;; based on RTL8139.asm driver for menuetos ;; |
8 | ;; based on RTL8139.asm driver for menuetos ;; |
Line 240... | Line 240... | ||
240 | cmp [state], 1 |
240 | cmp [state], 1 |
241 | jne .exit |
241 | jne .exit |
Line 242... | Line 242... | ||
242 | 242 | ||
Line 243... | Line 243... | ||
243 | .entry: |
243 | .entry: |
244 | 244 | ||
245 | DEBUGF 1, "Loading driver\n" |
245 | DEBUGF 2, "Loading driver\n" |
Line 246... | Line 246... | ||
246 | stdcall RegService, my_service, service_proc |
246 | stdcall RegService, my_service, service_proc |
247 | ret |
247 | ret |
Line 955... | Line 955... | ||
955 | ; Packet underrun? |
955 | ; Packet underrun? |
956 | @@: |
956 | @@: |
957 | test ax, ISR_PUN |
957 | test ax, ISR_PUN |
958 | jz @f |
958 | jz @f |
Line 959... | Line 959... | ||
959 | 959 | ||
- | 960 | DEBUGF 1, "Packet underrun or link changed!\n" |
|
- | 961 | ||
Line 960... | Line 962... | ||
960 | DEBUGF 2, "RX:Packet underrun!\n" |
962 | call cable |
961 | 963 | ||
962 | ;---------------------------------------------------- |
964 | ;---------------------------------------------------- |
963 | ; Receive FIFO overflow ? |
965 | ; Receive FIFO overflow ? |
964 | @@: |
966 | @@: |
Line 965... | Line 967... | ||
965 | test ax, ISR_FIFOOVW |
967 | test ax, ISR_FIFOOVW |
966 | jz @f |
968 | jz @f |
Line 967... | Line 969... | ||
967 | 969 | ||
968 | push ax |
970 | push ax |
969 | DEBUGF 2, "RX:fifo overflow!\n" |
971 | DEBUGF 2, "RX fifo overflow!\n" |
970 | 972 | ||
971 | set_io 0 |
973 | set_io 0 |
Line 972... | Line 974... | ||
972 | set_io REG_ISR |
974 | set_io REG_ISR |
973 | mov ax, ISR_FIFOOVW or ISR_RXOVW |
975 | mov ax, ISR_FIFOOVW or ISR_RXOVW |
974 | out dx, ax |
976 | out dx, ax |
975 | pop ax |
977 | pop ax |
976 | 978 | ||
Line -... | Line 979... | ||
- | 979 | ;---------------------------------------------------- |
|
- | 980 | ; cable length changed ? |
|
977 | ;---------------------------------------------------- |
981 | @@: |
Line 978... | Line 982... | ||
978 | ; Something about Cable changed ? |
982 | test ax, ISR_LENCHG |
979 | @@: |
983 | jz .fail |
980 | test ax, ISR_LENCHG |
984 | |
Line 1013... | Line 1017... | ||
1013 | jnz .10mbps |
1017 | jnz .10mbps |
Line 1014... | Line 1018... | ||
1014 | 1018 | ||
1015 | .100mbps: |
1019 | .100mbps: |
1016 | mov [device.state], ETH_LINK_100M |
1020 | mov [device.state], ETH_LINK_100M |
1017 | call NetLinkChanged |
1021 | call NetLinkChanged |
Line 1018... | Line 1022... | ||
1018 | DEBUGF 1, "100 mbit\n" |
1022 | DEBUGF 2, "link changed to 100 mbit\n" |
Line 1019... | Line 1023... | ||
1019 | 1023 | ||
1020 | ret |
1024 | ret |
1021 | 1025 | ||
1022 | .10mbps: |
1026 | .10mbps: |
Line 1023... | Line 1027... | ||
1023 | mov [device.state], ETH_LINK_10M |
1027 | mov [device.state], ETH_LINK_10M |
Line 1024... | Line 1028... | ||
1024 | call NetLinkChanged |
1028 | call NetLinkChanged |
1025 | DEBUGF 1, "10 mbit\n" |
1029 | DEBUGF 2, "link changed to 10 mbit\n" |
1026 | 1030 | ||
1027 | ret |
1031 | ret |
Line 1028... | Line 1032... | ||
1028 | 1032 |