All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Dipen Patel <dipenp@nvidia.com>
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org
Subject: Re: [PATCH v4 03/11] hte: Add tegra194 HTE kernel provider
Date: Sat, 5 Feb 2022 01:58:56 +0800	[thread overview]
Message-ID: <202202050111.cOZMMgeY-lkp@intel.com> (raw)
In-Reply-To: <20220201222630.21246-4-dipenp@nvidia.com>

Hi Dipen,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on 07f8c60fe60f84977dc815ec8a6b1100827c34dd]

url:    https://github.com/0day-ci/linux/commits/Dipen-Patel/Intro-to-Hardware-timestamping-engine/20220202-062447
base:   07f8c60fe60f84977dc815ec8a6b1100827c34dd
config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20220205/202202050111.cOZMMgeY-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project a73e4ce6a59b01f0e37037761c1e6889d539d233)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install arm64 cross compiling tool for clang build
        # apt-get install binutils-aarch64-linux-gnu
        # https://github.com/0day-ci/linux/commit/6a6a517b6866ae7e4b1b878ab82312a9a2dc5b90
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Dipen-Patel/Intro-to-Hardware-timestamping-engine/20220202-062447
        git checkout 6a6a517b6866ae7e4b1b878ab82312a9a2dc5b90
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/hte/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   drivers/hte/hte-tegra194.c:379:9: error: implicit declaration of function 'gpiod_enable_hw_timestamp' [-Werror,-Wimplicit-function-declaration]
                   ret = gpiod_enable_hw_timestamp(attr->line_data,
                         ^
   drivers/hte/hte-tegra194.c:405:9: error: implicit declaration of function 'gpiod_disable_hw_timestamp' [-Werror,-Wimplicit-function-declaration]
                   ret = gpiod_disable_hw_timestamp(attr->line_data,
                         ^
>> drivers/hte/hte-tegra194.c:431:5: warning: no previous prototype for function 'tegra_hte_get_level' [-Wmissing-prototypes]
   int tegra_hte_get_level(struct tegra_hte_soc *gs, u32 line_id)
       ^
   drivers/hte/hte-tegra194.c:431:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   int tegra_hte_get_level(struct tegra_hte_soc *gs, u32 line_id)
   ^
   static 
>> drivers/hte/hte-tegra194.c:486:6: warning: no previous prototype for function 'tegra_hte_match_from_linedata' [-Wmissing-prototypes]
   bool tegra_hte_match_from_linedata(const struct hte_chip *chip,
        ^
   drivers/hte/hte-tegra194.c:486:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   bool tegra_hte_match_from_linedata(const struct hte_chip *chip,
   ^
   static 
   2 warnings and 2 errors generated.


vim +/tegra_hte_get_level +431 drivers/hte/hte-tegra194.c

   430	
 > 431	int tegra_hte_get_level(struct tegra_hte_soc *gs, u32 line_id)
   432	{
   433		struct gpio_desc *desc;
   434	
   435		if (gs->prov_data->type == HTE_TEGRA_TYPE_GPIO) {
   436			desc = gs->line_data[line_id].data;
   437			if (desc)
   438				return gpiod_get_raw_value(desc);
   439		}
   440	
   441		return -1;
   442	}
   443	
   444	static void tegra_hte_read_fifo(struct tegra_hte_soc *gs)
   445	{
   446		u32 tsh, tsl, src, pv, cv, acv, slice, bit_index, line_id;
   447		u64 tsc;
   448		struct hte_ts_data el;
   449	
   450		while ((tegra_hte_readl(gs, HTE_TESTATUS) >>
   451			HTE_TESTATUS_OCCUPANCY_SHIFT) &
   452			HTE_TESTATUS_OCCUPANCY_MASK) {
   453			tsh = tegra_hte_readl(gs, HTE_TETSCH);
   454			tsl = tegra_hte_readl(gs, HTE_TETSCL);
   455			tsc = (((u64)tsh << 32) | tsl);
   456	
   457			src = tegra_hte_readl(gs, HTE_TESRC);
   458			slice = (src >> HTE_TESRC_SLICE_SHIFT) &
   459				    HTE_TESRC_SLICE_DEFAULT_MASK;
   460	
   461			pv = tegra_hte_readl(gs, HTE_TEPCV);
   462			cv = tegra_hte_readl(gs, HTE_TECCV);
   463			acv = pv ^ cv;
   464			while (acv) {
   465				bit_index = __builtin_ctz(acv);
   466				line_id = bit_index + (slice << 5);
   467				el.tsc = tsc << HTE_TS_NS_SHIFT;
   468				el.raw_level = tegra_hte_get_level(gs, line_id);
   469				hte_push_ts_ns(gs->chip, line_id, &el);
   470				acv &= ~BIT(bit_index);
   471			}
   472			tegra_hte_writel(gs, HTE_TECMD, HTE_TECMD_CMD_POP);
   473		}
   474	}
   475	
   476	static irqreturn_t tegra_hte_isr(int irq, void *dev_id)
   477	{
   478		struct tegra_hte_soc *gs = dev_id;
   479		(void)irq;
   480	
   481		tegra_hte_read_fifo(gs);
   482	
   483		return IRQ_HANDLED;
   484	}
   485	
 > 486	bool tegra_hte_match_from_linedata(const struct hte_chip *chip,
   487					   const struct hte_ts_desc *hdesc)
   488	{
   489		struct tegra_hte_soc *hte_dev = chip->data;
   490	
   491		if (!hte_dev || (hte_dev->prov_data->type != HTE_TEGRA_TYPE_GPIO))
   492			return false;
   493	
   494		return hte_dev->c == gpiod_to_chip(hdesc->attr.line_data);
   495	}
   496	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v4 03/11] hte: Add tegra194 HTE kernel provider
Date: Sat, 05 Feb 2022 01:58:56 +0800	[thread overview]
Message-ID: <202202050111.cOZMMgeY-lkp@intel.com> (raw)
In-Reply-To: <20220201222630.21246-4-dipenp@nvidia.com>

[-- Attachment #1: Type: text/plain, Size: 5265 bytes --]

Hi Dipen,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on 07f8c60fe60f84977dc815ec8a6b1100827c34dd]

url:    https://github.com/0day-ci/linux/commits/Dipen-Patel/Intro-to-Hardware-timestamping-engine/20220202-062447
base:   07f8c60fe60f84977dc815ec8a6b1100827c34dd
config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20220205/202202050111.cOZMMgeY-lkp(a)intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project a73e4ce6a59b01f0e37037761c1e6889d539d233)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install arm64 cross compiling tool for clang build
        # apt-get install binutils-aarch64-linux-gnu
        # https://github.com/0day-ci/linux/commit/6a6a517b6866ae7e4b1b878ab82312a9a2dc5b90
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Dipen-Patel/Intro-to-Hardware-timestamping-engine/20220202-062447
        git checkout 6a6a517b6866ae7e4b1b878ab82312a9a2dc5b90
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/hte/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   drivers/hte/hte-tegra194.c:379:9: error: implicit declaration of function 'gpiod_enable_hw_timestamp' [-Werror,-Wimplicit-function-declaration]
                   ret = gpiod_enable_hw_timestamp(attr->line_data,
                         ^
   drivers/hte/hte-tegra194.c:405:9: error: implicit declaration of function 'gpiod_disable_hw_timestamp' [-Werror,-Wimplicit-function-declaration]
                   ret = gpiod_disable_hw_timestamp(attr->line_data,
                         ^
>> drivers/hte/hte-tegra194.c:431:5: warning: no previous prototype for function 'tegra_hte_get_level' [-Wmissing-prototypes]
   int tegra_hte_get_level(struct tegra_hte_soc *gs, u32 line_id)
       ^
   drivers/hte/hte-tegra194.c:431:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   int tegra_hte_get_level(struct tegra_hte_soc *gs, u32 line_id)
   ^
   static 
>> drivers/hte/hte-tegra194.c:486:6: warning: no previous prototype for function 'tegra_hte_match_from_linedata' [-Wmissing-prototypes]
   bool tegra_hte_match_from_linedata(const struct hte_chip *chip,
        ^
   drivers/hte/hte-tegra194.c:486:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   bool tegra_hte_match_from_linedata(const struct hte_chip *chip,
   ^
   static 
   2 warnings and 2 errors generated.


vim +/tegra_hte_get_level +431 drivers/hte/hte-tegra194.c

   430	
 > 431	int tegra_hte_get_level(struct tegra_hte_soc *gs, u32 line_id)
   432	{
   433		struct gpio_desc *desc;
   434	
   435		if (gs->prov_data->type == HTE_TEGRA_TYPE_GPIO) {
   436			desc = gs->line_data[line_id].data;
   437			if (desc)
   438				return gpiod_get_raw_value(desc);
   439		}
   440	
   441		return -1;
   442	}
   443	
   444	static void tegra_hte_read_fifo(struct tegra_hte_soc *gs)
   445	{
   446		u32 tsh, tsl, src, pv, cv, acv, slice, bit_index, line_id;
   447		u64 tsc;
   448		struct hte_ts_data el;
   449	
   450		while ((tegra_hte_readl(gs, HTE_TESTATUS) >>
   451			HTE_TESTATUS_OCCUPANCY_SHIFT) &
   452			HTE_TESTATUS_OCCUPANCY_MASK) {
   453			tsh = tegra_hte_readl(gs, HTE_TETSCH);
   454			tsl = tegra_hte_readl(gs, HTE_TETSCL);
   455			tsc = (((u64)tsh << 32) | tsl);
   456	
   457			src = tegra_hte_readl(gs, HTE_TESRC);
   458			slice = (src >> HTE_TESRC_SLICE_SHIFT) &
   459				    HTE_TESRC_SLICE_DEFAULT_MASK;
   460	
   461			pv = tegra_hte_readl(gs, HTE_TEPCV);
   462			cv = tegra_hte_readl(gs, HTE_TECCV);
   463			acv = pv ^ cv;
   464			while (acv) {
   465				bit_index = __builtin_ctz(acv);
   466				line_id = bit_index + (slice << 5);
   467				el.tsc = tsc << HTE_TS_NS_SHIFT;
   468				el.raw_level = tegra_hte_get_level(gs, line_id);
   469				hte_push_ts_ns(gs->chip, line_id, &el);
   470				acv &= ~BIT(bit_index);
   471			}
   472			tegra_hte_writel(gs, HTE_TECMD, HTE_TECMD_CMD_POP);
   473		}
   474	}
   475	
   476	static irqreturn_t tegra_hte_isr(int irq, void *dev_id)
   477	{
   478		struct tegra_hte_soc *gs = dev_id;
   479		(void)irq;
   480	
   481		tegra_hte_read_fifo(gs);
   482	
   483		return IRQ_HANDLED;
   484	}
   485	
 > 486	bool tegra_hte_match_from_linedata(const struct hte_chip *chip,
   487					   const struct hte_ts_desc *hdesc)
   488	{
   489		struct tegra_hte_soc *hte_dev = chip->data;
   490	
   491		if (!hte_dev || (hte_dev->prov_data->type != HTE_TEGRA_TYPE_GPIO))
   492			return false;
   493	
   494		return hte_dev->c == gpiod_to_chip(hdesc->attr.line_data);
   495	}
   496	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

  parent reply	other threads:[~2022-02-04 17:59 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-01 22:26 [PATCH v4 00/11] Intro to Hardware timestamping engine Dipen Patel
2022-02-01 22:26 ` [PATCH v4 01/11] Documentation: Add HTE subsystem guide Dipen Patel
2022-02-01 22:26 ` [PATCH v4 02/11] drivers: Add hardware timestamp engine (HTE) Dipen Patel
2022-02-01 22:26 ` [PATCH v4 03/11] hte: Add tegra194 HTE kernel provider Dipen Patel
2022-02-02 10:16   ` kernel test robot
2022-02-04 17:58   ` kernel test robot [this message]
2022-02-04 17:58     ` kernel test robot
2022-02-01 22:26 ` [PATCH v4 04/11] dt-bindings: Add HTE bindings Dipen Patel
2022-02-04 23:37   ` Rob Herring
2022-03-22 23:10     ` Dipen Patel
2022-02-01 22:26 ` [PATCH v4 05/11] hte: Add Tegra194 IRQ HTE test driver Dipen Patel
2022-02-01 22:26 ` [PATCH v4 06/11] gpiolib: Add HTE support Dipen Patel
2022-02-01 22:26 ` [PATCH v4 07/11] gpio: tegra186: Add HTE in gpio-tegra186 driver Dipen Patel
2022-02-01 22:26 ` [PATCH v4 08/11] gpiolib: cdev: Add hardware timestamp clock type Dipen Patel
2022-02-02  3:19   ` kernel test robot
2022-02-02  3:19     ` kernel test robot
2022-02-01 22:26 ` [PATCH v4 09/11] tools: gpio: Add new hardware " Dipen Patel
2022-02-01 22:26 ` [PATCH v4 10/11] hte: Add tegra GPIO HTE test driver Dipen Patel
2022-02-01 22:26 ` [PATCH v4 11/11] MAINTAINERS: Added HTE Subsystem Dipen Patel
     [not found] ` <20220202035259.1875-1-hdanton@sina.com>
2022-03-22 18:07   ` [PATCH v4 02/11] drivers: Add hardware timestamp engine (HTE) Dipen Patel
2022-02-04 17:07 [PATCH v4 08/11] gpiolib: cdev: Add hardware timestamp clock type kernel test robot
2022-02-07  7:16 ` Dan Carpenter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202202050111.cOZMMgeY-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=dipenp@nvidia.com \
    --cc=kbuild-all@lists.01.org \
    --cc=llvm@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.