Re: xhci isoc : Not enough bandwidth for altsetting 6

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

 



Whoops forgot to attach the patch ..

Tuesday, November 2, 2010, 3:25:51 PM, you wrote:

> On Tue, Nov 02, 2010 at 03:11:36PM +0800, Xu, Andiry wrote:
>> > -----Original Message-----
>> > From: Sarah Sharp [mailto:sarah.a.sharp@xxxxxxxxxxxxxxx]
>> > Sent: Tuesday, November 02, 2010 1:51 AM
>> > To: Sander Eikelenboom
>> > Cc: Xu, Andiry; linux-usb@xxxxxxxxxxxxxxx
>> > Subject: Re: xhci isoc : Not enough bandwidth for altsetting 6
>> > 
>> > This is the endpoint context that I think the host controller is
>> > complaining about:
>> > 
>> > > [   35.280806] xhci_hcd 0000:02:00.0: Endpoint 02 Context:
>> > > [   35.280808] xhci_hcd 0000:02:00.0: @ffff88007c3f9080 (virt)
>> @7c3f9080
>> > (dma) 0x000000 - ep_info
>> > > [   35.280811] xhci_hcd 0000:02:00.0: @ffff88007c3f9084 (virt)
>> @7c3f9084
>> > (dma) 0x00022a - ep_info2
>> > 
>> > The line above very odd.  It means:
>> >     - bus error is 1 (which only happens if we find an isoc endpoint
>> >       with usb_endpoint_xfer_isoc())
>> 
>> The CErr field for isoc endpoints should be set to 0. Refer to xHCI 1.0
>> spec Table 57:
>> 
>> Note: CErr does not apply to Isoch endpoints and shall be set to '0' if
>> EP Type = Isoch Out ('1') or Isoch In ('5'). 

> There's a note in the xHCI spec 0.96:

> "Note: Software shall not program CErr to a value of â0â when the Slot
> Context Speed field indicates a Full- or Low-speed device. This
> combination could result in undefined behavior."

> Full speed devices can have isochronous endpoints.

> That also conflicts with section 4.8.2.4 that talks about how to set up
> interrupt and isochronous endpoints:

> "CErr = 3. Enables 3 retries."


> You're right that the 1.0 spec says differently in 4.3.6:

> "CErr = 3, or 0 for an Isoch endpoint."

> And Table 6 still has the note about FS/LS devices, but it's followed by
> a section about how CErr doesn't apply to isochronous endpoints.

> However, section 4.8.2.4 still says of interrupt and isochronous
> endpoint initialization:

> "CErr = 3. Enables 3 retries."


> I'm going to send an email to the xHCI architect and ask him to clarify.
> But I suspect that you're right that CErr should be 0 for isochronous
> endpoints.

> Sarah Sharp



-- 
Best regards,
 Sander                            mailto:linux@xxxxxxxxxxxxxx

Attachment: bandwidth-debug.patch
Description: Binary data


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

  Powered by Linux