Subversion Repositories Kolibri OS

Rev

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