Re: xhci isoc : Not enough bandwidth for altsetting 6

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

 



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
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

  Powered by Linux