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 |