Re: USB Host Controller no PCD interrupt and CCS and CSC update on the device disconnect

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

 



On Fri, 22 May 2015, Rong Wang wrote:

> Hi,
> 
> We have one USB 2.0 Controller on an ARM SoC, with internal PHY
> confirming to UTMI.
> The PHY would detect unexpected disconnect (amplitude of the
> differential envelop still < 625 mV)
> and assert the HostDisconnect signal to the Controller to indicate a
> disconnection event.
> When the HostDisconnect signal is asserted, the Controller will first
> do some internal clean work
> before it update CCS and CSC in PORTSCx and reports a Port Change
> Detect interrupt.
> We want to improve the situation

Why do you want to improve the situation?  What's wrong with the way it
is now?  Detecting a disconnect while the differential amplitude is <
625 mv is perfectly legal.  The USB-2.0 spec requires: "Signals with
differential amplitudes <= 525 mV must never activate the Disconnection
Envelope Detector" (section 7.1.7.3).

>  by masking the HostDisconnect signal
> from PHY (take the
> cost into consideration), but it will cause no CCS and CSC update in
> PORTSCx, and no PCD interrupt. Thus the true disconnection only can be
> determined by an XactErr. Once the driver
> determine that it's a true disconnect, the HostDisconnect signal can
> be unmasked and the
> Controller will detect this disconnect.
> We are worried about the workaroud, since there may be many corner
> cases we have not taken into consideration, such as the race condition
> on connect and disconnect.

It sounds like you are going to make the situation worse, not improve 
it.

> So have you encountered this situation before? Or is there any
> suggestion on this workaround?

I don't see any reason to make any changes.

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