Re: [PATCH V8 1/1] interconnect: intel: Add Keem Bay noc driver

From: kernel test robot
Date: Mon Nov 29 2021 - 13:05:39 EST


Hi,

I love your patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v5.16-rc3 next-20211129]
[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]

url: https://github.com/0day-ci/linux/commits/pandith-n-intel-com/interconnect-intel-Add-Keem-Bay-noc-driver/20211129-235117
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git d58071a8a76d779eedab38033ae4c821c30295a5
config: arc-allyesconfig (https://download.01.org/0day-ci/archive/20211130/202111300127.TJsMMckG-lkp@xxxxxxxxx/config)
compiler: arceb-elf-gcc (GCC) 11.2.0
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
# https://github.com/0day-ci/linux/commit/724e8829a62d4ae6908d011f927e0c3ae5b0a80c
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review pandith-n-intel-com/interconnect-intel-Add-Keem-Bay-noc-driver/20211129-235117
git checkout 724e8829a62d4ae6908d011f927e0c3ae5b0a80c
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash drivers/interconnect/intel/

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

All warnings (new ones prefixed by >>):

>> drivers/interconnect/intel/keembay-bwmon.c:142: warning: expecting prototype for flexnoc_counterp_capture(). Prototype was for flexnoc_counter_capture() instead


vim +142 drivers/interconnect/intel/keembay-bwmon.c

122
123 /**
124 * flexnoc_counterp_capture() - Capture the counter statistic values
125 * @noc: NOC type to setup counters
126 * @counter: Counter number to capture statistics values for n and n+1
127 * @value: statistics values read are returned in this address passed
128 *
129 * This function will return the statistics value of started counters.
130 * When this function returns NOC_PROBE_COMPLETED, it is guaranteed that NOC
131 * counters are idle and finished probing.
132 * Algo : The values should not returned when counters are active/running.
133 * Once the counter is frozen, the values are good to read. There is an
134 * iteration logic implemented to check this. An maximum timeout config
135 * is provided to for capture timeout - NOC_CAPTURE_TIMEOUT_MSEC
136 *
137 * Returns NOC_PROBE_COMPLETED if the counters are stopped or
138 * NOC_PROBE_ERR_IN_PROGRESS if counters are still running
139 */
140 enum noc_status flexnoc_counter_capture(enum noc_ss_type noc,
141 enum noc_counter counter, u32 *value)
> 142 {
143 unsigned long timeout;
144 u32 c0_0, c0_1;
145
146 if (noc >= NOC_TYPE_MAX ||
147 counter >= NOC_COUNTER_MAX ||
148 !value)
149 return NOC_PROBE_ERR_INVALID_ARGS;
150
151 timeout = jiffies + msecs_to_jiffies(NOC_CAPTURE_TIMEOUT_MSEC);
152 do {
153 c0_0 = noc_readl((c_offset[counter] + C_VAL));
154 usleep_range(10000, 11000);
155 c0_1 = noc_readl((c_offset[counter] + C_VAL));
156 /* If mainctrl is zero , return error */
157 if (noc_readl(MAINCTL) == 0)
158 return NOC_PROBE_ERR_IN_PROGRESS;
159 /* If counters are zero, keep reading */
160 if (0 == c0_0 && 0 == c0_1) {
161 break;
162 } else if (c0_0 != c0_1) {
163 continue;
164 } else {
165 /* counters look good break the while */
166 break;
167 }
168 } while (time_before(jiffies, timeout));
169
170 if (c0_0 != c0_1)
171 return NOC_PROBE_ERR_IN_PROGRESS;
172
173 c0_0 = noc_readl((c_offset[counter] + C_VAL));
174 c0_1 = noc_readl((c_offset[counter + 1] + C_VAL));
175 *value = (c0_0 | (c0_1 << 16));
176
177 return NOC_PROBE_COMPLETED;
178 }
179

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