[{"id":1773262,"web_url":"http://patchwork.ozlabs.org/comment/1773262/","msgid":"<d7b474be-b69b-e960-a515-2f3292ab4c75@denx.de>","list_archive_url":null,"date":"2017-09-22T05:00:00","subject":"Re: [U-Boot] [PATCH 05/14] usb: xhci: Add interrupt transfer support","submitter":{"id":13,"url":"http://patchwork.ozlabs.org/api/people/13/","name":"Stefan Roese","email":"sr@denx.de"},"content":"On 18.09.2017 15:40, Bin Meng wrote:\n> xHCI uses normal TRBs for both bulk and interrupt. This adds the\n> missing interrupt transfer support to xHCI so that devices like\n> USB keyboard that uses interrupt transfer can work.\n> \n> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>\n> ---\n> \n>   drivers/usb/host/xhci.c | 13 ++++++++++---\n>   1 file changed, 10 insertions(+), 3 deletions(-)\n> \n> diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c\n> index 04eb1eb..4b3d58d 100644\n> --- a/drivers/usb/host/xhci.c\n> +++ b/drivers/usb/host/xhci.c\n> @@ -890,11 +890,18 @@ unknown:\n>   static int _xhci_submit_int_msg(struct usb_device *udev, unsigned long pipe,\n>   \t\t\t\tvoid *buffer, int length, int interval)\n>   {\n> +\tif (usb_pipetype(pipe) != PIPE_INTERRUPT) {\n> +\t\tprintf(\"non-interrupt pipe (type=%lu)\", usb_pipetype(pipe));\n> +\t\treturn -EINVAL;\n> +\t}\n> +\n>   \t/*\n> -\t * TODO: Not addressing any interrupt type transfer requests\n> -\t * Add support for it later.\n> +\t * xHCI uses normal TRBs for both bulk and interrupt. When the\n> +\t * interrupt endpoint is to be serviced, the xHC will consume\n> +\t * (at most) one TD. A TD (comprised of sg list entries) can\n> +\t * take several service intervals to transmit.\n>   \t */\n> -\treturn -EINVAL;\n> +\treturn xhci_bulk_tx(udev, pipe, length, buffer);\n>   }\n>   \n>   /**\n> \n\nReviewed-by: Stefan Roese <sr@denx.de>\nTested-by: Stefan Roese <sr@denx.de>\n\nThanks,\nStefan","headers":{"Return-Path":"<u-boot-bounces@lists.denx.de>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.denx.de\n\t(client-ip=81.169.180.215; helo=lists.denx.de;\n\tenvelope-from=u-boot-bounces@lists.denx.de;\n\treceiver=<UNKNOWN>)","Received":["from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 3xz1WY3fNDz9sPm\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 22 Sep 2017 15:00:24 +1000 (AEST)","by lists.denx.de (Postfix, from userid 105)\n\tid A971AC21E13; Fri, 22 Sep 2017 05:00:18 +0000 (UTC)","from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 0D2A0C21D09;\n\tFri, 22 Sep 2017 05:00:16 +0000 (UTC)","by lists.denx.de (Postfix, from userid 105)\n\tid B0F50C21D09; Fri, 22 Sep 2017 05:00:14 +0000 (UTC)","from mx1.mailbox.org (mx1.mailbox.org [80.241.60.212])\n\tby lists.denx.de (Postfix) with ESMTPS id 64C13C21C29\n\tfor <u-boot@lists.denx.de>; Fri, 22 Sep 2017 05:00:14 +0000 (UTC)","from smtp1.mailbox.org (smtp1.mailbox.org [80.241.60.240])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby mx1.mailbox.org (Postfix) with ESMTPS id 4A84A458F5;\n\tFri, 22 Sep 2017 07:00:14 +0200 (CEST)","from smtp1.mailbox.org ([80.241.60.240])\n\tby spamfilter03.heinlein-hosting.de (spamfilter03.heinlein-hosting.de\n\t[80.241.56.117]) (amavisd-new, port 10030)\n\twith ESMTP id wtGYgUV1INfh; Fri, 22 Sep 2017 07:00:01 +0200 (CEST)"],"X-Spam-Checker-Version":"SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de","X-Spam-Level":"","X-Spam-Status":"No, score=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW\n\tautolearn=unavailable autolearn_force=no version=3.4.0","X-Virus-Scanned":"amavisd-new at heinlein-support.de","To":"Bin Meng <bmeng.cn@gmail.com>, Marek Vasut <marex@denx.de>,\n\tU-Boot Mailing List <u-boot@lists.denx.de>","References":"<1505742050-5697-1-git-send-email-bmeng.cn@gmail.com>\n\t<1505742050-5697-6-git-send-email-bmeng.cn@gmail.com>","From":"Stefan Roese <sr@denx.de>","Message-ID":"<d7b474be-b69b-e960-a515-2f3292ab4c75@denx.de>","Date":"Fri, 22 Sep 2017 07:00:00 +0200","MIME-Version":"1.0","In-Reply-To":"<1505742050-5697-6-git-send-email-bmeng.cn@gmail.com>","Content-Language":"en-US","Subject":"Re: [U-Boot] [PATCH 05/14] usb: xhci: Add interrupt transfer support","X-BeenThere":"u-boot@lists.denx.de","X-Mailman-Version":"2.1.18","Precedence":"list","List-Id":"U-Boot discussion <u-boot.lists.denx.de>","List-Unsubscribe":"<https://lists.denx.de/options/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>","List-Archive":"<http://lists.denx.de/pipermail/u-boot/>","List-Post":"<mailto:u-boot@lists.denx.de>","List-Help":"<mailto:u-boot-request@lists.denx.de?subject=help>","List-Subscribe":"<https://lists.denx.de/listinfo/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=subscribe>","Content-Transfer-Encoding":"base64","Content-Type":"text/plain; charset=\"utf-8\"; Format=\"flowed\"","Errors-To":"u-boot-bounces@lists.denx.de","Sender":"\"U-Boot\" <u-boot-bounces@lists.denx.de>"}}]