From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
To: "Chen, Alvin" <alvin.chen@intel.com>,
Alan Stern <stern@rowland.harvard.edu>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
Boon Leong Ong <boon.leong.ong@intel.com>
Subject: Re: [PATCH] USB: ehci-pci: USB host controller support for Intel Quark X1000
Date: Tue, 24 Jun 2014 16:38:18 +0400 [thread overview]
Message-ID: <53A9713A.3020202@cogentembedded.com> (raw)
In-Reply-To: <1403625103-28078-2-git-send-email-alvin.chen@intel.com>
Hello.
On 06/24/2014 07:51 PM, Chen, Alvin wrote:
> From: Bryan O'Donoghue <bryan.odonoghue@intel.com>
> This patch is to enable USB host controller for Intel Quark X1000. Add pci quirks
> to adjust the packet buffer in/out threshold value, and ensure EHCI packet buffer
> i/o threshold value is reconfigured to half.
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@intel.com>
> Signed-off-by: Alvin (Weike) Chen <alvin.chen@intel.com>
> ---
> drivers/usb/host/ehci-pci.c | 4 ++++
> drivers/usb/host/pci-quirks.c | 42 +++++++++++++++++++++++++++++++++++++++++
> drivers/usb/host/pci-quirks.h | 2 ++
> 3 files changed, 48 insertions(+)
> diff --git a/drivers/usb/host/ehci-pci.c b/drivers/usb/host/ehci-pci.c
> index 3e86bf4..33cfa23 100644
> --- a/drivers/usb/host/ehci-pci.c
> +++ b/drivers/usb/host/ehci-pci.c
> @@ -50,6 +50,10 @@ static int ehci_pci_reinit(struct ehci_hcd *ehci, struct pci_dev *pdev)
> if (!retval)
> ehci_dbg(ehci, "MWI active\n");
>
> + /* Reset the threshold limit */
> + if(unlikely(usb_is_intel_qrk(pdev)))
Please run your patch thru scripts/checkpatch.pl -- space needed after *if*.
> + usb_set_qrk_bulk_thresh(pdev);
> +
> return 0;
> }
>
> diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
> index 00661d3..1ea8803 100644
> --- a/drivers/usb/host/pci-quirks.c
> +++ b/drivers/usb/host/pci-quirks.c
> @@ -823,6 +823,48 @@ static int handshake(void __iomem *ptr, u32 mask, u32 done,
> return -ETIMEDOUT;
> }
>
> +#define PCI_DEVICE_ID_INTEL_QUARK_X1000_SOC 0x0939
> +bool usb_is_intel_qrk(struct pci_dev *pdev)
> +{
> + return pdev->vendor == PCI_VENDOR_ID_INTEL &&
> + pdev->device == PCI_DEVICE_ID_INTEL_QUARK_X1000_SOC;
> +
> +}
> +EXPORT_SYMBOL_GPL(usb_is_intel_qrk);
Why not use DECLARE_PCI_FIXUP_FINAL() instead?
> +
> +#define EHCI_INSNREG01 0x84
> +#define EHCI_INSNREG01_THRESH 0x007F007F /* Threshold value */
> +void usb_set_qrk_bulk_thresh(struct pci_dev *pdev)
> +{
> + void __iomem *base, *op_reg_base;
> + u8 cap_length;
> + u32 val;
> +
> + if (!mmio_resource_enabled(pdev, 0))
> + return;
> +
> + base = pci_ioremap_bar(pdev, 0);
> + if (base == NULL)
> + return;
> +
> + cap_length = readb(base);
> + op_reg_base = base + cap_length;
> +
> + val = readl(op_reg_base + EHCI_INSNREG01);
> + dev_printk(KERN_INFO, &pdev->dev, "INSNREG01 is 0x%08x\n", val);
> +
> + val = EHCI_INSNREG01_THRESH;
> +
> + writel(val, op_reg_base + EHCI_INSNREG01);
> +
> + val = readl(op_reg_base + EHCI_INSNREG01);
> + dev_printk(KERN_INFO, &pdev->dev, "INSNREG01 is 0x%08x\n", val);
I doubt these dev_printk() calls are really useful. But if the are, it's
worth merging them into one call.
WBR, Sergei
next prev parent reply other threads:[~2014-06-24 12:38 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-24 15:51 [PATCH] USB: ehci-pci: Add support for Intel Quark X1000 USB host controller Chen, Alvin
2014-06-24 15:51 ` [PATCH] USB: ehci-pci: USB host controller support for Intel Quark X1000 Chen, Alvin
2014-06-24 12:38 ` Sergei Shtylyov [this message]
2014-06-25 9:22 ` Chen, Alvin
2014-06-24 13:24 ` Greg Kroah-Hartman
2014-06-25 9:24 ` Chen, Alvin
2014-06-24 13:25 ` Greg Kroah-Hartman
2014-06-25 9:26 ` Chen, Alvin
2014-06-25 9:37 ` David Laight
2014-06-26 1:17 ` Chen, Alvin
2014-06-24 14:05 ` Alan Stern
2014-06-26 5:24 ` Chen, Alvin
2014-06-25 1:10 ` Jingoo Han
2014-06-26 1:16 ` Chen, Alvin
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=53A9713A.3020202@cogentembedded.com \
--to=sergei.shtylyov@cogentembedded.com \
--cc=alvin.chen@intel.com \
--cc=boon.leong.ong@intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=stern@rowland.harvard.edu \
/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.