linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Rafał Miłecki" <zajec5@gmail.com>
To: Hauke Mehrtens <hauke@hauke-m.de>
Cc: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Rob Herring" <robh+dt@kernel.org>,
	"Mark Rutland" <mark.rutland@arm.com>,
	"Mathias Nyman" <mathias.nyman@intel.com>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
	"Rafał Miłecki" <rafal@milecki.pl>,
	"Florian Fainelli" <florian@openwrt.org>
Subject: Re: [PATCH V2] usb: xhci: add support for performing fake doorbell
Date: Mon, 17 Oct 2016 23:21:14 +0200	[thread overview]
Message-ID: <CACna6rwpZGr-y7YrVrYio5=3Ntpkso9VdCPGvX1AhwL0qyYtrA@mail.gmail.com> (raw)
In-Reply-To: <d41d60cc-9710-deb8-f4a5-784894b8e3d5@hauke-m.de>

On 17 October 2016 at 23:10, Hauke Mehrtens <hauke@hauke-m.de> wrote:
> On 10/17/2016 10:30 PM, Rafał Miłecki wrote:
>> From: Rafał Miłecki <rafal@milecki.pl>
>>
>> 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 <rafal@milecki.pl>
>> ---
>> V2: Enable quirk for brcm,bcm4708 machines instead of adding separated binding
>>     for it. Thanks Rob for your comment on this.
>> ---
>>  drivers/usb/host/xhci-plat.c |  6 +++++
>>  drivers/usb/host/xhci.c      | 63 +++++++++++++++++++++++++++++++++++++++++---
>>  drivers/usb/host/xhci.h      |  1 +
>>  3 files changed, 67 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
>> index ed56bf9..b01a3be 100644
>> --- a/drivers/usb/host/xhci-plat.c
>> +++ b/drivers/usb/host/xhci-plat.c
>> @@ -56,12 +56,18 @@ static int xhci_priv_init_quirk(struct usb_hcd *hcd)
>>
>>  static void xhci_plat_quirks(struct device *dev, struct xhci_hcd *xhci)
>>  {
>> +     struct platform_device  *pdev = to_platform_device(dev);
>> +     struct device_node      *node = pdev->dev.of_node;
>> +
>>       /*
>>        * As of now platform drivers don't provide MSI support so we ensure
>>        * here that the generic code does not try to make a pci_dev from our
>>        * dev struct in order to setup MSI
>>        */
>>       xhci->quirks |= XHCI_PLAT;
>> +
>> +     if (node && of_machine_is_compatible("brcm,bcm4708"))
>> +             xhci->quirks |= XHCI_FAKE_DOORBELL;
>
> Are you sure only the bcm4708 and similar SoCs are affected? Having here
> a list with 3 or more checks would looks strange. I prefer your first patch.
>
> @Florian do you know if other Broadcom SoC are affected by this problem
> or are only Northstar SoCs affected?

I also believed usb3-fake-doorbell property looks nicer, but then just
followed Rob's suggestion.

I don't know about Northstar Plus or Northstar 2, I just know it's not
needed for BCM53573.

-- 
Rafał

  reply	other threads:[~2016-10-17 21:24 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-01 21:58 [PATCH] usb: xhci: add support for performing fake doorbell Rafał Miłecki
2016-10-09  1:28 ` Rob Herring
2016-10-17 20:30 ` [PATCH V2] " Rafał Miłecki
2016-10-17 21:10   ` Hauke Mehrtens
2016-10-17 21:21     ` Rafał Miłecki [this message]
2016-11-21  7:57   ` Rafał Miłecki
2016-11-21 15:31     ` Mathias Nyman
2017-01-16  7:32       ` Rafał Miłecki
2017-02-08 22:39         ` Jon Mason

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CACna6rwpZGr-y7YrVrYio5=3Ntpkso9VdCPGvX1AhwL0qyYtrA@mail.gmail.com' \
    --to=zajec5@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=florian@openwrt.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hauke@hauke-m.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mathias.nyman@intel.com \
    --cc=rafal@milecki.pl \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).