[Cbe-oss-dev] [PATCH 5/5] usb: PS3 EHCI HC reset work-around

Alan Stern stern at rowland.harvard.edu
Wed Nov 16 04:12:32 EST 2011


On Tue, 15 Nov 2011, Geoff Levand wrote:

> PS3 EHCI HC errata fix 316 - The PS3 EHCI HC will reset its
> internal INSNREGXX setup regs back to the chip default values
> on Host Controller Reset (CMD_RESET) or Light Host Controller
> Reset (CMD_LRESET).  The work-around for this is for the HC
> driver to re-initialise these regs when ever the HC is reset.

The HC gets reset during initialization, and you can reload the 
registers then.  It also gets reset when the driver unbinds or the HC 
dies; it doesn't matter what happens to the registers at those times.

The only other place where ehci_reset() gets called is at the start of
ehci_run() -- not where your 4/5 patch added a hook.  As far as I can
tell, that call isn't necessary at all.  We just have to audit the
various platform drivers to make sure they all call ehci_reset() at
some appropriate point during their probe routine.

Therefore the 4/5 patch should merely remove the ehci_reset() call near
the start of ehci_run(), and this patch should merge the
ps3_ehci_post_reset code at the end of ps3_ehci_hc_reset() instead of
installing a hook.

Alan Stern



More information about the cbe-oss-dev mailing list