All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hauke Mehrtens <hauke@hauke-m.de>
To: "Rafał Miłecki" <zajec5@gmail.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>
Cc: "Rob Herring" <robh+dt@kernel.org>,
	"Mark Rutland" <mark.rutland@arm.com>,
	"Mathias Nyman" <mathias.nyman@intel.com>,
	linux-usb@vger.kernel.org, devicetree@vger.kernel.org,
	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:10:27 +0200	[thread overview]
Message-ID: <d41d60cc-9710-deb8-f4a5-784894b8e3d5@hauke-m.de> (raw)
In-Reply-To: <20161017203036.23399-1-zajec5@gmail.com>

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?

Hauke

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

Thread overview: 15+ 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-01 21:58 ` Rafał Miłecki
2016-10-08 22:32 ` Rob Herring
2016-10-09  1:28 ` Rob Herring
2016-10-09  1:28   ` Rob Herring
2016-10-17 20:30 ` [PATCH V2] " Rafał Miłecki
2016-10-17 20:30   ` Rafał Miłecki
2016-10-17 21:10   ` Hauke Mehrtens [this message]
2016-10-17 21:21     ` Rafał Miłecki
2016-10-17 21:21       ` Rafał Miłecki
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
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=d41d60cc-9710-deb8-f4a5-784894b8e3d5@hauke-m.de \
    --to=hauke@hauke-m.de \
    --cc=devicetree@vger.kernel.org \
    --cc=florian@openwrt.org \
    --cc=gregkh@linuxfoundation.org \
    --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 \
    --cc=zajec5@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.