From patchwork Mon Jul 3 13:52:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 115374 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9f45:0:b0:3ea:f831:8777 with SMTP id v5csp542191vqx; Mon, 3 Jul 2023 06:57:34 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6WKcmffv09gVSgXaCBbtwF3X198X5aM1vuV44MEGNhyKVF2Ht8Xu2Kt9AwFQ4HrDsnMn1E X-Received: by 2002:a05:6a20:3d89:b0:125:6443:4eb8 with SMTP id s9-20020a056a203d8900b0012564434eb8mr15846351pzi.5.1688392654371; Mon, 03 Jul 2023 06:57:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688392654; cv=none; d=google.com; s=arc-20160816; b=IB7REkX1vS1gnrgZ9RZBCL5MHzod1KY3teK05A0aDnE1h2ftolD7CKnSufd6Dt19zx mpVeNSvOcFS/K3bl8a2OIYrY6XIZd6BRjJs48lp9qf0fvkaF2mUQS0vV8RwuJIdaw0cc 9825Vwk6DaiYRBkYMa1fcDyEAyw1gFP+Acaq/wnTpo9KgGYLXEH6BBARH3ggrszzehYc 2WczwwadPbdUQI2pj1RzAwdCRgRy0PgVu9laU/ErItBsODAelUryttCgDhpGLc5pCb6z jz0Wi2a7d/6sz0Gxyp9aAcLzbHrNw+SYgf/hjGfnz5Bk55kTHWshgmKfiTSsvYaPvMv9 7d/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=uRTBM8YsSbf3tz9wYeK7wvNVMbsoU9/UvlGDYfz2s0k=; fh=Yry+BREdxSx0S6v1doyfX8ieBuVlIc7oUyKJ9x/Rj+g=; b=CB323Aatddw5HrqxFeP8thxl8VegcCvYUeo9WuqEh6iSHe40n0+pBiVc9eHMtbgN34 ib1rdPaYQ7Dm2H52KtYaqnKtrlCOXiVnze5EpmGDhx3A1tWby4RdHgJ28wpZT5aSBswU 9+Lpao31jd+wXNsy5X/3Y59PvXQNz2UkKb3XnKrqCfb7e8jrgovBqBsi1pZORw2pT62S f6obK1K3opelVNyMUM67m2L99CZfNEDalJeR2nY2sn5au476wRrQan5gwJ+v4LSFF74n LC6bRAYJ9KcMmW+7zhzzhbbm3xGRvgESDjRbtJet5uLk1gMFnGGIbLiX+A7ciPKg3fRH RYUQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=jZLZx0We; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t24-20020a1709028c9800b001b521cf9578si17098515plo.443.2023.07.03.06.57.20; Mon, 03 Jul 2023 06:57:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=jZLZx0We; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231454AbjGCNwh (ORCPT + 99 others); Mon, 3 Jul 2023 09:52:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34044 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231358AbjGCNwe (ORCPT ); Mon, 3 Jul 2023 09:52:34 -0400 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 38A38E5A; Mon, 3 Jul 2023 06:52:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1688392352; x=1719928352; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=j+6esjbYYXaZyADUf0T58CNTxEPk1Xz526ckaXaqsJI=; b=jZLZx0Wect4h3xcGygGWqNTtnGG9IrojJUWR2WWkb1dtPrZ42fYhFoNS T7Q8CugTR8G5y4sNytBPBbOmneHZdK3FvcvBlVeI9Tel17uCQ1xEgkKjT Ekeg1tVzCygHPB3ocmyJ+JtYqMv5ggMcAfy7QqbcwTP3nMUKwihnQFwwh 7TjvkkXQo0laVQArodoB8r9BywkvzzjW+R5sI80e8YV9VUgRsXDHKkra9 Pr3XntRt0543EY5EFgYb4sOsDcgXyWOZfIOAqahmipk633FmS3TELjAet b8E4G0iXEaLtmYEfcUfZgdvweMUw5446NAlEqkxvy/v7hfgRfX1Uw3BcN A==; X-IronPort-AV: E=McAfee;i="6600,9927,10760"; a="347673020" X-IronPort-AV: E=Sophos;i="6.01,178,1684825200"; d="scan'208";a="347673020" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jul 2023 06:52:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10760"; a="863093275" X-IronPort-AV: E=Sophos;i="6.01,178,1684825200"; d="scan'208";a="863093275" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 03 Jul 2023 06:52:25 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id EC460170; Mon, 3 Jul 2023 16:52:28 +0300 (EEST) From: Andy Shevchenko To: Mauro Carvalho Chehab , Andy Shevchenko , Hans Verkuil , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Mark Brown , David Lin , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, alsa-devel@alsa-project.org Cc: Jonathan Corbet , Antti Palosaari , Sergey Kozlov , Abylay Ospan , Yasunari Takiguchi , Michael Krufky , Matthias Schwarzott , Akihiro Tsukada , Liam Girdwood , Jaroslav Kysela , Takashi Iwai Subject: [PATCH v2 1/4] lib/math: Move dvb_math.c into lib/math/int_log.c Date: Mon, 3 Jul 2023 16:52:08 +0300 Message-Id: <20230703135211.87416-2-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b In-Reply-To: <20230703135211.87416-1-andriy.shevchenko@linux.intel.com> References: <20230703135211.87416-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1770408016163556502?= X-GMAIL-MSGID: =?utf-8?q?1770408016163556502?= Some existing and new users may benefit from the intlog2() and intlog10() APIs, make them wide available. Reviewed-by: Mauro Carvalho Chehab Acked-by: Mauro Carvalho Chehab Link: https://lore.kernel.org/r/20230619172019.21457-2-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko Reviewed-by: Randy Dunlap --- Documentation/core-api/kernel-api.rst | 7 +++++-- Documentation/driver-api/media/dtv-common.rst | 9 --------- drivers/media/dvb-core/Makefile | 2 +- drivers/media/dvb-frontends/af9013_priv.h | 2 +- drivers/media/dvb-frontends/af9033_priv.h | 2 +- drivers/media/dvb-frontends/cxd2820r_priv.h | 2 +- drivers/media/dvb-frontends/cxd2841er.c | 2 +- .../dvb-frontends/cxd2880/cxd2880_tnrdmd_dvbt2_mon.c | 2 +- .../dvb-frontends/cxd2880/cxd2880_tnrdmd_dvbt_mon.c | 2 +- drivers/media/dvb-frontends/cxd2880/cxd2880_top.c | 2 +- drivers/media/dvb-frontends/dib7000p.c | 2 +- drivers/media/dvb-frontends/dib8000.c | 2 +- drivers/media/dvb-frontends/dib9000.c | 2 +- drivers/media/dvb-frontends/drxk_hard.c | 2 +- drivers/media/dvb-frontends/lgdt3305.c | 2 +- drivers/media/dvb-frontends/lgdt3306a.c | 2 +- drivers/media/dvb-frontends/lgdt330x.c | 2 +- drivers/media/dvb-frontends/m88ds3103_priv.h | 2 +- drivers/media/dvb-frontends/mn88443x.c | 2 +- drivers/media/dvb-frontends/mn88472_priv.h | 2 +- drivers/media/dvb-frontends/mn88473_priv.h | 2 +- drivers/media/dvb-frontends/or51132.c | 2 +- drivers/media/dvb-frontends/or51211.c | 2 +- drivers/media/dvb-frontends/rtl2830_priv.h | 2 +- drivers/media/dvb-frontends/rtl2832_priv.h | 2 +- drivers/media/dvb-frontends/si2165.c | 2 +- drivers/media/dvb-frontends/stv0367.c | 2 +- drivers/media/dvb-frontends/tc90522.c | 2 +- drivers/media/dvb-frontends/tda10048.c | 2 +- include/{media/dvb_math.h => linux/int_log.h} | 7 +++---- lib/math/Makefile | 2 +- .../media/dvb-core/dvb_math.c => lib/math/int_log.c | 11 ++++++----- 32 files changed, 42 insertions(+), 48 deletions(-) rename include/{media/dvb_math.h => linux/int_log.h} (92%) rename drivers/media/dvb-core/dvb_math.c => lib/math/int_log.c (95%) diff --git a/Documentation/core-api/kernel-api.rst b/Documentation/core-api/kernel-api.rst index f2bcc5a7ea43..a526fbe06f86 100644 --- a/Documentation/core-api/kernel-api.rst +++ b/Documentation/core-api/kernel-api.rst @@ -162,8 +162,11 @@ Base 2 log and power Functions .. kernel-doc:: include/linux/log2.h :internal: -Integer power Functions ------------------------ +Integer log and power Functions +------------------------------- + +.. kernel-doc:: include/linux/int_log.h + :export: .. kernel-doc:: lib/math/int_pow.c :export: diff --git a/Documentation/driver-api/media/dtv-common.rst b/Documentation/driver-api/media/dtv-common.rst index f8b2c4dc8170..207a22bcaf4a 100644 --- a/Documentation/driver-api/media/dtv-common.rst +++ b/Documentation/driver-api/media/dtv-common.rst @@ -3,15 +3,6 @@ Digital TV Common functions --------------------------- -Math functions -~~~~~~~~~~~~~~ - -Provide some commonly-used math functions, usually required in order to -estimate signal strength and signal to noise measurements in dB. - -.. kernel-doc:: include/media/dvb_math.h - - DVB devices ~~~~~~~~~~~ diff --git a/drivers/media/dvb-core/Makefile b/drivers/media/dvb-core/Makefile index 62b028ded9f7..1cb3ca67bed9 100644 --- a/drivers/media/dvb-core/Makefile +++ b/drivers/media/dvb-core/Makefile @@ -8,6 +8,6 @@ dvb-vb2-$(CONFIG_DVB_MMAP) := dvb_vb2.o dvb-core-objs := dvbdev.o dmxdev.o dvb_demux.o \ dvb_ca_en50221.o dvb_frontend.o \ - $(dvb-net-y) dvb_ringbuffer.o $(dvb-vb2-y) dvb_math.o + $(dvb-net-y) dvb_ringbuffer.o $(dvb-vb2-y) obj-$(CONFIG_DVB_CORE) += dvb-core.o diff --git a/drivers/media/dvb-frontends/af9013_priv.h b/drivers/media/dvb-frontends/af9013_priv.h index 3b9b9424fe1a..bba7a9693a23 100644 --- a/drivers/media/dvb-frontends/af9013_priv.h +++ b/drivers/media/dvb-frontends/af9013_priv.h @@ -12,7 +12,7 @@ #define AF9013_PRIV_H #include -#include +#include #include "af9013.h" #include #include diff --git a/drivers/media/dvb-frontends/af9033_priv.h b/drivers/media/dvb-frontends/af9033_priv.h index 0e64da0cdeab..7560da75ef00 100644 --- a/drivers/media/dvb-frontends/af9033_priv.h +++ b/drivers/media/dvb-frontends/af9033_priv.h @@ -14,7 +14,7 @@ #include #include #include -#include +#include struct reg_val { u32 reg; diff --git a/drivers/media/dvb-frontends/cxd2820r_priv.h b/drivers/media/dvb-frontends/cxd2820r_priv.h index 9b4d9cf8563d..605320bbc12b 100644 --- a/drivers/media/dvb-frontends/cxd2820r_priv.h +++ b/drivers/media/dvb-frontends/cxd2820r_priv.h @@ -11,7 +11,7 @@ #include #include -#include +#include #include "cxd2820r.h" #include /* For gpio_chip */ #include diff --git a/drivers/media/dvb-frontends/cxd2841er.c b/drivers/media/dvb-frontends/cxd2841er.c index 5431f922f55e..ef403a9fb753 100644 --- a/drivers/media/dvb-frontends/cxd2841er.c +++ b/drivers/media/dvb-frontends/cxd2841er.c @@ -22,7 +22,7 @@ #include #include -#include +#include #include #include "cxd2841er.h" #include "cxd2841er_priv.h" diff --git a/drivers/media/dvb-frontends/cxd2880/cxd2880_tnrdmd_dvbt2_mon.c b/drivers/media/dvb-frontends/cxd2880/cxd2880_tnrdmd_dvbt2_mon.c index 604580bf7cf7..4e173dd87ecf 100644 --- a/drivers/media/dvb-frontends/cxd2880/cxd2880_tnrdmd_dvbt2_mon.c +++ b/drivers/media/dvb-frontends/cxd2880/cxd2880_tnrdmd_dvbt2_mon.c @@ -11,7 +11,7 @@ #include "cxd2880_tnrdmd_dvbt2.h" #include "cxd2880_tnrdmd_dvbt2_mon.h" -#include +#include static const int ref_dbm_1000[4][8] = { {-96000, -95000, -94000, -93000, -92000, -92000, -98000, -97000}, diff --git a/drivers/media/dvb-frontends/cxd2880/cxd2880_tnrdmd_dvbt_mon.c b/drivers/media/dvb-frontends/cxd2880/cxd2880_tnrdmd_dvbt_mon.c index fedc3b4a2fa0..86d5a1e4022a 100644 --- a/drivers/media/dvb-frontends/cxd2880/cxd2880_tnrdmd_dvbt_mon.c +++ b/drivers/media/dvb-frontends/cxd2880/cxd2880_tnrdmd_dvbt_mon.c @@ -11,7 +11,7 @@ #include "cxd2880_tnrdmd_dvbt.h" #include "cxd2880_tnrdmd_dvbt_mon.h" -#include +#include static const int ref_dbm_1000[3][5] = { {-93000, -91000, -90000, -89000, -88000}, diff --git a/drivers/media/dvb-frontends/cxd2880/cxd2880_top.c b/drivers/media/dvb-frontends/cxd2880/cxd2880_top.c index d5b1b3788e39..f67b6d24b8d4 100644 --- a/drivers/media/dvb-frontends/cxd2880/cxd2880_top.c +++ b/drivers/media/dvb-frontends/cxd2880/cxd2880_top.c @@ -11,7 +11,7 @@ #include #include -#include +#include #include "cxd2880.h" #include "cxd2880_tnrdmd_mon.h" diff --git a/drivers/media/dvb-frontends/dib7000p.c b/drivers/media/dvb-frontends/dib7000p.c index a90d2f51868f..b791e687d2e2 100644 --- a/drivers/media/dvb-frontends/dib7000p.c +++ b/drivers/media/dvb-frontends/dib7000p.c @@ -13,7 +13,7 @@ #include #include -#include +#include #include #include "dib7000p.h" diff --git a/drivers/media/dvb-frontends/dib8000.c b/drivers/media/dvb-frontends/dib8000.c index fe19d127abb3..2abda7d1cb6e 100644 --- a/drivers/media/dvb-frontends/dib8000.c +++ b/drivers/media/dvb-frontends/dib8000.c @@ -13,7 +13,7 @@ #include #include -#include +#include #include diff --git a/drivers/media/dvb-frontends/dib9000.c b/drivers/media/dvb-frontends/dib9000.c index 914ca820c174..1c57587a917a 100644 --- a/drivers/media/dvb-frontends/dib9000.c +++ b/drivers/media/dvb-frontends/dib9000.c @@ -11,7 +11,7 @@ #include #include -#include +#include #include #include "dib9000.h" diff --git a/drivers/media/dvb-frontends/drxk_hard.c b/drivers/media/dvb-frontends/drxk_hard.c index 3301ef75d441..6ad4f202f1bf 100644 --- a/drivers/media/dvb-frontends/drxk_hard.c +++ b/drivers/media/dvb-frontends/drxk_hard.c @@ -20,7 +20,7 @@ #include #include "drxk.h" #include "drxk_hard.h" -#include +#include static int power_down_dvbt(struct drxk_state *state, bool set_power_mode); static int power_down_qam(struct drxk_state *state); diff --git a/drivers/media/dvb-frontends/lgdt3305.c b/drivers/media/dvb-frontends/lgdt3305.c index 62d743988919..c15d3735d34c 100644 --- a/drivers/media/dvb-frontends/lgdt3305.c +++ b/drivers/media/dvb-frontends/lgdt3305.c @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include "lgdt3305.h" static int debug; diff --git a/drivers/media/dvb-frontends/lgdt3306a.c b/drivers/media/dvb-frontends/lgdt3306a.c index 70258884126b..3c6650f6e9a3 100644 --- a/drivers/media/dvb-frontends/lgdt3306a.c +++ b/drivers/media/dvb-frontends/lgdt3306a.c @@ -12,7 +12,7 @@ #include #include #include -#include +#include #include "lgdt3306a.h" #include diff --git a/drivers/media/dvb-frontends/lgdt330x.c b/drivers/media/dvb-frontends/lgdt330x.c index 83565209c3b1..97a10996c7fa 100644 --- a/drivers/media/dvb-frontends/lgdt330x.c +++ b/drivers/media/dvb-frontends/lgdt330x.c @@ -28,7 +28,7 @@ #include #include -#include +#include #include "lgdt330x_priv.h" #include "lgdt330x.h" diff --git a/drivers/media/dvb-frontends/m88ds3103_priv.h b/drivers/media/dvb-frontends/m88ds3103_priv.h index aa5306f40201..594ad9cbc2cc 100644 --- a/drivers/media/dvb-frontends/m88ds3103_priv.h +++ b/drivers/media/dvb-frontends/m88ds3103_priv.h @@ -10,7 +10,7 @@ #include #include "m88ds3103.h" -#include +#include #include #include #include diff --git a/drivers/media/dvb-frontends/mn88443x.c b/drivers/media/dvb-frontends/mn88443x.c index 2ce5692bc22c..db2921c736af 100644 --- a/drivers/media/dvb-frontends/mn88443x.c +++ b/drivers/media/dvb-frontends/mn88443x.c @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include "mn88443x.h" diff --git a/drivers/media/dvb-frontends/mn88472_priv.h b/drivers/media/dvb-frontends/mn88472_priv.h index 337562723f88..41f14bd67bfd 100644 --- a/drivers/media/dvb-frontends/mn88472_priv.h +++ b/drivers/media/dvb-frontends/mn88472_priv.h @@ -9,7 +9,7 @@ #define MN88472_PRIV_H #include -#include +#include #include "mn88472.h" #include #include diff --git a/drivers/media/dvb-frontends/mn88473_priv.h b/drivers/media/dvb-frontends/mn88473_priv.h index eca7f4e2b769..e9daaacfa22f 100644 --- a/drivers/media/dvb-frontends/mn88473_priv.h +++ b/drivers/media/dvb-frontends/mn88473_priv.h @@ -9,7 +9,7 @@ #define MN88473_PRIV_H #include -#include +#include #include "mn88473.h" #include #include diff --git a/drivers/media/dvb-frontends/or51132.c b/drivers/media/dvb-frontends/or51132.c index 24de1b115158..355f3598627b 100644 --- a/drivers/media/dvb-frontends/or51132.c +++ b/drivers/media/dvb-frontends/or51132.c @@ -27,7 +27,7 @@ #include #include -#include +#include #include #include "or51132.h" diff --git a/drivers/media/dvb-frontends/or51211.c b/drivers/media/dvb-frontends/or51211.c index ddcaea5c9941..ae732dc5116e 100644 --- a/drivers/media/dvb-frontends/or51211.c +++ b/drivers/media/dvb-frontends/or51211.c @@ -26,7 +26,7 @@ #include #include -#include +#include #include #include "or51211.h" diff --git a/drivers/media/dvb-frontends/rtl2830_priv.h b/drivers/media/dvb-frontends/rtl2830_priv.h index fae78ed78522..ae1fc24a4d84 100644 --- a/drivers/media/dvb-frontends/rtl2830_priv.h +++ b/drivers/media/dvb-frontends/rtl2830_priv.h @@ -9,7 +9,7 @@ #define RTL2830_PRIV_H #include -#include +#include #include "rtl2830.h" #include #include diff --git a/drivers/media/dvb-frontends/rtl2832_priv.h b/drivers/media/dvb-frontends/rtl2832_priv.h index 5f79f95b9475..f11ba038d5f0 100644 --- a/drivers/media/dvb-frontends/rtl2832_priv.h +++ b/drivers/media/dvb-frontends/rtl2832_priv.h @@ -14,7 +14,7 @@ #include #include -#include +#include #include "rtl2832.h" struct rtl2832_dev { diff --git a/drivers/media/dvb-frontends/si2165.c b/drivers/media/dvb-frontends/si2165.c index 72810efd1a96..434d003bf397 100644 --- a/drivers/media/dvb-frontends/si2165.c +++ b/drivers/media/dvb-frontends/si2165.c @@ -19,7 +19,7 @@ #include #include -#include +#include #include "si2165_priv.h" #include "si2165.h" diff --git a/drivers/media/dvb-frontends/stv0367.c b/drivers/media/dvb-frontends/stv0367.c index 95e376f23506..a93f40617469 100644 --- a/drivers/media/dvb-frontends/stv0367.c +++ b/drivers/media/dvb-frontends/stv0367.c @@ -15,7 +15,7 @@ #include #include -#include +#include #include "stv0367.h" #include "stv0367_defs.h" diff --git a/drivers/media/dvb-frontends/tc90522.c b/drivers/media/dvb-frontends/tc90522.c index 879f028f9682..1f8cbf45554a 100644 --- a/drivers/media/dvb-frontends/tc90522.c +++ b/drivers/media/dvb-frontends/tc90522.c @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include "tc90522.h" #define TC90522_I2C_THRU_REG 0xfe diff --git a/drivers/media/dvb-frontends/tda10048.c b/drivers/media/dvb-frontends/tda10048.c index 0b3f6999515e..3cb4e5270e4f 100644 --- a/drivers/media/dvb-frontends/tda10048.c +++ b/drivers/media/dvb-frontends/tda10048.c @@ -16,7 +16,7 @@ #include #include #include -#include +#include #include "tda10048.h" #define TDA10048_DEFAULT_FIRMWARE "dvb-fe-tda10048-1.0.fw" diff --git a/include/media/dvb_math.h b/include/linux/int_log.h similarity index 92% rename from include/media/dvb_math.h rename to include/linux/int_log.h index 8690ec42954d..332306202464 100644 --- a/include/media/dvb_math.h +++ b/include/linux/int_log.h @@ -1,6 +1,5 @@ /* - * dvb-math provides some complex fixed-point math - * operations shared between the dvb related stuff + * Provides fixed-point logarithm operations. * * Copyright (C) 2006 Christoph Pfister (christophpfister@gmail.com) * @@ -15,8 +14,8 @@ * GNU Lesser General Public License for more details. */ -#ifndef __DVB_MATH_H -#define __DVB_MATH_H +#ifndef __LINUX_INT_LOG_H +#define __LINUX_INT_LOG_H #include diff --git a/lib/math/Makefile b/lib/math/Makefile index bfac26ddfc22..91fcdb0c9efe 100644 --- a/lib/math/Makefile +++ b/lib/math/Makefile @@ -1,5 +1,5 @@ # SPDX-License-Identifier: GPL-2.0-only -obj-y += div64.o gcd.o lcm.o int_pow.o int_sqrt.o reciprocal_div.o +obj-y += div64.o gcd.o lcm.o int_log.o int_pow.o int_sqrt.o reciprocal_div.o obj-$(CONFIG_CORDIC) += cordic.o obj-$(CONFIG_PRIME_NUMBERS) += prime_numbers.o diff --git a/drivers/media/dvb-core/dvb_math.c b/lib/math/int_log.c similarity index 95% rename from drivers/media/dvb-core/dvb_math.c rename to lib/math/int_log.c index dc90564d7f34..322df25a22d6 100644 --- a/drivers/media/dvb-core/dvb_math.c +++ b/lib/math/int_log.c @@ -1,6 +1,5 @@ /* - * dvb-math provides some complex fixed-point math - * operations shared between the dvb related stuff + * Provides fixed-point logarithm operations. * * Copyright (C) 2006 Christoph Pfister (christophpfister@gmail.com) * @@ -16,10 +15,12 @@ */ #include +#include +#include #include -#include +#include + #include -#include static const unsigned short logtable[256] = { 0x0000, 0x0171, 0x02e0, 0x044e, 0x05ba, 0x0725, 0x088e, 0x09f7, @@ -53,7 +54,7 @@ static const unsigned short logtable[256] = { 0xe82a, 0xe8ef, 0xe9b3, 0xea77, 0xeb3b, 0xebfe, 0xecc1, 0xed83, 0xee45, 0xef06, 0xefc8, 0xf088, 0xf149, 0xf209, 0xf2c8, 0xf387, 0xf446, 0xf505, 0xf5c3, 0xf680, 0xf73e, 0xf7fb, 0xf8b7, 0xf973, - 0xfa2f, 0xfaea, 0xfba5, 0xfc60, 0xfd1a, 0xfdd4, 0xfe8e, 0xff47 + 0xfa2f, 0xfaea, 0xfba5, 0xfc60, 0xfd1a, 0xfdd4, 0xfe8e, 0xff47, }; unsigned int intlog2(u32 value) From patchwork Mon Jul 3 13:52:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 115381 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9f45:0:b0:3ea:f831:8777 with SMTP id v5csp554370vqx; Mon, 3 Jul 2023 07:12:31 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7isQEd8gWwLw84t6M1z5RIrKw7DtTbQFsZWsu0StFAzLYQq7S3FUNboSLjR071jZbxZJh2 X-Received: by 2002:a05:6a21:9989:b0:12c:bbd3:a0dd with SMTP id ve9-20020a056a21998900b0012cbbd3a0ddmr15348070pzb.0.1688393550666; Mon, 03 Jul 2023 07:12:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688393550; cv=none; d=google.com; s=arc-20160816; b=vbGAkowSV/MuFHt2t69OLxYX7oHteSKJ2u9lttomlIgIMpTtZtS+FtJcMGiI3zQG7m iyPEAQuU76fUPtQJAFAWp0D7QuP9HErBxudBBnB1POIBsV1D3SUpSKktHFlPaOvmkr/R 2KkNZhEOIlU1AmiPTN7gTXqxGX1znkfNSEXS02rAiRVXpsd76husmDhcbyjGBQ+RL6sl eXD1t5rljoahW3cakhsx58y9s4Cj1hSwbX8b5CQT2WFC7sxKh2ADYpNaEyRoRTluxPL5 qWfEZ1DK5RduYU7EtYlS2aNL9fIBrBXphb7fZIvBLZvzaKEZSl34oB117XIwHmtIhbBK qR1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=fSW8k18pB6x8cGMkqwqVPpSxrC5Q5x0OBVGYoQdGHIg=; fh=Yry+BREdxSx0S6v1doyfX8ieBuVlIc7oUyKJ9x/Rj+g=; b=HwwVlCeGCKeHjEo4mXZqSM72G6D5n29vpRThPX89MHJFAvIxoKMeuNL4X1uf1U3+Ew xIbSHmo5N7HegkyW190udYnrmP37xMFg7sx5ZZmMHQsU4EejTQD/f9xP7PYGm8wtTavt w0s0sO3capmMHx+ob2dj9qb6Qk3u9bLql9pJDUZTjp/SKNN2drQEGYKEiABVIv+awRoR LsZHX5CstlbSzLv+S1IbbW35BwaHm+oOVdRDNH26NFdWwYNVBrzKcFouIg4NmAy5mAI4 Q5XqpfilGNb3sW2q2Dsx1JoFKAO2XJnk1wQPDlZ292uAD39b7r9xHiWilOHUvwXZRIXu 6yKw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=ZeUGsoQq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i14-20020a170902c94e00b001b8805f98e9si5673520pla.452.2023.07.03.07.12.15; Mon, 03 Jul 2023 07:12:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=ZeUGsoQq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231642AbjGCNwm (ORCPT + 99 others); Mon, 3 Jul 2023 09:52:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34096 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231509AbjGCNwg (ORCPT ); Mon, 3 Jul 2023 09:52:36 -0400 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8B7D4E69; Mon, 3 Jul 2023 06:52:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1688392354; x=1719928354; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=yiDh5WIcW2KT2120kFMdLbZdsriKf6EVEQj+JVu7p4Q=; b=ZeUGsoQqoY1NDxeoI7D1N0FbIbu3vBG3FcmCGST+pV33wUDoFo5DW1UD dK2wFRWkEwVLGbQmBrvUtKf7dcEoND3sNmxX6ZD+MY5BwMRfipgcERnkA GtSOhukNxOO1mybwEphBeJKmEdMozWZuSxhxo0veFPwesdhRdXY6RWLS6 chzsRt988eEDZksgWGtM1laVIplzwNoTYswWxDAspWw5weLdKkr0fznmB hJTUAtnpTFx3ISXZVHuzIo3lYUE25hoZN2kPSescorj4o8BNhV2aQNOzG oBv//TCEoVop9AGKmPfBym1+tRxqx39wU6BCzwtFEUrcPTTM6eWaV4cBd Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10760"; a="347673035" X-IronPort-AV: E=Sophos;i="6.01,178,1684825200"; d="scan'208";a="347673035" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jul 2023 06:52:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10760"; a="863093278" X-IronPort-AV: E=Sophos;i="6.01,178,1684825200"; d="scan'208";a="863093278" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 03 Jul 2023 06:52:26 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id E5C3C177; Mon, 3 Jul 2023 16:52:29 +0300 (EEST) From: Andy Shevchenko To: Mauro Carvalho Chehab , Andy Shevchenko , Hans Verkuil , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Mark Brown , David Lin , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, alsa-devel@alsa-project.org Cc: Jonathan Corbet , Antti Palosaari , Sergey Kozlov , Abylay Ospan , Yasunari Takiguchi , Michael Krufky , Matthias Schwarzott , Akihiro Tsukada , Liam Girdwood , Jaroslav Kysela , Takashi Iwai Subject: [PATCH v2 2/4] lib/math/int_log: Use ARRAY_SIZE(logtable) where makes sense Date: Mon, 3 Jul 2023 16:52:09 +0300 Message-Id: <20230703135211.87416-3-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b In-Reply-To: <20230703135211.87416-1-andriy.shevchenko@linux.intel.com> References: <20230703135211.87416-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1770408955799302590?= X-GMAIL-MSGID: =?utf-8?q?1770408955799302590?= Use ARRAY_SIZE(logtable) where makes sense. Reviewed-by: Mauro Carvalho Chehab Acked-by: Mauro Carvalho Chehab Link: https://lore.kernel.org/r/20230619172019.21457-3-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko --- lib/math/int_log.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/math/int_log.c b/lib/math/int_log.c index 322df25a22d6..ea98fc0b3fe2 100644 --- a/lib/math/int_log.c +++ b/lib/math/int_log.c @@ -91,7 +91,7 @@ unsigned int intlog2(u32 value) * so we would use the entry 0x18 */ significand = value << (31 - msb); - logentry = (significand >> 23) & 0xff; + logentry = (significand >> 23) % ARRAY_SIZE(logtable); /** * last step we do is interpolation because of the @@ -109,7 +109,7 @@ unsigned int intlog2(u32 value) * logtable_next is 256 */ interpolation = ((significand & 0x7fffff) * - ((logtable[(logentry + 1) & 0xff] - + ((logtable[(logentry + 1) % ARRAY_SIZE(logtable)] - logtable[logentry]) & 0xffff)) >> 15; /* now we return the result */ From patchwork Mon Jul 3 13:52:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 115375 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9f45:0:b0:3ea:f831:8777 with SMTP id v5csp542723vqx; Mon, 3 Jul 2023 06:58:34 -0700 (PDT) X-Google-Smtp-Source: APBJJlEQGqa1NHqrenHv9sB0RNqtJU7kFPzPGptosGuZM/VRCWNXSlv9hnXsDggOE2wN84WS/mRo X-Received: by 2002:a05:6a00:1d05:b0:67d:308b:97ef with SMTP id a5-20020a056a001d0500b0067d308b97efmr11704392pfx.2.1688392714035; Mon, 03 Jul 2023 06:58:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688392714; cv=none; d=google.com; s=arc-20160816; b=cEMpQIeEM4bNJafAERyzvyA9o/lUFl1gFZ0kQ8apszV6pGRMkLRSxPalzSr6jSGULS sAnA8+pRn1Jpe+78uQzCoS9OaIHIm9p4gIoDjMMTYSBHsUX/8QACOty6ctc1UFwcGApW wk3m3/Ia6vUPuQV1a0o6akeIy5XOE5qjANZjgXDM+4uBOL5tMOSrwYiUh7m90EEBGl4b rvwGsNy2Aqy3ormedTj5mmc6U73OrReW/x3G8jTTxwFuc8cvojM2ToenN/zdbVAfGIT4 lLqIMSxYbcVEVWi+9Un2RoviaPysyI/XTsffPVL3mSWzh9f52uKn5a3Q63WBlZXiB2+q 3tyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=DC4bEBH5vk5CcKZGcFwgLbSE/dcqCYV8KRtUeVOmCBw=; fh=Yry+BREdxSx0S6v1doyfX8ieBuVlIc7oUyKJ9x/Rj+g=; b=TqpC3bFo5Y0dO3wALNFnn5raFW1gcQvR6CvlzmKtL7DbmmORyMFg029Aj4gR8QPJTs r4eRb38L/q2Uj45Inqmo7xPfl7bN8IL85tmjQ11Yu87EIGe2i5EGJLFHUhF8nsI9Ailk BJ+mE1Vx2kYVsYGvcX3CQhxlnBOwHNz4S0eEEzBZdzJKvidEHTZhMuG8m8byb6OQ2Rg9 XGqKM7Ud0FJlRGYM2S6xgV8e6Eei8J+Up6T9b2GWaPo2wQZG61KwXa0rcndWMchzUFQV t+e06CXlOLo0J1hnVI0qKzmXF89SF8b3coLoU1phtzja5Bh0K3yARK+Eyx21Zu7ataeI uiUA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=YozgYY3I; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b21-20020a056a000cd500b0067c2b7b23e3si13719076pfv.345.2023.07.03.06.58.19; Mon, 03 Jul 2023 06:58:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=YozgYY3I; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231403AbjGCNwj (ORCPT + 99 others); Mon, 3 Jul 2023 09:52:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34042 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231313AbjGCNwf (ORCPT ); Mon, 3 Jul 2023 09:52:35 -0400 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AED74E58; Mon, 3 Jul 2023 06:52:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1688392353; x=1719928353; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=MvhTxjRQxN86NZW9US2cS3jRAx1NtAYDGutfkvlmQXc=; b=YozgYY3IEXdID1a+bm+xIDmJgJh+lX0WBDal0fxHQK7SKKTjiPZ2ZL7O aL5bquKJIsDSjuZ9OuHQUKj/TklmS9zUhuyas2EBaZJsUWk5pyXsJ06Rs 58fMFKWWcOwvH5cznnlOPGYg48lWcvOwgh3Pm/heRS/M8su4oi2Fj/EWr klyZHMJ4L1su5xG8CHYMGs53ESI+faxg4Xnc3xyYu99gz+p9CoJeVkM0a wbQFf9DQvQJ2XX8ysPn6azGKjqj6ACyztfz1xEF0tnVC48Jd3e+OaQ6p/ 92avJ+Zkpj4Pczckm8rodLzyhiqBeFQj/XXBGRMTgj10mXAzC/6Yif36r g==; X-IronPort-AV: E=McAfee;i="6600,9927,10760"; a="361744796" X-IronPort-AV: E=Sophos;i="6.01,178,1684825200"; d="scan'208";a="361744796" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jul 2023 06:52:32 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10760"; a="831839500" X-IronPort-AV: E=Sophos;i="6.01,178,1684825200"; d="scan'208";a="831839500" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga002.fm.intel.com with ESMTP; 03 Jul 2023 06:52:27 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 02CF1178; Mon, 3 Jul 2023 16:52:30 +0300 (EEST) From: Andy Shevchenko To: Mauro Carvalho Chehab , Andy Shevchenko , Hans Verkuil , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Mark Brown , David Lin , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, alsa-devel@alsa-project.org Cc: Jonathan Corbet , Antti Palosaari , Sergey Kozlov , Abylay Ospan , Yasunari Takiguchi , Michael Krufky , Matthias Schwarzott , Akihiro Tsukada , Liam Girdwood , Jaroslav Kysela , Takashi Iwai Subject: [PATCH v2 3/4] lib/math/int_log: Replace LGPL-2.1-or-later boilerplate with SPDX identifier Date: Mon, 3 Jul 2023 16:52:10 +0300 Message-Id: <20230703135211.87416-4-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b In-Reply-To: <20230703135211.87416-1-andriy.shevchenko@linux.intel.com> References: <20230703135211.87416-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1770408078596032710?= X-GMAIL-MSGID: =?utf-8?q?1770408078596032710?= Replace license boilerplate in udftime.c with SPDX identifier for LGPL-2.1-or-later. Acked-by: Mauro Carvalho Chehab Link: https://lore.kernel.org/r/20230619172019.21457-4-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko --- include/linux/int_log.h | 11 +---------- lib/math/int_log.c | 11 +---------- 2 files changed, 2 insertions(+), 20 deletions(-) diff --git a/include/linux/int_log.h b/include/linux/int_log.h index 332306202464..0a6f58c38b61 100644 --- a/include/linux/int_log.h +++ b/include/linux/int_log.h @@ -1,17 +1,8 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Provides fixed-point logarithm operations. * * Copyright (C) 2006 Christoph Pfister (christophpfister@gmail.com) - * - * This library is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. */ #ifndef __LINUX_INT_LOG_H diff --git a/lib/math/int_log.c b/lib/math/int_log.c index ea98fc0b3fe2..8f9da3a2ad39 100644 --- a/lib/math/int_log.c +++ b/lib/math/int_log.c @@ -1,17 +1,8 @@ +// SPDX-License-Identifier: LGPL-2.1-or-later /* * Provides fixed-point logarithm operations. * * Copyright (C) 2006 Christoph Pfister (christophpfister@gmail.com) - * - * This library is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. */ #include From patchwork Mon Jul 3 13:52:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 115385 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9f45:0:b0:3ea:f831:8777 with SMTP id v5csp556135vqx; Mon, 3 Jul 2023 07:15:00 -0700 (PDT) X-Google-Smtp-Source: APBJJlFf25BPwanVVrmEz9bdicMuIbYp09gf6UmwTjH8b2PPvgxsE/Y2xubuEiwcE04h37a5Y4yK X-Received: by 2002:a17:902:f201:b0:1b8:811:b05a with SMTP id m1-20020a170902f20100b001b80811b05amr11179692plc.6.1688393700181; Mon, 03 Jul 2023 07:15:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688393700; cv=none; d=google.com; s=arc-20160816; b=x62W7B6ZAFgAU3DgExTety1V/qa7nmVRBEwT78kjjwndyHkmXe4LOAom9oqZOnsUDQ aHuAIUZrJ0HIYVjAq6iBcpbAYVXyp5OnDxYiEchDqvWEY57yovX7XgaLPcBIB2uVi1nB ECfoaoBfeyH8oIoOpbz3pf+6TEjxTvMaP+HRwhmrlSq+t/73nrFQ9g7NZOsZEC5szDaB uZBIjPV16Tu7L919T5XrMVq8c6BrFlazM24xSu3dTPXpn5lqR4rrMYHBu4f64U1YPgnT dlARSTDL24G8CcUkU1iaVPq4tX4U0POSyREkVwCEf9mruqc04792FQ2Pm9OAawWNEYVC 7fjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=KaO25u5u/OfeLdT1o7qMLaLUkHc0D5E0Kh2dUlMQRYc=; fh=Yry+BREdxSx0S6v1doyfX8ieBuVlIc7oUyKJ9x/Rj+g=; b=0vb92r9kKmlm33jvNCnvQW4CCp6Ld6huovwxE8kBdF29kXc3lkjetqD9N/NeouAR52 5K/5CpudFq++B+JUJL97Fh6ntc2ixktHOtXNYVCCEqmif1XTUbmttR5D+xb6PqzRdPPD ViEg3wLkTLUOtz0nTWWvVLwRJdNc21qFFU2gWjmjrzZFVNO/hvmR8JIAK9IEshiQokQn aHZx5hxiBbus/rJN6AixPppINLUpDzw/33YiOgPaDk/FoGVMWFjAeza3hFVxtnyYsYSC OVRPQ2iYWKo6CxSzS7qvXsJ/oCMmwDb8cpypOdMMHbQIDSo1c8nOcv0vmZqqoDCJEPok 86Qg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="Ktu/jyKw"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d16-20020a170902ced000b001b802129b3dsi6701213plg.34.2023.07.03.07.14.46; Mon, 03 Jul 2023 07:15:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="Ktu/jyKw"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230430AbjGCNwp (ORCPT + 99 others); Mon, 3 Jul 2023 09:52:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34112 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230364AbjGCNwh (ORCPT ); Mon, 3 Jul 2023 09:52:37 -0400 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 09BCFE5D; Mon, 3 Jul 2023 06:52:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1688392355; x=1719928355; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=u3/uFS/BD6PK7Y2v1f21Dr+CJPu59wRry4Ju0Ge6hAY=; b=Ktu/jyKwiIsatuLiWOGwlFUdheOrZ6ZWgsxp0h0or/nE0IObYvfJSCL+ iGIaGhHZ1IepHywbZosjgV/yQf8bbhOTR7nUTAuupe4VyApRT0/SxKW3d SOdimaoRGRXCa57JGPBx+e9onJFcL0Wgb8X2dVWt1XWoiwrDMbMzHl52q 5ZPWTFhWCIHC1o+WpS/7Svab09QOYDYPRqrqYkNmTdEw4y1EyKAJ108hh 3rbHEkkBWi526QxTMbonZn4VBNLK9BahFZ+2NaTlTtk+NKwOOdPgmYfK3 orCeropOr3Pz/e+Rvwr52mkLoYG+FxiWRS3Hao95JhLkmPlFL87zbrvTK w==; X-IronPort-AV: E=McAfee;i="6600,9927,10760"; a="361744812" X-IronPort-AV: E=Sophos;i="6.01,178,1684825200"; d="scan'208";a="361744812" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jul 2023 06:52:33 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10760"; a="831839501" X-IronPort-AV: E=Sophos;i="6.01,178,1684825200"; d="scan'208";a="831839501" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga002.fm.intel.com with ESMTP; 03 Jul 2023 06:52:28 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id A114C17C; Mon, 3 Jul 2023 16:52:31 +0300 (EEST) From: Andy Shevchenko To: Mauro Carvalho Chehab , Andy Shevchenko , Hans Verkuil , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Mark Brown , David Lin , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, alsa-devel@alsa-project.org Cc: Jonathan Corbet , Antti Palosaari , Sergey Kozlov , Abylay Ospan , Yasunari Takiguchi , Michael Krufky , Matthias Schwarzott , Akihiro Tsukada , Liam Girdwood , Jaroslav Kysela , Takashi Iwai Subject: [PATCH v2 4/4] ASoC: nau8825: Replace copied'n'pasted intlog10() Date: Mon, 3 Jul 2023 16:52:11 +0300 Message-Id: <20230703135211.87416-5-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b In-Reply-To: <20230703135211.87416-1-andriy.shevchenko@linux.intel.com> References: <20230703135211.87416-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1770409112524660312?= X-GMAIL-MSGID: =?utf-8?q?1770409112524660312?= As the code even references to dvb_math.c, which is now available as int_log.c, replace its content by the calling respective API. Acked-by: Mark Brown Acked-by: Mauro Carvalho Chehab Link: https://lore.kernel.org/r/20230619172019.21457-5-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko --- sound/soc/codecs/nau8825.c | 93 ++------------------------------------ 1 file changed, 3 insertions(+), 90 deletions(-) diff --git a/sound/soc/codecs/nau8825.c b/sound/soc/codecs/nau8825.c index 9e0e4ddf128e..5cb0de648bd3 100644 --- a/sound/soc/codecs/nau8825.c +++ b/sound/soc/codecs/nau8825.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -38,7 +39,6 @@ #define NAU_FVCO_MIN 90000000 /* cross talk suppression detection */ -#define LOG10_MAGIC 646456993 #define GAIN_AUGMENT 22500 #define SIDETONE_BASE 207000 @@ -219,42 +219,6 @@ static const struct reg_sequence nau8825_regmap_patch[] = { { NAU8825_REG_MIC_BIAS, 0x0046 }, }; - -static const unsigned short logtable[256] = { - 0x0000, 0x0171, 0x02e0, 0x044e, 0x05ba, 0x0725, 0x088e, 0x09f7, - 0x0b5d, 0x0cc3, 0x0e27, 0x0f8a, 0x10eb, 0x124b, 0x13aa, 0x1508, - 0x1664, 0x17bf, 0x1919, 0x1a71, 0x1bc8, 0x1d1e, 0x1e73, 0x1fc6, - 0x2119, 0x226a, 0x23ba, 0x2508, 0x2656, 0x27a2, 0x28ed, 0x2a37, - 0x2b80, 0x2cc8, 0x2e0f, 0x2f54, 0x3098, 0x31dc, 0x331e, 0x345f, - 0x359f, 0x36de, 0x381b, 0x3958, 0x3a94, 0x3bce, 0x3d08, 0x3e41, - 0x3f78, 0x40af, 0x41e4, 0x4319, 0x444c, 0x457f, 0x46b0, 0x47e1, - 0x4910, 0x4a3f, 0x4b6c, 0x4c99, 0x4dc5, 0x4eef, 0x5019, 0x5142, - 0x526a, 0x5391, 0x54b7, 0x55dc, 0x5700, 0x5824, 0x5946, 0x5a68, - 0x5b89, 0x5ca8, 0x5dc7, 0x5ee5, 0x6003, 0x611f, 0x623a, 0x6355, - 0x646f, 0x6588, 0x66a0, 0x67b7, 0x68ce, 0x69e4, 0x6af8, 0x6c0c, - 0x6d20, 0x6e32, 0x6f44, 0x7055, 0x7165, 0x7274, 0x7383, 0x7490, - 0x759d, 0x76aa, 0x77b5, 0x78c0, 0x79ca, 0x7ad3, 0x7bdb, 0x7ce3, - 0x7dea, 0x7ef0, 0x7ff6, 0x80fb, 0x81ff, 0x8302, 0x8405, 0x8507, - 0x8608, 0x8709, 0x8809, 0x8908, 0x8a06, 0x8b04, 0x8c01, 0x8cfe, - 0x8dfa, 0x8ef5, 0x8fef, 0x90e9, 0x91e2, 0x92db, 0x93d2, 0x94ca, - 0x95c0, 0x96b6, 0x97ab, 0x98a0, 0x9994, 0x9a87, 0x9b7a, 0x9c6c, - 0x9d5e, 0x9e4f, 0x9f3f, 0xa02e, 0xa11e, 0xa20c, 0xa2fa, 0xa3e7, - 0xa4d4, 0xa5c0, 0xa6ab, 0xa796, 0xa881, 0xa96a, 0xaa53, 0xab3c, - 0xac24, 0xad0c, 0xadf2, 0xaed9, 0xafbe, 0xb0a4, 0xb188, 0xb26c, - 0xb350, 0xb433, 0xb515, 0xb5f7, 0xb6d9, 0xb7ba, 0xb89a, 0xb97a, - 0xba59, 0xbb38, 0xbc16, 0xbcf4, 0xbdd1, 0xbead, 0xbf8a, 0xc065, - 0xc140, 0xc21b, 0xc2f5, 0xc3cf, 0xc4a8, 0xc580, 0xc658, 0xc730, - 0xc807, 0xc8de, 0xc9b4, 0xca8a, 0xcb5f, 0xcc34, 0xcd08, 0xcddc, - 0xceaf, 0xcf82, 0xd054, 0xd126, 0xd1f7, 0xd2c8, 0xd399, 0xd469, - 0xd538, 0xd607, 0xd6d6, 0xd7a4, 0xd872, 0xd93f, 0xda0c, 0xdad9, - 0xdba5, 0xdc70, 0xdd3b, 0xde06, 0xded0, 0xdf9a, 0xe063, 0xe12c, - 0xe1f5, 0xe2bd, 0xe385, 0xe44c, 0xe513, 0xe5d9, 0xe69f, 0xe765, - 0xe82a, 0xe8ef, 0xe9b3, 0xea77, 0xeb3b, 0xebfe, 0xecc1, 0xed83, - 0xee45, 0xef06, 0xefc8, 0xf088, 0xf149, 0xf209, 0xf2c8, 0xf387, - 0xf446, 0xf505, 0xf5c3, 0xf680, 0xf73e, 0xf7fb, 0xf8b7, 0xf973, - 0xfa2f, 0xfaea, 0xfba5, 0xfc60, 0xfd1a, 0xfdd4, 0xfe8e, 0xff47 -}; - /** * nau8825_sema_acquire - acquire the semaphore of nau88l25 * @nau8825: component to register the codec private data with @@ -368,65 +332,14 @@ static void nau8825_hpvol_ramp(struct nau8825 *nau8825, } /** - * nau8825_intlog10_dec3 - Computes log10 of a value - * the result is round off to 3 decimal. This function takes reference to - * dvb-math. The source code locates as the following. - * Linux/drivers/media/dvb-core/dvb_math.c + * nau8825_intlog10_dec3 - Computes log10 of a value, rounding the result to 3 decimal places. * @value: input for log10 * * return log10(value) * 1000 */ static u32 nau8825_intlog10_dec3(u32 value) { - u32 msb, logentry, significand, interpolation, log10val; - u64 log2val; - - /* first detect the msb (count begins at 0) */ - msb = fls(value) - 1; - /** - * now we use a logtable after the following method: - * - * log2(2^x * y) * 2^24 = x * 2^24 + log2(y) * 2^24 - * where x = msb and therefore 1 <= y < 2 - * first y is determined by shifting the value left - * so that msb is bit 31 - * 0x00231f56 -> 0x8C7D5800 - * the result is y * 2^31 -> "significand" - * then the highest 9 bits are used for a table lookup - * the highest bit is discarded because it's always set - * the highest nine bits in our example are 100011000 - * so we would use the entry 0x18 - */ - significand = value << (31 - msb); - logentry = (significand >> 23) & 0xff; - /** - * last step we do is interpolation because of the - * limitations of the log table the error is that part of - * the significand which isn't used for lookup then we - * compute the ratio between the error and the next table entry - * and interpolate it between the log table entry used and the - * next one the biggest error possible is 0x7fffff - * (in our example it's 0x7D5800) - * needed value for next table entry is 0x800000 - * so the interpolation is - * (error / 0x800000) * (logtable_next - logtable_current) - * in the implementation the division is moved to the end for - * better accuracy there is also an overflow correction if - * logtable_next is 256 - */ - interpolation = ((significand & 0x7fffff) * - ((logtable[(logentry + 1) & 0xff] - - logtable[logentry]) & 0xffff)) >> 15; - - log2val = ((msb << 24) + (logtable[logentry] << 8) + interpolation); - /** - * log10(x) = log2(x) * log10(2) - */ - log10val = (log2val * LOG10_MAGIC) >> 31; - /** - * the result is round off to 3 decimal - */ - return log10val / ((1 << 24) / 1000); + return intlog10(value) / ((1 << 24) / 1000); } /**