RE: Iso trbs for xhci arrangement

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> From: vichy [mailto:vichy.kuo@xxxxxxxxx]
> Sent: Friday, July 18, 2014 10:13 AM
> 
>>> Driver prepare ep ring like below
>>>     xhci.0: @000000002796e150 279cfb04 00000000 000404fc 80021415  //xxxxxx
>>>     xhci.0: @000000002796e160 279d0000 00000000 000006f8 00000625  //normal
>>>     xhci.0: @000000002796e170 279d06f8 00000000 00000bf4 80021625
>>>
>>>     but event ring get below result
>>>     xhci.0: @00000000278d1710 2796e150 00000000 0d0004fc 01038001
>>>     xhci.0: @00000000278d1720 2796e160 00000000 01000000 01038001
>>> //event for normal
>>>
>>> My questions are
>>> 1. The xhci controller seems not handle the normal TRB for short package.
>>>    as you can see the length of event package for normal package is 0.
>>>    am I correct?
>>> 2. if above #1 is correct, how xhci controller get the left 0x6f8 data
>>>    in original normal package?
>>
>> This looks like a hardware bug to me. Which xHCI controller is this?
> 
> Synopsys

Ouch ;)

>>>     the controller did fire iso in token to get 0x4fc bytes, above
>>> marked "xxxx", and if xhci controller didn't firing the left in tokens
>>> to get 0x6f8 bytes, that mean the data we get from iso-in pipe is not
>>> continuous, right?
>>
>> I would bet that no data was transferred at all, but the controller
>> forgot to set the transfer length correctly for the chained normal TRB.
> 
> so you mean the ISO will be sent but the chained normal TRB won't.
> that mean the host only get 0x4fc instead of total 0xbf4 Bytes.
> Am I right?

No, I'm thinking that no data at all was received. That is what the Isoc
event TRB shows.

>> Are you seeing an actual problem with this? If not, maybe the xHCI driver
>> is written in such a way that this does not cause a problem.
> 
> I found this problem because when I activate ISO for my webcam, I get
> below message
> "ERROR Transfer event TRB DMA ptr not part of current TD"

Yes, but does the webcam work? Without the patch that you mentioned
below, you will get these messages, but they shouldn't cause any
functional problem.

Also, which webcam is this? Maybe I can try to reproduce the problem
here.

Which version of the kernel are you using? Please try this with the
latest version (3.16-rc5) to make sure this is not some problem that
has already been fixed.

> after tracing the src and checking the event TRB, I found the "TRB
> pointer" in event TRB is pointing to the chained normal TRB.
> And length of Event TRB is 0 but complete code is success.
> 
>>
>>> 3. is there any relationship between below patch
>>>     https://lkml.org/lkml/2013/6/26/501
>>
>> I doubt it.
>>
>>> appreciate your help,
>>>
>>> Endpoint 02 Context:
>>> xhci.0: @e52e90c0 (virt) @27f660c0 (dma) 0x000001 - ep_info
>>> xhci.0: @e52e90c4 (virt) @27f660c4 (dma) 0x3fc0228 - ep_info2
>>> xhci.0: @e52e90c8 (virt) @27f660c8 (dma) 0x2796e001 - deq
>>> xhci.0: @e52e90d0 (virt) @27f660d0 (dma) 0xbf40bf4 - tx_info
>>> xhci.0: @e52e90d4 (virt) @27f660d4 (dma) 0x000000 - rsvd[0]
>>> xhci.0: @e52e90d8 (virt) @27f660d8 (dma) 0x000000 - rsvd[1]
>>> xhci.0: @e52e90dc (virt) @27f660dc (dma) 0x3000000 - rsvd[2]
>>>
>>> ep ring
>>> xhci.0: @000000002796e110 279ccb34 00000000 00000bf4 80021625
>>> xhci.0: @000000002796e120 279cd728 00000000 00000bf4 80021625
>>> xhci.0: @000000002796e130 279ce31c 00000000 00000bf4 80021625
>>> xhci.0: @000000002796e140 279cef10 00000000 00000bf4 80021625
>>> xhci.0: @000000002796e150 279cfb04 00000000 000404fc 80021415  //xxxxxx
>>> xhci.0: @000000002796e160 279d0000 00000000 000006f8 00000625  //normal
>>> xhci.0: @000000002796e170 279d06f8 00000000 00000bf4 80021625
>>>
>>> event ring:
>>> xhci.0: @00000000278d1700 2796e140 00000000 0d000bf4 01038001
>>> xhci.0: @00000000278d1710 2796e150 00000000 0d0004fc 01038001
>>> xhci.0: @00000000278d1720 2796e160 00000000 01000000 01038001 //event for normal
>>> xhci.0: @00000000278d1730 2796e170 00000000 0d000bf4 01038001
>>> xhci.0: @00000000278d1740 2796e180 00000000 0d000bf4 01038001
>>
>> Are these the entire rings, or did you just show a part of them?
>
> Sure.
> I attach both event ring and ep ring at the end of mail.
> > Because all the TRBs have the cycle bit set, which shouldn't happen
> > AFAIK.
> Thanks for your kind help,

