All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Pohsun Su <pohsuns@nvidia.com>,
	daniel.lezcano@linaro.org, tglx@linutronix.de,
	thierry.reding@gmail.com, jonathanh@nvidia.com
Cc: oe-kbuild-all@lists.linux.dev, sumitg@nvidia.com,
	linux-kernel@vger.kernel.org, linux-tegra@vger.kernel.org,
	Pohsun Su <pohsuns@nvidia.com>
Subject: Re: [PATCH 1/2] clocksource/drivers/timer-tegra186: add WDIOC_GETTIMELEFT support
Date: Wed, 17 Jan 2024 20:26:50 +0800	[thread overview]
Message-ID: <202401172015.KdPd7tda-lkp@intel.com> (raw)
In-Reply-To: <20240116115838.16544-2-pohsuns@nvidia.com>

Hi Pohsun,

kernel test robot noticed the following build errors:

[auto build test ERROR on tip/timers/core]
[also build test ERROR on linus/master v6.7 next-20240117]
[cannot apply to daniel-lezcano/clockevents/next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Pohsun-Su/clocksource-drivers-timer-tegra186-add-WDIOC_GETTIMELEFT-support/20240116-200217
base:   tip/timers/core
patch link:    https://lore.kernel.org/r/20240116115838.16544-2-pohsuns%40nvidia.com
patch subject: [PATCH 1/2] clocksource/drivers/timer-tegra186: add WDIOC_GETTIMELEFT support
config: loongarch-allyesconfig (https://download.01.org/0day-ci/archive/20240117/202401172015.KdPd7tda-lkp@intel.com/config)
compiler: loongarch64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240117/202401172015.KdPd7tda-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202401172015.KdPd7tda-lkp@intel.com/

All errors (new ones prefixed by >>):

   drivers/clocksource/timer-tegra186.c: In function 'tegra186_wdt_get_timeleft':
>> drivers/clocksource/timer-tegra186.c:263:22: error: implicit declaration of function 'FIELD_GET' [-Werror=implicit-function-declaration]
     263 |         expiration = FIELD_GET(WDTSR_CURRENT_EXPIRATION_COUNT, readl_relaxed(wdt->regs + WDTSR));
         |                      ^~~~~~~~~
   cc1: some warnings being treated as errors


vim +/FIELD_GET +263 drivers/clocksource/timer-tegra186.c

   240	
   241	static unsigned int tegra186_wdt_get_timeleft(struct watchdog_device *wdd)
   242	{
   243		struct tegra186_wdt *wdt = to_tegra186_wdt(wdd);
   244		u32 timeleft;
   245		u32 expiration;
   246	
   247		if (!watchdog_active(&wdt->base)) {
   248			/* return zero if the watchdog timer is not activated. */
   249			return 0;
   250		}
   251	
   252		/*
   253		 * System power-on reset occurs on the fifth expiration of the watchdog timer and so
   254		 * when the watchdog timer is configured, the actual value programmed into the counter
   255		 * is 1/5 of the timeout value. Once the counter reaches 0, expiration count will be
   256		 * increased by 1 and the down counter restarts.
   257		 * Hence to get the time left before system reset we must combine 2 parts:
   258		 * 1. value of the current down counter
   259		 * 2. (number of counter expirations remaining) * (timeout/5)
   260		 */
   261	
   262		/* Get the current number of counter expirations. Should be a value between 0 and 4. */
 > 263		expiration = FIELD_GET(WDTSR_CURRENT_EXPIRATION_COUNT, readl_relaxed(wdt->regs + WDTSR));
   264	
   265		/* Convert the current counter value to seconds, rounding up to the nearest second. */
   266		timeleft = FIELD_GET(TMRSR_PCV, readl_relaxed(wdt->tmr->regs + TMRSR));
   267		timeleft = (timeleft + USEC_PER_SEC / 2) / USEC_PER_SEC;
   268	
   269		/*
   270		 * Calculate the time remaining by adding the time for the counter value
   271		 * to the time of the counter expirations that remain.
   272		 */
   273		timeleft += wdt->base.timeout * (4 - expiration) / 5;
   274		return timeleft;
   275	}
   276	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

  reply	other threads:[~2024-01-17 12:27 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-16 11:58 [PATCH 0/2] clocksource: fix Tegra234 SoC Watchdog Timer Pohsun Su
2024-01-16 11:58 ` [PATCH 1/2] clocksource/drivers/timer-tegra186: add WDIOC_GETTIMELEFT support Pohsun Su
2024-01-17 12:26   ` kernel test robot [this message]
2024-01-16 11:58 ` [PATCH 2/2] clocksource/drivers/timer-tegra186: fix watchdog self-pinging Pohsun Su
2024-01-21 13:27   ` kernel test robot

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=202401172015.KdPd7tda-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=jonathanh@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=pohsuns@nvidia.com \
    --cc=sumitg@nvidia.com \
    --cc=tglx@linutronix.de \
    --cc=thierry.reding@gmail.com \
    /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.