From nobody Tue May 10 08:06:33 2022 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 9A6F61AD9883; Tue, 10 May 2022 08:06:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ky9bs2QXPz4S3T; Tue, 10 May 2022 08:06:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1652169993; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+7fVOBmEGqdH2jphI6fjbWnvVVhl2NLmCQkr6WHUgT8=; b=K/1QBTNhKXssDM1sz5qCyISkQvaRrewwAU8ds2YBuR1YgIFnSz3OoGHX673EAuf5Uded/p Egwc/lNCob7SkGIc8KE0NwbK4R/u4c6DLywxb8usz9fY4pboJT/LvQW1CWAWqvdtKGnZIl sZ7pQHmGfTybd38yqx+Hzm65XkWYJWMSYpER8wPJGHVoXeisQ6wyAKl5Y4umvu60ndH59y O/mlwGndDmudbUSe2yJLGgA+IKdSFwKWk9eo+wLbH82mkMa9/Z6Aw+p2sDHAsYiro0qZb2 zIIpYmA5NeLc33OqVaIJMTjMyIn8JixDoQv3M29zSeG6Wxee9cw/B3ui8fbedQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2856D21B8C; Tue, 10 May 2022 08:06:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 24A86X7Q029389; Tue, 10 May 2022 08:06:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 24A86XvH029388; Tue, 10 May 2022 08:06:33 GMT (envelope-from git) Date: Tue, 10 May 2022 08:06:33 GMT Message-Id: <202205100806.24A86XvH029388@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Hans Petter Selasky Subject: git: a11ac66f1c0e - stable/13 - xhci(4): Properly define all basic USB port speeds. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: hselasky X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a11ac66f1c0ec4c31f30dd9030c664449ab65b49 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1652169993; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+7fVOBmEGqdH2jphI6fjbWnvVVhl2NLmCQkr6WHUgT8=; b=j5SNiikuADp3u42oo66grCsk+xg92Pqng0Qu085wphQjTpPzsWxfNQmNNfQlihHMZAgXKk mVUB7sVIDZvKuHhORHNGEnfh5xNru083FBC35T7wfEr9KjVIPF75ISabwLOBtASHyNJEPg WQ4XfMlAxcr8NtitCRwVaecYx0ChHs9gBLcBnq/SFJnWIIMWLVPfvlFvfY1F9/TcEqyb+v Au+tDJ7R0Tr5JjNatTN74a75CKIT0IO6NtxvhrsUL+innopMKYNBxeAC6mWlX6VDNEemC2 W7bQRKe5Km1zuAj02RLdibqy7M+2ZILv+B5Y1WlsibiBUlYrvbfVzL/N553k0w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1652169993; a=rsa-sha256; cv=none; b=Lgi0hVRL5OumhP9X/27holfcbEUfCtY+qwEbTySBxg2MnkvJ5CjRl7AfVIR1eUjK58b5ap HqafTSeneCnzjkCA+Yjo9a7QKdPYYINkHLEaTTwSOnu5TQ4fOqgDoT0BzvKwi+9V+62J/F YlY2Js/021Lk4GmXcSUWqzv3gIZiK6drbsusnpL1MWFf8hY/N3DbNLK8Cm/7mUpehwRSqU XcMh3N+47MtrfdJStOVxNOZmj1GFzPXyzyd58ofFDhmScwSfwWISpC/vkK9E9ZgM9GhAyd N/4iyYC++M/dGKMqg9NYLVjp3klSB2aPsN+MtQHBech+z0UPVbN+JgqaFZieBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by hselasky: URL: https://cgit.FreeBSD.org/src/commit/?id=a11ac66f1c0ec4c31f30dd9030c664449ab65b49 commit a11ac66f1c0ec4c31f30dd9030c664449ab65b49 Author: Hans Petter Selasky AuthorDate: 2022-05-03 20:19:35 +0000 Commit: Hans Petter Selasky CommitDate: 2022-05-10 08:05:29 +0000 xhci(4): Properly define all basic USB port speeds. Sponsored by: NVIDIA Networking (cherry picked from commit d730333c80fe8bc60770d093cbf12f473a065ca4) --- sys/dev/usb/controller/xhci.c | 8 ++++---- sys/dev/usb/controller/xhcireg.h | 4 ++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/sys/dev/usb/controller/xhci.c b/sys/dev/usb/controller/xhci.c index aa8ea280eb8b..cdc73aa13bc8 100644 --- a/sys/dev/usb/controller/xhci.c +++ b/sys/dev/usb/controller/xhci.c @@ -3530,13 +3530,13 @@ xhci_roothub_exec(struct usb_device *udev, i = UPS_PORT_LINK_STATE_SET(XHCI_PS_PLS_GET(v)); switch (XHCI_PS_SPEED_GET(v)) { - case 3: + case XHCI_PS_SPEED_HIGH: i |= UPS_HIGH_SPEED; break; - case 2: + case XHCI_PS_SPEED_LOW: i |= UPS_LOW_SPEED; break; - case 1: + case XHCI_PS_SPEED_FULL: /* FULL speed */ break; default: @@ -3637,7 +3637,7 @@ xhci_roothub_exec(struct usb_device *udev, case UHF_PORT_SUSPEND: DPRINTFN(6, "suspend port %u (LPM=%u)\n", index, i); j = XHCI_PS_SPEED_GET(v); - if ((j < 1) || (j > 3)) { + if (j == 0 || j >= XHCI_PS_SPEED_SS) { /* non-supported speed */ err = USB_ERR_IOERROR; goto done; diff --git a/sys/dev/usb/controller/xhcireg.h b/sys/dev/usb/controller/xhcireg.h index b49bc09a8e7a..38acffaca050 100644 --- a/sys/dev/usb/controller/xhcireg.h +++ b/sys/dev/usb/controller/xhcireg.h @@ -124,6 +124,10 @@ #define XHCI_PS_PLS_SET(x) (((x) & 0xF) << 5) /* RW - port link state */ #define XHCI_PS_PP 0x00000200 /* RW - port power */ #define XHCI_PS_SPEED_GET(x) (((x) >> 10) & 0xF) /* RO - port speed */ +#define XHCI_PS_SPEED_FULL 0x1 /* Full Speed USB */ +#define XHCI_PS_SPEED_LOW 0x2 /* Low Speed USB */ +#define XHCI_PS_SPEED_HIGH 0x3 /* High Speed USB */ +#define XHCI_PS_SPEED_SS 0x4 /* Super Speed USB */ #define XHCI_PS_PIC_GET(x) (((x) >> 14) & 0x3) /* RW - port indicator */ #define XHCI_PS_PIC_SET(x) (((x) & 0x3) << 14) /* RW - port indicator */ #define XHCI_PS_LWS 0x00010000 /* RW - port link state write strobe */