Rev 3598 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3598 | Rev 3653 | ||
---|---|---|---|
Line 430... | Line 430... | ||
430 | ; Pipe is removing, update the corresponding lists. |
430 | ; Pipe is removing, update the corresponding lists. |
431 | ; We do not reorder anything, so just update book-keeping variable |
431 | ; We do not reorder anything, so just update book-keeping variable |
432 | ; in the list header. |
432 | ; in the list header. |
433 | proc ehci_hs_interrupt_list_unlink |
433 | proc ehci_hs_interrupt_list_unlink |
434 | ; get target list |
434 | ; get target list |
435 | mov edx, [ebx+ehci_pipe.BaseList-ehci_pipe.SoftwarePart] |
435 | mov edx, [ebx+ehci_pipe.BaseList-sizeof.ehci_pipe] |
436 | ; TODO: calculate real bandwidth |
436 | ; TODO: calculate real bandwidth |
437 | movzx eax, word [ebx+ehci_pipe.Token-ehci_pipe.SoftwarePart+2] |
437 | movzx eax, word [ebx+ehci_pipe.Token-sizeof.ehci_pipe+2] |
438 | mov ecx, [ebx+ehci_pipe.Flags-ehci_pipe.SoftwarePart] |
438 | mov ecx, [ebx+ehci_pipe.Flags-sizeof.ehci_pipe] |
439 | and eax, (1 shl 11) - 1 |
439 | and eax, (1 shl 11) - 1 |
440 | shr ecx, 30 |
440 | shr ecx, 30 |
441 | imul eax, ecx |
441 | imul eax, ecx |
442 | movzx ecx, byte [ebx+ehci_pipe.Flags-ehci_pipe.SoftwarePart] |
442 | movzx ecx, byte [ebx+ehci_pipe.Flags-sizeof.ehci_pipe] |
443 | add edx, ehci_static_ep.Bandwidths - ehci_static_ep.SoftwarePart |
443 | add edx, ehci_static_ep.Bandwidths - ehci_static_ep.SoftwarePart |
444 | ; update bandwidth |
444 | ; update bandwidth |
445 | .dec_bandwidth: |
445 | .dec_bandwidth: |
446 | shr ecx, 1 |
446 | shr ecx, 1 |
447 | jnc @f |
447 | jnc @f |