From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751958AbdBHWkU (ORCPT ); Wed, 8 Feb 2017 17:40:20 -0500 Received: from mail-it0-f51.google.com ([209.85.214.51]:38193 "EHLO mail-it0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751153AbdBHWkQ (ORCPT ); Wed, 8 Feb 2017 17:40:16 -0500 MIME-Version: 1.0 In-Reply-To: References: <20161001215817.25384-1-zajec5@gmail.com> <20161017203036.23399-1-zajec5@gmail.com> <58331360.5000508@linux.intel.com> From: Jon Mason Date: Wed, 8 Feb 2017 17:39:52 -0500 Message-ID: Subject: Re: [PATCH V2] usb: xhci: add support for performing fake doorbell To: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= Cc: Mathias Nyman , Florian Fainelli , BCM Kernel Feedback , Mathias Nyman , Greg Kroah-Hartman , Hauke Mehrtens , Rob Herring , Mark Rutland , "linux-usb@vger.kernel.org" , "devicetree@vger.kernel.org" , Linux Kernel Mailing List , =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.home.local id v18Mfau9020684 On Mon, Jan 16, 2017 at 2:32 AM, Rafał Miłecki wrote: > On 21 November 2016 at 16:31, Mathias Nyman > wrote: >> On 21.11.2016 09:57, Rafał Miłecki wrote: >>> >>> Hi Mathias, >>> >>> On 17 October 2016 at 22:30, Rafał Miłecki wrote: >>>> >>>> From: Rafał Miłecki >>>> >>>> Broadcom's Northstar XHCI controllers seem to need a special start >>>> procedure to work correctly. There isn't any official documentation of >>>> this, the problem is that controller doesn't detect any connected >>>> devices with default setup. Moreover connecting USB device to controller >>>> that doesn't run properly can cause SoC's watchdog issues. >>>> >>>> A workaround that was successfully tested on multiple devices is to >>>> perform a fake doorbell. This patch adds code for doing this and enables >>>> it on BCM4708 family. >>>> >>>> Signed-off-by: Rafał Miłecki >>>> --- >>>> V2: Enable quirk for brcm,bcm4708 machines instead of adding separated >>>> binding >>>> for it. Thanks Rob for your comment on this. >>> >>> >>> Do you think you can pick & push this one? V2 follows Rob's suggestion >>> and he has some DT knowledge for sure, so I guess it should be OK. >>> -- >> >> >> Is there some more background information on this? >> >> I don't have any contacts to Broadcom myself, adding the BMC Kernel Feedback >> list to CC. >> Maybe someone over there has an errata, documentation or just general >> feedback. >> >> How was this workaround even figured out? ringing the doorbell for the first >> device doesn't seem like something found by trial and error, especially >> when >> xhci specs state that: >> >> "Software shall not write the Doorbell of an endpoint until after it has >> issued a >> Configure Endpoint Command for the endpoint and received a successful >> Command >> Completion Event." >> >> The whole workaround is a bit intrusive, allocating a fake device, ring a >> doorbell for a >> fake device in the wrong state, clearing off HSE (host system error) which >> should only be set >> when things really go bad, some random usleeps, and possible calling >> xhci_start() twice. >> >> I can't take this as is without some more info. > > Hi (ping) Broadcom guys, could you help us with this USB workaround, please? Investigating internally. I'll let you know if I can find anything. Thanks, Jon > > -- > Rafał From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jon Mason Subject: Re: [PATCH V2] usb: xhci: add support for performing fake doorbell Date: Wed, 8 Feb 2017 17:39:52 -0500 Message-ID: References: <20161001215817.25384-1-zajec5@gmail.com> <20161017203036.23399-1-zajec5@gmail.com> <58331360.5000508@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: Sender: devicetree-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= Cc: Mathias Nyman , Florian Fainelli , BCM Kernel Feedback , Mathias Nyman , Greg Kroah-Hartman , Hauke Mehrtens , Rob Herring , Mark Rutland , "linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , Linux Kernel Mailing List , =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= List-Id: devicetree@vger.kernel.org On Mon, Jan 16, 2017 at 2:32 AM, Rafa=C5=82 Mi=C5=82ecki = wrote: > On 21 November 2016 at 16:31, Mathias Nyman > wrote: >> On 21.11.2016 09:57, Rafa=C5=82 Mi=C5=82ecki wrote: >>> >>> Hi Mathias, >>> >>> On 17 October 2016 at 22:30, Rafa=C5=82 Mi=C5=82ecki = wrote: >>>> >>>> From: Rafa=C5=82 Mi=C5=82ecki >>>> >>>> Broadcom's Northstar XHCI controllers seem to need a special start >>>> procedure to work correctly. There isn't any official documentation of >>>> this, the problem is that controller doesn't detect any connected >>>> devices with default setup. Moreover connecting USB device to controll= er >>>> that doesn't run properly can cause SoC's watchdog issues. >>>> >>>> A workaround that was successfully tested on multiple devices is to >>>> perform a fake doorbell. This patch adds code for doing this and enabl= es >>>> it on BCM4708 family. >>>> >>>> Signed-off-by: Rafa=C5=82 Mi=C5=82ecki >>>> --- >>>> V2: Enable quirk for brcm,bcm4708 machines instead of adding separated >>>> binding >>>> for it. Thanks Rob for your comment on this. >>> >>> >>> Do you think you can pick & push this one? V2 follows Rob's suggestion >>> and he has some DT knowledge for sure, so I guess it should be OK. >>> -- >> >> >> Is there some more background information on this? >> >> I don't have any contacts to Broadcom myself, adding the BMC Kernel Feed= back >> list to CC. >> Maybe someone over there has an errata, documentation or just general >> feedback. >> >> How was this workaround even figured out? ringing the doorbell for the f= irst >> device doesn't seem like something found by trial and error, especially >> when >> xhci specs state that: >> >> "Software shall not write the Doorbell of an endpoint until after it has >> issued a >> Configure Endpoint Command for the endpoint and received a successful >> Command >> Completion Event." >> >> The whole workaround is a bit intrusive, allocating a fake device, ring = a >> doorbell for a >> fake device in the wrong state, clearing off HSE (host system error) whi= ch >> should only be set >> when things really go bad, some random usleeps, and possible calling >> xhci_start() twice. >> >> I can't take this as is without some more info. > > Hi (ping) Broadcom guys, could you help us with this USB workaround, plea= se? Investigating internally. I'll let you know if I can find anything. Thanks, Jon > > -- > Rafa=C5=82 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html