reduced time-out for auto negotiation, bugfixes.

git-svn-id: svn://kolibrios.org@4803 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
hidnplayr 2014-04-08 19:42:47 +00:00
parent 2d5fb32931
commit 6ee815481f

View File

@ -287,10 +287,10 @@ end virtual
macro udelay msec {
push esi
push esi ecx
mov esi, msec
call Sleep
pop esi
pop ecx esi
}
@ -648,6 +648,7 @@ probe:
cmp [tpc.mcfg], MCFG_METHOD_02
jne @f
DEBUGF 1,"Set MAC Reg C+CR Offset 0x82h = 0x01h\n"
set_io 0
set_io 0x82
mov al, 0x01
out dx, al
@ -673,23 +674,24 @@ probe:
; Enable auto-negotiation and restart auto-nigotiation
WRITE_GMII_REG PHY_CTRL_REG, PHY_Enable_Auto_Nego or PHY_Restart_Auto_Nego
udelay 100
mov ecx, 10000
udelay 1 ; 100
mov ecx, 200 ; 10000
DEBUGF 1, "Waiting for auto-negotiation to complete\n"
; wait for auto-negotiation process
@@: dec ecx
jz @f
set_io 0
READ_GMII_REG PHY_STAT_REG
udelay 100
udelay 1 ; 100
test eax, PHY_Auto_Neco_Comp
jz @b
set_io REG_PHYstatus
in al, dx
jmp @f
.tbi_dis:
udelay 100
udelay 1 ; 100
@@:
DEBUGF 1, "auto-negotiation complete\n"
;***************************************************************************
; Function
@ -703,7 +705,7 @@ probe:
align 4
reset:
DEBUGF 1,"reset\n"
DEBUGF 1,"resetting\n"
lea eax, [device.tx_ring]
mov [tpc.TxDescArrays], eax
@ -728,6 +730,7 @@ reset:
; Set link state to unknown
mov [device.state], ETH_LINK_UNKOWN
DEBUGF 2,"init OK!\n"
xor eax, eax
ret