Subversion Repositories Kolibri OS

Rev

Rev 3826 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3826 Rev 4300
Line 590... Line 590...
590
; Limit the loop with 100h iterations; since the entire configuration space is
590
; Limit the loop with 100h iterations; since the entire configuration space is
591
; 100h bytes long, hitting this number of iterations means that something is
591
; 100h bytes long, hitting this number of iterations means that something is
592
; corrupted.
592
; corrupted.
593
; Use a value from MMIO as a starting point.
593
; Use a value from MMIO as a starting point.
594
        mov     edx, [eax+EhciCapParamsReg]
594
        mov     edx, [eax+EhciCapParamsReg]
595
        DEBUGF 1,'K : edx=%x\n',edx
-
 
596
        movzx   edi, byte [eax+EhciCapLengthReg]
595
        movzx   edi, byte [eax+EhciCapLengthReg]
597
        add     edi, eax
596
        add     edi, eax
598
        push    0
597
        push    0
599
        mov     bl, dh          ; get Extended Capabilities Pointer
598
        mov     bl, dh          ; get Extended Capabilities Pointer
600
        test    bl, bl
599
        test    bl, bl
Line 1392... Line 1391...
1392
        test    bl, 2
1391
        test    bl, 2
1393
        jz      .nocsc
1392
        jz      .nocsc
1394
; There was a connect or disconnect event at this port.
1393
; There was a connect or disconnect event at this port.
1395
; 3g. Disconnect the old device on this port, if any.
1394
; 3g. Disconnect the old device on this port, if any.
1396
; If the port was resetting, indicate fail; later stages will process it.
1395
; If the port was resetting, indicate fail; later stages will process it.
-
 
1396
; Ignore connect event immediately after resetting.
1397
        cmp     [esi+usb_controller.ResettingHub], 0
1397
        cmp     [esi+usb_controller.ResettingHub], 0
1398
        jnz     @f
1398
        jnz     .csc.noreset
1399
        cmp     cl, [esi+usb_controller.ResettingPort]
1399
        cmp     cl, [esi+usb_controller.ResettingPort]
-
 
1400
        jnz     .csc.noreset
-
 
1401
        cmp     [esi+usb_controller.ResettingStatus], 2
1400
        jnz     @f
1402
        jnz     @f
-
 
1403
        test    al, 1
1401
        mov     [esi+usb_controller.ResettingStatus], -1
1404
        jnz     .nextport
1402
@@:
1405
@@:
-
 
1406
        mov     [esi+usb_controller.ResettingStatus], -1
-
 
1407
.csc.noreset:
1403
        bts     [esi+usb_controller.NewDisconnected], ecx
1408
        bts     [esi+usb_controller.NewDisconnected], ecx
1404
; 3h. Change connected status. For the connection event, also store
1409
; 3h. Change connected status. For the connection event, also store
1405
; the connection time; any further processing is permitted only after
1410
; the connection time; any further processing is permitted only after
1406
; USB_CONNECT_DELAY ticks.
1411
; USB_CONNECT_DELAY ticks.
1407
        test    al, 1
1412
        test    al, 1