Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp863047imj; Thu, 7 Feb 2019 13:07:16 -0800 (PST) X-Google-Smtp-Source: AHgI3IZhhvOnzQkaqCiPfH2xwR4CaShxs0EWa7Rty7eAb4jkUS7jy51ITR54eXv0xSGf6IlG5cdB X-Received: by 2002:a63:f743:: with SMTP id f3mr991949pgk.244.1549573636798; Thu, 07 Feb 2019 13:07:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1549573636; cv=none; d=google.com; s=arc-20160816; b=JXmEvAYcsPG5UXl/XKoztc5sCAWaz3MJLQVg0tk7/unyt6WmFZeltZNhezSHTmJlAZ N8Gm0+EEc+dk+mmvV3kHz8T8HZzVdMYJqSrUWTWLC8VBIpIIhjkjrVjOxY5VJx5H4aJx tsumocZ8jnFgCzY3YibvZX7jr7R5PKKNpXvZceFw+Lu/tBMXcgMQTiI9H2/H7rQ4BeXe wk3KbHxsBRGkIQJelJYe0owtHLH5lpWZ819hTgPL1yjcuK+oymkC41G+tEPWnO64U5yF DJX2g+zxhb58tt7Q6J5LHrpTIsfhfHHd7wYTIjW5jfvB1eARC7Nb3b6xlqABsKzN90fK E40A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=cIVQxxyENsqR7Mxp2YAE9mA1VKC1sGADqMLriCfABxo=; b=xy+rA9QJMeFqxJRgFNRBx6nDNvRpckSIzrE2Bl5QNx9d2Txbm2daXfOZhdCfjT+T1K 88RGY4yRD0Rh5rDjr4KK6zxNxCRFbfjELEpOM/s7f/wtnX7m4kLpjoKplCCt5gDidsU3 cdFKYXBb4P5b/WdLbquAAf1hm6kh6+HHT3jQ64/VD5B7oHFl1OM+yF1paYVuNtBUyq3J RUpGIWZNtV+XyvhPO7HRBAffa3xkZSJsjx9UiNdeWJGTutXCb0CuLGYR5TLvZBi60Lv7 Le3oGwIsD+BvmPVCvDWVZKwKOiknTAnyX5n2WZptcTGAUOA5WNT6kxzV/rK7uQNSTjDX fU8g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=sPYMirz4; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 61si6094plc.364.2019.02.07.13.07.01; Thu, 07 Feb 2019 13:07:16 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=sPYMirz4; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727551AbfBGVGt (ORCPT + 99 others); Thu, 7 Feb 2019 16:06:49 -0500 Received: from mail-wr1-f65.google.com ([209.85.221.65]:41119 "EHLO mail-wr1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726832AbfBGVGt (ORCPT ); Thu, 7 Feb 2019 16:06:49 -0500 Received: by mail-wr1-f65.google.com with SMTP id x10so1363623wrs.8; Thu, 07 Feb 2019 13:06:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=cIVQxxyENsqR7Mxp2YAE9mA1VKC1sGADqMLriCfABxo=; b=sPYMirz4oJo/Fo+kx22uYiGRY3Ft2aTuoq5wRRKGwW1Feg8A1WwrDOGAI2A/w8hHgw Z4XU/8YbJXGXlDVh/3GXKNue0vUGhjRdEtdj2n7VXxb64r7LFXq5JE/uQKrp9O8IoMt9 n319u71sexnNPTcpHMydlKodXJ0fypSyPi0bwluaq+u73lNLhXSLTPFg/xJ6KatgjKLA bJoOWAA3wyynB0QKOrPpluPCJfTgBmG+qPnMw1DzOenstRmx2fGkZETqcFCcEeWCSBHr sVWVKlDk+9gR97jKdqNgY+xpGyDya8Xuspt8CcSbVN9kfby+LVOSrV2Juj+0kojcRT0/ JguA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=cIVQxxyENsqR7Mxp2YAE9mA1VKC1sGADqMLriCfABxo=; b=P2l6YiWkv9kAkwJQOUmb3QZmzjfjdw3pATe9mCa92/CPkjiH9DupMRq1MmtSJhoM65 9IbDpnzIjf3C1vrWD3gWsU2/3r1tEfzWr+pLfW82kw89IM5XXgNLRXAlDY9sX3pXBxKL oxgHvrKcpw2Megunh++F46dqLBvPGKpbS6ZcFn6PztMDljD5KE+jhIflFj4EBjEGstK0 p9zknvNbJ2zhCGfcZ5ksLhykXBmgaII9+l2urRQiiONlC5OCZTHpOId8Qpjecty+futD S4kBQsKv8Gw4uBHzoHWlm2+C3/xkuv8SQjG5jUkOm0YfDwj1vzS2SWUNeo70s5Lwgann JECQ== X-Gm-Message-State: AHQUAubH3juCQR25vD1ki8t8hQphveNU/+ElAw9JfA54tp+xezCmQ9qj kLLkmcJm4YFjKLeQfw/PiPsEtYvn0jwCVrOJV4E= X-Received: by 2002:a05:6000:8a:: with SMTP id m10mr13470602wrx.79.1549573607380; Thu, 07 Feb 2019 13:06:47 -0800 (PST) MIME-Version: 1.0 References: <20190207000349.7816-1-andrew.smirnov@gmail.com> <1ecb0604-3e27-810e-9fae-18d9d1bf7ff9@linux.intel.com> In-Reply-To: <1ecb0604-3e27-810e-9fae-18d9d1bf7ff9@linux.intel.com> From: Andrey Smirnov Date: Thu, 7 Feb 2019 13:06:36 -0800 Message-ID: Subject: Re: [PATCH] xhci: Use ffs() to find page size in xhci_mem_init() To: Mathias Nyman Cc: linux-usb@vger.kernel.org, Mathias Nyman , Greg Kroah-Hartman , linux-kernel Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Feb 7, 2019 at 1:00 AM Mathias Nyman wrote: > > On 07.02.2019 02:03, Andrey Smirnov wrote: > > Get page size order using ffs() instead of open coding it with a loop. > > > > Signed-off-by: Andrey Smirnov > > Cc: Mathias Nyman > > Cc: Greg Kroah-Hartman > > Cc: linux-usb@vger.kernel.org > > Cc: linux-kernel@vger.kernel.org > > --- > > drivers/usb/host/xhci-mem.c | 6 +----- > > 1 file changed, 1 insertion(+), 5 deletions(-) > > > > diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c > > index 36a3eb8849f1..44b43c3d819f 100644 > > --- a/drivers/usb/host/xhci-mem.c > > +++ b/drivers/usb/host/xhci-mem.c > > @@ -2362,11 +2362,7 @@ int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags) > > page_size = readl(&xhci->op_regs->page_size); > > xhci_dbg_trace(xhci, trace_xhci_dbg_init, > > "Supported page size register = 0x%x", page_size); > > - for (i = 0; i < 16; i++) { > > - if ((0x1 & page_size) != 0) > > - break; > > - page_size = page_size >> 1; > > - } > > + i = ffs(page_size); > > if (i < 16) > > xhci_dbg_trace(xhci, trace_xhci_dbg_init, > > "Supported page size of %iK", (1 << (i+12)) / 1024); > > Hi > > using ffs() is a welcome change, but it will give different a result than the loop. > > *old loop > valid page_size value if i < 16 > *ffs() > valid page_size value if i >= 1 and i < 17 > My bad, sorry about that, was using __fls() in the version I tested, but then switched it to ffs() at the last minute and forgot to double check. Will update in v2. Thanks, Andrey Smirnov