Re: Companion controller issues?

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

 



On Tue, 17 Mar 2009, David Brownell wrote:

> On Tuesday 17 March 2009, Sarah Sharp wrote:
> > Why are companion controllers
> > difficult to deal with from a software perspective?
> 
> They add a funky state to EHCI root hubs, which isn't
> part of the standard model:  "owned by companion".

And then additional complication is added when the OS wants to "force" 
a port to be handed over to the companion.

> They create init sequencing problems, when e.g. the
> companion HCD grabs a port before EHCI starts and
> the device gets extra resets.  Not all devices like
> those odd-but-valid init sequences.
> 
> There are strange and undocumented transition states
> that require some handshaking on reset signaling;
> I forget the details, look at the GIT history on
> the patches adding that handshaking for the oddball
> bugs it fixes.

There are similar problems relating to resume-from-hibernation.  While
the system is off, the hardware loses track of which controller owns a
full-speed/low-speed device's port.  Upon resume, the HCD needs to
transfer ownership of the port from EHCI back to the companion at
exactly the right time (after the companion has been reinitialized but
before it has started checking port statuses).

> They take extra system (silicion, software, irqs, RAM)
> resources.  UHCI for example only handles two ports
> per controller, so a modern PC with ten ports needs
> five such controllers ... that's not so bad with OHCI,
> which can support as many ports as EHCI can, but it's
> still needless complexity.

This could have been handled better by the manufacturers.  Although
I've never seen a UHCI controller that could handle more than two
ports, the specification allows up to 7 at least.  Maybe this is the
result of inertia on the part of the designers or limitations in the
Windows driver.

Alan Stern

--
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