Thanks, I will look at the ring data and see if I see anything suspicious.

-- 
Paul

> event ring segment:
> platform-xhci.0: @00000000278d1400 2796e240 00000000 0d000bf4 01038000
> platform-xhci.0: @00000000278d1410 2796e250 00000000 0d000bf4 01038000
> platform-xhci.0: @00000000278d1420 2796e260 00000000 0d000bf4 01038000
> platform-xhci.0: @00000000278d1430 2796e270 00000000 0d000bf4 01038000
> platform-xhci.0: @00000000278d1440 2796e280 00000000 0d000bf4 01038000
> platform-xhci.0: @00000000278d1450 2796e290 00000000 0d000bf4 01038000
> platform-xhci.0: @00000000278d1460 2796e2a0 00000000 0d000bf4 01038000
> platform-xhci.0: @00000000278d1470 2796e2b0 00000000 0d000bf4 01038000
> platform-xhci.0: @00000000278d1480 2796e2c0 00000000 0d000bf4 01038000
> platform-xhci.0: @00000000278d1490 2796e2d0 00000000 0d000bf4 01038000
> platform-xhci.0: @00000000278d14a0 2796e2e0 00000000 0d000bf4 01038000
> platform-xhci.0: @00000000278d14b0 2796e2f0 00000000 0d000bf4 01038000
> platform-xhci.0: @00000000278d14c0 2796e300 00000000 0d000bf4 01038000
> platform-xhci.0: @00000000278d14d0 2796e310 00000000 0d000bf4 01038000
> platform-xhci.0: @00000000278d14e0 2796e320 00000000 0d000bf4 01038000
> platform-xhci.0: @00000000278d14f0 2796e330 00000000 0d000bf4 01038000
> platform-xhci.0: @00000000278d1500 2796e340 00000000 0d000bf4 01038000
> platform-xhci.0: @00000000278d1510 2796e350 00000000 0d000bf4 01038000
> platform-xhci.0: @00000000278d1520 2796e360 00000000 0d0004fc 01038000
> platform-xhci.0: @00000000278d1530 2796e370 00000000 01000000 01038000
> platform-xhci.0: @00000000278d1540 2796e380 00000000 0d000bf4 01038000
> platform-xhci.0: @00000000278d1550 2796e390 00000000 0d000bf4 01038000
> platform-xhci.0: @00000000278d1560 2796e3a0 00000000 0d000bf4 01038000
> platform-xhci.0: @00000000278d1570 2796e3b0 00000000 0d000bf4 01038000
> platform-xhci.0: @00000000278d1580 2796e3c0 00000000 0d000bf4 01038000
> platform-xhci.0: @00000000278d1590 2796e3d0 00000000 0d000bf4 01038000
> platform-xhci.0: @00000000278d15a0 2796e3e0 00000000 0d000bf4 01038000
> platform-xhci.0: @00000000278d15b0 00000000 00000000 15000000 00009400
> platform-xhci.0: @00000000278d15c0 2796e000 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d15d0 2796e010 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d15e0 2796e020 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d15f0 2796e030 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d1600 2796e040 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d1610 2796e050 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d1620 2796e060 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d1630 2796e070 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d1640 2796e080 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d1650 2796e090 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d1660 2796e0a0 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d1670 2796e0b0 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d1680 2796e0c0 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d1690 2796e0d0 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d16a0 2796e0e0 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d16b0 2796e0f0 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d16c0 2796e100 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d16d0 2796e110 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d16e0 2796e120 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d16f0 2796e130 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d1700 2796e140 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d1710 2796e150 00000000 0d0004fc 01038001
> platform-xhci.0: @00000000278d1720 2796e160 00000000 01000000 01038001
> platform-xhci.0: @00000000278d1730 2796e170 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d1740 2796e180 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d1750 2796e190 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d1760 2796e1a0 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d1770 2796e1b0 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d1780 2796e1c0 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d1790 2796e1d0 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d17a0 2796e1e0 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d17b0 2796e1f0 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d17c0 2796e200 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d17d0 2796e210 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d17e0 2796e220 00000000 0d000bf4 01038001
> platform-xhci.0: @00000000278d17f0 2796e230 00000000 0d000bf4 01038001
> platform
> platform-xhci.0: @000000002796e000 279c0000 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e010 279c0bf4 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e020 279c17e8 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e030 279c23dc 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e040 279c2fd0 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e050 279c3bc4 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e060 279c47b8 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e070 279c53ac 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e080 279c5fa0 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e090 279c6b94 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e0a0 279c7788 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e0b0 279c837c 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e0c0 279c8f70 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e0d0 279c9b64 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e0e0 279ca758 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e0f0 279cb34c 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e100 279cbf40 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e110 279ccb34 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e120 279cd728 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e130 279ce31c 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e140 279cef10 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e150 279cfb04 00000000 000404fc 80021415  //xxxxxx
> platform-xhci.0: @000000002796e160 279d0000 00000000 000006f8 00000625  //Normal
> platform-xhci.0: @000000002796e170 279d06f8 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e180 279d12ec 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e190 279d1ee0 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e1a0 279d2ad4 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e1b0 279d36c8 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e1c0 279d42bc 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e1d0 279d4eb0 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e1e0 279d5aa4 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e1f0 279d6698 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e200 279d728c 00000000 00000bf4 80021425
> platform-xhci.0: @000000002796e210 279e0000 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e220 279e0bf4 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e230 279e17e8 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e240 279e23dc 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e250 279e2fd0 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e260 279e3bc4 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e270 279e47b8 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e280 279e53ac 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e290 279e5fa0 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e2a0 279e6b94 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e2b0 279e7788 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e2c0 279e837c 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e2d0 279e8f70 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e2e0 279e9b64 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e2f0 279ea758 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e300 279eb34c 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e310 279ebf40 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e320 279ecb34 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e330 279ed728 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e340 279ee31c 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e350 279eef10 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e360 279efb04 00000000 000404fc 80021415
> platform-xhci.0: @000000002796e370 279f0000 00000000 000006f8 00000625
> platform-xhci.0: @000000002796e380 279f06f8 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e390 279f12ec 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e3a0 279f1ee0 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e3b0 279f2ad4 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e3c0 279f36c8 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e3d0 279f42bc 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e3e0 279f4eb0 00000000 00000bf4 80021625
> platform-xhci.0: @000000002796e3f0 2796e400 00000000 00000000 00001801
> [
��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥





[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux