Subversion Repositories Kolibri OS

Rev

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

Rev 3700 Rev 3816
Line 1373... Line 1373...
1373
; in: edi -> usb_pipe for target, ecx -> usb_pipe for config pipe,
1373
; in: edi -> usb_pipe for target, ecx -> usb_pipe for config pipe,
1374
; esi -> usb_controller, eax -> usb_gtd for the first TD,
1374
; esi -> usb_controller, eax -> usb_gtd for the first TD,
1375
; [ebp+12] = endpoint, [ebp+16] = maxpacket, [ebp+20] = type
1375
; [ebp+12] = endpoint, [ebp+16] = maxpacket, [ebp+20] = type
1376
proc uhci_init_pipe
1376
proc uhci_init_pipe
1377
; inherit some variables from the parent usb_open_pipe
1377
; inherit some variables from the parent usb_open_pipe
1378
virtual at ebp+8
1378
virtual at ebp-12
-
 
1379
.speed          db      ?
-
 
1380
                rb      3
-
 
1381
.bandwidth      dd      ?
-
 
1382
.target         dd      ?
-
 
1383
                rd      2
1379
.config_pipe    dd      ?
1384
.config_pipe    dd      ?
1380
.endpoint       dd      ?
1385
.endpoint       dd      ?
1381
.maxpacket      dd      ?
1386
.maxpacket      dd      ?
1382
.type           dd      ?
1387
.type           dd      ?
1383
.interval       dd      ?
1388
.interval       dd      ?
Line 1411... Line 1416...
1411
        test    byte [.endpoint], 80h
1416
        test    byte [.endpoint], 80h
1412
        jz      @f
1417
        jz      @f
1413
        mov     al, USB_PID_IN
1418
        mov     al, USB_PID_IN
1414
@@:
1419
@@:
1415
        mov     [edi+uhci_pipe.Token-sizeof.uhci_pipe], eax
1420
        mov     [edi+uhci_pipe.Token-sizeof.uhci_pipe], eax
-
 
1421
        bt      eax, 20
-
 
1422
        setc    [.speed]
1416
; 4. Initialize the first TD:
1423
; 4. Initialize the first TD:
1417
; copy Token from uhci_pipe.Token zeroing reserved bit 20,
1424
; copy Token from uhci_pipe.Token zeroing reserved bit 20,
1418
; set ControlStatus for future transfers, bit make it inactive,
1425
; set ControlStatus for future transfers, bit make it inactive,
1419
; set bit 0 in NextTD = "no next TD",
1426
; set bit 0 in NextTD = "no next TD",
1420
; zero OrigBufferInfo.
1427
; zero OrigBufferInfo.