From owner-svn-src-head@freebsd.org Sun May 15 06:24:08 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 75DFBB3CA73; Sun, 15 May 2016 06:24:08 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-io0-x22e.google.com (mail-io0-x22e.google.com [IPv6:2607:f8b0:4001:c06::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 2FFAB1F96; Sun, 15 May 2016 06:24:08 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: by mail-io0-x22e.google.com with SMTP id 190so177566501iow.1; Sat, 14 May 2016 23:24:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=bYAI1+0wIcZVBN5UCj6LrmyKwCUlwvJ9Ra4Vl1e5Gug=; b=0WhHOXPduS8z8rL1JOM0/JP3kY9Ly4Q4iBalIWj91ybsEAroCRE9bHLJ0P4SEO4wCE 09dfH31IfHg9J6lH4bVbchGMGHnzcnlSjgPlu095d2KZmSqhOYadN/5k3+C7IfpvOV8v gF8xsFexQG/yciZLxyyprlMVM/BzrBeLSQhbG6gUS3N+RClnJg2YF0g1e2IQoioYWDUB WczB1TZyands9y/sptNedzXM5JbBUHq1oRJZwQFNVknHCvyu6XQyXd4W7ae1+VONlgI0 Ap0zJGkZYBKkWmXezQ+0CWAt3m/3W9u/oFwTq371x49WMcuXjL01+IR7Hw2yr5kuDkOO Epmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=bYAI1+0wIcZVBN5UCj6LrmyKwCUlwvJ9Ra4Vl1e5Gug=; b=SOCx1zgBDN7PcDd3vMo4o4fTTPa4G+WuhI93dUAIghmmp5Vdq2dBGOJVMRvlxDATIK wLRWFwG2n17E3yelRIqSF4spnO0dv4NpACu4sW25pSly+vMN4k/rBmcG2EQh4m/rRJ+6 vH5+VQgCiH/L3smdrPWafKTQjQeSesd19cKU3xB+Vw/kGRNyqaQmMLefAteKt03d6Uh5 2QAWhPeTfUIiPRekwQDThpUSbMEiFFNmxTRwAYuRRdASgTYzi22G7JO82PGJExu+vQKe JTlPkWneTSMeLvK4CLBR4MkCrqZEI7h8fk5xY0IhL5AY+cKbrF7bkEQv7dzDUamC6FML P/gw== X-Gm-Message-State: AOPr4FXK1XaQk0bnAFcGm/ttXvAag7lpB9vfhl3xqFZUSRJkIcVsyhOuXjCE9GchAHKTv7/VNFtI4F8yRN8wZQ== MIME-Version: 1.0 X-Received: by 10.36.83.65 with SMTP id n62mr4860176itb.71.1463293447479; Sat, 14 May 2016 23:24:07 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.36.113.3 with HTTP; Sat, 14 May 2016 23:24:07 -0700 (PDT) In-Reply-To: References: <201605141952.u4EJq4jP017501@repo.freebsd.org> Date: Sat, 14 May 2016 23:24:07 -0700 X-Google-Sender-Auth: E2fgc-jrpkcGx1r_ldoASSK8LUc Message-ID: Subject: Re: svn commit: r299751 - head/sys/dev/bwn From: Adrian Chadd To: cem@freebsd.org Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 May 2016 06:24:08 -0000 On 14 May 2016 at 18:33, Conrad Meyer wrote: > On Sat, May 14, 2016 at 12:52 PM, Adrian Chadd wrote: >> Author: adrian >> Date: Sat May 14 19:52:04 2016 >> New Revision: 299751 >> URL: https://svnweb.freebsd.org/changeset/base/299751 >> >> Log: >> [bwn] migrate sqrt and add another couple of util routines. >> >> ... >> >> +unsigned int >> +bwn_sqrt(struct bwn_mac *mac, unsigned int x) >> +{ >> + /* Table holding (10 * sqrt(x)) for x between 1 and 256. */ >> + static uint8_t sqrt_table[256] = { >> + 10, 14, 17, 20, 22, 24, 26, 28, >> ... >> + }; >> + >> + if (x == 0) >> + return (0); >> + if (x >= 256) { >> + unsigned int tmp; >> + >> + for (tmp = 0; x >= (2 * tmp) + 1; x -= (2 * tmp++) + 1) >> + /* do nothing */ ; >> + return (tmp); > > Does this approximation method have a name? "whatever the broadcom driver requires". >> + } >> + return (sqrt_table[x - 1] / 10); > > Why do we store the table as 10*sqrt() if we're just going to divide > every entry by ten? no idea, I just shuffled the code around so newer PHY code can use it! -a