[linux-next:master 2505/13375] drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c:214:2: error: implicit declaration of function 'enable_kernel_vsx'
by kernel test robot
Hi Alex,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 7bba37a1591369e2e506d599b8f5d7d0516b2dbc
commit: 582e2ce5b4ece37055c6ebe58ab48a4817d30b10 [2505/13375] drm/amdgpu/display: FP fixes for DCN3.x (v4)
config: powerpc64-randconfig-r006-20201214 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project d38205144febf4dc42c9270c6aa3d978f1ef65e1)
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 powerpc64 cross compiling tool for clang build
# apt-get install binutils-powerpc64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commi...
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout 582e2ce5b4ece37055c6ebe58ab48a4817d30b10
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c:214:2: error: implicit declaration of function 'enable_kernel_vsx' [-Werror,-Wimplicit-function-declaration]
DC_FP_START();
^
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:68:3: note: expanded from macro 'DC_FP_START'
enable_kernel_vsx(); \
^
drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c:214:2: note: did you mean 'enable_kernel_fp'?
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:68:3: note: expanded from macro 'DC_FP_START'
enable_kernel_vsx(); \
^
arch/powerpc/include/asm/switch_to.h:40:13: note: 'enable_kernel_fp' declared here
extern void enable_kernel_fp(void);
^
>> drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c:214:2: error: implicit declaration of function 'enable_kernel_altivec' [-Werror,-Wimplicit-function-declaration]
DC_FP_START();
^
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:71:3: note: expanded from macro 'DC_FP_START'
enable_kernel_altivec(); \
^
drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c:214:2: note: did you mean 'enable_kernel_fp'?
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:71:3: note: expanded from macro 'DC_FP_START'
enable_kernel_altivec(); \
^
arch/powerpc/include/asm/switch_to.h:40:13: note: 'enable_kernel_fp' declared here
extern void enable_kernel_fp(void);
^
>> drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c:216:2: error: implicit declaration of function 'disable_kernel_vsx' [-Werror,-Wimplicit-function-declaration]
DC_FP_END();
^
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:79:3: note: expanded from macro 'DC_FP_END'
disable_kernel_vsx(); \
^
drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c:216:2: note: did you mean 'disable_kernel_fp'?
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:79:3: note: expanded from macro 'DC_FP_END'
disable_kernel_vsx(); \
^
arch/powerpc/include/asm/switch_to.h:44:20: note: 'disable_kernel_fp' declared here
static inline void disable_kernel_fp(void)
^
>> drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c:216:2: error: implicit declaration of function 'disable_kernel_altivec' [-Werror,-Wimplicit-function-declaration]
DC_FP_END();
^
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:82:3: note: expanded from macro 'DC_FP_END'
disable_kernel_altivec(); \
^
drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c:216:2: note: did you mean 'disable_kernel_fp'?
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:82:3: note: expanded from macro 'DC_FP_END'
disable_kernel_altivec(); \
^
arch/powerpc/include/asm/switch_to.h:44:20: note: 'disable_kernel_fp' declared here
static inline void disable_kernel_fp(void)
^
4 errors generated.
--
^
<scratch space>:143:1: note: expanded from here
DCN_BASE__INST0_SEG3
^
drivers/gpu/drm/amd/amdgpu/../include/sienna_cichlid_ip_offset.h:373:52: note: expanded from macro 'DCN_BASE__INST0_SEG3'
#define DCN_BASE__INST0_SEG3 0x00009000
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:753:3: note: previous initialization is here
HWSEQ_DCN30_REG_LIST()
^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_hwseq.h:341:2: note: expanded from macro 'HWSEQ_DCN30_REG_LIST'
HWSEQ_DCN2_REG_LIST(),\
^~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_hwseq.h:244:2: note: expanded from macro 'HWSEQ_DCN2_REG_LIST'
SR(MPC_CRC_RESULT_C), \
^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:247:15: note: expanded from macro 'SR'
.reg_name = BASE(mm ## reg_name ## _BASE_IDX) + \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:242:25: note: expanded from macro 'BASE_INNER'
#define BASE_INNER(seg) DCN_BASE__INST0_SEG ## seg
^
<scratch space>:155:1: note: expanded from here
DCN_BASE__INST0_SEG3
^
drivers/gpu/drm/amd/amdgpu/../include/sienna_cichlid_ip_offset.h:373:52: note: expanded from macro 'DCN_BASE__INST0_SEG3'
#define DCN_BASE__INST0_SEG3 0x00009000
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:753:3: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
HWSEQ_DCN30_REG_LIST()
^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_hwseq.h:357:2: note: expanded from macro 'HWSEQ_DCN30_REG_LIST'
SR(MPC_CRC_RESULT_AR), \
^~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:247:15: note: expanded from macro 'SR'
.reg_name = BASE(mm ## reg_name ## _BASE_IDX) + \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:244:19: note: expanded from macro 'BASE'
#define BASE(seg) BASE_INNER(seg)
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:242:25: note: expanded from macro 'BASE_INNER'
#define BASE_INNER(seg) DCN_BASE__INST0_SEG ## seg
^
<scratch space>:147:1: note: expanded from here
DCN_BASE__INST0_SEG3
^
drivers/gpu/drm/amd/amdgpu/../include/sienna_cichlid_ip_offset.h:373:52: note: expanded from macro 'DCN_BASE__INST0_SEG3'
#define DCN_BASE__INST0_SEG3 0x00009000
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:753:3: note: previous initialization is here
HWSEQ_DCN30_REG_LIST()
^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_hwseq.h:341:2: note: expanded from macro 'HWSEQ_DCN30_REG_LIST'
HWSEQ_DCN2_REG_LIST(),\
^~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_hwseq.h:245:2: note: expanded from macro 'HWSEQ_DCN2_REG_LIST'
SR(MPC_CRC_RESULT_AR), \
^~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:247:15: note: expanded from macro 'SR'
.reg_name = BASE(mm ## reg_name ## _BASE_IDX) + \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:242:25: note: expanded from macro 'BASE_INNER'
#define BASE_INNER(seg) DCN_BASE__INST0_SEG ## seg
^
<scratch space>:159:1: note: expanded from here
DCN_BASE__INST0_SEG3
^
drivers/gpu/drm/amd/amdgpu/../include/sienna_cichlid_ip_offset.h:373:52: note: expanded from macro 'DCN_BASE__INST0_SEG3'
#define DCN_BASE__INST0_SEG3 0x00009000
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:875:6: warning: no previous prototype for function 'dcn30_dpp_destroy' [-Wmissing-prototypes]
void dcn30_dpp_destroy(struct dpp **dpp)
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:875:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void dcn30_dpp_destroy(struct dpp **dpp)
^
static
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:992:16: warning: no previous prototype for function 'dcn30_hubbub_create' [-Wmissing-prototypes]
struct hubbub *dcn30_hubbub_create(struct dc_context *ctx)
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:992:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
struct hubbub *dcn30_hubbub_create(struct dc_context *ctx)
^
static
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:1143:24: warning: no previous prototype for function 'dcn30_stream_encoder_create' [-Wmissing-prototypes]
struct stream_encoder *dcn30_stream_encoder_create(
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:1143:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
struct stream_encoder *dcn30_stream_encoder_create(
^
static
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:1175:19: warning: no previous prototype for function 'dcn30_hwseq_create' [-Wmissing-prototypes]
struct dce_hwseq *dcn30_hwseq_create(
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:1175:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
struct dce_hwseq *dcn30_hwseq_create(
^
static
>> drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:1576:2: error: implicit declaration of function 'enable_kernel_vsx' [-Werror,-Wimplicit-function-declaration]
DC_FP_START();
^
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:68:3: note: expanded from macro 'DC_FP_START'
enable_kernel_vsx(); \
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:1576:2: note: did you mean 'enable_kernel_fp'?
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:68:3: note: expanded from macro 'DC_FP_START'
enable_kernel_vsx(); \
^
arch/powerpc/include/asm/switch_to.h:40:13: note: 'enable_kernel_fp' declared here
extern void enable_kernel_fp(void);
^
>> drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:1576:2: error: implicit declaration of function 'enable_kernel_altivec' [-Werror,-Wimplicit-function-declaration]
DC_FP_START();
^
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:71:3: note: expanded from macro 'DC_FP_START'
enable_kernel_altivec(); \
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:1576:2: note: did you mean 'enable_kernel_fp'?
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:71:3: note: expanded from macro 'DC_FP_START'
enable_kernel_altivec(); \
^
arch/powerpc/include/asm/switch_to.h:40:13: note: 'enable_kernel_fp' declared here
extern void enable_kernel_fp(void);
^
>> drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:1578:2: error: implicit declaration of function 'disable_kernel_vsx' [-Werror,-Wimplicit-function-declaration]
DC_FP_END();
^
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:79:3: note: expanded from macro 'DC_FP_END'
disable_kernel_vsx(); \
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:1578:2: note: did you mean 'disable_kernel_fp'?
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:79:3: note: expanded from macro 'DC_FP_END'
disable_kernel_vsx(); \
^
arch/powerpc/include/asm/switch_to.h:44:20: note: 'disable_kernel_fp' declared here
static inline void disable_kernel_fp(void)
^
>> drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:1578:2: error: implicit declaration of function 'disable_kernel_altivec' [-Werror,-Wimplicit-function-declaration]
DC_FP_END();
^
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:82:3: note: expanded from macro 'DC_FP_END'
disable_kernel_altivec(); \
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:1578:2: note: did you mean 'disable_kernel_fp'?
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:82:3: note: expanded from macro 'DC_FP_END'
disable_kernel_altivec(); \
^
arch/powerpc/include/asm/switch_to.h:44:20: note: 'disable_kernel_fp' declared here
static inline void disable_kernel_fp(void)
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:2401:2: error: implicit declaration of function 'enable_kernel_vsx' [-Werror,-Wimplicit-function-declaration]
DC_FP_START();
^
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:68:3: note: expanded from macro 'DC_FP_START'
enable_kernel_vsx(); \
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:2401:2: error: implicit declaration of function 'enable_kernel_altivec' [-Werror,-Wimplicit-function-declaration]
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:71:3: note: expanded from macro 'DC_FP_START'
enable_kernel_altivec(); \
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:2403:2: error: implicit declaration of function 'disable_kernel_vsx' [-Werror,-Wimplicit-function-declaration]
DC_FP_END();
^
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:79:3: note: expanded from macro 'DC_FP_END'
disable_kernel_vsx(); \
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:2403:2: error: implicit declaration of function 'disable_kernel_altivec' [-Werror,-Wimplicit-function-declaration]
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:82:3: note: expanded from macro 'DC_FP_END'
disable_kernel_altivec(); \
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:2463:2: error: implicit declaration of function 'enable_kernel_vsx' [-Werror,-Wimplicit-function-declaration]
DC_FP_START();
^
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:68:3: note: expanded from macro 'DC_FP_START'
enable_kernel_vsx(); \
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:2463:2: error: implicit declaration of function 'enable_kernel_altivec' [-Werror,-Wimplicit-function-declaration]
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:71:3: note: expanded from macro 'DC_FP_START'
enable_kernel_altivec(); \
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:2465:2: error: implicit declaration of function 'disable_kernel_vsx' [-Werror,-Wimplicit-function-declaration]
DC_FP_END();
^
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:79:3: note: expanded from macro 'DC_FP_END'
disable_kernel_vsx(); \
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:2465:2: error: implicit declaration of function 'disable_kernel_altivec' [-Werror,-Wimplicit-function-declaration]
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:82:3: note: expanded from macro 'DC_FP_END'
disable_kernel_altivec(); \
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:2537:4: error: implicit declaration of function 'enable_kernel_vsx' [-Werror,-Wimplicit-function-declaration]
DC_FP_START();
^
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:68:3: note: expanded from macro 'DC_FP_START'
enable_kernel_vsx(); \
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:2537:4: error: implicit declaration of function 'enable_kernel_altivec' [-Werror,-Wimplicit-function-declaration]
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:71:3: note: expanded from macro 'DC_FP_START'
enable_kernel_altivec(); \
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:2540:4: error: implicit declaration of function 'disable_kernel_vsx' [-Werror,-Wimplicit-function-declaration]
DC_FP_END();
^
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:79:3: note: expanded from macro 'DC_FP_END'
disable_kernel_vsx(); \
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:2540:4: error: implicit declaration of function 'disable_kernel_altivec' [-Werror,-Wimplicit-function-declaration]
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:82:3: note: expanded from macro 'DC_FP_END'
disable_kernel_altivec(); \
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:2644:2: error: implicit declaration of function 'enable_kernel_vsx' [-Werror,-Wimplicit-function-declaration]
DC_FP_START();
^
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:68:3: note: expanded from macro 'DC_FP_START'
enable_kernel_vsx(); \
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:2644:2: error: implicit declaration of function 'enable_kernel_altivec' [-Werror,-Wimplicit-function-declaration]
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:71:3: note: expanded from macro 'DC_FP_START'
enable_kernel_altivec(); \
^
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_resource.c:2923:2: error: implicit declaration of function 'disable_kernel_vsx' [-Werror,-Wimplicit-function-declaration]
DC_FP_END();
^
drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:79:3: note: expanded from macro 'DC_FP_END'
disable_kernel_vsx(); \
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
115 warnings and 20 errors generated.
vim +/enable_kernel_vsx +214 drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
159
160 void dcn3_init_clocks(struct clk_mgr *clk_mgr_base)
161 {
162 struct clk_mgr_internal *clk_mgr = TO_CLK_MGR_INTERNAL(clk_mgr_base);
163 unsigned int num_levels;
164
165 memset(&(clk_mgr_base->clks), 0, sizeof(struct dc_clocks));
166 clk_mgr_base->clks.p_state_change_support = true;
167 clk_mgr_base->clks.prev_p_state_change_support = true;
168 clk_mgr->smu_present = false;
169
170 if (!clk_mgr_base->bw_params)
171 return;
172
173 if (!clk_mgr_base->force_smu_not_present && dcn30_smu_get_smu_version(clk_mgr, &clk_mgr->smu_ver))
174 clk_mgr->smu_present = true;
175
176 if (!clk_mgr->smu_present)
177 return;
178
179 // do we fail if these fail? if so, how? do we not care to check?
180 dcn30_smu_check_driver_if_version(clk_mgr);
181 dcn30_smu_check_msg_header_version(clk_mgr);
182
183 /* DCFCLK */
184 dcn3_init_single_clock(clk_mgr, PPCLK_DCEFCLK,
185 &clk_mgr_base->bw_params->clk_table.entries[0].dcfclk_mhz,
186 &num_levels);
187
188 /* DTBCLK */
189 dcn3_init_single_clock(clk_mgr, PPCLK_DTBCLK,
190 &clk_mgr_base->bw_params->clk_table.entries[0].dtbclk_mhz,
191 &num_levels);
192
193 // DPREFCLK ???
194
195 /* DISPCLK */
196 dcn3_init_single_clock(clk_mgr, PPCLK_DISPCLK,
197 &clk_mgr_base->bw_params->clk_table.entries[0].dispclk_mhz,
198 &num_levels);
199
200 /* DPPCLK */
201 dcn3_init_single_clock(clk_mgr, PPCLK_PIXCLK,
202 &clk_mgr_base->bw_params->clk_table.entries[0].dppclk_mhz,
203 &num_levels);
204
205 /* PHYCLK */
206 dcn3_init_single_clock(clk_mgr, PPCLK_PHYCLK,
207 &clk_mgr_base->bw_params->clk_table.entries[0].phyclk_mhz,
208 &num_levels);
209
210 /* Get UCLK, update bounding box */
211 clk_mgr_base->funcs->get_memclk_states_from_smu(clk_mgr_base);
212
213 /* WM range table */
> 214 DC_FP_START();
215 dcn3_build_wm_range_table(clk_mgr);
> 216 DC_FP_END();
217 }
218
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 9 months
[microchip-ung-linux-upstream:v5.10-webstax 49/88] drivers/dma/microchip-sparx5-fdma.c:1766:3: error: implicit declaration of function '__flush_dcache_area'
by kernel test robot
tree: https://github.com/microchip-ung/linux-upstream.git v5.10-webstax
head: 0c603c93d534e71ceee9485bfe1b0b75561efb0e
commit: e92004968e12f9736518e67aebd099873c1c52f5 [49/88] dmaengine: sparx5: Add Sparx5 DMA driver
config: mips-randconfig-r025-20201214 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project d38205144febf4dc42c9270c6aa3d978f1ef65e1)
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 mips cross compiling tool for clang build
# apt-get install binutils-mips-linux-gnu
# https://github.com/microchip-ung/linux-upstream/commit/e92004968e12f97365...
git remote add microchip-ung-linux-upstream https://github.com/microchip-ung/linux-upstream.git
git fetch --no-tags microchip-ung-linux-upstream v5.10-webstax
git checkout e92004968e12f9736518e67aebd099873c1c52f5
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
>> drivers/dma/microchip-sparx5-fdma.c:765:4: warning: format specifies type 'unsigned long long' but the argument has type 'dma_addr_t' (aka 'unsigned int') [-Wformat]
iter->phys,
^~~~~~~~~~
include/linux/printk.h:430:38: note: expanded from macro 'pr_debug'
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/printk.h:140:17: note: expanded from macro 'no_printk'
printk(fmt, ##__VA_ARGS__); \
~~~ ^~~~~~~~~~~
drivers/dma/microchip-sparx5-fdma.c:959:19: warning: format specifies type 'unsigned long long' but the argument has type 'dma_addr_t' (aka 'unsigned int') [-Wformat]
chan->chan_id, dcb->phys);
^~~~~~~~~
include/linux/printk.h:430:38: note: expanded from macro 'pr_debug'
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/printk.h:140:17: note: expanded from macro 'no_printk'
printk(fmt, ##__VA_ARGS__); \
~~~ ^~~~~~~~~~~
drivers/dma/microchip-sparx5-fdma.c:1009:4: warning: format specifies type 'unsigned long long' but the argument has type 'dma_addr_t' (aka 'unsigned int') [-Wformat]
dcb->phys,
^~~~~~~~~
include/linux/printk.h:430:38: note: expanded from macro 'pr_debug'
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/printk.h:140:17: note: expanded from macro 'no_printk'
printk(fmt, ##__VA_ARGS__); \
~~~ ^~~~~~~~~~~
drivers/dma/microchip-sparx5-fdma.c:1057:6: warning: format specifies type 'unsigned long long' but the argument has type 'dma_addr_t' (aka 'unsigned int') [-Wformat]
first->phys,
^~~~~~~~~~~
include/linux/printk.h:430:38: note: expanded from macro 'pr_debug'
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/printk.h:140:17: note: expanded from macro 'no_printk'
printk(fmt, ##__VA_ARGS__); \
~~~ ^~~~~~~~~~~
drivers/dma/microchip-sparx5-fdma.c:1078:5: warning: format specifies type 'unsigned long long' but the argument has type 'dma_addr_t' (aka 'unsigned int') [-Wformat]
iter->phys,
^~~~~~~~~~
include/linux/printk.h:430:38: note: expanded from macro 'pr_debug'
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/printk.h:140:17: note: expanded from macro 'no_printk'
printk(fmt, ##__VA_ARGS__); \
~~~ ^~~~~~~~~~~
drivers/dma/microchip-sparx5-fdma.c:1197:31: warning: format specifies type 'unsigned long long' but the argument has type 'dma_addr_t' (aka 'unsigned int') [-Wformat]
fdma_chan->chan.chan_id, prev->phys);
^~~~~~~~~~
include/linux/printk.h:430:38: note: expanded from macro 'pr_debug'
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/printk.h:140:17: note: expanded from macro 'no_printk'
printk(fmt, ##__VA_ARGS__); \
~~~ ^~~~~~~~~~~
drivers/dma/microchip-sparx5-fdma.c:1215:6: warning: format specifies type 'unsigned long long' but the argument has type 'dma_addr_t' (aka 'unsigned int') [-Wformat]
iter->phys,
^~~~~~~~~~
include/linux/printk.h:430:38: note: expanded from macro 'pr_debug'
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/printk.h:140:17: note: expanded from macro 'no_printk'
printk(fmt, ##__VA_ARGS__); \
~~~ ^~~~~~~~~~~
drivers/dma/microchip-sparx5-fdma.c:1257:32: warning: format specifies type 'unsigned long long' but the argument has type 'dma_addr_t' (aka 'unsigned int') [-Wformat]
fdma_chan->chan.chan_id, iter->phys);
^~~~~~~~~~
include/linux/printk.h:430:38: note: expanded from macro 'pr_debug'
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/printk.h:140:17: note: expanded from macro 'no_printk'
printk(fmt, ##__VA_ARGS__); \
~~~ ^~~~~~~~~~~
drivers/dma/microchip-sparx5-fdma.c:1358:21: warning: format specifies type 'unsigned long long' but the argument has type 'dma_addr_t' (aka 'unsigned int') [-Wformat]
chan->chan_id, dcb->phys, &dcb->txd, idx);
^~~~~~~~~
include/linux/printk.h:430:38: note: expanded from macro 'pr_debug'
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/printk.h:140:17: note: expanded from macro 'no_printk'
printk(fmt, ##__VA_ARGS__); \
~~~ ^~~~~~~~~~~
drivers/dma/microchip-sparx5-fdma.c:1410:4: warning: format specifies type 'unsigned long long' but the argument has type 'dma_addr_t' (aka 'unsigned int') [-Wformat]
iter->txd.phys,
^~~~~~~~~~~~~~
include/linux/printk.h:430:38: note: expanded from macro 'pr_debug'
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/printk.h:140:17: note: expanded from macro 'no_printk'
printk(fmt, ##__VA_ARGS__); \
~~~ ^~~~~~~~~~~
drivers/dma/microchip-sparx5-fdma.c:1472:5: warning: format specifies type 'unsigned long long' but the argument has type 'dma_addr_t' (aka 'unsigned int') [-Wformat]
first->phys);
^~~~~~~~~~~
include/linux/printk.h:430:38: note: expanded from macro 'pr_debug'
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/printk.h:140:17: note: expanded from macro 'no_printk'
printk(fmt, ##__VA_ARGS__); \
~~~ ^~~~~~~~~~~
drivers/dma/microchip-sparx5-fdma.c:1482:7: warning: format specifies type 'unsigned long long' but the argument has type 'dma_addr_t' (aka 'unsigned int') [-Wformat]
dcb->phys);
^~~~~~~~~
include/linux/printk.h:430:38: note: expanded from macro 'pr_debug'
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/printk.h:140:17: note: expanded from macro 'no_printk'
printk(fmt, ##__VA_ARGS__); \
~~~ ^~~~~~~~~~~
drivers/dma/microchip-sparx5-fdma.c:1490:8: warning: format specifies type 'unsigned long long' but the argument has type 'dma_addr_t' (aka 'unsigned int') [-Wformat]
prev->phys, dcb->phys);
^~~~~~~~~~
include/linux/printk.h:430:38: note: expanded from macro 'pr_debug'
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/printk.h:140:17: note: expanded from macro 'no_printk'
printk(fmt, ##__VA_ARGS__); \
~~~ ^~~~~~~~~~~
drivers/dma/microchip-sparx5-fdma.c:1490:20: warning: format specifies type 'unsigned long long' but the argument has type 'dma_addr_t' (aka 'unsigned int') [-Wformat]
prev->phys, dcb->phys);
^~~~~~~~~
include/linux/printk.h:430:38: note: expanded from macro 'pr_debug'
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/printk.h:140:17: note: expanded from macro 'no_printk'
printk(fmt, ##__VA_ARGS__); \
~~~ ^~~~~~~~~~~
drivers/dma/microchip-sparx5-fdma.c:1526:8: warning: format specifies type 'unsigned long long' but the argument has type 'dma_addr_t' (aka 'unsigned int') [-Wformat]
prev->phys, dcb->phys);
^~~~~~~~~~
include/linux/printk.h:430:38: note: expanded from macro 'pr_debug'
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/printk.h:140:17: note: expanded from macro 'no_printk'
printk(fmt, ##__VA_ARGS__); \
~~~ ^~~~~~~~~~~
drivers/dma/microchip-sparx5-fdma.c:1526:20: warning: format specifies type 'unsigned long long' but the argument has type 'dma_addr_t' (aka 'unsigned int') [-Wformat]
prev->phys, dcb->phys);
^~~~~~~~~
include/linux/printk.h:430:38: note: expanded from macro 'pr_debug'
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/printk.h:140:17: note: expanded from macro 'no_printk'
printk(fmt, ##__VA_ARGS__); \
~~~ ^~~~~~~~~~~
drivers/dma/microchip-sparx5-fdma.c:1546:5: warning: format specifies type 'unsigned long long' but the argument has type 'dma_addr_t' (aka 'unsigned int') [-Wformat]
dcb->phys);
^~~~~~~~~
include/linux/printk.h:430:38: note: expanded from macro 'pr_debug'
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/printk.h:140:17: note: expanded from macro 'no_printk'
printk(fmt, ##__VA_ARGS__); \
~~~ ^~~~~~~~~~~
drivers/dma/microchip-sparx5-fdma.c:1575:4: warning: format specifies type 'unsigned long long' but the argument has type 'dma_addr_t' (aka 'unsigned int') [-Wformat]
iter->phys,
^~~~~~~~~~
include/linux/printk.h:430:38: note: expanded from macro 'pr_debug'
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/printk.h:140:17: note: expanded from macro 'no_printk'
printk(fmt, ##__VA_ARGS__); \
~~~ ^~~~~~~~~~~
drivers/dma/microchip-sparx5-fdma.c:1655:4: warning: format specifies type 'unsigned long long' but the argument has type 'dma_addr_t' (aka 'unsigned int') [-Wformat]
iter->phys,
^~~~~~~~~~
include/linux/printk.h:430:38: note: expanded from macro 'pr_debug'
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/printk.h:140:17: note: expanded from macro 'no_printk'
printk(fmt, ##__VA_ARGS__); \
~~~ ^~~~~~~~~~~
>> drivers/dma/microchip-sparx5-fdma.c:1766:3: error: implicit declaration of function '__flush_dcache_area' [-Werror,-Wimplicit-function-declaration]
__flush_dcache_area(buffer, 64);
^
drivers/dma/microchip-sparx5-fdma.c:1766:3: note: did you mean '__flush_dcache_page'?
arch/mips/include/asm/cacheflush.h:53:13: note: '__flush_dcache_page' declared here
extern void __flush_dcache_page(struct page *page);
^
drivers/dma/microchip-sparx5-fdma.c:1775:13: warning: format specifies type 'unsigned long long' but the argument has type 'dma_addr_t' (aka 'unsigned int') [-Wformat]
buffer, phys,
^~~~
drivers/dma/microchip-sparx5-fdma.c:1787:13: warning: format specifies type 'unsigned long long' but the argument has type 'dma_addr_t' (aka 'unsigned int') [-Wformat]
buffer, phys,
^~~~
>> drivers/dma/microchip-sparx5-fdma.c:1842:55: error: incompatible pointer types passing 'u64 *' (aka 'unsigned long long *') to parameter of type 'dma_addr_t *' (aka 'unsigned int *') [-Werror,-Wincompatible-pointer-types]
buffer = dma_pool_zalloc(priv->dcb_pool, GFP_ATOMIC, &phys);
^~~~~
include/linux/dmapool.h:53:21: note: passing argument to parameter 'handle' here
dma_addr_t *handle)
^
>> drivers/dma/microchip-sparx5-fdma.c:1927:3: warning: format specifies type 'unsigned long long' but the argument has type 'phys_addr_t' (aka 'unsigned int') [-Wformat]
region->phys_addr,
^~~~~~~~~~~~~~~~~
include/linux/printk.h:430:38: note: expanded from macro 'pr_debug'
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/printk.h:140:17: note: expanded from macro 'no_printk'
printk(fmt, ##__VA_ARGS__); \
~~~ ^~~~~~~~~~~
drivers/dma/microchip-sparx5-fdma.c:1930:3: warning: format specifies type 'unsigned long long' but the argument has type 'phys_addr_t' (aka 'unsigned int') [-Wformat]
region->vcore_addr);
^~~~~~~~~~~~~~~~~~
include/linux/printk.h:430:38: note: expanded from macro 'pr_debug'
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/printk.h:140:17: note: expanded from macro 'no_printk'
printk(fmt, ##__VA_ARGS__); \
~~~ ^~~~~~~~~~~
>> drivers/dma/microchip-sparx5-fdma.c:2222:13: warning: implicit conversion from 'long long' to 'phys_addr_t' (aka 'unsigned int') changes value from 26038239232 to 268435456 [-Wconstant-conversion]
VCORE_CSR_SPACE);
^~~~~~~~~~~~~~~
drivers/dma/microchip-sparx5-fdma.c:42:52: note: expanded from macro 'VCORE_CSR_SPACE'
#define VCORE_CSR_SPACE 0x610000000
^~~~~~~~~~~
drivers/dma/microchip-sparx5-fdma.c:2229:65: warning: implicit conversion from 'long long' to 'phys_addr_t' (aka 'unsigned int') changes value from 25769803776 to 0 [-Wconstant-conversion]
microchip_sparx5_init_region(pdev, priv, res, SPARX5_AMBA_TOP, AMBA_TOP_SPACE);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~
drivers/dma/microchip-sparx5-fdma.c:41:52: note: expanded from macro 'AMBA_TOP_SPACE'
#define AMBA_TOP_SPACE 0x600000000
^~~~~~~~~~~
drivers/dma/microchip-sparx5-fdma.c:2280:6: warning: format specifies type 'unsigned long long' but the argument has type 'dma_addr_t' (aka 'unsigned int') [-Wformat]
iter->phys,
^~~~~~~~~~
include/linux/printk.h:430:38: note: expanded from macro 'pr_debug'
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/linux/printk.h:140:17: note: expanded from macro 'no_printk'
printk(fmt, ##__VA_ARGS__); \
~~~ ^~~~~~~~~~~
>> drivers/dma/microchip-sparx5-fdma.c:2322:6: warning: no previous prototype for function 'unload_sparx5_fdma_driver' [-Wmissing-prototypes]
void unload_sparx5_fdma_driver(void)
^
drivers/dma/microchip-sparx5-fdma.c:2322:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void unload_sparx5_fdma_driver(void)
^
static
27 warnings and 2 errors generated.
vim +/__flush_dcache_area +1766 drivers/dma/microchip-sparx5-fdma.c
1750
1751 static int microchip_sparx5_buffer_access_test(struct microchip_sparx5_fdma *priv,
1752 char *message,
1753 int size,
1754 bool cached,
1755 u32 *buffer,
1756 dma_addr_t phys)
1757 {
1758 u32 value1 = 0xdeadbeef;
1759 u32 value2;
1760
1761 if (priv->using_pcie) {
1762 phys += PCIE_TARGET_OFFSET;
1763 }
1764 *buffer = value1;
1765 if (cached) {
> 1766 __flush_dcache_area(buffer, 64);
1767 }
1768
1769 value2 = microchip_sparx5_vcore_readl(priv, phys);
1770 if (value1 != value2) {
1771 snprintf(message, size, "Read to %scached buffer via vcore:"
1772 " 0x%px, phys: 0x%09llx, "
1773 " 0x%x != 0x%x\n",
1774 cached ? "" : "un",
1775 buffer, phys,
1776 value1, value2);
1777 return -1;
1778 }
1779 value1 = 0x12345678;
1780 microchip_sparx5_fdma_vcore_writel(priv, phys, value1);
1781 value2 = *buffer;
1782 if (value1 != value2) {
1783 snprintf(message, size, "Write to %scached buffer via vcore:"
1784 " 0x%px, phys: 0x%09llx, "
1785 " 0x%x != 0x%x\n",
1786 cached ? "" : "un",
1787 buffer, phys,
1788 value1, value2);
1789 return -1;
1790 }
1791 return 0;
1792 }
1793
1794
1795 static int microchip_sparx5_access_test(struct platform_device *pdev,
1796 struct microchip_sparx5_fdma *priv)
1797 {
1798 /* Check VCore Access functionality by reading chip id */
1799 u32 test0 = 0x12345678;
1800 u32 test1 = 0xabcdef;
1801 u32 value = 0;
1802 u32 vcore_chip_id;
1803 u32 vaccess_chip_id;
1804 char message[160];
1805 u64 phys;
1806 u32 *buffer;
1807 int res;
1808
1809 vcore_chip_id = microchip_sparx5_fdma_readl(priv, DEVCPU_GCB_CHIP_REGS_ID_OFF);
1810 dev_info(&pdev->dev, "Chip ID: %08x\n", vcore_chip_id);
1811 if (vcore_chip_id != CHIP_ID) {
1812 snprintf(message, 160, "Chip ID error: 0x%08x != 0x%08x \n",
1813 vcore_chip_id, CHIP_ID);
1814 goto error;
1815 }
1816
1817 vaccess_chip_id = microchip_sparx5_vcore_read_reg(priv,
1818 DEVCPU_GCB_CHIP_REGS_ID_OFF);
1819 if (vaccess_chip_id != vcore_chip_id) {
1820 snprintf(message, 160, "VCore access error: CSR space:"
1821 " chip_id: 0x%08x\n",
1822 vaccess_chip_id);
1823 goto error;
1824 }
1825 /* Write value to General CPU reg 0 */
1826 microchip_sparx5_fdma_vcore_write_reg(priv, CPU_REGS_GPR_R_OFF(0), test0);
1827 /* Write value to General CPU reg 1 */
1828 microchip_sparx5_fdma_vcore_write_reg(priv, CPU_REGS_GPR_R_OFF(1), test1);
1829 /* Read General CPU reg 0 */
1830 value = microchip_sparx5_vcore_read_reg(priv, CPU_REGS_GPR_R_OFF(0));
1831 if (test0 != value) {
1832 snprintf(message, 160, "VCore access error: AMBA_TOP space\n");
1833 goto error;
1834 }
1835 /* Read General CPU reg 1 */
1836 value = microchip_sparx5_vcore_read_reg(priv, CPU_REGS_GPR_R_OFF(1));
1837 if (test1 != value) {
1838 snprintf(message, 160, "VCore access error: AMBA_TOP space\n");
1839 goto error;
1840 }
1841 microchip_sparx5_fdma_disable_acp_caching(priv);
> 1842 buffer = dma_pool_zalloc(priv->dcb_pool, GFP_ATOMIC, &phys);
1843 res = microchip_sparx5_buffer_access_test(priv, message, 160, 0, buffer, phys);
1844 dma_pool_free(priv->dcb_pool, buffer, phys);
1845 if (res) {
1846 goto error;
1847 }
1848 buffer = kmalloc(64, GFP_KERNEL);
1849 phys = virt_to_phys(buffer);
1850 res = microchip_sparx5_buffer_access_test(priv, message, 160, 1, buffer, phys);
1851 kfree(buffer);
1852 if (res) {
1853 goto error;
1854 }
1855 snprintf(message, 160, "Successfully accessed host via vcore access\n");
1856 dev_info(&pdev->dev, message);
1857 return 0;
1858 error:
1859 dev_err(&pdev->dev, message);
1860 return -ENODEV;
1861 }
1862
1863 static void microchip_sparx5_setup_pcie_atu(struct microchip_sparx5_fdma *priv)
1864 {
1865 /* DMA Address Translation Configuration
1866 * Enable outbound ATU for region 0:
1867 * Set enable bit
1868 * Set base address = PCI_TARGET_SPACE (the vcore side)
1869 * Set limit address = PCI_TARGET_SPACE + 4GB (the vcore side)
1870 * Set target address = 0 (the host side)
1871 */
1872 microchip_sparx5_fdma_vcore_write_reg(priv,
1873 PCIE_DM_EP_PF0_ATU_REGION_CTRL_2_OFF_OUTBOUND_0_OFF,
1874 PCIE_DM_EP_PF0_ATU_REGION_CTRL_2_OFF_OUTBOUND_0_EN);
1875
1876 microchip_sparx5_fdma_vcore_write_reg(priv,
1877 PCIE_DM_EP_PF0_ATU_LWR_BASE_ADDR_OFF_OUTBOUND_0_OFF,
1878 (u32)PCIE_TARGET_OFFSET);
1879 microchip_sparx5_fdma_vcore_write_reg(priv,
1880 PCIE_DM_EP_PF0_ATU_UPPER_BASE_ADDR_OFF_OUTBOUND_0_OFF,
1881 (u32)(PCIE_TARGET_OFFSET >> 32));
1882 microchip_sparx5_fdma_vcore_write_reg(priv,
1883 PCIE_DM_EP_PF0_ATU_LIMIT_ADDR_OFF_OUTBOUND_0_OFF,
1884 ~0x0);
1885 microchip_sparx5_fdma_vcore_write_reg(priv,
1886 PCIE_DM_EP_PF0_ATU_UPPR_LIMIT_ADDR_OFF_OUTBOUND_0_OFF,
1887 (u32)(PCIE_TARGET_OFFSET >> 32));
1888 microchip_sparx5_fdma_vcore_write_reg(priv,
1889 PCIE_DM_EP_PF0_ATU_LWR_TARGET_ADDR_OFF_OUTBOUND_0_OFF,
1890 0);
1891 microchip_sparx5_fdma_vcore_write_reg(priv,
1892 PCIE_DM_EP_PF0_ATU_UPPER_TARGET_ADDR_OFF_OUTBOUND_0_OFF,
1893 0);
1894 }
1895
1896 static void microchip_sparx5_reset_fdma(struct microchip_sparx5_fdma *priv)
1897 {
1898 pr_debug("%s:%d %s\n", __FILE__, __LINE__, __func__);
1899 microchip_sparx5_fdma_writel(priv, FDMA_CTRL_OFF, 0);
1900 microchip_sparx5_fdma_writel(priv, FDMA_CTRL_OFF, FDMA_CTRL_NRESET);
1901 /* Use the Address Translation for PCIe */
1902 if (priv->using_pcie) {
1903 microchip_sparx5_setup_pcie_atu(priv);
1904 }
1905 /* Workaround for FDMA secure mode operations */
1906 microchip_sparx5_fdma_disable_acp_caching(priv);
1907 }
1908
1909 static bool microchip_sparx5_init_region(struct platform_device *pdev,
1910 struct microchip_sparx5_fdma *priv, struct resource *res,
1911 unsigned int top, phys_addr_t vcore_addr)
1912 {
1913 struct microchip_sparx5_fdma_region *region = 0;
1914
1915 if (!res->start || !res->end) {
1916 return 0;
1917 }
1918 region = &priv->regions[GET_REGION_INDEX(top)];
1919 region->phys_addr = res->start;
1920 region->size = res->end - res->start + 1;
1921 region->io_addr = ioremap(region->phys_addr, region->size);
1922 region->vcore_addr = vcore_addr;
1923 pr_debug("%s:%d %s: IO Mapping %u: 0x%llx -> 0x%px .. 0x%px,"
1924 " vcore: 0x%llx\n",
1925 __FILE__, __LINE__, __func__,
1926 GET_REGION_INDEX(top),
> 1927 region->phys_addr,
1928 region->io_addr,
1929 region->io_addr + region->size - 1,
1930 region->vcore_addr);
1931 return region->phys_addr != region->vcore_addr;
1932 }
1933
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 9 months
[microchip-ung-linux-upstream:v5.10-webstax 66/88] drivers/spi/spi-vcoreiii.c:59: Error: unrecognized instruction `nop'
by kernel test robot
tree: https://github.com/microchip-ung/linux-upstream.git v5.10-webstax
head: 0c603c93d534e71ceee9485bfe1b0b75561efb0e
commit: e4904df0bc6023a8a456bb9ca9b6aa7af74c9bc6 [66/88] spi: vcoreiii: Add MSCC vcoreiii bitbang driver
config: openrisc-allmodconfig (attached as .config)
compiler: or1k-linux-gcc (GCC) 9.3.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/microchip-ung/linux-upstream/commit/e4904df0bc6023a8a4...
git remote add microchip-ung-linux-upstream https://github.com/microchip-ung/linux-upstream.git
git fetch --no-tags microchip-ung-linux-upstream v5.10-webstax
git checkout e4904df0bc6023a8a456bb9ca9b6aa7af74c9bc6
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=openrisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/spi/spi-vcoreiii.c:67:1: warning: 'inline' is not at beginning of declaration [-Wold-style-declaration]
67 | static void inline vcoreiii_bb_writel_hold(struct spi_vcoreiii *priv, u32 value)
| ^~~~~~
drivers/spi/spi-vcoreiii.c:240:5: warning: no previous prototype for 'vcoreiii_bb_transfer_one_message' [-Wmissing-prototypes]
240 | int vcoreiii_bb_transfer_one_message(struct spi_master *master,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/spi/spi-vcoreiii.c: Assembler messages:
>> drivers/spi/spi-vcoreiii.c:59: Error: unrecognized instruction `nop'
>> drivers/spi/spi-vcoreiii.c:59: Error: unrecognized instruction `nop'
>> drivers/spi/spi-vcoreiii.c:59: Error: unrecognized instruction `nop'
>> drivers/spi/spi-vcoreiii.c:59: Error: unrecognized instruction `nop'
>> drivers/spi/spi-vcoreiii.c:59: Error: unrecognized instruction `nop'
>> drivers/spi/spi-vcoreiii.c:59: Error: unrecognized instruction `nop'
>> drivers/spi/spi-vcoreiii.c:59: Error: unrecognized instruction `nop'
>> drivers/spi/spi-vcoreiii.c:59: Error: unrecognized instruction `nop'
vim +59 drivers/spi/spi-vcoreiii.c
54
55 static void hold_time_delay_nop_1_4khz(void)
56 {
57 int i;
58 for (i = 0; i < 8; i++)
> 59 DELAY_8_NOPS();
60 }
61
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 9 months
[ceph-client:pr/22 32/34] include/linux/ceph/msgr.h:43:1: warning: 'static' is not at beginning of declaration
by kernel test robot
tree: https://github.com/ceph/ceph-client.git pr/22
head: 524d1e6601a7d1214c502d5739f5a34f09a0960c
commit: 48b7789934f0e94b975e98b74eaf18301fc0cfcd [32/34] libceph: implement msgr2.1 protocol (crc and secure modes)
config: arm-randconfig-r006-20201214 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.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/ceph/ceph-client/commit/48b7789934f0e94b975e98b74eaf18...
git remote add ceph-client https://github.com/ceph/ceph-client.git
git fetch --no-tags ceph-client pr/22
git checkout 48b7789934f0e94b975e98b74eaf18301fc0cfcd
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from include/linux/ceph/ceph_fs.h:16,
from include/linux/ceph/types.h:11,
from include/linux/ceph/libceph.h:20,
from drivers/block/rbd.c:31:
>> include/linux/ceph/msgr.h:43:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
43 | DEFINE_MSGR2_FEATURE( 0, 1, REVISION_1) // msgr2.1
| ^~~~~~~~~~~~~~~~~~~~
>> include/linux/ceph/msgr.h:43:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
include/linux/ceph/msgr.h:37:24: warning: 'CEPH_MSGR2_FEATUREMASK_REVISION_1' defined but not used [-Wunused-const-variable=]
37 | const static uint64_t CEPH_MSGR2_FEATUREMASK_##name = \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/ceph/msgr.h:43:1: note: in expansion of macro 'DEFINE_MSGR2_FEATURE'
43 | DEFINE_MSGR2_FEATURE( 0, 1, REVISION_1) // msgr2.1
| ^~~~~~~~~~~~~~~~~~~~
include/linux/ceph/msgr.h:36:24: warning: 'CEPH_MSGR2_FEATURE_REVISION_1' defined but not used [-Wunused-const-variable=]
36 | const static uint64_t CEPH_MSGR2_FEATURE_##name = (1ULL << bit); \
| ^~~~~~~~~~~~~~~~~~~
include/linux/ceph/msgr.h:43:1: note: in expansion of macro 'DEFINE_MSGR2_FEATURE'
43 | DEFINE_MSGR2_FEATURE( 0, 1, REVISION_1) // msgr2.1
| ^~~~~~~~~~~~~~~~~~~~
--
In file included from include/linux/ceph/ceph_fs.h:16,
from include/linux/ceph/types.h:11,
from include/linux/ceph/decode.h:11,
from net/ceph/messenger_v2.c:24:
>> include/linux/ceph/msgr.h:43:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
43 | DEFINE_MSGR2_FEATURE( 0, 1, REVISION_1) // msgr2.1
| ^~~~~~~~~~~~~~~~~~~~
>> include/linux/ceph/msgr.h:43:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
include/linux/ceph/msgr.h:37:24: warning: 'CEPH_MSGR2_FEATUREMASK_REVISION_1' defined but not used [-Wunused-const-variable=]
37 | const static uint64_t CEPH_MSGR2_FEATUREMASK_##name = \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/ceph/msgr.h:43:1: note: in expansion of macro 'DEFINE_MSGR2_FEATURE'
43 | DEFINE_MSGR2_FEATURE( 0, 1, REVISION_1) // msgr2.1
| ^~~~~~~~~~~~~~~~~~~~
vim +/static +43 include/linux/ceph/msgr.h
34
35 #define DEFINE_MSGR2_FEATURE(bit, incarnation, name) \
36 const static uint64_t CEPH_MSGR2_FEATURE_##name = (1ULL << bit); \
37 const static uint64_t CEPH_MSGR2_FEATUREMASK_##name = \
38 (1ULL << bit | CEPH_MSGR2_INCARNATION_##incarnation);
39
40 #define HAVE_MSGR2_FEATURE(x, name) \
41 (((x) & (CEPH_MSGR2_FEATUREMASK_##name)) == (CEPH_MSGR2_FEATUREMASK_##name))
42
> 43 DEFINE_MSGR2_FEATURE( 0, 1, REVISION_1) // msgr2.1
44
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 9 months
drivers/clk/imx/clk-imx8mp.c:446:25: sparse: sparse: incorrect type in argument 1 (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 2c85ebc57b3e1817b6ce1a6b703928e113a90442
commit: 9a976cd278eafa496ce30196810ef2e879a4a7d5 clk: imx8m: Support module build
date: 4 months ago
config: openrisc-randconfig-s031-20201214 (attached as .config)
compiler: or1k-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-184-g1b896707-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 9a976cd278eafa496ce30196810ef2e879a4a7d5
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=openrisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
"sparse warnings: (new ones prefixed by >>)"
>> drivers/clk/imx/clk-imx8mp.c:446:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got void [noderef] __iomem *[assigned] anatop_base @@
drivers/clk/imx/clk-imx8mp.c:446:25: sparse: expected void *addr
drivers/clk/imx/clk-imx8mp.c:446:25: sparse: got void [noderef] __iomem *[assigned] anatop_base
drivers/clk/imx/clk-imx8mp.c:452:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got void [noderef] __iomem *[assigned] anatop_base @@
drivers/clk/imx/clk-imx8mp.c:452:25: sparse: expected void *addr
drivers/clk/imx/clk-imx8mp.c:452:25: sparse: got void [noderef] __iomem *[assigned] anatop_base
vim +446 drivers/clk/imx/clk-imx8mp.c
9c140d9926761b0 Anson Huang 2020-01-08 429
9c140d9926761b0 Anson Huang 2020-01-08 430 static int imx8mp_clocks_probe(struct platform_device *pdev)
9c140d9926761b0 Anson Huang 2020-01-08 431 {
9c140d9926761b0 Anson Huang 2020-01-08 432 struct device *dev = &pdev->dev;
9c140d9926761b0 Anson Huang 2020-01-08 433 struct device_node *np = dev->of_node;
9c140d9926761b0 Anson Huang 2020-01-08 434 void __iomem *anatop_base, *ccm_base;
9c140d9926761b0 Anson Huang 2020-01-08 435 int i;
9c140d9926761b0 Anson Huang 2020-01-08 436
9c140d9926761b0 Anson Huang 2020-01-08 437 np = of_find_compatible_node(NULL, NULL, "fsl,imx8mp-anatop");
9c140d9926761b0 Anson Huang 2020-01-08 438 anatop_base = of_iomap(np, 0);
680fbce528169ea Anson Huang 2020-02-12 439 of_node_put(np);
9c140d9926761b0 Anson Huang 2020-01-08 440 if (WARN_ON(!anatop_base))
9c140d9926761b0 Anson Huang 2020-01-08 441 return -ENOMEM;
9c140d9926761b0 Anson Huang 2020-01-08 442
9c140d9926761b0 Anson Huang 2020-01-08 443 np = dev->of_node;
9c140d9926761b0 Anson Huang 2020-01-08 444 ccm_base = devm_platform_ioremap_resource(pdev, 0);
9c140d9926761b0 Anson Huang 2020-01-08 445 if (WARN_ON(IS_ERR(ccm_base))) {
9c140d9926761b0 Anson Huang 2020-01-08 @446 iounmap(anatop_base);
9c140d9926761b0 Anson Huang 2020-01-08 447 return PTR_ERR(ccm_base);
9c140d9926761b0 Anson Huang 2020-01-08 448 }
9c140d9926761b0 Anson Huang 2020-01-08 449
9c140d9926761b0 Anson Huang 2020-01-08 450 clk_hw_data = kzalloc(struct_size(clk_hw_data, hws, IMX8MP_CLK_END), GFP_KERNEL);
9c140d9926761b0 Anson Huang 2020-01-08 451 if (WARN_ON(!clk_hw_data)) {
9c140d9926761b0 Anson Huang 2020-01-08 452 iounmap(anatop_base);
9c140d9926761b0 Anson Huang 2020-01-08 453 return -ENOMEM;
9c140d9926761b0 Anson Huang 2020-01-08 454 }
9c140d9926761b0 Anson Huang 2020-01-08 455
9c140d9926761b0 Anson Huang 2020-01-08 456 clk_hw_data->num = IMX8MP_CLK_END;
9c140d9926761b0 Anson Huang 2020-01-08 457 hws = clk_hw_data->hws;
9c140d9926761b0 Anson Huang 2020-01-08 458
9c140d9926761b0 Anson Huang 2020-01-08 459 hws[IMX8MP_CLK_DUMMY] = imx_clk_hw_fixed("dummy", 0);
9c140d9926761b0 Anson Huang 2020-01-08 460 hws[IMX8MP_CLK_24M] = imx_obtain_fixed_clk_hw(np, "osc_24m");
9c140d9926761b0 Anson Huang 2020-01-08 461 hws[IMX8MP_CLK_32K] = imx_obtain_fixed_clk_hw(np, "osc_32k");
9c140d9926761b0 Anson Huang 2020-01-08 462 hws[IMX8MP_CLK_EXT1] = imx_obtain_fixed_clk_hw(np, "clk_ext1");
9c140d9926761b0 Anson Huang 2020-01-08 463 hws[IMX8MP_CLK_EXT2] = imx_obtain_fixed_clk_hw(np, "clk_ext2");
9c140d9926761b0 Anson Huang 2020-01-08 464 hws[IMX8MP_CLK_EXT3] = imx_obtain_fixed_clk_hw(np, "clk_ext3");
9c140d9926761b0 Anson Huang 2020-01-08 465 hws[IMX8MP_CLK_EXT4] = imx_obtain_fixed_clk_hw(np, "clk_ext4");
9c140d9926761b0 Anson Huang 2020-01-08 466
9c140d9926761b0 Anson Huang 2020-01-08 467 hws[IMX8MP_AUDIO_PLL1_REF_SEL] = imx_clk_hw_mux("audio_pll1_ref_sel", anatop_base + 0x0, 0, 2, pll_ref_sels, ARRAY_SIZE(pll_ref_sels));
9c140d9926761b0 Anson Huang 2020-01-08 468 hws[IMX8MP_AUDIO_PLL2_REF_SEL] = imx_clk_hw_mux("audio_pll2_ref_sel", anatop_base + 0x14, 0, 2, pll_ref_sels, ARRAY_SIZE(pll_ref_sels));
9c140d9926761b0 Anson Huang 2020-01-08 469 hws[IMX8MP_VIDEO_PLL1_REF_SEL] = imx_clk_hw_mux("video_pll1_ref_sel", anatop_base + 0x28, 0, 2, pll_ref_sels, ARRAY_SIZE(pll_ref_sels));
9c140d9926761b0 Anson Huang 2020-01-08 470 hws[IMX8MP_DRAM_PLL_REF_SEL] = imx_clk_hw_mux("dram_pll_ref_sel", anatop_base + 0x50, 0, 2, pll_ref_sels, ARRAY_SIZE(pll_ref_sels));
9c140d9926761b0 Anson Huang 2020-01-08 471 hws[IMX8MP_GPU_PLL_REF_SEL] = imx_clk_hw_mux("gpu_pll_ref_sel", anatop_base + 0x64, 0, 2, pll_ref_sels, ARRAY_SIZE(pll_ref_sels));
9c140d9926761b0 Anson Huang 2020-01-08 472 hws[IMX8MP_VPU_PLL_REF_SEL] = imx_clk_hw_mux("vpu_pll_ref_sel", anatop_base + 0x74, 0, 2, pll_ref_sels, ARRAY_SIZE(pll_ref_sels));
9c140d9926761b0 Anson Huang 2020-01-08 473 hws[IMX8MP_ARM_PLL_REF_SEL] = imx_clk_hw_mux("arm_pll_ref_sel", anatop_base + 0x84, 0, 2, pll_ref_sels, ARRAY_SIZE(pll_ref_sels));
9c140d9926761b0 Anson Huang 2020-01-08 474 hws[IMX8MP_SYS_PLL1_REF_SEL] = imx_clk_hw_mux("sys_pll1_ref_sel", anatop_base + 0x94, 0, 2, pll_ref_sels, ARRAY_SIZE(pll_ref_sels));
9c140d9926761b0 Anson Huang 2020-01-08 475 hws[IMX8MP_SYS_PLL2_REF_SEL] = imx_clk_hw_mux("sys_pll2_ref_sel", anatop_base + 0x104, 0, 2, pll_ref_sels, ARRAY_SIZE(pll_ref_sels));
9c140d9926761b0 Anson Huang 2020-01-08 476 hws[IMX8MP_SYS_PLL3_REF_SEL] = imx_clk_hw_mux("sys_pll3_ref_sel", anatop_base + 0x114, 0, 2, pll_ref_sels, ARRAY_SIZE(pll_ref_sels));
9c140d9926761b0 Anson Huang 2020-01-08 477
9c140d9926761b0 Anson Huang 2020-01-08 478 hws[IMX8MP_AUDIO_PLL1] = imx_clk_hw_pll14xx("audio_pll1", "audio_pll1_ref_sel", anatop_base, &imx_1443x_pll);
9c140d9926761b0 Anson Huang 2020-01-08 479 hws[IMX8MP_AUDIO_PLL2] = imx_clk_hw_pll14xx("audio_pll2", "audio_pll2_ref_sel", anatop_base + 0x14, &imx_1443x_pll);
9c140d9926761b0 Anson Huang 2020-01-08 480 hws[IMX8MP_VIDEO_PLL1] = imx_clk_hw_pll14xx("video_pll1", "video_pll1_ref_sel", anatop_base + 0x28, &imx_1443x_pll);
9c140d9926761b0 Anson Huang 2020-01-08 481 hws[IMX8MP_DRAM_PLL] = imx_clk_hw_pll14xx("dram_pll", "dram_pll_ref_sel", anatop_base + 0x50, &imx_1443x_dram_pll);
9c140d9926761b0 Anson Huang 2020-01-08 482 hws[IMX8MP_GPU_PLL] = imx_clk_hw_pll14xx("gpu_pll", "gpu_pll_ref_sel", anatop_base + 0x64, &imx_1416x_pll);
9c140d9926761b0 Anson Huang 2020-01-08 483 hws[IMX8MP_VPU_PLL] = imx_clk_hw_pll14xx("vpu_pll", "vpu_pll_ref_sel", anatop_base + 0x74, &imx_1416x_pll);
9c140d9926761b0 Anson Huang 2020-01-08 484 hws[IMX8MP_ARM_PLL] = imx_clk_hw_pll14xx("arm_pll", "arm_pll_ref_sel", anatop_base + 0x84, &imx_1416x_pll);
9c140d9926761b0 Anson Huang 2020-01-08 485 hws[IMX8MP_SYS_PLL1] = imx_clk_hw_pll14xx("sys_pll1", "sys_pll1_ref_sel", anatop_base + 0x94, &imx_1416x_pll);
9c140d9926761b0 Anson Huang 2020-01-08 486 hws[IMX8MP_SYS_PLL2] = imx_clk_hw_pll14xx("sys_pll2", "sys_pll2_ref_sel", anatop_base + 0x104, &imx_1416x_pll);
9c140d9926761b0 Anson Huang 2020-01-08 487 hws[IMX8MP_SYS_PLL3] = imx_clk_hw_pll14xx("sys_pll3", "sys_pll3_ref_sel", anatop_base + 0x114, &imx_1416x_pll);
9c140d9926761b0 Anson Huang 2020-01-08 488
dc6e21da3402976 Peng Fan 2020-05-07 489 hws[IMX8MP_AUDIO_PLL1_BYPASS] = imx_clk_hw_mux_flags("audio_pll1_bypass", anatop_base, 16, 1, audio_pll1_bypass_sels, ARRAY_SIZE(audio_pll1_bypass_sels), CLK_SET_RATE_PARENT);
dc6e21da3402976 Peng Fan 2020-05-07 490 hws[IMX8MP_AUDIO_PLL2_BYPASS] = imx_clk_hw_mux_flags("audio_pll2_bypass", anatop_base + 0x14, 16, 1, audio_pll2_bypass_sels, ARRAY_SIZE(audio_pll2_bypass_sels), CLK_SET_RATE_PARENT);
dc6e21da3402976 Peng Fan 2020-05-07 491 hws[IMX8MP_VIDEO_PLL1_BYPASS] = imx_clk_hw_mux_flags("video_pll1_bypass", anatop_base + 0x28, 16, 1, video_pll1_bypass_sels, ARRAY_SIZE(video_pll1_bypass_sels), CLK_SET_RATE_PARENT);
dc6e21da3402976 Peng Fan 2020-05-07 492 hws[IMX8MP_DRAM_PLL_BYPASS] = imx_clk_hw_mux_flags("dram_pll_bypass", anatop_base + 0x50, 16, 1, dram_pll_bypass_sels, ARRAY_SIZE(dram_pll_bypass_sels), CLK_SET_RATE_PARENT);
dc6e21da3402976 Peng Fan 2020-05-07 493 hws[IMX8MP_GPU_PLL_BYPASS] = imx_clk_hw_mux_flags("gpu_pll_bypass", anatop_base + 0x64, 28, 1, gpu_pll_bypass_sels, ARRAY_SIZE(gpu_pll_bypass_sels), CLK_SET_RATE_PARENT);
dc6e21da3402976 Peng Fan 2020-05-07 494 hws[IMX8MP_VPU_PLL_BYPASS] = imx_clk_hw_mux_flags("vpu_pll_bypass", anatop_base + 0x74, 28, 1, vpu_pll_bypass_sels, ARRAY_SIZE(vpu_pll_bypass_sels), CLK_SET_RATE_PARENT);
dc6e21da3402976 Peng Fan 2020-05-07 495 hws[IMX8MP_ARM_PLL_BYPASS] = imx_clk_hw_mux_flags("arm_pll_bypass", anatop_base + 0x84, 28, 1, arm_pll_bypass_sels, ARRAY_SIZE(arm_pll_bypass_sels), CLK_SET_RATE_PARENT);
dc6e21da3402976 Peng Fan 2020-05-07 496 hws[IMX8MP_SYS_PLL1_BYPASS] = imx_clk_hw_mux_flags("sys_pll1_bypass", anatop_base + 0x94, 28, 1, sys_pll1_bypass_sels, ARRAY_SIZE(sys_pll1_bypass_sels), CLK_SET_RATE_PARENT);
dc6e21da3402976 Peng Fan 2020-05-07 497 hws[IMX8MP_SYS_PLL2_BYPASS] = imx_clk_hw_mux_flags("sys_pll2_bypass", anatop_base + 0x104, 28, 1, sys_pll2_bypass_sels, ARRAY_SIZE(sys_pll2_bypass_sels), CLK_SET_RATE_PARENT);
dc6e21da3402976 Peng Fan 2020-05-07 498 hws[IMX8MP_SYS_PLL3_BYPASS] = imx_clk_hw_mux_flags("sys_pll3_bypass", anatop_base + 0x114, 28, 1, sys_pll3_bypass_sels, ARRAY_SIZE(sys_pll3_bypass_sels), CLK_SET_RATE_PARENT);
9c140d9926761b0 Anson Huang 2020-01-08 499
9c140d9926761b0 Anson Huang 2020-01-08 500 hws[IMX8MP_AUDIO_PLL1_OUT] = imx_clk_hw_gate("audio_pll1_out", "audio_pll1_bypass", anatop_base, 13);
9c140d9926761b0 Anson Huang 2020-01-08 501 hws[IMX8MP_AUDIO_PLL2_OUT] = imx_clk_hw_gate("audio_pll2_out", "audio_pll2_bypass", anatop_base + 0x14, 13);
9c140d9926761b0 Anson Huang 2020-01-08 502 hws[IMX8MP_VIDEO_PLL1_OUT] = imx_clk_hw_gate("video_pll1_out", "video_pll1_bypass", anatop_base + 0x28, 13);
9c140d9926761b0 Anson Huang 2020-01-08 503 hws[IMX8MP_DRAM_PLL_OUT] = imx_clk_hw_gate("dram_pll_out", "dram_pll_bypass", anatop_base + 0x50, 13);
9c140d9926761b0 Anson Huang 2020-01-08 504 hws[IMX8MP_GPU_PLL_OUT] = imx_clk_hw_gate("gpu_pll_out", "gpu_pll_bypass", anatop_base + 0x64, 11);
9c140d9926761b0 Anson Huang 2020-01-08 505 hws[IMX8MP_VPU_PLL_OUT] = imx_clk_hw_gate("vpu_pll_out", "vpu_pll_bypass", anatop_base + 0x74, 11);
9c140d9926761b0 Anson Huang 2020-01-08 506 hws[IMX8MP_ARM_PLL_OUT] = imx_clk_hw_gate("arm_pll_out", "arm_pll_bypass", anatop_base + 0x84, 11);
9c140d9926761b0 Anson Huang 2020-01-08 507 hws[IMX8MP_SYS_PLL3_OUT] = imx_clk_hw_gate("sys_pll3_out", "sys_pll3_bypass", anatop_base + 0x114, 11);
9c140d9926761b0 Anson Huang 2020-01-08 508
77f5d2d97353149 Peng Fan 2020-05-07 509 hws[IMX8MP_SYS_PLL1_40M_CG] = imx_clk_hw_gate("sys_pll1_40m_cg", "sys_pll1_bypass", anatop_base + 0x94, 27);
77f5d2d97353149 Peng Fan 2020-05-07 510 hws[IMX8MP_SYS_PLL1_80M_CG] = imx_clk_hw_gate("sys_pll1_80m_cg", "sys_pll1_bypass", anatop_base + 0x94, 25);
77f5d2d97353149 Peng Fan 2020-05-07 511 hws[IMX8MP_SYS_PLL1_100M_CG] = imx_clk_hw_gate("sys_pll1_100m_cg", "sys_pll1_bypass", anatop_base + 0x94, 23);
77f5d2d97353149 Peng Fan 2020-05-07 512 hws[IMX8MP_SYS_PLL1_133M_CG] = imx_clk_hw_gate("sys_pll1_133m_cg", "sys_pll1_bypass", anatop_base + 0x94, 21);
77f5d2d97353149 Peng Fan 2020-05-07 513 hws[IMX8MP_SYS_PLL1_160M_CG] = imx_clk_hw_gate("sys_pll1_160m_cg", "sys_pll1_bypass", anatop_base + 0x94, 19);
77f5d2d97353149 Peng Fan 2020-05-07 514 hws[IMX8MP_SYS_PLL1_200M_CG] = imx_clk_hw_gate("sys_pll1_200m_cg", "sys_pll1_bypass", anatop_base + 0x94, 17);
77f5d2d97353149 Peng Fan 2020-05-07 515 hws[IMX8MP_SYS_PLL1_266M_CG] = imx_clk_hw_gate("sys_pll1_266m_cg", "sys_pll1_bypass", anatop_base + 0x94, 15);
77f5d2d97353149 Peng Fan 2020-05-07 516 hws[IMX8MP_SYS_PLL1_400M_CG] = imx_clk_hw_gate("sys_pll1_400m_cg", "sys_pll1_bypass", anatop_base + 0x94, 13);
77f5d2d97353149 Peng Fan 2020-05-07 517 hws[IMX8MP_SYS_PLL1_OUT] = imx_clk_hw_gate("sys_pll1_out", "sys_pll1_bypass", anatop_base + 0x94, 11);
77f5d2d97353149 Peng Fan 2020-05-07 518
77f5d2d97353149 Peng Fan 2020-05-07 519 hws[IMX8MP_SYS_PLL1_40M] = imx_clk_hw_fixed_factor("sys_pll1_40m", "sys_pll1_40m_cg", 1, 20);
77f5d2d97353149 Peng Fan 2020-05-07 520 hws[IMX8MP_SYS_PLL1_80M] = imx_clk_hw_fixed_factor("sys_pll1_80m", "sys_pll1_80m_cg", 1, 10);
77f5d2d97353149 Peng Fan 2020-05-07 521 hws[IMX8MP_SYS_PLL1_100M] = imx_clk_hw_fixed_factor("sys_pll1_100m", "sys_pll1_100m_cg", 1, 8);
77f5d2d97353149 Peng Fan 2020-05-07 522 hws[IMX8MP_SYS_PLL1_133M] = imx_clk_hw_fixed_factor("sys_pll1_133m", "sys_pll1_133m_cg", 1, 6);
77f5d2d97353149 Peng Fan 2020-05-07 523 hws[IMX8MP_SYS_PLL1_160M] = imx_clk_hw_fixed_factor("sys_pll1_160m", "sys_pll1_160m_cg", 1, 5);
77f5d2d97353149 Peng Fan 2020-05-07 524 hws[IMX8MP_SYS_PLL1_200M] = imx_clk_hw_fixed_factor("sys_pll1_200m", "sys_pll1_200m_cg", 1, 4);
77f5d2d97353149 Peng Fan 2020-05-07 525 hws[IMX8MP_SYS_PLL1_266M] = imx_clk_hw_fixed_factor("sys_pll1_266m", "sys_pll1_266m_cg", 1, 3);
77f5d2d97353149 Peng Fan 2020-05-07 526 hws[IMX8MP_SYS_PLL1_400M] = imx_clk_hw_fixed_factor("sys_pll1_400m", "sys_pll1_400m_cg", 1, 2);
9c140d9926761b0 Anson Huang 2020-01-08 527 hws[IMX8MP_SYS_PLL1_800M] = imx_clk_hw_fixed_factor("sys_pll1_800m", "sys_pll1_out", 1, 1);
9c140d9926761b0 Anson Huang 2020-01-08 528
77f5d2d97353149 Peng Fan 2020-05-07 529 hws[IMX8MP_SYS_PLL2_50M_CG] = imx_clk_hw_gate("sys_pll2_50m_cg", "sys_pll2_bypass", anatop_base + 0x104, 27);
77f5d2d97353149 Peng Fan 2020-05-07 530 hws[IMX8MP_SYS_PLL2_100M_CG] = imx_clk_hw_gate("sys_pll2_100m_cg", "sys_pll2_bypass", anatop_base + 0x104, 25);
77f5d2d97353149 Peng Fan 2020-05-07 531 hws[IMX8MP_SYS_PLL2_125M_CG] = imx_clk_hw_gate("sys_pll2_125m_cg", "sys_pll2_bypass", anatop_base + 0x104, 23);
77f5d2d97353149 Peng Fan 2020-05-07 532 hws[IMX8MP_SYS_PLL2_166M_CG] = imx_clk_hw_gate("sys_pll2_166m_cg", "sys_pll2_bypass", anatop_base + 0x104, 21);
77f5d2d97353149 Peng Fan 2020-05-07 533 hws[IMX8MP_SYS_PLL2_200M_CG] = imx_clk_hw_gate("sys_pll2_200m_cg", "sys_pll2_bypass", anatop_base + 0x104, 19);
77f5d2d97353149 Peng Fan 2020-05-07 534 hws[IMX8MP_SYS_PLL2_250M_CG] = imx_clk_hw_gate("sys_pll2_250m_cg", "sys_pll2_bypass", anatop_base + 0x104, 17);
77f5d2d97353149 Peng Fan 2020-05-07 535 hws[IMX8MP_SYS_PLL2_333M_CG] = imx_clk_hw_gate("sys_pll2_333m_cg", "sys_pll2_bypass", anatop_base + 0x104, 15);
77f5d2d97353149 Peng Fan 2020-05-07 536 hws[IMX8MP_SYS_PLL2_500M_CG] = imx_clk_hw_gate("sys_pll2_500m_cg", "sys_pll2_bypass", anatop_base + 0x104, 13);
77f5d2d97353149 Peng Fan 2020-05-07 537 hws[IMX8MP_SYS_PLL2_OUT] = imx_clk_hw_gate("sys_pll2_out", "sys_pll2_bypass", anatop_base + 0x104, 11);
77f5d2d97353149 Peng Fan 2020-05-07 538
77f5d2d97353149 Peng Fan 2020-05-07 539 hws[IMX8MP_SYS_PLL2_50M] = imx_clk_hw_fixed_factor("sys_pll2_50m", "sys_pll2_50m_cg", 1, 20);
77f5d2d97353149 Peng Fan 2020-05-07 540 hws[IMX8MP_SYS_PLL2_100M] = imx_clk_hw_fixed_factor("sys_pll2_100m", "sys_pll2_100m_cg", 1, 10);
77f5d2d97353149 Peng Fan 2020-05-07 541 hws[IMX8MP_SYS_PLL2_125M] = imx_clk_hw_fixed_factor("sys_pll2_125m", "sys_pll2_125m_cg", 1, 8);
77f5d2d97353149 Peng Fan 2020-05-07 542 hws[IMX8MP_SYS_PLL2_166M] = imx_clk_hw_fixed_factor("sys_pll2_166m", "sys_pll2_166m_cg", 1, 6);
77f5d2d97353149 Peng Fan 2020-05-07 543 hws[IMX8MP_SYS_PLL2_200M] = imx_clk_hw_fixed_factor("sys_pll2_200m", "sys_pll2_200m_cg", 1, 5);
77f5d2d97353149 Peng Fan 2020-05-07 544 hws[IMX8MP_SYS_PLL2_250M] = imx_clk_hw_fixed_factor("sys_pll2_250m", "sys_pll2_250m_cg", 1, 4);
77f5d2d97353149 Peng Fan 2020-05-07 545 hws[IMX8MP_SYS_PLL2_333M] = imx_clk_hw_fixed_factor("sys_pll2_333m", "sys_pll2_333m_cg", 1, 3);
77f5d2d97353149 Peng Fan 2020-05-07 546 hws[IMX8MP_SYS_PLL2_500M] = imx_clk_hw_fixed_factor("sys_pll2_500m", "sys_pll2_500m_cg", 1, 2);
9c140d9926761b0 Anson Huang 2020-01-08 547 hws[IMX8MP_SYS_PLL2_1000M] = imx_clk_hw_fixed_factor("sys_pll2_1000m", "sys_pll2_out", 1, 1);
9c140d9926761b0 Anson Huang 2020-01-08 548
8c83a8ff4dd9287 Peng Fan 2020-05-07 549 hws[IMX8MP_CLK_A53_DIV] = imx8m_clk_hw_composite_core("arm_a53_div", imx8mp_a53_sels, ccm_base + 0x8000);
8c83a8ff4dd9287 Peng Fan 2020-05-07 550 hws[IMX8MP_CLK_A53_SRC] = hws[IMX8MP_CLK_A53_DIV];
8c83a8ff4dd9287 Peng Fan 2020-05-07 551 hws[IMX8MP_CLK_A53_CG] = hws[IMX8MP_CLK_A53_DIV];
8c83a8ff4dd9287 Peng Fan 2020-05-07 552 hws[IMX8MP_CLK_M7_CORE] = imx8m_clk_hw_composite_core("m7_core", imx8mp_m7_sels, ccm_base + 0x8080);
8c83a8ff4dd9287 Peng Fan 2020-05-07 553 hws[IMX8MP_CLK_ML_CORE] = imx8m_clk_hw_composite_core("ml_core", imx8mp_ml_sels, ccm_base + 0x8100);
8c83a8ff4dd9287 Peng Fan 2020-05-07 554 hws[IMX8MP_CLK_GPU3D_CORE] = imx8m_clk_hw_composite_core("gpu3d_core", imx8mp_gpu3d_core_sels, ccm_base + 0x8180);
8c83a8ff4dd9287 Peng Fan 2020-05-07 555 hws[IMX8MP_CLK_GPU3D_SHADER_CORE] = imx8m_clk_hw_composite("gpu3d_shader_core", imx8mp_gpu3d_shader_sels, ccm_base + 0x8200);
8c83a8ff4dd9287 Peng Fan 2020-05-07 556 hws[IMX8MP_CLK_GPU2D_CORE] = imx8m_clk_hw_composite("gpu2d_core", imx8mp_gpu2d_sels, ccm_base + 0x8280);
8c83a8ff4dd9287 Peng Fan 2020-05-07 557 hws[IMX8MP_CLK_AUDIO_AXI] = imx8m_clk_hw_composite("audio_axi", imx8mp_audio_axi_sels, ccm_base + 0x8300);
8c83a8ff4dd9287 Peng Fan 2020-05-07 558 hws[IMX8MP_CLK_AUDIO_AXI_SRC] = hws[IMX8MP_CLK_AUDIO_AXI];
8c83a8ff4dd9287 Peng Fan 2020-05-07 559 hws[IMX8MP_CLK_HSIO_AXI] = imx8m_clk_hw_composite("hsio_axi", imx8mp_hsio_axi_sels, ccm_base + 0x8380);
8c83a8ff4dd9287 Peng Fan 2020-05-07 560 hws[IMX8MP_CLK_MEDIA_ISP] = imx8m_clk_hw_composite("media_isp", imx8mp_media_isp_sels, ccm_base + 0x8400);
9c140d9926761b0 Anson Huang 2020-01-08 561
7ab227210110a41 Peng Fan 2020-02-19 562 /* CORE SEL */
0d77abc4fc31e03 Anson Huang 2020-02-25 563 hws[IMX8MP_CLK_A53_CORE] = imx_clk_hw_mux2("arm_a53_core", ccm_base + 0x9880, 24, 1, imx8mp_a53_core_sels, ARRAY_SIZE(imx8mp_a53_core_sels));
7ab227210110a41 Peng Fan 2020-02-19 564
9c140d9926761b0 Anson Huang 2020-01-08 565 hws[IMX8MP_CLK_MAIN_AXI] = imx8m_clk_hw_composite_critical("main_axi", imx8mp_main_axi_sels, ccm_base + 0x8800);
b1657ad708f761f Peng Fan 2020-05-07 566 hws[IMX8MP_CLK_ENET_AXI] = imx8m_clk_hw_composite_bus("enet_axi", imx8mp_enet_axi_sels, ccm_base + 0x8880);
9c140d9926761b0 Anson Huang 2020-01-08 567 hws[IMX8MP_CLK_NAND_USDHC_BUS] = imx8m_clk_hw_composite_critical("nand_usdhc_bus", imx8mp_nand_usdhc_sels, ccm_base + 0x8900);
b1657ad708f761f Peng Fan 2020-05-07 568 hws[IMX8MP_CLK_VPU_BUS] = imx8m_clk_hw_composite_bus("vpu_bus", imx8mp_vpu_bus_sels, ccm_base + 0x8980);
b1657ad708f761f Peng Fan 2020-05-07 569 hws[IMX8MP_CLK_MEDIA_AXI] = imx8m_clk_hw_composite_bus("media_axi", imx8mp_media_axi_sels, ccm_base + 0x8a00);
b1657ad708f761f Peng Fan 2020-05-07 570 hws[IMX8MP_CLK_MEDIA_APB] = imx8m_clk_hw_composite_bus("media_apb", imx8mp_media_apb_sels, ccm_base + 0x8a80);
b1657ad708f761f Peng Fan 2020-05-07 571 hws[IMX8MP_CLK_HDMI_APB] = imx8m_clk_hw_composite_bus("hdmi_apb", imx8mp_media_apb_sels, ccm_base + 0x8b00);
b1657ad708f761f Peng Fan 2020-05-07 572 hws[IMX8MP_CLK_HDMI_AXI] = imx8m_clk_hw_composite_bus("hdmi_axi", imx8mp_media_axi_sels, ccm_base + 0x8b80);
b1657ad708f761f Peng Fan 2020-05-07 573 hws[IMX8MP_CLK_GPU_AXI] = imx8m_clk_hw_composite_bus("gpu_axi", imx8mp_gpu_axi_sels, ccm_base + 0x8c00);
b1657ad708f761f Peng Fan 2020-05-07 574 hws[IMX8MP_CLK_GPU_AHB] = imx8m_clk_hw_composite_bus("gpu_ahb", imx8mp_gpu_ahb_sels, ccm_base + 0x8c80);
9c140d9926761b0 Anson Huang 2020-01-08 575 hws[IMX8MP_CLK_NOC] = imx8m_clk_hw_composite_critical("noc", imx8mp_noc_sels, ccm_base + 0x8d00);
9c140d9926761b0 Anson Huang 2020-01-08 576 hws[IMX8MP_CLK_NOC_IO] = imx8m_clk_hw_composite_critical("noc_io", imx8mp_noc_io_sels, ccm_base + 0x8d80);
b1657ad708f761f Peng Fan 2020-05-07 577 hws[IMX8MP_CLK_ML_AXI] = imx8m_clk_hw_composite_bus("ml_axi", imx8mp_ml_axi_sels, ccm_base + 0x8e00);
b1657ad708f761f Peng Fan 2020-05-07 578 hws[IMX8MP_CLK_ML_AHB] = imx8m_clk_hw_composite_bus("ml_ahb", imx8mp_ml_ahb_sels, ccm_base + 0x8e80);
9c140d9926761b0 Anson Huang 2020-01-08 579
9c140d9926761b0 Anson Huang 2020-01-08 580 hws[IMX8MP_CLK_AHB] = imx8m_clk_hw_composite_critical("ahb_root", imx8mp_ahb_sels, ccm_base + 0x9000);
b1657ad708f761f Peng Fan 2020-05-07 581 hws[IMX8MP_CLK_AUDIO_AHB] = imx8m_clk_hw_composite_bus("audio_ahb", imx8mp_audio_ahb_sels, ccm_base + 0x9100);
b1657ad708f761f Peng Fan 2020-05-07 582 hws[IMX8MP_CLK_MIPI_DSI_ESC_RX] = imx8m_clk_hw_composite_bus("mipi_dsi_esc_rx", imx8mp_mipi_dsi_esc_rx_sels, ccm_base + 0x9200);
9c140d9926761b0 Anson Huang 2020-01-08 583
9c140d9926761b0 Anson Huang 2020-01-08 584 hws[IMX8MP_CLK_IPG_ROOT] = imx_clk_hw_divider2("ipg_root", "ahb_root", ccm_base + 0x9080, 0, 1);
9c140d9926761b0 Anson Huang 2020-01-08 585 hws[IMX8MP_CLK_IPG_AUDIO_ROOT] = imx_clk_hw_divider2("ipg_audio_root", "audio_ahb", ccm_base + 0x9180, 0, 1);
9c140d9926761b0 Anson Huang 2020-01-08 586
9c140d9926761b0 Anson Huang 2020-01-08 587 hws[IMX8MP_CLK_DRAM_ALT] = imx8m_clk_hw_composite("dram_alt", imx8mp_dram_alt_sels, ccm_base + 0xa000);
9c140d9926761b0 Anson Huang 2020-01-08 588 hws[IMX8MP_CLK_DRAM_APB] = imx8m_clk_hw_composite_critical("dram_apb", imx8mp_dram_apb_sels, ccm_base + 0xa080);
9c140d9926761b0 Anson Huang 2020-01-08 589 hws[IMX8MP_CLK_VPU_G1] = imx8m_clk_hw_composite("vpu_g1", imx8mp_vpu_g1_sels, ccm_base + 0xa100);
9c140d9926761b0 Anson Huang 2020-01-08 590 hws[IMX8MP_CLK_VPU_G2] = imx8m_clk_hw_composite("vpu_g2", imx8mp_vpu_g2_sels, ccm_base + 0xa180);
9c140d9926761b0 Anson Huang 2020-01-08 591 hws[IMX8MP_CLK_CAN1] = imx8m_clk_hw_composite("can1", imx8mp_can1_sels, ccm_base + 0xa200);
9c140d9926761b0 Anson Huang 2020-01-08 592 hws[IMX8MP_CLK_CAN2] = imx8m_clk_hw_composite("can2", imx8mp_can2_sels, ccm_base + 0xa280);
9c140d9926761b0 Anson Huang 2020-01-08 593 hws[IMX8MP_CLK_MEMREPAIR] = imx8m_clk_hw_composite("memrepair", imx8mp_memrepair_sels, ccm_base + 0xa300);
9c140d9926761b0 Anson Huang 2020-01-08 594 hws[IMX8MP_CLK_PCIE_PHY] = imx8m_clk_hw_composite("pcie_phy", imx8mp_pcie_phy_sels, ccm_base + 0xa380);
9c140d9926761b0 Anson Huang 2020-01-08 595 hws[IMX8MP_CLK_PCIE_AUX] = imx8m_clk_hw_composite("pcie_aux", imx8mp_pcie_aux_sels, ccm_base + 0xa400);
9c140d9926761b0 Anson Huang 2020-01-08 596 hws[IMX8MP_CLK_I2C5] = imx8m_clk_hw_composite("i2c5", imx8mp_i2c5_sels, ccm_base + 0xa480);
9c140d9926761b0 Anson Huang 2020-01-08 597 hws[IMX8MP_CLK_I2C6] = imx8m_clk_hw_composite("i2c6", imx8mp_i2c6_sels, ccm_base + 0xa500);
9c140d9926761b0 Anson Huang 2020-01-08 598 hws[IMX8MP_CLK_SAI1] = imx8m_clk_hw_composite("sai1", imx8mp_sai1_sels, ccm_base + 0xa580);
9c140d9926761b0 Anson Huang 2020-01-08 599 hws[IMX8MP_CLK_SAI2] = imx8m_clk_hw_composite("sai2", imx8mp_sai2_sels, ccm_base + 0xa600);
9c140d9926761b0 Anson Huang 2020-01-08 600 hws[IMX8MP_CLK_SAI3] = imx8m_clk_hw_composite("sai3", imx8mp_sai3_sels, ccm_base + 0xa680);
9c140d9926761b0 Anson Huang 2020-01-08 601 hws[IMX8MP_CLK_SAI4] = imx8m_clk_hw_composite("sai4", imx8mp_sai4_sels, ccm_base + 0xa700);
9c140d9926761b0 Anson Huang 2020-01-08 602 hws[IMX8MP_CLK_SAI5] = imx8m_clk_hw_composite("sai5", imx8mp_sai5_sels, ccm_base + 0xa780);
9c140d9926761b0 Anson Huang 2020-01-08 603 hws[IMX8MP_CLK_SAI6] = imx8m_clk_hw_composite("sai6", imx8mp_sai6_sels, ccm_base + 0xa800);
9c140d9926761b0 Anson Huang 2020-01-08 604 hws[IMX8MP_CLK_ENET_QOS] = imx8m_clk_hw_composite("enet_qos", imx8mp_enet_qos_sels, ccm_base + 0xa880);
9c140d9926761b0 Anson Huang 2020-01-08 605 hws[IMX8MP_CLK_ENET_QOS_TIMER] = imx8m_clk_hw_composite("enet_qos_timer", imx8mp_enet_qos_timer_sels, ccm_base + 0xa900);
9c140d9926761b0 Anson Huang 2020-01-08 606 hws[IMX8MP_CLK_ENET_REF] = imx8m_clk_hw_composite("enet_ref", imx8mp_enet_ref_sels, ccm_base + 0xa980);
9c140d9926761b0 Anson Huang 2020-01-08 607 hws[IMX8MP_CLK_ENET_TIMER] = imx8m_clk_hw_composite("enet_timer", imx8mp_enet_timer_sels, ccm_base + 0xaa00);
9c140d9926761b0 Anson Huang 2020-01-08 608 hws[IMX8MP_CLK_ENET_PHY_REF] = imx8m_clk_hw_composite("enet_phy_ref", imx8mp_enet_phy_ref_sels, ccm_base + 0xaa80);
9c140d9926761b0 Anson Huang 2020-01-08 609 hws[IMX8MP_CLK_NAND] = imx8m_clk_hw_composite("nand", imx8mp_nand_sels, ccm_base + 0xab00);
9c140d9926761b0 Anson Huang 2020-01-08 610 hws[IMX8MP_CLK_QSPI] = imx8m_clk_hw_composite("qspi", imx8mp_qspi_sels, ccm_base + 0xab80);
9c140d9926761b0 Anson Huang 2020-01-08 611 hws[IMX8MP_CLK_USDHC1] = imx8m_clk_hw_composite("usdhc1", imx8mp_usdhc1_sels, ccm_base + 0xac00);
9c140d9926761b0 Anson Huang 2020-01-08 612 hws[IMX8MP_CLK_USDHC2] = imx8m_clk_hw_composite("usdhc2", imx8mp_usdhc2_sels, ccm_base + 0xac80);
9c140d9926761b0 Anson Huang 2020-01-08 613 hws[IMX8MP_CLK_I2C1] = imx8m_clk_hw_composite("i2c1", imx8mp_i2c1_sels, ccm_base + 0xad00);
9c140d9926761b0 Anson Huang 2020-01-08 614 hws[IMX8MP_CLK_I2C2] = imx8m_clk_hw_composite("i2c2", imx8mp_i2c2_sels, ccm_base + 0xad80);
9c140d9926761b0 Anson Huang 2020-01-08 615 hws[IMX8MP_CLK_I2C3] = imx8m_clk_hw_composite("i2c3", imx8mp_i2c3_sels, ccm_base + 0xae00);
9c140d9926761b0 Anson Huang 2020-01-08 616 hws[IMX8MP_CLK_I2C4] = imx8m_clk_hw_composite("i2c4", imx8mp_i2c4_sels, ccm_base + 0xae80);
9c140d9926761b0 Anson Huang 2020-01-08 617
9c140d9926761b0 Anson Huang 2020-01-08 618 hws[IMX8MP_CLK_UART1] = imx8m_clk_hw_composite("uart1", imx8mp_uart1_sels, ccm_base + 0xaf00);
9c140d9926761b0 Anson Huang 2020-01-08 619 hws[IMX8MP_CLK_UART2] = imx8m_clk_hw_composite("uart2", imx8mp_uart2_sels, ccm_base + 0xaf80);
9c140d9926761b0 Anson Huang 2020-01-08 620 hws[IMX8MP_CLK_UART3] = imx8m_clk_hw_composite("uart3", imx8mp_uart3_sels, ccm_base + 0xb000);
9c140d9926761b0 Anson Huang 2020-01-08 621 hws[IMX8MP_CLK_UART4] = imx8m_clk_hw_composite("uart4", imx8mp_uart4_sels, ccm_base + 0xb080);
9c140d9926761b0 Anson Huang 2020-01-08 622 hws[IMX8MP_CLK_USB_CORE_REF] = imx8m_clk_hw_composite("usb_core_ref", imx8mp_usb_core_ref_sels, ccm_base + 0xb100);
9c140d9926761b0 Anson Huang 2020-01-08 623 hws[IMX8MP_CLK_USB_PHY_REF] = imx8m_clk_hw_composite("usb_phy_ref", imx8mp_usb_phy_ref_sels, ccm_base + 0xb180);
9c140d9926761b0 Anson Huang 2020-01-08 624 hws[IMX8MP_CLK_GIC] = imx8m_clk_hw_composite_critical("gic", imx8mp_gic_sels, ccm_base + 0xb200);
9c140d9926761b0 Anson Huang 2020-01-08 625 hws[IMX8MP_CLK_ECSPI1] = imx8m_clk_hw_composite("ecspi1", imx8mp_ecspi1_sels, ccm_base + 0xb280);
9c140d9926761b0 Anson Huang 2020-01-08 626 hws[IMX8MP_CLK_ECSPI2] = imx8m_clk_hw_composite("ecspi2", imx8mp_ecspi2_sels, ccm_base + 0xb300);
9c140d9926761b0 Anson Huang 2020-01-08 627 hws[IMX8MP_CLK_PWM1] = imx8m_clk_hw_composite("pwm1", imx8mp_pwm1_sels, ccm_base + 0xb380);
9c140d9926761b0 Anson Huang 2020-01-08 628 hws[IMX8MP_CLK_PWM2] = imx8m_clk_hw_composite("pwm2", imx8mp_pwm2_sels, ccm_base + 0xb400);
9c140d9926761b0 Anson Huang 2020-01-08 629 hws[IMX8MP_CLK_PWM3] = imx8m_clk_hw_composite("pwm3", imx8mp_pwm3_sels, ccm_base + 0xb480);
9c140d9926761b0 Anson Huang 2020-01-08 630 hws[IMX8MP_CLK_PWM4] = imx8m_clk_hw_composite("pwm4", imx8mp_pwm4_sels, ccm_base + 0xb500);
9c140d9926761b0 Anson Huang 2020-01-08 631
9c140d9926761b0 Anson Huang 2020-01-08 632 hws[IMX8MP_CLK_GPT1] = imx8m_clk_hw_composite("gpt1", imx8mp_gpt1_sels, ccm_base + 0xb580);
9c140d9926761b0 Anson Huang 2020-01-08 633 hws[IMX8MP_CLK_GPT2] = imx8m_clk_hw_composite("gpt2", imx8mp_gpt2_sels, ccm_base + 0xb600);
9c140d9926761b0 Anson Huang 2020-01-08 634 hws[IMX8MP_CLK_GPT3] = imx8m_clk_hw_composite("gpt3", imx8mp_gpt3_sels, ccm_base + 0xb680);
9c140d9926761b0 Anson Huang 2020-01-08 635 hws[IMX8MP_CLK_GPT4] = imx8m_clk_hw_composite("gpt4", imx8mp_gpt4_sels, ccm_base + 0xb700);
9c140d9926761b0 Anson Huang 2020-01-08 636 hws[IMX8MP_CLK_GPT5] = imx8m_clk_hw_composite("gpt5", imx8mp_gpt5_sels, ccm_base + 0xb780);
9c140d9926761b0 Anson Huang 2020-01-08 637 hws[IMX8MP_CLK_GPT6] = imx8m_clk_hw_composite("gpt6", imx8mp_gpt6_sels, ccm_base + 0xb800);
9c140d9926761b0 Anson Huang 2020-01-08 638 hws[IMX8MP_CLK_WDOG] = imx8m_clk_hw_composite("wdog", imx8mp_wdog_sels, ccm_base + 0xb900);
9c140d9926761b0 Anson Huang 2020-01-08 639 hws[IMX8MP_CLK_WRCLK] = imx8m_clk_hw_composite("wrclk", imx8mp_wrclk_sels, ccm_base + 0xb980);
9c140d9926761b0 Anson Huang 2020-01-08 640 hws[IMX8MP_CLK_IPP_DO_CLKO1] = imx8m_clk_hw_composite("ipp_do_clko1", imx8mp_ipp_do_clko1_sels, ccm_base + 0xba00);
9c140d9926761b0 Anson Huang 2020-01-08 641 hws[IMX8MP_CLK_IPP_DO_CLKO2] = imx8m_clk_hw_composite("ipp_do_clko2", imx8mp_ipp_do_clko2_sels, ccm_base + 0xba80);
9c140d9926761b0 Anson Huang 2020-01-08 642 hws[IMX8MP_CLK_HDMI_FDCC_TST] = imx8m_clk_hw_composite("hdmi_fdcc_tst", imx8mp_hdmi_fdcc_tst_sels, ccm_base + 0xbb00);
c267bd443f38972 Anson Huang 2020-02-19 643 hws[IMX8MP_CLK_HDMI_24M] = imx8m_clk_hw_composite("hdmi_24m", imx8mp_hdmi_24m_sels, ccm_base + 0xbb80);
9c140d9926761b0 Anson Huang 2020-01-08 644 hws[IMX8MP_CLK_HDMI_REF_266M] = imx8m_clk_hw_composite("hdmi_ref_266m", imx8mp_hdmi_ref_266m_sels, ccm_base + 0xbc00);
9c140d9926761b0 Anson Huang 2020-01-08 645 hws[IMX8MP_CLK_USDHC3] = imx8m_clk_hw_composite("usdhc3", imx8mp_usdhc3_sels, ccm_base + 0xbc80);
9c140d9926761b0 Anson Huang 2020-01-08 646 hws[IMX8MP_CLK_MEDIA_CAM1_PIX] = imx8m_clk_hw_composite("media_cam1_pix", imx8mp_media_cam1_pix_sels, ccm_base + 0xbd00);
9c140d9926761b0 Anson Huang 2020-01-08 647 hws[IMX8MP_CLK_MEDIA_MIPI_PHY1_REF] = imx8m_clk_hw_composite("media_mipi_phy1_ref", imx8mp_media_mipi_phy1_ref_sels, ccm_base + 0xbd80);
9c140d9926761b0 Anson Huang 2020-01-08 648 hws[IMX8MP_CLK_MEDIA_DISP1_PIX] = imx8m_clk_hw_composite("media_disp1_pix", imx8mp_media_disp1_pix_sels, ccm_base + 0xbe00);
9c140d9926761b0 Anson Huang 2020-01-08 649 hws[IMX8MP_CLK_MEDIA_CAM2_PIX] = imx8m_clk_hw_composite("media_cam2_pix", imx8mp_media_cam2_pix_sels, ccm_base + 0xbe80);
9c140d9926761b0 Anson Huang 2020-01-08 650 hws[IMX8MP_CLK_MEDIA_MIPI_PHY2_REF] = imx8m_clk_hw_composite("media_mipi_phy2_ref", imx8mp_media_mipi_phy2_ref_sels, ccm_base + 0xbf00);
9c140d9926761b0 Anson Huang 2020-01-08 651 hws[IMX8MP_CLK_MEDIA_MIPI_CSI2_ESC] = imx8m_clk_hw_composite("media_mipi_csi2_esc", imx8mp_media_mipi_csi2_esc_sels, ccm_base + 0xbf80);
9c140d9926761b0 Anson Huang 2020-01-08 652 hws[IMX8MP_CLK_PCIE2_CTRL] = imx8m_clk_hw_composite("pcie2_ctrl", imx8mp_pcie2_ctrl_sels, ccm_base + 0xc000);
9c140d9926761b0 Anson Huang 2020-01-08 653 hws[IMX8MP_CLK_PCIE2_PHY] = imx8m_clk_hw_composite("pcie2_phy", imx8mp_pcie2_phy_sels, ccm_base + 0xc080);
9c140d9926761b0 Anson Huang 2020-01-08 654 hws[IMX8MP_CLK_MEDIA_MIPI_TEST_BYTE] = imx8m_clk_hw_composite("media_mipi_test_byte", imx8mp_media_mipi_test_byte_sels, ccm_base + 0xc100);
9c140d9926761b0 Anson Huang 2020-01-08 655 hws[IMX8MP_CLK_ECSPI3] = imx8m_clk_hw_composite("ecspi3", imx8mp_ecspi3_sels, ccm_base + 0xc180);
9c140d9926761b0 Anson Huang 2020-01-08 656 hws[IMX8MP_CLK_PDM] = imx8m_clk_hw_composite("pdm", imx8mp_pdm_sels, ccm_base + 0xc200);
9c140d9926761b0 Anson Huang 2020-01-08 657 hws[IMX8MP_CLK_VPU_VC8000E] = imx8m_clk_hw_composite("vpu_vc8000e", imx8mp_vpu_vc8000e_sels, ccm_base + 0xc280);
9c140d9926761b0 Anson Huang 2020-01-08 658 hws[IMX8MP_CLK_SAI7] = imx8m_clk_hw_composite("sai7", imx8mp_sai7_sels, ccm_base + 0xc300);
9c140d9926761b0 Anson Huang 2020-01-08 659
9c140d9926761b0 Anson Huang 2020-01-08 660 hws[IMX8MP_CLK_DRAM_ALT_ROOT] = imx_clk_hw_fixed_factor("dram_alt_root", "dram_alt", 1, 4);
9c140d9926761b0 Anson Huang 2020-01-08 661 hws[IMX8MP_CLK_DRAM_CORE] = imx_clk_hw_mux2_flags("dram_core_clk", ccm_base + 0x9800, 24, 1, imx8mp_dram_core_sels, ARRAY_SIZE(imx8mp_dram_core_sels), CLK_IS_CRITICAL);
9c140d9926761b0 Anson Huang 2020-01-08 662
9c140d9926761b0 Anson Huang 2020-01-08 663 hws[IMX8MP_CLK_DRAM1_ROOT] = imx_clk_hw_gate4_flags("dram1_root_clk", "dram_core_clk", ccm_base + 0x4050, 0, CLK_IS_CRITICAL);
9c140d9926761b0 Anson Huang 2020-01-08 664 hws[IMX8MP_CLK_ECSPI1_ROOT] = imx_clk_hw_gate4("ecspi1_root_clk", "ecspi1", ccm_base + 0x4070, 0);
9c140d9926761b0 Anson Huang 2020-01-08 665 hws[IMX8MP_CLK_ECSPI2_ROOT] = imx_clk_hw_gate4("ecspi2_root_clk", "ecspi2", ccm_base + 0x4080, 0);
9c140d9926761b0 Anson Huang 2020-01-08 666 hws[IMX8MP_CLK_ECSPI3_ROOT] = imx_clk_hw_gate4("ecspi3_root_clk", "ecspi3", ccm_base + 0x4090, 0);
9c140d9926761b0 Anson Huang 2020-01-08 667 hws[IMX8MP_CLK_ENET1_ROOT] = imx_clk_hw_gate4("enet1_root_clk", "enet_axi", ccm_base + 0x40a0, 0);
9c140d9926761b0 Anson Huang 2020-01-08 668 hws[IMX8MP_CLK_GPIO1_ROOT] = imx_clk_hw_gate4("gpio1_root_clk", "ipg_root", ccm_base + 0x40b0, 0);
9c140d9926761b0 Anson Huang 2020-01-08 669 hws[IMX8MP_CLK_GPIO2_ROOT] = imx_clk_hw_gate4("gpio2_root_clk", "ipg_root", ccm_base + 0x40c0, 0);
9c140d9926761b0 Anson Huang 2020-01-08 670 hws[IMX8MP_CLK_GPIO3_ROOT] = imx_clk_hw_gate4("gpio3_root_clk", "ipg_root", ccm_base + 0x40d0, 0);
9c140d9926761b0 Anson Huang 2020-01-08 671 hws[IMX8MP_CLK_GPIO4_ROOT] = imx_clk_hw_gate4("gpio4_root_clk", "ipg_root", ccm_base + 0x40e0, 0);
9c140d9926761b0 Anson Huang 2020-01-08 672 hws[IMX8MP_CLK_GPIO5_ROOT] = imx_clk_hw_gate4("gpio5_root_clk", "ipg_root", ccm_base + 0x40f0, 0);
9c140d9926761b0 Anson Huang 2020-01-08 673 hws[IMX8MP_CLK_GPT1_ROOT] = imx_clk_hw_gate4("gpt1_root_clk", "gpt1", ccm_base + 0x4100, 0);
9c140d9926761b0 Anson Huang 2020-01-08 674 hws[IMX8MP_CLK_GPT2_ROOT] = imx_clk_hw_gate4("gpt2_root_clk", "gpt2", ccm_base + 0x4110, 0);
9c140d9926761b0 Anson Huang 2020-01-08 675 hws[IMX8MP_CLK_GPT3_ROOT] = imx_clk_hw_gate4("gpt3_root_clk", "gpt3", ccm_base + 0x4120, 0);
9c140d9926761b0 Anson Huang 2020-01-08 676 hws[IMX8MP_CLK_GPT4_ROOT] = imx_clk_hw_gate4("gpt4_root_clk", "gpt4", ccm_base + 0x4130, 0);
9c140d9926761b0 Anson Huang 2020-01-08 677 hws[IMX8MP_CLK_GPT5_ROOT] = imx_clk_hw_gate4("gpt5_root_clk", "gpt5", ccm_base + 0x4140, 0);
9c140d9926761b0 Anson Huang 2020-01-08 678 hws[IMX8MP_CLK_GPT6_ROOT] = imx_clk_hw_gate4("gpt6_root_clk", "gpt6", ccm_base + 0x4150, 0);
9c140d9926761b0 Anson Huang 2020-01-08 679 hws[IMX8MP_CLK_I2C1_ROOT] = imx_clk_hw_gate4("i2c1_root_clk", "i2c1", ccm_base + 0x4170, 0);
9c140d9926761b0 Anson Huang 2020-01-08 680 hws[IMX8MP_CLK_I2C2_ROOT] = imx_clk_hw_gate4("i2c2_root_clk", "i2c2", ccm_base + 0x4180, 0);
9c140d9926761b0 Anson Huang 2020-01-08 681 hws[IMX8MP_CLK_I2C3_ROOT] = imx_clk_hw_gate4("i2c3_root_clk", "i2c3", ccm_base + 0x4190, 0);
9c140d9926761b0 Anson Huang 2020-01-08 682 hws[IMX8MP_CLK_I2C4_ROOT] = imx_clk_hw_gate4("i2c4_root_clk", "i2c4", ccm_base + 0x41a0, 0);
94ae59ac5d12cc9 Peng Fan 2020-06-01 683 hws[IMX8MP_CLK_MU_ROOT] = imx_clk_hw_gate4("mu_root_clk", "ipg_root", ccm_base + 0x4210, 0);
14875e57d8ea965 Peng Fan 2020-01-19 684 hws[IMX8MP_CLK_OCOTP_ROOT] = imx_clk_hw_gate4("ocotp_root_clk", "ipg_root", ccm_base + 0x4220, 0);
9c140d9926761b0 Anson Huang 2020-01-08 685 hws[IMX8MP_CLK_PCIE_ROOT] = imx_clk_hw_gate4("pcie_root_clk", "pcie_aux", ccm_base + 0x4250, 0);
9c140d9926761b0 Anson Huang 2020-01-08 686 hws[IMX8MP_CLK_PWM1_ROOT] = imx_clk_hw_gate4("pwm1_root_clk", "pwm1", ccm_base + 0x4280, 0);
9c140d9926761b0 Anson Huang 2020-01-08 687 hws[IMX8MP_CLK_PWM2_ROOT] = imx_clk_hw_gate4("pwm2_root_clk", "pwm2", ccm_base + 0x4290, 0);
9c140d9926761b0 Anson Huang 2020-01-08 688 hws[IMX8MP_CLK_PWM3_ROOT] = imx_clk_hw_gate4("pwm3_root_clk", "pwm3", ccm_base + 0x42a0, 0);
9c140d9926761b0 Anson Huang 2020-01-08 689 hws[IMX8MP_CLK_PWM4_ROOT] = imx_clk_hw_gate4("pwm4_root_clk", "pwm4", ccm_base + 0x42b0, 0);
9c140d9926761b0 Anson Huang 2020-01-08 690 hws[IMX8MP_CLK_QOS_ROOT] = imx_clk_hw_gate4("qos_root_clk", "ipg_root", ccm_base + 0x42c0, 0);
9c140d9926761b0 Anson Huang 2020-01-08 691 hws[IMX8MP_CLK_QOS_ENET_ROOT] = imx_clk_hw_gate4("qos_enet_root_clk", "ipg_root", ccm_base + 0x42e0, 0);
9c140d9926761b0 Anson Huang 2020-01-08 692 hws[IMX8MP_CLK_QSPI_ROOT] = imx_clk_hw_gate4("qspi_root_clk", "qspi", ccm_base + 0x42f0, 0);
9c140d9926761b0 Anson Huang 2020-01-08 693 hws[IMX8MP_CLK_NAND_ROOT] = imx_clk_hw_gate2_shared2("nand_root_clk", "nand", ccm_base + 0x4300, 0, &share_count_nand);
9c140d9926761b0 Anson Huang 2020-01-08 694 hws[IMX8MP_CLK_NAND_USDHC_BUS_RAWNAND_CLK] = imx_clk_hw_gate2_shared2("nand_usdhc_rawnand_clk", "nand_usdhc_bus", ccm_base + 0x4300, 0, &share_count_nand);
9c140d9926761b0 Anson Huang 2020-01-08 695 hws[IMX8MP_CLK_I2C5_ROOT] = imx_clk_hw_gate2("i2c5_root_clk", "i2c5", ccm_base + 0x4330, 0);
9c140d9926761b0 Anson Huang 2020-01-08 696 hws[IMX8MP_CLK_I2C6_ROOT] = imx_clk_hw_gate2("i2c6_root_clk", "i2c6", ccm_base + 0x4340, 0);
9c140d9926761b0 Anson Huang 2020-01-08 697 hws[IMX8MP_CLK_CAN1_ROOT] = imx_clk_hw_gate2("can1_root_clk", "can1", ccm_base + 0x4350, 0);
9c140d9926761b0 Anson Huang 2020-01-08 698 hws[IMX8MP_CLK_CAN2_ROOT] = imx_clk_hw_gate2("can2_root_clk", "can2", ccm_base + 0x4360, 0);
9c140d9926761b0 Anson Huang 2020-01-08 699 hws[IMX8MP_CLK_SDMA1_ROOT] = imx_clk_hw_gate4("sdma1_root_clk", "ipg_root", ccm_base + 0x43a0, 0);
857c9d31f59f0c0 Fugang Duan 2020-02-19 700 hws[IMX8MP_CLK_ENET_QOS_ROOT] = imx_clk_hw_gate4("enet_qos_root_clk", "sim_enet_root_clk", ccm_base + 0x43b0, 0);
9c140d9926761b0 Anson Huang 2020-01-08 701 hws[IMX8MP_CLK_SIM_ENET_ROOT] = imx_clk_hw_gate4("sim_enet_root_clk", "enet_axi", ccm_base + 0x4400, 0);
8c83a8ff4dd9287 Peng Fan 2020-05-07 702 hws[IMX8MP_CLK_GPU2D_ROOT] = imx_clk_hw_gate4("gpu2d_root_clk", "gpu2d_core", ccm_base + 0x4450, 0);
8c83a8ff4dd9287 Peng Fan 2020-05-07 703 hws[IMX8MP_CLK_GPU3D_ROOT] = imx_clk_hw_gate4("gpu3d_root_clk", "gpu3d_core", ccm_base + 0x4460, 0);
9c140d9926761b0 Anson Huang 2020-01-08 704 hws[IMX8MP_CLK_SNVS_ROOT] = imx_clk_hw_gate4("snvs_root_clk", "ipg_root", ccm_base + 0x4470, 0);
9c140d9926761b0 Anson Huang 2020-01-08 705 hws[IMX8MP_CLK_UART1_ROOT] = imx_clk_hw_gate4("uart1_root_clk", "uart1", ccm_base + 0x4490, 0);
9c140d9926761b0 Anson Huang 2020-01-08 706 hws[IMX8MP_CLK_UART2_ROOT] = imx_clk_hw_gate4("uart2_root_clk", "uart2", ccm_base + 0x44a0, 0);
9c140d9926761b0 Anson Huang 2020-01-08 707 hws[IMX8MP_CLK_UART3_ROOT] = imx_clk_hw_gate4("uart3_root_clk", "uart3", ccm_base + 0x44b0, 0);
9c140d9926761b0 Anson Huang 2020-01-08 708 hws[IMX8MP_CLK_UART4_ROOT] = imx_clk_hw_gate4("uart4_root_clk", "uart4", ccm_base + 0x44c0, 0);
9c140d9926761b0 Anson Huang 2020-01-08 709 hws[IMX8MP_CLK_USB_ROOT] = imx_clk_hw_gate4("usb_root_clk", "osc_32k", ccm_base + 0x44d0, 0);
9c140d9926761b0 Anson Huang 2020-01-08 710 hws[IMX8MP_CLK_USB_PHY_ROOT] = imx_clk_hw_gate4("usb_phy_root_clk", "usb_phy_ref", ccm_base + 0x44f0, 0);
9c140d9926761b0 Anson Huang 2020-01-08 711 hws[IMX8MP_CLK_USDHC1_ROOT] = imx_clk_hw_gate4("usdhc1_root_clk", "usdhc1", ccm_base + 0x4510, 0);
9c140d9926761b0 Anson Huang 2020-01-08 712 hws[IMX8MP_CLK_USDHC2_ROOT] = imx_clk_hw_gate4("usdhc2_root_clk", "usdhc2", ccm_base + 0x4520, 0);
9c140d9926761b0 Anson Huang 2020-01-08 713 hws[IMX8MP_CLK_WDOG1_ROOT] = imx_clk_hw_gate4("wdog1_root_clk", "wdog", ccm_base + 0x4530, 0);
9c140d9926761b0 Anson Huang 2020-01-08 714 hws[IMX8MP_CLK_WDOG2_ROOT] = imx_clk_hw_gate4("wdog2_root_clk", "wdog", ccm_base + 0x4540, 0);
9c140d9926761b0 Anson Huang 2020-01-08 715 hws[IMX8MP_CLK_WDOG3_ROOT] = imx_clk_hw_gate4("wdog3_root_clk", "wdog", ccm_base + 0x4550, 0);
9c140d9926761b0 Anson Huang 2020-01-08 716 hws[IMX8MP_CLK_VPU_G1_ROOT] = imx_clk_hw_gate4("vpu_g1_root_clk", "vpu_g1", ccm_base + 0x4560, 0);
9c140d9926761b0 Anson Huang 2020-01-08 717 hws[IMX8MP_CLK_GPU_ROOT] = imx_clk_hw_gate4("gpu_root_clk", "gpu_axi", ccm_base + 0x4570, 0);
9c140d9926761b0 Anson Huang 2020-01-08 718 hws[IMX8MP_CLK_VPU_VC8KE_ROOT] = imx_clk_hw_gate4("vpu_vc8ke_root_clk", "vpu_vc8000e", ccm_base + 0x4590, 0);
9c140d9926761b0 Anson Huang 2020-01-08 719 hws[IMX8MP_CLK_VPU_G2_ROOT] = imx_clk_hw_gate4("vpu_g2_root_clk", "vpu_g2", ccm_base + 0x45a0, 0);
8c83a8ff4dd9287 Peng Fan 2020-05-07 720 hws[IMX8MP_CLK_NPU_ROOT] = imx_clk_hw_gate4("npu_root_clk", "ml_core", ccm_base + 0x45b0, 0);
9c140d9926761b0 Anson Huang 2020-01-08 721 hws[IMX8MP_CLK_HSIO_ROOT] = imx_clk_hw_gate4("hsio_root_clk", "ipg_root", ccm_base + 0x45c0, 0);
9c140d9926761b0 Anson Huang 2020-01-08 722 hws[IMX8MP_CLK_MEDIA_APB_ROOT] = imx_clk_hw_gate2_shared2("media_apb_root_clk", "media_apb", ccm_base + 0x45d0, 0, &share_count_media);
9c140d9926761b0 Anson Huang 2020-01-08 723 hws[IMX8MP_CLK_MEDIA_AXI_ROOT] = imx_clk_hw_gate2_shared2("media_axi_root_clk", "media_axi", ccm_base + 0x45d0, 0, &share_count_media);
9c140d9926761b0 Anson Huang 2020-01-08 724 hws[IMX8MP_CLK_MEDIA_CAM1_PIX_ROOT] = imx_clk_hw_gate2_shared2("media_cam1_pix_root_clk", "media_cam1_pix", ccm_base + 0x45d0, 0, &share_count_media);
9c140d9926761b0 Anson Huang 2020-01-08 725 hws[IMX8MP_CLK_MEDIA_CAM2_PIX_ROOT] = imx_clk_hw_gate2_shared2("media_cam2_pix_root_clk", "media_cam2_pix", ccm_base + 0x45d0, 0, &share_count_media);
9c140d9926761b0 Anson Huang 2020-01-08 726 hws[IMX8MP_CLK_MEDIA_DISP1_PIX_ROOT] = imx_clk_hw_gate2_shared2("media_disp1_pix_root_clk", "media_disp1_pix", ccm_base + 0x45d0, 0, &share_count_media);
9c140d9926761b0 Anson Huang 2020-01-08 727 hws[IMX8MP_CLK_MEDIA_DISP2_PIX_ROOT] = imx_clk_hw_gate2_shared2("media_disp2_pix_root_clk", "media_disp2_pix", ccm_base + 0x45d0, 0, &share_count_media);
8c83a8ff4dd9287 Peng Fan 2020-05-07 728 hws[IMX8MP_CLK_MEDIA_ISP_ROOT] = imx_clk_hw_gate2_shared2("media_isp_root_clk", "media_isp", ccm_base + 0x45d0, 0, &share_count_media);
9c140d9926761b0 Anson Huang 2020-01-08 729
9c140d9926761b0 Anson Huang 2020-01-08 730 hws[IMX8MP_CLK_USDHC3_ROOT] = imx_clk_hw_gate4("usdhc3_root_clk", "usdhc3", ccm_base + 0x45e0, 0);
9c140d9926761b0 Anson Huang 2020-01-08 731 hws[IMX8MP_CLK_HDMI_ROOT] = imx_clk_hw_gate4("hdmi_root_clk", "hdmi_axi", ccm_base + 0x45f0, 0);
9c140d9926761b0 Anson Huang 2020-01-08 732 hws[IMX8MP_CLK_TSENSOR_ROOT] = imx_clk_hw_gate4("tsensor_root_clk", "ipg_root", ccm_base + 0x4620, 0);
9c140d9926761b0 Anson Huang 2020-01-08 733 hws[IMX8MP_CLK_VPU_ROOT] = imx_clk_hw_gate4("vpu_root_clk", "vpu_bus", ccm_base + 0x4630, 0);
9c140d9926761b0 Anson Huang 2020-01-08 734 hws[IMX8MP_CLK_AUDIO_ROOT] = imx_clk_hw_gate4("audio_root_clk", "ipg_root", ccm_base + 0x4650, 0);
9c140d9926761b0 Anson Huang 2020-01-08 735
7ab227210110a41 Peng Fan 2020-02-19 736 hws[IMX8MP_CLK_ARM] = imx_clk_hw_cpu("arm", "arm_a53_core",
7ab227210110a41 Peng Fan 2020-02-19 737 hws[IMX8MP_CLK_A53_CORE]->clk,
7ab227210110a41 Peng Fan 2020-02-19 738 hws[IMX8MP_CLK_A53_CORE]->clk,
9c140d9926761b0 Anson Huang 2020-01-08 739 hws[IMX8MP_ARM_PLL_OUT]->clk,
7ab227210110a41 Peng Fan 2020-02-19 740 hws[IMX8MP_CLK_A53_DIV]->clk);
9c140d9926761b0 Anson Huang 2020-01-08 741
9c140d9926761b0 Anson Huang 2020-01-08 742 imx_check_clk_hws(hws, IMX8MP_CLK_END);
9c140d9926761b0 Anson Huang 2020-01-08 743
9c140d9926761b0 Anson Huang 2020-01-08 744 of_clk_add_hw_provider(np, of_clk_hw_onecell_get, clk_hw_data);
9c140d9926761b0 Anson Huang 2020-01-08 745
9c140d9926761b0 Anson Huang 2020-01-08 746 for (i = 0; i < ARRAY_SIZE(uart_clk_ids); i++) {
9c140d9926761b0 Anson Huang 2020-01-08 747 int index = uart_clk_ids[i];
9c140d9926761b0 Anson Huang 2020-01-08 748
9c140d9926761b0 Anson Huang 2020-01-08 749 uart_clks[i] = &hws[index]->clk;
9c140d9926761b0 Anson Huang 2020-01-08 750 }
9c140d9926761b0 Anson Huang 2020-01-08 751
9c140d9926761b0 Anson Huang 2020-01-08 752 imx_register_uart_clocks(uart_clks);
9c140d9926761b0 Anson Huang 2020-01-08 753
9c140d9926761b0 Anson Huang 2020-01-08 754 return 0;
9c140d9926761b0 Anson Huang 2020-01-08 755 }
9c140d9926761b0 Anson Huang 2020-01-08 756
:::::: The code at line 446 was first introduced by commit
:::::: 9c140d9926761b0f5d329ff6c09a1540f3d5e1d3 clk: imx: Add support for i.MX8MP clock driver
:::::: TO: Anson Huang <Anson.Huang(a)nxp.com>
:::::: CC: Shawn Guo <shawnguo(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 9 months
[ceph-client:pr/22 32/34] net/ceph/messenger_v2.c:601:24: sparse: sparse: incorrect type in assignment (different base types)
by kernel test robot
tree: https://github.com/ceph/ceph-client.git pr/22
head: 524d1e6601a7d1214c502d5739f5a34f09a0960c
commit: 48b7789934f0e94b975e98b74eaf18301fc0cfcd [32/34] libceph: implement msgr2.1 protocol (crc and secure modes)
config: alpha-randconfig-s032-20201214 (attached as .config)
compiler: alpha-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-184-g1b896707-dirty
# https://github.com/ceph/ceph-client/commit/48b7789934f0e94b975e98b74eaf18...
git remote add ceph-client https://github.com/ceph/ceph-client.git
git fetch --no-tags ceph-client pr/22
git checkout 48b7789934f0e94b975e98b74eaf18301fc0cfcd
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=alpha
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
"sparse warnings: (new ones prefixed by >>)"
>> net/ceph/messenger_v2.c:601:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] front_len @@ got int front_len @@
net/ceph/messenger_v2.c:601:24: sparse: expected restricted __le32 [usertype] front_len
net/ceph/messenger_v2.c:601:24: sparse: got int front_len
>> net/ceph/messenger_v2.c:602:25: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] middle_len @@ got int middle_len @@
net/ceph/messenger_v2.c:602:25: sparse: expected restricted __le32 [usertype] middle_len
net/ceph/messenger_v2.c:602:25: sparse: got int middle_len
>> net/ceph/messenger_v2.c:603:23: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] data_len @@ got int data_len @@
net/ceph/messenger_v2.c:603:23: sparse: expected restricted __le32 [usertype] data_len
net/ceph/messenger_v2.c:603:23: sparse: got int data_len
vim +601 net/ceph/messenger_v2.c
590
591 static void fill_header(struct ceph_msg_header *hdr,
592 const struct ceph_msg_header2 *hdr2,
593 int front_len, int middle_len, int data_len,
594 const struct ceph_entity_name *peer_name)
595 {
596 hdr->seq = hdr2->seq;
597 hdr->tid = hdr2->tid;
598 hdr->type = hdr2->type;
599 hdr->priority = hdr2->priority;
600 hdr->version = hdr2->version;
> 601 hdr->front_len = front_len;
> 602 hdr->middle_len = middle_len;
> 603 hdr->data_len = data_len;
604 hdr->data_off = hdr2->data_off;
605 hdr->src = *peer_name;
606 hdr->compat_version = hdr2->compat_version;
607 hdr->reserved = 0;
608 hdr->crc = 0;
609 }
610
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 9 months
New Invoice(s) for C2170176 are Available to be Viewed
by customerservice@freightquote.com
Your new Invoice(s) are available to be viewed.The Attachments include the following Invoice(s): Invoice Number CHR Load Number
6824492856346945007
Thank you for your business, if there are any issues with your Invoice(s) please contact your 1st Sales Rep *************************************************************************************************************************This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. Please note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of the sender of the e-mail. The sender of the e-mail accepts no liability for any damage caused by any virus transmitted by this email. (IP)**********************************************************************************************************************
***
1 year, 9 months
drivers/net/mdio/mdio-mux-mmioreg.c:91:25: sparse: sparse: incorrect type in argument 1 (different address spaces)
by kernel test robot
Hi Andrew,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 2c85ebc57b3e1817b6ce1a6b703928e113a90442
commit: a9770eac511ad82390b9f4a3c1728e078c387ac7 net: mdio: Move MDIO drivers into a new subdirectory
date: 4 months ago
config: openrisc-randconfig-s031-20201214 (attached as .config)
compiler: or1k-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-184-g1b896707-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout a9770eac511ad82390b9f4a3c1728e078c387ac7
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=openrisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
"sparse warnings: (new ones prefixed by >>)"
>> drivers/net/mdio/mdio-mux-mmioreg.c:91:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got void [noderef] __iomem *p @@
drivers/net/mdio/mdio-mux-mmioreg.c:91:25: sparse: expected void *addr
drivers/net/mdio/mdio-mux-mmioreg.c:91:25: sparse: got void [noderef] __iomem *p
vim +91 drivers/net/mdio/mdio-mux-mmioreg.c
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 24
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 25 /*
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 26 * MDIO multiplexing switch function
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 27 *
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 28 * This function is called by the mdio-mux layer when it thinks the mdio bus
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 29 * multiplexer needs to switch.
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 30 *
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 31 * 'current_child' is the current value of the mux register (masked via
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 32 * s->mask).
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 33 *
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 34 * 'desired_child' is the value of the 'reg' property of the target child MDIO
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 35 * node.
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 36 *
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 37 * The first time this function is called, current_child == -1.
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 38 *
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 39 * If current_child == desired_child, then the mux is already set to the
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 40 * correct bus.
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 41 */
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 42 static int mdio_mux_mmioreg_switch_fn(int current_child, int desired_child,
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 43 void *data)
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 44 {
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 45 struct mdio_mux_mmioreg_state *s = data;
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 46
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 47 if (current_child ^ desired_child) {
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 48 void __iomem *p = ioremap(s->phys, s->iosize);
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 49 if (!p)
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 50 return -ENOMEM;
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 51
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 52 switch (s->iosize) {
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 53 case sizeof(uint8_t): {
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 54 uint8_t x, y;
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 55
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 56 x = ioread8(p);
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 57 y = (x & ~s->mask) | desired_child;
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 58 if (x != y) {
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 59 iowrite8((x & ~s->mask) | desired_child, p);
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 60 pr_debug("%s: %02x -> %02x\n", __func__, x, y);
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 61 }
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 62
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 63 break;
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 64 }
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 65 case sizeof(uint16_t): {
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 66 uint16_t x, y;
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 67
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 68 x = ioread16(p);
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 69 y = (x & ~s->mask) | desired_child;
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 70 if (x != y) {
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 71 iowrite16((x & ~s->mask) | desired_child, p);
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 72 pr_debug("%s: %04x -> %04x\n", __func__, x, y);
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 73 }
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 74
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 75 break;
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 76 }
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 77 case sizeof(uint32_t): {
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 78 uint32_t x, y;
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 79
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 80 x = ioread32(p);
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 81 y = (x & ~s->mask) | desired_child;
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 82 if (x != y) {
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 83 iowrite32((x & ~s->mask) | desired_child, p);
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 84 pr_debug("%s: %08x -> %08x\n", __func__, x, y);
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 85 }
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 86
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 87 break;
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 88 }
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 89 }
9a4c803748250f3 drivers/net/phy/mdio-mux-mmioreg.c Neil Armstrong 2016-11-04 90
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 @91 iounmap(p);
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 92 }
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 93
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 94 return 0;
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 95 }
6cc2ff82492d89f drivers/net/phy/mdio-mux-mmioreg.c Timur Tabi 2012-08-24 96
:::::: The code at line 91 was first introduced by commit
:::::: 6cc2ff82492d89f763e69ea6b8681926aceda610 netdev/phy: add MDIO bus multiplexer driven by a memory-mapped device
:::::: TO: Timur Tabi <timur(a)freescale.com>
:::::: CC: David S. Miller <davem(a)davemloft.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 9 months
[microchip-ung-linux-upstream:v5.10-webstax 74/88] s390-linux-ld: ocelot-reset.c:undefined reference to `devm_ioremap'
by kernel test robot
tree: https://github.com/microchip-ung/linux-upstream.git v5.10-webstax
head: 0c603c93d534e71ceee9485bfe1b0b75561efb0e
commit: 8af097f95311e93290cf06200c52bcf902237c58 [74/88] mips: mscc: Add MIPS reset support, add reset switch on load [LOCAL]
config: s390-randconfig-s031-20201214 (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-184-g1b896707-dirty
# https://github.com/microchip-ung/linux-upstream/commit/8af097f95311e93290...
git remote add microchip-ung-linux-upstream https://github.com/microchip-ung/linux-upstream.git
git fetch --no-tags microchip-ung-linux-upstream v5.10-webstax
git checkout 8af097f95311e93290cf06200c52bcf902237c58
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
s390-linux-ld: phy-zynqmp.c:(.text+0xe2c): undefined reference to `devm_platform_ioremap_resource_byname'
s390-linux-ld: drivers/clk/clk-bm1880.o: in function `bm1880_clk_probe':
clk-bm1880.c:(.text+0x46a): undefined reference to `devm_ioremap_resource'
s390-linux-ld: clk-bm1880.c:(.text+0x4b8): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/clk/clk-gemini.o: in function `gemini_clk_probe':
clk-gemini.c:(.text+0x580): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/clk/clk-plldig.o: in function `plldig_clk_probe':
clk-plldig.c:(.text+0x498): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: drivers/clk/bcm/clk-kona-setup.o: in function `kona_dt_ccu_setup':
clk-kona-setup.c:(.init.text+0x116): undefined reference to `iounmap'
s390-linux-ld: drivers/clk/mediatek/clk-mt6765.o: in function `clk_mt6765_ifr_probe':
clk-mt6765.c:(.text+0x86): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/clk/mediatek/clk-mt6765.o: in function `clk_mt6765_top_probe':
clk-mt6765.c:(.text+0x146): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/clk/mediatek/clk-mt6765.o: in function `clk_mt6765_apmixed_probe':
clk-mt6765.c:(.text+0x28c): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/clk/mediatek/clk-mt6779.o: in function `clk_mt6779_top_probe':
clk-mt6779.c:(.text+0xf4): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: drivers/clk/mediatek/clk-mt6797.o: in function `mtk_topckgen_init':
clk-mt6797.c:(.text+0x20e): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: drivers/clk/mediatek/clk-mt7622.o: in function `mtk_pericfg_init':
clk-mt7622.c:(.text+0x2d4): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: drivers/clk/mediatek/clk-mt7622.o: in function `mtk_topckgen_init':
clk-mt7622.c:(.text+0x434): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: drivers/clk/renesas/rcar-usb2-clock-sel.o: in function `rcar_usb2_clock_sel_probe':
rcar-usb2-clock-sel.c:(.text+0x492): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: drivers/clk/sunxi-ng/ccu-sun50i-a64.o: in function `sun50i_a64_ccu_probe':
ccu-sun50i-a64.c:(.text+0x40): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/clk/sunxi-ng/ccu-sun50i-h6.o: in function `sun50i_h6_ccu_probe':
ccu-sun50i-h6.c:(.text+0x46): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/clk/sunxi-ng/ccu-sun8i-r40.o: in function `sun8i_r40_ccu_probe':
ccu-sun8i-r40.c:(.text+0xaa): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/dma/dma-axi-dmac.o: in function `axi_dmac_probe':
dma-axi-dmac.c:(.text+0xefa): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.o: in function `dw_probe':
dw-axi-dmac-platform.c:(.text+0x1e98): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/dma/idma64.o:idma64.c:(.text+0x1e2a): more undefined references to `devm_ioremap_resource' follow
s390-linux-ld: drivers/dma/iop-adma.o: in function `iop_adma_probe':
iop-adma.c:(.text+0x4116): undefined reference to `devm_ioremap'
s390-linux-ld: drivers/dma/mmp_tdma.o: in function `mmp_tdma_probe':
mmp_tdma.c:(.text+0xc0): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/dma/mv_xor.o: in function `mv_xor_probe':
mv_xor.c:(.text+0x1e26): undefined reference to `devm_ioremap'
s390-linux-ld: mv_xor.c:(.text+0x1e86): undefined reference to `devm_ioremap'
s390-linux-ld: drivers/dma/sh/shdmac.o: in function `sh_dmae_probe':
shdmac.c:(.text+0x13ac): undefined reference to `devm_ioremap_resource'
s390-linux-ld: shdmac.c:(.text+0x13f6): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/dma/sf-pdma/sf-pdma.o: in function `sf_pdma_probe':
sf-pdma.c:(.text+0x1052): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/dma/s3c24xx-dma.o: in function `s3c24xx_dma_probe':
s3c24xx-dma.c:(.text+0x1b88): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/dma/qcom/hidma_mgmt.o: in function `hidma_mgmt_probe':
hidma_mgmt.c:(.text+0x3c8): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/soc/amlogic/meson-canvas.o:meson-canvas.c:(.text+0x404): more undefined references to `devm_ioremap_resource' follow
s390-linux-ld: drivers/soc/qcom/llcc-qcom.o: in function `qcom_llcc_init_mmio':
llcc-qcom.c:(.text+0x93c): undefined reference to `devm_platform_ioremap_resource_byname'
s390-linux-ld: drivers/reset/reset-ath79.o: in function `ath79_reset_probe':
reset-ath79.c:(.text+0x26a): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/reset/reset-axs10x.o: in function `axs10x_reset_probe':
reset-axs10x.c:(.text+0xe4): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/reset/reset-brcmstb.o: in function `brcmstb_reset_probe':
reset-brcmstb.c:(.text+0x1ee): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/reset/reset-meson.o: in function `meson_reset_probe':
reset-meson.c:(.text+0x68): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/reset/reset-npcm.o: in function `npcm_rc_probe':
reset-npcm.c:(.text+0x1b8): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: drivers/reset/reset-qcom-pdc.o: in function `qcom_pdc_reset_probe':
reset-qcom-pdc.c:(.text+0x164): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/reset/reset-stm32mp1.o: in function `stm32_reset_probe':
reset-stm32mp1.c:(.text+0x1e8): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/char/hw_random/exynos-trng.o: in function `exynos_trng_probe':
exynos-trng.c:(.text+0x38a): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: drivers/char/hw_random/meson-rng.o: in function `meson_rng_probe':
meson-rng.c:(.text+0xf8): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: drivers/iommu/arm/arm-smmu/arm-smmu-nvidia.o: in function `nvidia_smmu_impl_init':
arm-smmu-nvidia.c:(.text+0x6f4): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/iommu/mtk_iommu.o: in function `mtk_iommu_probe':
mtk_iommu.c:(.text+0x2fc): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/iommu/rockchip-iommu.o: in function `rk_iommu_probe':
rockchip-iommu.c:(.text+0xaa6): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/mfd/syscon.o: in function `syscon_probe':
syscon.c:(.text+0x1f6): undefined reference to `devm_ioremap'
s390-linux-ld: drivers/net/ethernet/altera/altera_tse_main.o: in function `request_and_map':
altera_tse_main.c:(.text+0x1fc): undefined reference to `devm_ioremap'
s390-linux-ld: drivers/net/ethernet/marvell/mvmdio.o: in function `orion_mdio_probe':
mvmdio.c:(.text+0x330): undefined reference to `devm_ioremap'
s390-linux-ld: drivers/net/ethernet/marvell/mvpp2/mvpp2_main.o: in function `mvpp2_port_probe':
mvpp2_main.c:(.text+0x104a0): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: drivers/net/ethernet/marvell/mvpp2/mvpp2_main.o: in function `mvpp2_probe':
mvpp2_main.c:(.text+0x10ea0): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: mvpp2_main.c:(.text+0x10efa): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: mvpp2_main.c:(.text+0x10f30): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/media/cec/platform/meson/ao-cec.o: in function `meson_ao_cec_probe':
ao-cec.c:(.text+0x214): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/media/cec/platform/s5p/s5p_cec.o: in function `s5p_cec_probe':
s5p_cec.c:(.text+0x704): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/power/reset/brcm-kona-reset.o: in function `kona_reset_probe':
brcm-kona-reset.c:(.text+0xa0): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/power/reset/ocelot-reset.o: in function `ocelot_reset_probe':
ocelot-reset.c:(.text+0x6c): undefined reference to `devm_ioremap_resource'
>> s390-linux-ld: ocelot-reset.c:(.text+0xf2): undefined reference to `devm_ioremap'
s390-linux-ld: ocelot-reset.c:(.text+0x168): undefined reference to `devm_ioremap'
s390-linux-ld: drivers/thermal/k3_bandgap.o: in function `k3_bandgap_probe':
k3_bandgap.c:(.text+0xac): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/watchdog/armada_37xx_wdt.o: in function `armada_37xx_wdt_probe':
armada_37xx_wdt.c:(.text+0x466): undefined reference to `devm_ioremap'
s390-linux-ld: drivers/watchdog/omap_wdt.o: in function `omap_wdt_probe':
omap_wdt.c:(.text+0xb6c): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: drivers/watchdog/imx7ulp_wdt.o: in function `imx7ulp_wdt_probe':
imx7ulp_wdt.c:(.text+0x55e): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: drivers/watchdog/atlas7_wdt.o: in function `atlas7_wdt_probe':
atlas7_wdt.c:(.text+0x318): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: drivers/watchdog/aspeed_wdt.o: in function `aspeed_wdt_probe':
aspeed_wdt.c:(.text+0xb8): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: drivers/watchdog/sc520_wdt.o: in function `sc520_wdt_unload':
sc520_wdt.c:(.exit.text+0x8a): undefined reference to `iounmap'
s390-linux-ld: drivers/watchdog/sc520_wdt.o: in function `sc520_wdt_init':
sc520_wdt.c:(.init.text+0x6c): undefined reference to `ioremap'
s390-linux-ld: sc520_wdt.c:(.init.text+0x102): undefined reference to `iounmap'
s390-linux-ld: drivers/watchdog/mv64x60_wdt.o: in function `mv64x60_wdt_probe':
mv64x60_wdt.c:(.text+0x90e): undefined reference to `devm_ioremap'
s390-linux-ld: drivers/crypto/img-hash.o: in function `img_hash_probe':
img-hash.c:(.text+0x1488): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: img-hash.c:(.text+0x14da): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/crypto/mediatek/mtk-platform.o: in function `mtk_crypto_probe':
mtk-platform.c:(.text+0x85e): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: drivers/crypto/sa2ul.o: in function `sa_ul_probe':
sa2ul.c:(.text+0x4722): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/clocksource/timer-of.o: in function `timer_of_init':
timer-of.c:(.init.text+0x194): undefined reference to `iounmap'
s390-linux-ld: drivers/clocksource/timer-of.o: in function `timer_of_cleanup':
timer-of.c:(.init.text+0x2da): undefined reference to `iounmap'
s390-linux-ld: drivers/mailbox/qcom-apcs-ipc-mailbox.o: in function `qcom_apcs_ipc_probe':
qcom-apcs-ipc-mailbox.c:(.text+0x124): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/mailbox/mtk-cmdq-mailbox.o: in function `cmdq_probe':
mtk-cmdq-mailbox.c:(.text+0x284): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/mailbox/sun6i-msgbox.o: in function `sun6i_msgbox_probe':
sun6i-msgbox.c:(.text+0xac2): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/mailbox/qcom-ipcc.o: in function `qcom_ipcc_probe':
qcom-ipcc.c:(.text+0x4c0): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: drivers/hwspinlock/stm32_hwspinlock.o: in function `stm32_hwspinlock_probe':
stm32_hwspinlock.c:(.text+0x1ae): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: drivers/memory/emif.o: in function `emif_probe':
emif.c:(.text+0x160a): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/memory/mtk-smi.o: in function `mtk_smi_larb_probe':
mtk-smi.c:(.text+0x4ee): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/memory/mtk-smi.o: in function `mtk_smi_common_probe':
mtk-smi.c:(.text+0x7fa): undefined reference to `devm_ioremap_resource'
s390-linux-ld: mtk-smi.c:(.text+0x8f6): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/memory/renesas-rpc-if.o: in function `rpcif_sw_init':
(.text+0xb4): undefined reference to `devm_ioremap_resource'
s390-linux-ld: drivers/memory/renesas-rpc-if.o:(.text+0x172): more undefined references to `devm_ioremap_resource' follow
s390-linux-ld: drivers/iio/adc/ingenic-adc.o: in function `ingenic_adc_probe':
ingenic-adc.c:(.text+0xfd8): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: drivers/iio/adc/rcar-gyroadc.o: in function `rcar_gyroadc_probe':
rcar-gyroadc.c:(.text+0xda): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: drivers/iio/adc/stm32-dfsdm-core.o: in function `stm32_dfsdm_probe':
stm32-dfsdm-core.c:(.text+0x528): undefined reference to `devm_platform_get_and_ioremap_resource'
s390-linux-ld: drivers/perf/arm-cmn.o: in function `arm_cmn_probe':
arm-cmn.c:(.text+0x258c): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: drivers/nvmem/imx-iim.o: in function `imx_iim_probe':
imx-iim.c:(.text+0x4e): undefined reference to `devm_platform_ioremap_resource'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 9 months
[microchip-ung-linux-upstream:v5.10-webstax 62/88] drivers/net/ethernet/vitesse/vc3fdma.c:94:49: warning: cast from pointer to integer of different size
by kernel test robot
tree: https://github.com/microchip-ung/linux-upstream.git v5.10-webstax
head: 0c603c93d534e71ceee9485bfe1b0b75561efb0e
commit: 2e15507762cfc0c74bc1e597263005f2ad075881 [62/88] net: ethernet: Add MSCC/VTSS drivers
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.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/microchip-ung/linux-upstream/commit/2e15507762cfc0c74b...
git remote add microchip-ung-linux-upstream https://github.com/microchip-ung/linux-upstream.git
git fetch --no-tags microchip-ung-linux-upstream v5.10-webstax
git checkout 2e15507762cfc0c74bc1e597263005f2ad075881
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=ia64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/net/ethernet/vitesse/vc3fdma.c: In function 'rx_buffer_add_to_ufdma':
drivers/net/ethernet/vitesse/vc3fdma.c:355:11: error: 'struct skb_shared_info' has no member named 'free'
355 | shinfo->free = rx_recycle;
| ^~
drivers/net/ethernet/vitesse/vc3fdma.c:367:15: error: 'struct skb_shared_info' has no member named 'free'
367 | shinfo->free = rx_no_recycle;
| ^~
drivers/net/ethernet/vitesse/vc3fdma.c: In function 'rx_buffers_add':
>> drivers/net/ethernet/vitesse/vc3fdma.c:94:49: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
94 | #define VC3FDMA_ALIGNED_SIZE(_addr_, _align_) (((u32)(_addr_) + ((u32)(_align_) - 1)) & ~((u32)(_align_) - 1))
| ^
drivers/net/ethernet/vitesse/vc3fdma.c:100:44: note: in expansion of macro 'VC3FDMA_ALIGNED_SIZE'
100 | #define VC3FDMA_CACHE_ALIGNED_SIZE(_size_) VC3FDMA_ALIGNED_SIZE(_size_, DCACHE_LINE_SIZE_BYTES)
| ^~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/vitesse/vc3fdma.c:632:52: note: in expansion of macro 'VC3FDMA_CACHE_ALIGNED_SIZE'
632 | priv->rx_user_frm_list = (struct zc_frm_dscr *)VC3FDMA_CACHE_ALIGNED_SIZE(priv->rx_data + 0 * size_of_one_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/vitesse/vc3fdma.c:632:30: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
632 | priv->rx_user_frm_list = (struct zc_frm_dscr *)VC3FDMA_CACHE_ALIGNED_SIZE(priv->rx_data + 0 * size_of_one_list);
| ^
>> drivers/net/ethernet/vitesse/vc3fdma.c:94:49: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
94 | #define VC3FDMA_ALIGNED_SIZE(_addr_, _align_) (((u32)(_addr_) + ((u32)(_align_) - 1)) & ~((u32)(_align_) - 1))
| ^
drivers/net/ethernet/vitesse/vc3fdma.c:100:44: note: in expansion of macro 'VC3FDMA_ALIGNED_SIZE'
100 | #define VC3FDMA_CACHE_ALIGNED_SIZE(_size_) VC3FDMA_ALIGNED_SIZE(_size_, DCACHE_LINE_SIZE_BYTES)
| ^~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/vitesse/vc3fdma.c:633:52: note: in expansion of macro 'VC3FDMA_CACHE_ALIGNED_SIZE'
633 | priv->rx_krnl_frm_list = (struct zc_frm_dscr *)VC3FDMA_CACHE_ALIGNED_SIZE(priv->rx_data + 1 * size_of_one_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/vitesse/vc3fdma.c:633:30: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
633 | priv->rx_krnl_frm_list = (struct zc_frm_dscr *)VC3FDMA_CACHE_ALIGNED_SIZE(priv->rx_data + 1 * size_of_one_list);
| ^
In file included from include/linux/printk.h:7,
from include/linux/kernel.h:16,
from drivers/net/ethernet/vitesse/vc3fdma.c:28:
drivers/net/ethernet/vitesse/vc3fdma.c: In function 'rx_throttle_cmd_cfg_set':
>> include/linux/kern_levels.h:5:18: warning: format '%u' expects argument of type 'unsigned int', but argument 5 has type 'long unsigned int' [-Wformat=]
5 | #define KERN_SOH "\001" /* ASCII Start Of Header */
| ^~~~~~
include/linux/kern_levels.h:11:18: note: in expansion of macro 'KERN_SOH'
11 | #define KERN_ERR KERN_SOH "3" /* error conditions */
| ^~~~~~~~
drivers/net/ethernet/vitesse/vc3fdma.c:87:39: note: in expansion of macro 'KERN_ERR'
87 | #define T_E(_fmt_, ...) printk(KERN_ERR "%s#%d. " _fmt_ "\n", __FUNCTION__, __LINE__, ##__VA_ARGS__)
| ^~~~~~~~
drivers/net/ethernet/vitesse/vc3fdma.c:985:17: note: in expansion of macro 'T_E'
985 | T_E("Got queue number %u, but only %u queues are configurable", qu, ARRAY_SIZE(throttle_cfg.frm_limit_per_tick));
| ^~~
drivers/net/ethernet/vitesse/vc3fdma.c:985:53: note: format string is defined here
985 | T_E("Got queue number %u, but only %u queues are configurable", qu, ARRAY_SIZE(throttle_cfg.frm_limit_per_tick));
| ~^
| |
| unsigned int
| %lu
drivers/net/ethernet/vitesse/vc3fdma.c: In function 'RX_buf_dscr_free':
drivers/net/ethernet/vitesse/vc3fdma.c:1272:15: error: 'struct skb_shared_info' has no member named 'free'
1272 | shinfo->free = recycle ? rx_recycle : rx_no_recycle;
| ^~
In file included from include/linux/printk.h:7,
from include/linux/kernel.h:16,
from drivers/net/ethernet/vitesse/vc3fdma.c:28:
drivers/net/ethernet/vitesse/vc3fdma.c: In function 'RX_callback':
include/linux/kern_levels.h:5:18: warning: format '%u' expects argument of type 'unsigned int', but argument 4 has type 'long unsigned int' [-Wformat=]
5 | #define KERN_SOH "\001" /* ASCII Start Of Header */
| ^~~~~~
include/linux/kern_levels.h:11:18: note: in expansion of macro 'KERN_SOH'
11 | #define KERN_ERR KERN_SOH "3" /* error conditions */
| ^~~~~~~~
drivers/net/ethernet/vitesse/vc3fdma.c:87:39: note: in expansion of macro 'KERN_ERR'
87 | #define T_E(_fmt_, ...) printk(KERN_ERR "%s#%d. " _fmt_ "\n", __FUNCTION__, __LINE__, ##__VA_ARGS__)
| ^~~~~~~~
drivers/net/ethernet/vitesse/vc3fdma.c:1376:9: note: in expansion of macro 'T_E'
1376 | T_E("Not enough headroom in SKB (need %u, only have %u)", sizeof(ifh_encap), skb_headroom(skb));
| ^~~
drivers/net/ethernet/vitesse/vc3fdma.c:1376:48: note: format string is defined here
1376 | T_E("Not enough headroom in SKB (need %u, only have %u)", sizeof(ifh_encap), skb_headroom(skb));
| ~^
| |
| unsigned int
| %lu
drivers/net/ethernet/vitesse/vc3fdma.c: In function 'CX_cache_flush':
drivers/net/ethernet/vitesse/vc3fdma.c:1446:5: error: implicit declaration of function 'dma_cache_wback' [-Werror=implicit-function-declaration]
1446 | dma_cache_wback((unsigned long)virt_addr, bytes);
| ^~~~~~~~~~~~~~~
drivers/net/ethernet/vitesse/vc3fdma.c: In function 'CX_cache_invalidate':
drivers/net/ethernet/vitesse/vc3fdma.c:1455:5: error: implicit declaration of function 'dma_cache_inv'; did you mean 'kmem_cache_init'? [-Werror=implicit-function-declaration]
1455 | dma_cache_inv((unsigned long)virt_addr, bytes);
| ^~~~~~~~~~~~~
| kmem_cache_init
drivers/net/ethernet/vitesse/vc3fdma.c: In function 'CX_trace_printf':
>> drivers/net/ethernet/vitesse/vc3fdma.c:1500:5: warning: function 'CX_trace_printf' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
1500 | vprintk_emit(0, -1, NULL, full_fmt, args);
| ^~~~~~~~~~~~
drivers/net/ethernet/vitesse/vc3fdma.c: In function 'vc3fdma_create':
drivers/net/ethernet/vitesse/vc3fdma.c:1920:18: error: implicit declaration of function 'device_get_match_data'; did you mean 'device_match_any'? [-Werror=implicit-function-declaration]
1920 | priv->chip = device_get_match_data(&pdev->dev);
| ^~~~~~~~~~~~~~~~~~~~~
| device_match_any
>> drivers/net/ethernet/vitesse/vc3fdma.c:1920:16: warning: assignment to 'const struct fdma_chip *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
1920 | priv->chip = device_get_match_data(&pdev->dev);
| ^
In file included from include/linux/printk.h:409,
from include/linux/kernel.h:16,
from drivers/net/ethernet/vitesse/vc3fdma.c:28:
drivers/net/ethernet/vitesse/vc3fdma.c:1950:68: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1950 | dev_dbg(&pdev->dev, "Mapped switch registers 0x%08x 0x%08x\n", (u32)priv->map_origin1, (u32)priv->map_origin2);
| ^
include/linux/dynamic_debug.h:129:15: note: in definition of macro '__dynamic_func_call'
129 | func(&id, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/dynamic_debug.h:161:2: note: in expansion of macro '_dynamic_func_call'
161 | _dynamic_func_call(fmt,__dynamic_dev_dbg, \
| ^~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:123:2: note: in expansion of macro 'dynamic_dev_dbg'
123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~~~~~~~
drivers/net/ethernet/vitesse/vc3fdma.c:1950:5: note: in expansion of macro 'dev_dbg'
1950 | dev_dbg(&pdev->dev, "Mapped switch registers 0x%08x 0x%08x\n", (u32)priv->map_origin1, (u32)priv->map_origin2);
| ^~~~~~~
drivers/net/ethernet/vitesse/vc3fdma.c:1950:92: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1950 | dev_dbg(&pdev->dev, "Mapped switch registers 0x%08x 0x%08x\n", (u32)priv->map_origin1, (u32)priv->map_origin2);
| ^
include/linux/dynamic_debug.h:129:15: note: in definition of macro '__dynamic_func_call'
129 | func(&id, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/dynamic_debug.h:161:2: note: in expansion of macro '_dynamic_func_call'
161 | _dynamic_func_call(fmt,__dynamic_dev_dbg, \
| ^~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:123:2: note: in expansion of macro 'dynamic_dev_dbg'
123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~~~~~~~
drivers/net/ethernet/vitesse/vc3fdma.c:1950:5: note: in expansion of macro 'dev_dbg'
1950 | dev_dbg(&pdev->dev, "Mapped switch registers 0x%08x 0x%08x\n", (u32)priv->map_origin1, (u32)priv->map_origin2);
| ^~~~~~~
drivers/net/ethernet/vitesse/vc3fdma.c: In function 'zc_poll':
drivers/net/ethernet/vitesse/vc3fdma.c:2239:27: error: 'struct skb_shared_info' has no member named 'free'
2239 | if (shinfo->free == rx_recycle) {
| ^~
drivers/net/ethernet/vitesse/vc3fdma.c: At top level:
drivers/net/ethernet/vitesse/vc3fdma.c:2533:34: error: array type has incomplete element type 'struct of_device_id'
2533 | static const struct of_device_id mscc_fdma_id_table[] = {
| ^~~~~~~~~~~~~~~~~~
drivers/net/ethernet/vitesse/vc3fdma.c:2535:9: error: field name not in record or union initializer
2535 | .compatible = "mscc,luton-fdma",
| ^
drivers/net/ethernet/vitesse/vc3fdma.c:2535:9: note: (near initialization for 'mscc_fdma_id_table')
drivers/net/ethernet/vitesse/vc3fdma.c:2536:9: error: field name not in record or union initializer
2536 | .data = &luton_chip,
| ^
drivers/net/ethernet/vitesse/vc3fdma.c:2536:9: note: (near initialization for 'mscc_fdma_id_table')
drivers/net/ethernet/vitesse/vc3fdma.c:2539:9: error: field name not in record or union initializer
2539 | .compatible = "mscc,serval-fdma",
| ^
drivers/net/ethernet/vitesse/vc3fdma.c:2539:9: note: (near initialization for 'mscc_fdma_id_table')
drivers/net/ethernet/vitesse/vc3fdma.c:2540:9: error: field name not in record or union initializer
2540 | .data = &serval_chip,
| ^
drivers/net/ethernet/vitesse/vc3fdma.c:2540:9: note: (near initialization for 'mscc_fdma_id_table')
drivers/net/ethernet/vitesse/vc3fdma.c:2543:9: error: field name not in record or union initializer
2543 | .compatible = "mscc,ocelot-fdma",
| ^
drivers/net/ethernet/vitesse/vc3fdma.c:2543:9: note: (near initialization for 'mscc_fdma_id_table')
drivers/net/ethernet/vitesse/vc3fdma.c:2544:9: error: field name not in record or union initializer
2544 | .data = &ocelot_chip,
| ^
drivers/net/ethernet/vitesse/vc3fdma.c:2544:9: note: (near initialization for 'mscc_fdma_id_table')
drivers/net/ethernet/vitesse/vc3fdma.c:2547:9: error: field name not in record or union initializer
2547 | .compatible = "mscc,servalt-fdma",
| ^
drivers/net/ethernet/vitesse/vc3fdma.c:2547:9: note: (near initialization for 'mscc_fdma_id_table')
drivers/net/ethernet/vitesse/vc3fdma.c:2548:9: error: field name not in record or union initializer
2548 | .data = &servalt_chip,
| ^
drivers/net/ethernet/vitesse/vc3fdma.c:2548:9: note: (near initialization for 'mscc_fdma_id_table')
drivers/net/ethernet/vitesse/vc3fdma.c:2551:9: error: field name not in record or union initializer
2551 | .compatible = "mscc,jaguar2-fdma",
| ^
drivers/net/ethernet/vitesse/vc3fdma.c:2551:9: note: (near initialization for 'mscc_fdma_id_table')
drivers/net/ethernet/vitesse/vc3fdma.c:2552:9: error: field name not in record or union initializer
2552 | .data = &jaguar2_chip,
| ^
drivers/net/ethernet/vitesse/vc3fdma.c:2552:9: note: (near initialization for 'mscc_fdma_id_table')
cc1: some warnings being treated as errors
vim +94 drivers/net/ethernet/vitesse/vc3fdma.c
88
89 /****************************************************************************/
90 // VC3FDMA_ALIGNED_SIZE()
91 // Use this macro to align a block of memory to a given alignment.
92 // Only use powers of two for _align_.
93 /****************************************************************************/
> 94 #define VC3FDMA_ALIGNED_SIZE(_addr_, _align_) (((u32)(_addr_) + ((u32)(_align_) - 1)) & ~((u32)(_align_) - 1))
95
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 9 months