Re: [Intel-gfx] [PATCH] drm/i915: Add needs_compact_pt flag
by kernel test robot
Hi Ramalingam,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on drm-tip/drm-tip drm-exynos/exynos-drm-next drm/drm-next next-20220121]
[cannot apply to v5.16]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Ramalingam-C/drm-i915-Add-needs_...
base: git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-randconfig-c002 (https://download.01.org/0day-ci/archive/20220121/202201211550.31D9jnOx-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/cf1a6660ac07b3b3618b35dccab57042d...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Ramalingam-C/drm-i915-Add-needs_compact_pt-flag/20220121-002256
git checkout cf1a6660ac07b3b3618b35dccab57042d592ea2c
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/gpu/
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 >>):
In file included from drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h:11,
from drivers/gpu/drm/i915/gt/uc/intel_guc.h:19,
from drivers/gpu/drm/i915/gt/uc/intel_uc.h:9,
from drivers/gpu/drm/i915/gt/intel_gt_types.h:18,
from drivers/gpu/drm/i915/gt/intel_engine.h:18,
from drivers/gpu/drm/i915/i915_drv.h:83,
from drivers/gpu/drm/i915/display/intel_cdclk.h:11,
from drivers/gpu/drm/i915/i915_driver.c:50:
>> drivers/gpu/drm/i915/intel_device_info.h:274: error: unterminated argument list invoking macro "DEFINE_FLAG"
274 | #endif
|
>> drivers/gpu/drm/i915/intel_device_info.h:201:25: error: expected specifier-qualifier-list before 'DEFINE_FLAG'
201 | DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
| ^~~~~~~~~~~
drivers/gpu/drm/i915/intel_device_info.h:130:2: note: in definition of macro 'DEV_INFO_FOR_EACH_FLAG'
130 | func(needs_compact_pt; \
| ^~~~
--
In file included from drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h:11,
from drivers/gpu/drm/i915/gt/uc/intel_guc.h:19,
from drivers/gpu/drm/i915/gt/uc/intel_uc.h:9,
from drivers/gpu/drm/i915/gt/intel_gt_types.h:18,
from drivers/gpu/drm/i915/gt/intel_engine.h:18,
from drivers/gpu/drm/i915/i915_drv.h:83,
from drivers/gpu/drm/i915/display/intel_cdclk.h:11,
from drivers/gpu/drm/i915/intel_device_info.c:28:
>> drivers/gpu/drm/i915/intel_device_info.h:274: error: unterminated argument list invoking macro "DEFINE_FLAG"
274 | #endif
|
>> drivers/gpu/drm/i915/intel_device_info.h:201:25: error: expected specifier-qualifier-list before 'DEFINE_FLAG'
201 | DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
| ^~~~~~~~~~~
drivers/gpu/drm/i915/intel_device_info.h:130:2: note: in definition of macro 'DEV_INFO_FOR_EACH_FLAG'
130 | func(needs_compact_pt; \
| ^~~~
>> drivers/gpu/drm/i915/intel_device_info.c:396: error: unterminated argument list invoking macro "PRINT_FLAG"
396 | }
|
vim +/DEFINE_FLAG +274 drivers/gpu/drm/i915/intel_device_info.h
a5b7ef27da60c9 José Roberto de Souza 2021-10-19 178
b978520d1e35b9 Michal Wajdeczko 2017-12-21 179 struct intel_device_info {
a5b7ef27da60c9 José Roberto de Souza 2021-10-19 180 struct ip_version graphics;
a5b7ef27da60c9 José Roberto de Souza 2021-10-19 181 struct ip_version media;
93babb061e2ab5 Lucas De Marchi 2021-04-12 182
792592e72aba41 Daniele Ceraolo Spurio 2020-07-07 183 intel_engine_mask_t platform_engine_mask; /* Engines supported by the HW */
b978520d1e35b9 Michal Wajdeczko 2017-12-21 184
b978520d1e35b9 Michal Wajdeczko 2017-12-21 185 enum intel_platform platform;
b978520d1e35b9 Michal Wajdeczko 2017-12-21 186
31a02eb70b8d9e Michael J. Ruhl 2020-04-17 187 unsigned int dma_mask_size; /* available DMA address bits */
31a02eb70b8d9e Michael J. Ruhl 2020-04-17 188
cbecbccaa120fd Chris Wilson 2019-03-14 189 enum intel_ppgtt_type ppgtt_type;
cbecbccaa120fd Chris Wilson 2019-03-14 190 unsigned int ppgtt_size; /* log2, e.g. 31/32/48 bits */
cbecbccaa120fd Chris Wilson 2019-03-14 191
4552f50a439c36 Tvrtko Ursulin 2018-02-22 192 unsigned int page_sizes; /* page sizes supported by the HW */
3aae9d08532c8e Abdiel Janulgue 2019-10-18 193
3aae9d08532c8e Abdiel Janulgue 2019-10-18 194 u32 memory_regions; /* regions supported by the HW */
4552f50a439c36 Tvrtko Ursulin 2018-02-22 195
b978520d1e35b9 Michal Wajdeczko 2017-12-21 196 u32 display_mmio_offset;
b978520d1e35b9 Michal Wajdeczko 2017-12-21 197
938c778f6a22fa John Harrison 2021-07-23 198 u8 gt; /* GT number, 0 if undefined */
938c778f6a22fa John Harrison 2021-07-23 199
b978520d1e35b9 Michal Wajdeczko 2017-12-21 200 #define DEFINE_FLAG(name) u8 name:1
b978520d1e35b9 Michal Wajdeczko 2017-12-21 @201 DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
b978520d1e35b9 Michal Wajdeczko 2017-12-21 202 #undef DEFINE_FLAG
d53db442db36fd José Roberto de Souza 2018-11-30 203
d53db442db36fd José Roberto de Souza 2018-11-30 204 struct {
4df9c1ae7a4bb9 Lucas De Marchi 2021-04-12 205 u8 ver;
a5b7ef27da60c9 José Roberto de Souza 2021-10-19 206 u8 rel;
01eb15c9165e41 Matt Roper 2021-03-19 207
6678916dfa0125 Ville Syrjälä 2021-12-10 208 u8 pipe_mask;
6678916dfa0125 Ville Syrjälä 2021-12-10 209 u8 cpu_transcoder_mask;
6678916dfa0125 Ville Syrjälä 2021-12-10 210 u8 abox_mask;
6678916dfa0125 Ville Syrjälä 2021-12-10 211
d53db442db36fd José Roberto de Souza 2018-11-30 212 #define DEFINE_FLAG(name) u8 name:1
d53db442db36fd José Roberto de Souza 2018-11-30 213 DEV_INFO_DISPLAY_FOR_EACH_FLAG(DEFINE_FLAG);
d53db442db36fd José Roberto de Souza 2018-11-30 214 #undef DEFINE_FLAG
d53db442db36fd José Roberto de Souza 2018-11-30 215 } display;
d53db442db36fd José Roberto de Souza 2018-11-30 216
708de86e10e593 Ville Syrjälä 2021-04-16 217 struct {
708de86e10e593 Ville Syrjälä 2021-04-16 218 u16 size; /* in blocks */
578e6edec45cf8 Ville Syrjälä 2021-04-16 219 u8 slice_mask;
708de86e10e593 Ville Syrjälä 2021-04-16 220 } dbuf;
b978520d1e35b9 Michal Wajdeczko 2017-12-21 221
b978520d1e35b9 Michal Wajdeczko 2017-12-21 222 /* Register offsets for the various display pipes and transcoders */
b978520d1e35b9 Michal Wajdeczko 2017-12-21 223 int pipe_offsets[I915_MAX_TRANSCODERS];
b978520d1e35b9 Michal Wajdeczko 2017-12-21 224 int trans_offsets[I915_MAX_TRANSCODERS];
b978520d1e35b9 Michal Wajdeczko 2017-12-21 225 int cursor_offsets[I915_MAX_PIPES];
b978520d1e35b9 Michal Wajdeczko 2017-12-21 226
0258404f9d3859 Jani Nikula 2018-12-31 227 struct color_luts {
89a72304f2f3d4 Shashank Sharma 2019-06-12 228 u32 degamma_lut_size;
89a72304f2f3d4 Shashank Sharma 2019-06-12 229 u32 gamma_lut_size;
e4c0d5314dede3 Matt Roper 2019-01-30 230 u32 degamma_lut_tests;
e4c0d5314dede3 Matt Roper 2019-01-30 231 u32 gamma_lut_tests;
0258404f9d3859 Jani Nikula 2018-12-31 232 } color;
0258404f9d3859 Jani Nikula 2018-12-31 233 };
0258404f9d3859 Jani Nikula 2018-12-31 234
0258404f9d3859 Jani Nikula 2018-12-31 235 struct intel_runtime_info {
805446c8347c9e Tvrtko Ursulin 2019-03-27 236 /*
805446c8347c9e Tvrtko Ursulin 2019-03-27 237 * Platform mask is used for optimizing or-ed IS_PLATFORM calls into
805446c8347c9e Tvrtko Ursulin 2019-03-27 238 * into single runtime conditionals, and also to provide groundwork
805446c8347c9e Tvrtko Ursulin 2019-03-27 239 * for future per platform, or per SKU build optimizations.
805446c8347c9e Tvrtko Ursulin 2019-03-27 240 *
805446c8347c9e Tvrtko Ursulin 2019-03-27 241 * Array can be extended when necessary if the corresponding
805446c8347c9e Tvrtko Ursulin 2019-03-27 242 * BUILD_BUG_ON is hit.
805446c8347c9e Tvrtko Ursulin 2019-03-27 243 */
805446c8347c9e Tvrtko Ursulin 2019-03-27 244 u32 platform_mask[2];
805446c8347c9e Tvrtko Ursulin 2019-03-27 245
0258404f9d3859 Jani Nikula 2018-12-31 246 u16 device_id;
0258404f9d3859 Jani Nikula 2018-12-31 247
0258404f9d3859 Jani Nikula 2018-12-31 248 u8 num_sprites[I915_MAX_PIPES];
0258404f9d3859 Jani Nikula 2018-12-31 249 u8 num_scalers[I915_MAX_PIPES];
0258404f9d3859 Jani Nikula 2018-12-31 250
b04002f4dbee03 Chris Wilson 2020-02-16 251 u32 rawclk_freq;
439c8dccb6a7f7 Jani Nikula 2021-03-26 252
5644dc0a75674d Jani Nikula 2021-03-26 253 struct intel_step_info step;
b978520d1e35b9 Michal Wajdeczko 2017-12-21 254 };
b978520d1e35b9 Michal Wajdeczko 2017-12-21 255
3fed180812edeb Chris Wilson 2018-02-07 256 struct intel_driver_caps {
3fed180812edeb Chris Wilson 2018-02-07 257 unsigned int scheduler;
481827b441674b Chris Wilson 2018-07-06 258 bool has_logical_contexts:1;
3fed180812edeb Chris Wilson 2018-02-07 259 };
3fed180812edeb Chris Wilson 2018-02-07 260
b978520d1e35b9 Michal Wajdeczko 2017-12-21 261 const char *intel_platform_name(enum intel_platform platform);
b978520d1e35b9 Michal Wajdeczko 2017-12-21 262
805446c8347c9e Tvrtko Ursulin 2019-03-27 263 void intel_device_info_subplatform_init(struct drm_i915_private *dev_priv);
1400cc7e0dcdf1 Jani Nikula 2018-12-31 264 void intel_device_info_runtime_init(struct drm_i915_private *dev_priv);
7240497850f76e Chris Wilson 2019-12-07 265
7240497850f76e Chris Wilson 2019-12-07 266 void intel_device_info_print_static(const struct intel_device_info *info,
b978520d1e35b9 Michal Wajdeczko 2017-12-21 267 struct drm_printer *p);
7240497850f76e Chris Wilson 2019-12-07 268 void intel_device_info_print_runtime(const struct intel_runtime_info *info,
5fbbe8d4e10235 Michal Wajdeczko 2017-12-21 269 struct drm_printer *p);
b978520d1e35b9 Michal Wajdeczko 2017-12-21 270
3fed180812edeb Chris Wilson 2018-02-07 271 void intel_driver_caps_print(const struct intel_driver_caps *caps,
3fed180812edeb Chris Wilson 2018-02-07 272 struct drm_printer *p);
3fed180812edeb Chris Wilson 2018-02-07 273
b978520d1e35b9 Michal Wajdeczko 2017-12-21 @274 #endif
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
Re: [PATCH] net: missing lock releases in ipmr_base.c
by kernel test robot
Hi ycaibb,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on net-next/master]
[also build test WARNING on net/master horms-ipvs/master linus/master v5.16 next-20220121]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/ycaibb/net-missing-lock-releases...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 8aaaf2f3af2ae212428f4db1af34214225f5cec3
config: powerpc-allyesconfig (https://download.01.org/0day-ci/archive/20220121/202201211542.TGuj5kMv-lk...)
compiler: powerpc-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/33b03feacaf2155323b031274d2d67dab...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review ycaibb/net-missing-lock-releases-in-ipmr_base-c/20220121-112603
git checkout 33b03feacaf2155323b031274d2d67dab0cf561c
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=powerpc SHELL=/bin/bash net/ipv4/
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 >>):
net/ipv4/ipmr_base.c: In function 'mr_mfc_seq_idx':
>> net/ipv4/ipmr_base.c:156:17: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
156 | if (pos-- == 0)
| ^~
net/ipv4/ipmr_base.c:158:25: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
158 | return mfc;
| ^~~~~~
net/ipv4/ipmr_base.c:164:17: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
164 | if (pos-- == 0)
| ^~
net/ipv4/ipmr_base.c:166:25: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
166 | return mfc;
| ^~~~~~
vim +/if +156 net/ipv4/ipmr_base.c
3feda6b46f7347 Yuval Mintz 2018-02-28 146
c8d61968032654 Yuval Mintz 2018-02-28 147 void *mr_mfc_seq_idx(struct net *net,
c8d61968032654 Yuval Mintz 2018-02-28 148 struct mr_mfc_iter *it, loff_t pos)
c8d61968032654 Yuval Mintz 2018-02-28 149 {
c8d61968032654 Yuval Mintz 2018-02-28 150 struct mr_table *mrt = it->mrt;
c8d61968032654 Yuval Mintz 2018-02-28 151 struct mr_mfc *mfc;
c8d61968032654 Yuval Mintz 2018-02-28 152
c8d61968032654 Yuval Mintz 2018-02-28 153 rcu_read_lock();
c8d61968032654 Yuval Mintz 2018-02-28 154 it->cache = &mrt->mfc_cache_list;
c8d61968032654 Yuval Mintz 2018-02-28 155 list_for_each_entry_rcu(mfc, &mrt->mfc_cache_list, list)
c8d61968032654 Yuval Mintz 2018-02-28 @156 if (pos-- == 0)
33b03feacaf215 Ryan Cai 2022-01-21 157 rcu_read_unlock();
c8d61968032654 Yuval Mintz 2018-02-28 158 return mfc;
c8d61968032654 Yuval Mintz 2018-02-28 159 rcu_read_unlock();
c8d61968032654 Yuval Mintz 2018-02-28 160
c8d61968032654 Yuval Mintz 2018-02-28 161 spin_lock_bh(it->lock);
c8d61968032654 Yuval Mintz 2018-02-28 162 it->cache = &mrt->mfc_unres_queue;
c8d61968032654 Yuval Mintz 2018-02-28 163 list_for_each_entry(mfc, it->cache, list)
c8d61968032654 Yuval Mintz 2018-02-28 164 if (pos-- == 0)
33b03feacaf215 Ryan Cai 2022-01-21 165 spin_unlock_bh(it->lock);
c8d61968032654 Yuval Mintz 2018-02-28 166 return mfc;
c8d61968032654 Yuval Mintz 2018-02-28 167 spin_unlock_bh(it->lock);
c8d61968032654 Yuval Mintz 2018-02-28 168
c8d61968032654 Yuval Mintz 2018-02-28 169 it->cache = NULL;
c8d61968032654 Yuval Mintz 2018-02-28 170 return NULL;
c8d61968032654 Yuval Mintz 2018-02-28 171 }
c8d61968032654 Yuval Mintz 2018-02-28 172 EXPORT_SYMBOL(mr_mfc_seq_idx);
c8d61968032654 Yuval Mintz 2018-02-28 173
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
Re: [RFC PATCH] drm: allow passing a real encoder object for wb connector
by kernel test robot
Hi Abhinav,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on drm/drm-next]
[also build test ERROR on drm-intel/for-linux-next drm-tip/drm-tip drm-exynos/exynos-drm-next tegra-drm/drm/tegra/for-next v5.16 next-20220121]
[cannot apply to airlied/drm-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Abhinav-Kumar/drm-allow-passing-...
base: git://anongit.freedesktop.org/drm/drm drm-next
config: arm64-randconfig-r011-20220120 (https://download.01.org/0day-ci/archive/20220121/202201211543.ZApV4jVl-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project d4baf3b1322b84816aa623d8e8cb45a49cb68b84)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://github.com/0day-ci/linux/commit/ce1d81913d9146f6e753c39f41929266a...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Abhinav-Kumar/drm-allow-passing-a-real-encoder-object-for-wb-connector/20220121-103231
git checkout ce1d81913d9146f6e753c39f41929266a5885f99
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/gpu/drm/arm/ drivers/gpu/drm/rcar-du/
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/arm/malidp_mw.c:215:30: error: member reference type 'struct drm_encoder *' is a pointer; did you mean to use '->'?
malidp->mw_connector.encoder.possible_crtcs = 1 << drm_crtc_index(&malidp->crtc);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
->
1 error generated.
--
>> drivers/gpu/drm/rcar-du/rcar_du_writeback.c:203:18: error: member reference type 'struct drm_encoder *' is a pointer; did you mean to use '->'?
wb_conn->encoder.possible_crtcs = 1 << drm_crtc_index(&rcrtc->crtc);
~~~~~~~~~~~~~~~~^
->
1 error generated.
--
>> drivers/gpu/drm/arm/display/komeda/komeda_wb_connector.c:158:18: error: member reference type 'struct drm_encoder *' is a pointer; did you mean to use '->'?
wb_conn->encoder.possible_crtcs = BIT(drm_crtc_index(&kcrtc->base));
~~~~~~~~~~~~~~~~^
->
1 error generated.
vim +215 drivers/gpu/drm/arm/malidp_mw.c
8cbc5caf36ef7a Brian Starkey 2017-11-02 205
8cbc5caf36ef7a Brian Starkey 2017-11-02 206 int malidp_mw_connector_init(struct drm_device *drm)
8cbc5caf36ef7a Brian Starkey 2017-11-02 207 {
8cbc5caf36ef7a Brian Starkey 2017-11-02 208 struct malidp_drm *malidp = drm->dev_private;
8cbc5caf36ef7a Brian Starkey 2017-11-02 209 u32 *formats;
8cbc5caf36ef7a Brian Starkey 2017-11-02 210 int ret, n_formats;
8cbc5caf36ef7a Brian Starkey 2017-11-02 211
8cbc5caf36ef7a Brian Starkey 2017-11-02 212 if (!malidp->dev->hw->enable_memwrite)
8cbc5caf36ef7a Brian Starkey 2017-11-02 213 return 0;
8cbc5caf36ef7a Brian Starkey 2017-11-02 214
8cbc5caf36ef7a Brian Starkey 2017-11-02 @215 malidp->mw_connector.encoder.possible_crtcs = 1 << drm_crtc_index(&malidp->crtc);
8cbc5caf36ef7a Brian Starkey 2017-11-02 216 drm_connector_helper_add(&malidp->mw_connector.base,
8cbc5caf36ef7a Brian Starkey 2017-11-02 217 &malidp_mw_connector_helper_funcs);
8cbc5caf36ef7a Brian Starkey 2017-11-02 218
8cbc5caf36ef7a Brian Starkey 2017-11-02 219 formats = get_writeback_formats(malidp, &n_formats);
8cbc5caf36ef7a Brian Starkey 2017-11-02 220 if (!formats)
8cbc5caf36ef7a Brian Starkey 2017-11-02 221 return -ENOMEM;
8cbc5caf36ef7a Brian Starkey 2017-11-02 222
8cbc5caf36ef7a Brian Starkey 2017-11-02 223 ret = drm_writeback_connector_init(drm, &malidp->mw_connector,
8cbc5caf36ef7a Brian Starkey 2017-11-02 224 &malidp_mw_connector_funcs,
8cbc5caf36ef7a Brian Starkey 2017-11-02 225 &malidp_mw_encoder_helper_funcs,
8cbc5caf36ef7a Brian Starkey 2017-11-02 226 formats, n_formats);
8cbc5caf36ef7a Brian Starkey 2017-11-02 227 kfree(formats);
8cbc5caf36ef7a Brian Starkey 2017-11-02 228 if (ret)
8cbc5caf36ef7a Brian Starkey 2017-11-02 229 return ret;
8cbc5caf36ef7a Brian Starkey 2017-11-02 230
8cbc5caf36ef7a Brian Starkey 2017-11-02 231 return 0;
8cbc5caf36ef7a Brian Starkey 2017-11-02 232 }
8cbc5caf36ef7a Brian Starkey 2017-11-02 233
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
Re: [PATCH] ipv4: fix lock leaks
by kernel test robot
Hi ycaibb,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on net-next/master]
[also build test WARNING on net/master horms-ipvs/master linus/master v5.16 next-20220121]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/ycaibb/ipv4-fix-lock-leaks/20220...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 8aaaf2f3af2ae212428f4db1af34214225f5cec3
config: mips-cu1000-neo_defconfig (https://download.01.org/0day-ci/archive/20220121/202201211532.LRhcv7cH-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project d4baf3b1322b84816aa623d8e8cb45a49cb68b84)
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/0day-ci/linux/commit/604258c8f5a9792828f54e55769ca1673...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review ycaibb/ipv4-fix-lock-leaks/20220121-111241
git checkout 604258c8f5a9792828f54e55769ca1673c4a34ee
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash net/ipv4/
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 >>):
>> net/ipv4/tcp_ipv4.c:2344:5: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
return sk;
^
net/ipv4/tcp_ipv4.c:2342:4: note: previous statement is here
if (seq_sk_match(seq, sk))
^
net/ipv4/tcp_ipv4.c:2423:5: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
return sk;
^
net/ipv4/tcp_ipv4.c:2421:4: note: previous statement is here
if (seq_sk_match(seq, sk))
^
2 warnings generated.
vim +/if +2344 net/ipv4/tcp_ipv4.c
ad2d61376a0517 Martin KaFai Lau 2021-07-01 2321
b72acf4501d7c3 Martin KaFai Lau 2021-07-01 2322 /* Find a non empty bucket (starting from st->bucket)
b72acf4501d7c3 Martin KaFai Lau 2021-07-01 2323 * and return the first sk from it.
a8b690f98baf9f Tom Herbert 2010-06-07 2324 */
b72acf4501d7c3 Martin KaFai Lau 2021-07-01 2325 static void *listening_get_first(struct seq_file *seq)
^1da177e4c3f41 Linus Torvalds 2005-04-16 2326 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 2327 struct tcp_iter_state *st = seq->private;
b08d4d3b6c0460 Yonghong Song 2020-06-23 2328
a8b690f98baf9f Tom Herbert 2010-06-07 2329 st->offset = 0;
05c0b35709c58b Martin KaFai Lau 2021-07-01 2330 for (; st->bucket <= tcp_hashinfo.lhash2_mask; st->bucket++) {
05c0b35709c58b Martin KaFai Lau 2021-07-01 2331 struct inet_listen_hashbucket *ilb2;
05c0b35709c58b Martin KaFai Lau 2021-07-01 2332 struct inet_connection_sock *icsk;
b72acf4501d7c3 Martin KaFai Lau 2021-07-01 2333 struct sock *sk;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2334
05c0b35709c58b Martin KaFai Lau 2021-07-01 2335 ilb2 = &tcp_hashinfo.lhash2[st->bucket];
05c0b35709c58b Martin KaFai Lau 2021-07-01 2336 if (hlist_empty(&ilb2->head))
b72acf4501d7c3 Martin KaFai Lau 2021-07-01 2337 continue;
b72acf4501d7c3 Martin KaFai Lau 2021-07-01 2338
05c0b35709c58b Martin KaFai Lau 2021-07-01 2339 spin_lock(&ilb2->lock);
05c0b35709c58b Martin KaFai Lau 2021-07-01 2340 inet_lhash2_for_each_icsk(icsk, &ilb2->head) {
05c0b35709c58b Martin KaFai Lau 2021-07-01 2341 sk = (struct sock *)icsk;
b72acf4501d7c3 Martin KaFai Lau 2021-07-01 2342 if (seq_sk_match(seq, sk))
604258c8f5a979 Ryan Cai 2022-01-21 2343 spin_unlock(&ilb2->lock);
b72acf4501d7c3 Martin KaFai Lau 2021-07-01 @2344 return sk;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2345 }
05c0b35709c58b Martin KaFai Lau 2021-07-01 2346 spin_unlock(&ilb2->lock);
b72acf4501d7c3 Martin KaFai Lau 2021-07-01 2347 }
b72acf4501d7c3 Martin KaFai Lau 2021-07-01 2348
b72acf4501d7c3 Martin KaFai Lau 2021-07-01 2349 return NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2350 }
b72acf4501d7c3 Martin KaFai Lau 2021-07-01 2351
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
drivers/md/raid5.c:7055:9: sparse: sparse: cast removes address space '__percpu' of expression
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 2c271fe77d52a0555161926c232cd5bc07178b39
commit: 770b1d216d7371c94c88713824da4be4bc39a4e0 md/raid5: play nice with PREEMPT_RT
date: 2 weeks ago
config: x86_64-rhel-8.3-kselftests (https://download.01.org/0day-ci/archive/20220121/202201211523.eotam4i6-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-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 770b1d216d7371c94c88713824da4be4bc39a4e0
# save the config file to linux build tree
mkdir build_dir
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=x86_64 SHELL=/bin/bash
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/md/raid5.c: note: in included file:
drivers/md/raid5.h:271:14: sparse: sparse: array of flexible structures
drivers/md/raid5.c:641:40: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:641:40: sparse: struct md_rdev [noderef] __rcu *
drivers/md/raid5.c:641:40: sparse: struct md_rdev *
drivers/md/raid5.c:643:32: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:643:32: sparse: struct md_rdev [noderef] __rcu *
drivers/md/raid5.c:643:32: sparse: struct md_rdev *
drivers/md/raid5.c:667:40: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:667:40: sparse: struct md_rdev [noderef] __rcu *
drivers/md/raid5.c:667:40: sparse: struct md_rdev *
drivers/md/raid5.c:669:32: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:669:32: sparse: struct md_rdev [noderef] __rcu *
drivers/md/raid5.c:669:32: sparse: struct md_rdev *
drivers/md/raid5.c:1101:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:1101:25: sparse: struct md_rdev [noderef] __rcu *
drivers/md/raid5.c:1101:25: sparse: struct md_rdev *
drivers/md/raid5.c:1103:24: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:1103:24: sparse: struct md_rdev [noderef] __rcu *
drivers/md/raid5.c:1103:24: sparse: struct md_rdev *
drivers/md/raid5.c:3563:32: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:3563:32: sparse: struct md_rdev [noderef] __rcu *
drivers/md/raid5.c:3563:32: sparse: struct md_rdev *
drivers/md/raid5.c:3689:48: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:3689:48: sparse: struct md_rdev [noderef] __rcu *
drivers/md/raid5.c:3689:48: sparse: struct md_rdev *
drivers/md/raid5.c:3696:32: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:3696:32: sparse: struct md_rdev [noderef] __rcu *
drivers/md/raid5.c:3696:32: sparse: struct md_rdev *
drivers/md/raid5.c:3718:16: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:3718:16: sparse: struct md_rdev [noderef] __rcu *
drivers/md/raid5.c:3718:16: sparse: struct md_rdev *
drivers/md/raid5.c:4646:24: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:4646:24: sparse: struct md_rdev [noderef] __rcu *
drivers/md/raid5.c:4646:24: sparse: struct md_rdev *
drivers/md/raid5.c:4657:32: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:4657:32: sparse: struct md_rdev [noderef] __rcu *
drivers/md/raid5.c:4657:32: sparse: struct md_rdev *
drivers/md/raid5.c:4704:49: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:4704:49: sparse: struct md_rdev [noderef] __rcu *
drivers/md/raid5.c:4704:49: sparse: struct md_rdev *
drivers/md/raid5.c:4717:49: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:4717:49: sparse: struct md_rdev [noderef] __rcu *
drivers/md/raid5.c:4717:49: sparse: struct md_rdev *
drivers/md/raid5.c:4726:49: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:4726:49: sparse: struct md_rdev [noderef] __rcu *
drivers/md/raid5.c:4726:49: sparse: struct md_rdev *
drivers/md/raid5.c:4748:40: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:4748:40: sparse: struct md_rdev [noderef] __rcu *
drivers/md/raid5.c:4748:40: sparse: struct md_rdev *
drivers/md/raid5.c:5419:16: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:5419:16: sparse: struct md_rdev [noderef] __rcu *
drivers/md/raid5.c:5419:16: sparse: struct md_rdev *
drivers/md/raid5.c:5422:24: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:5422:24: sparse: struct md_rdev [noderef] __rcu *
drivers/md/raid5.c:5422:24: sparse: struct md_rdev *
>> drivers/md/raid5.c:7055:9: sparse: sparse: cast removes address space '__percpu' of expression
>> drivers/md/raid5.c:7055:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct lockdep_map *lock @@ got struct lockdep_map [noderef] __percpu * @@
drivers/md/raid5.c:7055:9: sparse: expected struct lockdep_map *lock
drivers/md/raid5.c:7055:9: sparse: got struct lockdep_map [noderef] __percpu *
>> drivers/md/raid5.c:7055:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct local_lock_t [usertype] *l @@ got struct local_lock_t [noderef] __percpu * @@
drivers/md/raid5.c:7055:9: sparse: expected struct local_lock_t [usertype] *l
drivers/md/raid5.c:7055:9: sparse: got struct local_lock_t [noderef] __percpu *
drivers/md/raid5.c:7808:40: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:7808:40: sparse: struct md_rdev [noderef] __rcu *
drivers/md/raid5.c:7808:40: sparse: struct md_rdev *
drivers/md/raid5.c:8021:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:8021:25: sparse: struct md_rdev [noderef] __rcu *
drivers/md/raid5.c:8021:25: sparse: struct md_rdev *
drivers/md/raid5.c:8037:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/md/raid5.c:8037:25: sparse: struct md_rdev [noderef] __rcu *
drivers/md/raid5.c:8037:25: sparse: struct md_rdev *
drivers/md/raid5.c:1476:16: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:1476:39: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:2208:54: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:2419:16: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:2421:9: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:2422:9: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:7031:23: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:7031:23: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:7032:9: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:7033:16: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:7034:9: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:7039:34: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:7040:17: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:7041:22: sparse: sparse: dereference of noderef expression
drivers/md/raid5.c:97:9: sparse: sparse: context imbalance in 'raid5_quiesce' - different lock contexts for basic block
vim +/__percpu +7055 drivers/md/raid5.c
7036
7037 static int alloc_scratch_buffer(struct r5conf *conf, struct raid5_percpu *percpu)
7038 {
7039 if (conf->level == 6 && !percpu->spare_page) {
7040 percpu->spare_page = alloc_page(GFP_KERNEL);
7041 if (!percpu->spare_page)
7042 return -ENOMEM;
7043 }
7044
7045 if (scribble_alloc(percpu,
7046 max(conf->raid_disks,
7047 conf->previous_raid_disks),
7048 max(conf->chunk_sectors,
7049 conf->prev_chunk_sectors)
7050 / RAID5_STRIPE_SECTORS(conf))) {
7051 free_scratch_buffer(conf, percpu);
7052 return -ENOMEM;
7053 }
7054
> 7055 local_lock_init(&percpu->lock);
7056 return 0;
7057 }
7058
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
Re: [PATCH v2] net: phy: marvell: Honor phy LED set by system firmware on a Dell hardware
by kernel test robot
Hi Kai-Heng,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.16 next-20220121]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Kai-Heng-Feng/net-phy-marvell-Ho...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 1d1df41c5a33359a00e919d54eaebfb789711fdc
config: x86_64-randconfig-a005 (https://download.01.org/0day-ci/archive/20220121/202201211407.0fB4ltJZ-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project f7b7138a62648f4019c55e4671682af1f851f295)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/7556c47e56e3c39c1b4ddb5a8171f943b...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Kai-Heng-Feng/net-phy-marvell-Honor-phy-LED-set-by-system-firmware-on-a-Dell-hardware/20220120-132020
git checkout 7556c47e56e3c39c1b4ddb5a8171f943b10be919
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/net/phy/
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/phy/phy_device.c:1465:24: warning: cast to smaller integer type 'u32' (aka 'unsigned int') from 'void *' [-Wvoid-pointer-to-int-cast]
phydev->dev_flags |= (u32)dmi->driver_data;
^~~~~~~~~~~~~~~~~~~~~
1 warning generated.
vim +1465 drivers/net/phy/phy_device.c
1360
1361 /**
1362 * phy_attach_direct - attach a network device to a given PHY device pointer
1363 * @dev: network device to attach
1364 * @phydev: Pointer to phy_device to attach
1365 * @flags: PHY device's dev_flags
1366 * @interface: PHY device's interface
1367 *
1368 * Description: Called by drivers to attach to a particular PHY
1369 * device. The phy_device is found, and properly hooked up
1370 * to the phy_driver. If no driver is attached, then a
1371 * generic driver is used. The phy_device is given a ptr to
1372 * the attaching device, and given a callback for link status
1373 * change. The phy_device is returned to the attaching driver.
1374 * This function takes a reference on the phy device.
1375 */
1376 int phy_attach_direct(struct net_device *dev, struct phy_device *phydev,
1377 u32 flags, phy_interface_t interface)
1378 {
1379 struct mii_bus *bus = phydev->mdio.bus;
1380 struct device *d = &phydev->mdio.dev;
1381 struct module *ndev_owner = NULL;
1382 const struct dmi_system_id *dmi;
1383 bool using_genphy = false;
1384 int err;
1385
1386 /* For Ethernet device drivers that register their own MDIO bus, we
1387 * will have bus->owner match ndev_mod, so we do not want to increment
1388 * our own module->refcnt here, otherwise we would not be able to
1389 * unload later on.
1390 */
1391 if (dev)
1392 ndev_owner = dev->dev.parent->driver->owner;
1393 if (ndev_owner != bus->owner && !try_module_get(bus->owner)) {
1394 phydev_err(phydev, "failed to get the bus module\n");
1395 return -EIO;
1396 }
1397
1398 get_device(d);
1399
1400 /* Assume that if there is no driver, that it doesn't
1401 * exist, and we should use the genphy driver.
1402 */
1403 if (!d->driver) {
1404 if (phydev->is_c45)
1405 d->driver = &genphy_c45_driver.mdiodrv.driver;
1406 else
1407 d->driver = &genphy_driver.mdiodrv.driver;
1408
1409 using_genphy = true;
1410 }
1411
1412 if (!try_module_get(d->driver->owner)) {
1413 phydev_err(phydev, "failed to get the device driver module\n");
1414 err = -EIO;
1415 goto error_put_device;
1416 }
1417
1418 if (using_genphy) {
1419 err = d->driver->probe(d);
1420 if (err >= 0)
1421 err = device_bind_driver(d);
1422
1423 if (err)
1424 goto error_module_put;
1425 }
1426
1427 if (phydev->attached_dev) {
1428 dev_err(&dev->dev, "PHY already attached\n");
1429 err = -EBUSY;
1430 goto error;
1431 }
1432
1433 phydev->phy_link_change = phy_link_change;
1434 if (dev) {
1435 phydev->attached_dev = dev;
1436 dev->phydev = phydev;
1437
1438 if (phydev->sfp_bus_attached)
1439 dev->sfp_bus = phydev->sfp_bus;
1440 else if (dev->sfp_bus)
1441 phydev->is_on_sfp_module = true;
1442 }
1443
1444 /* Some Ethernet drivers try to connect to a PHY device before
1445 * calling register_netdevice() -> netdev_register_kobject() and
1446 * does the dev->dev.kobj initialization. Here we only check for
1447 * success which indicates that the network device kobject is
1448 * ready. Once we do that we still need to keep track of whether
1449 * links were successfully set up or not for phy_detach() to
1450 * remove them accordingly.
1451 */
1452 phydev->sysfs_links = false;
1453
1454 phy_sysfs_create_links(phydev);
1455
1456 if (!phydev->attached_dev) {
1457 err = sysfs_create_file(&phydev->mdio.dev.kobj,
1458 &dev_attr_phy_standalone.attr);
1459 if (err)
1460 phydev_err(phydev, "error creating 'phy_standalone' sysfs entry\n");
1461 }
1462
1463 dmi = dmi_first_match(platform_flags);
1464 if (dmi)
> 1465 phydev->dev_flags |= (u32)dmi->driver_data;
1466
1467 phydev->dev_flags |= flags;
1468
1469 phydev->interface = interface;
1470
1471 phydev->state = PHY_READY;
1472
1473 /* Port is set to PORT_TP by default and the actual PHY driver will set
1474 * it to different value depending on the PHY configuration. If we have
1475 * the generic PHY driver we can't figure it out, thus set the old
1476 * legacy PORT_MII value.
1477 */
1478 if (using_genphy)
1479 phydev->port = PORT_MII;
1480
1481 /* Initial carrier state is off as the phy is about to be
1482 * (re)initialized.
1483 */
1484 if (dev)
1485 netif_carrier_off(phydev->attached_dev);
1486
1487 /* Do initial configuration here, now that
1488 * we have certain key parameters
1489 * (dev_flags and interface)
1490 */
1491 err = phy_init_hw(phydev);
1492 if (err)
1493 goto error;
1494
1495 err = phy_disable_interrupts(phydev);
1496 if (err)
1497 return err;
1498
1499 phy_resume(phydev);
1500 phy_led_triggers_register(phydev);
1501
1502 return err;
1503
1504 error:
1505 /* phy_detach() does all of the cleanup below */
1506 phy_detach(phydev);
1507 return err;
1508
1509 error_module_put:
1510 module_put(d->driver->owner);
1511 error_put_device:
1512 put_device(d);
1513 if (ndev_owner != bus->owner)
1514 module_put(bus->owner);
1515 return err;
1516 }
1517 EXPORT_SYMBOL(phy_attach_direct);
1518
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
Re: [PATCH 3/3] virtio-crypto: implement RSA algorithm
by kernel test robot
Hi zhenwei,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on herbert-cryptodev-2.6/master]
[also build test WARNING on herbert-crypto-2.6/master linux/master linus/master v5.16 next-20220121]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/zhenwei-pi/Introduce-akcipher-se...
base: https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git master
config: hexagon-randconfig-r026-20220120 (https://download.01.org/0day-ci/archive/20220121/202201211427.TgczsUOo-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project d4baf3b1322b84816aa623d8e8cb45a49cb68b84)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/fa1045d13dd16399ab0287c599719a977...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review zhenwei-pi/Introduce-akcipher-service-for-virtio-crypto/20220121-102730
git checkout fa1045d13dd16399ab0287c599719a977892cf05
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/crypto/virtio/
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/crypto/virtio/virtio_crypto_akcipher_algo.c:276:5: warning: no previous prototype for function 'virtio_crypto_rsa_do_req' [-Wmissing-prototypes]
int virtio_crypto_rsa_do_req(struct crypto_engine *engine, void *vreq)
^
drivers/crypto/virtio/virtio_crypto_akcipher_algo.c:276:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int virtio_crypto_rsa_do_req(struct crypto_engine *engine, void *vreq)
^
static
1 warning generated.
vim +/virtio_crypto_rsa_do_req +276 drivers/crypto/virtio/virtio_crypto_akcipher_algo.c
275
> 276 int virtio_crypto_rsa_do_req(struct crypto_engine *engine, void *vreq)
277 {
278 struct akcipher_request *req = container_of(vreq, struct akcipher_request, base);
279 struct virtio_crypto_akcipher_request *vc_akcipher_req = akcipher_request_ctx(req);
280 struct virtio_crypto_request *vc_req = &vc_akcipher_req->base;
281 struct virtio_crypto_akcipher_ctx *ctx = vc_akcipher_req->akcipher_ctx;
282 struct virtio_crypto *vcrypto = ctx->vcrypto;
283 struct data_queue *data_vq = vc_req->dataq;
284 struct virtio_crypto_op_header *header;
285 struct virtio_crypto_akcipher_data_req *akcipher_req;
286 int ret;
287
288 vc_req->sgs = NULL;
289 vc_req->req_data = kzalloc_node(sizeof(*vc_req->req_data),
290 GFP_KERNEL, dev_to_node(&vcrypto->vdev->dev));
291 if (!vc_req->req_data)
292 return -ENOMEM;
293
294 /* build request header */
295 header = &vc_req->req_data->header;
296 header->opcode = cpu_to_le32(vc_akcipher_req->opcode);
297 header->algo = cpu_to_le32(VIRTIO_CRYPTO_AKCIPHER_RSA);
298 header->session_id = cpu_to_le64(ctx->session_id);
299
300 /* build request akcipher data */
301 akcipher_req = &vc_req->req_data->u.akcipher_req;
302 akcipher_req->para.src_data_len = cpu_to_le32(req->src_len);
303 akcipher_req->para.dst_data_len = cpu_to_le32(req->dst_len);
304
305 ret = __virtio_crypto_akcipher_do_req(vc_akcipher_req, req, data_vq);
306 if (ret < 0) {
307 kfree_sensitive(vc_req->req_data);
308 vc_req->req_data = NULL;
309 return ret;
310 }
311
312 return 0;
313 }
314
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
Re: [PATCH v12, 2/2] net: Add dm9051 driver
by kernel test robot
Hi Joseph,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on 9d922f5df53844228b9f7c62f2593f4f06c0b69b]
url: https://github.com/0day-ci/linux/commits/Joseph-CHAMG/ADD-DM9051-ETHERNET...
base: 9d922f5df53844228b9f7c62f2593f4f06c0b69b
config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20220121/202201211441.KTN0V72X-lk...)
compiler: alpha-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/a6eb8dd02aed17af37a0b38fbcc250fd9...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Joseph-CHAMG/ADD-DM9051-ETHERNET-DRIVER/20220121-121713
git checkout a6eb8dd02aed17af37a0b38fbcc250fd9ed9492d
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=alpha SHELL=/bin/bash drivers/net/ethernet/davicom/
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/davicom/dm9051.c: In function 'dm9051_mdiobus_register':
>> drivers/net/ethernet/davicom/dm9051.c:1076:33: warning: conversion from 'long unsigned int' to 'u32' {aka 'unsigned int'} changes value from '18446744073709551613' to '4294967293' [-Woverflow]
1076 | db->mdiobus->phy_mask = ~GENMASK(1, 1);
| ^
vim +1076 drivers/net/ethernet/davicom/dm9051.c
1062
1063 static int dm9051_mdiobus_register(struct board_info *db)
1064 {
1065 struct spi_device *spi = db->spidev;
1066 int ret;
1067
1068 db->mdiobus = devm_mdiobus_alloc(&spi->dev);
1069 if (!db->mdiobus)
1070 return -ENOMEM;
1071
1072 db->mdiobus->priv = db;
1073 db->mdiobus->read = dm9051_mdiobus_read;
1074 db->mdiobus->write = dm9051_mdiobus_write;
1075 db->mdiobus->name = "dm9051-mdiobus";
> 1076 db->mdiobus->phy_mask = ~GENMASK(1, 1);
1077 db->mdiobus->parent = &spi->dev;
1078 snprintf(db->mdiobus->id, MII_BUS_ID_SIZE,
1079 "dm9051-%s.%u", dev_name(&spi->dev), spi->chip_select);
1080
1081 ret = devm_mdiobus_register(&spi->dev, db->mdiobus);
1082 if (ret) {
1083 dev_err(&spi->dev, "Could not register MDIO bus\n");
1084 return ret;
1085 }
1086 return 0;
1087 }
1088
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
Re: [PATCH] inet: missing lock releases in udp.c
by kernel test robot
Hi ycaibb,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on net-next/master]
[also build test WARNING on net/master horms-ipvs/master linus/master v5.16 next-20220121]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/ycaibb/inet-missing-lock-release...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 8aaaf2f3af2ae212428f4db1af34214225f5cec3
config: mips-cu1000-neo_defconfig (https://download.01.org/0day-ci/archive/20220121/202201211410.CFe494On-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project d4baf3b1322b84816aa623d8e8cb45a49cb68b84)
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/0day-ci/linux/commit/1b84613d303e1496ea759aa171b7b36df...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review ycaibb/inet-missing-lock-releases-in-udp-c/20220121-111922
git checkout 1b84613d303e1496ea759aa171b7b36dfd8f26c3
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash net/ipv4/
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 >>):
>> net/ipv4/udp.c:2979:5: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
goto found;
^
net/ipv4/udp.c:2976:4: note: previous statement is here
if (afinfo->family == AF_UNSPEC ||
^
1 warning generated.
vim +/if +2979 net/ipv4/udp.c
^1da177e4c3f415 Linus Torvalds 2005-04-16 2952
645ca708f936b2f Eric Dumazet 2008-10-29 2953 static struct sock *udp_get_first(struct seq_file *seq, int start)
^1da177e4c3f415 Linus Torvalds 2005-04-16 2954 {
^1da177e4c3f415 Linus Torvalds 2005-04-16 2955 struct sock *sk;
9e8ca27afab6c92 Yonghong Song 2020-06-23 2956 struct udp_seq_afinfo *afinfo;
^1da177e4c3f415 Linus Torvalds 2005-04-16 2957 struct udp_iter_state *state = seq->private;
6f191efe48af62d Denis V. Lunev 2008-03-28 2958 struct net *net = seq_file_net(seq);
^1da177e4c3f415 Linus Torvalds 2005-04-16 2959
9e8ca27afab6c92 Yonghong Song 2020-06-23 2960 if (state->bpf_seq_afinfo)
9e8ca27afab6c92 Yonghong Song 2020-06-23 2961 afinfo = state->bpf_seq_afinfo;
9e8ca27afab6c92 Yonghong Song 2020-06-23 2962 else
9e8ca27afab6c92 Yonghong Song 2020-06-23 2963 afinfo = PDE_DATA(file_inode(seq->file));
9e8ca27afab6c92 Yonghong Song 2020-06-23 2964
a3d2599b24462c7 Christoph Hellwig 2018-04-10 2965 for (state->bucket = start; state->bucket <= afinfo->udp_table->mask;
f86dcc5aa8c7908 Eric Dumazet 2009-10-07 2966 ++state->bucket) {
a3d2599b24462c7 Christoph Hellwig 2018-04-10 2967 struct udp_hslot *hslot = &afinfo->udp_table->hash[state->bucket];
f86dcc5aa8c7908 Eric Dumazet 2009-10-07 2968
ca065d0cf80fa54 Eric Dumazet 2016-04-01 2969 if (hlist_empty(&hslot->head))
f86dcc5aa8c7908 Eric Dumazet 2009-10-07 2970 continue;
f86dcc5aa8c7908 Eric Dumazet 2009-10-07 2971
645ca708f936b2f Eric Dumazet 2008-10-29 2972 spin_lock_bh(&hslot->lock);
ca065d0cf80fa54 Eric Dumazet 2016-04-01 2973 sk_for_each(sk, &hslot->head) {
878628fbf2589eb YOSHIFUJI Hideaki 2008-03-26 2974 if (!net_eq(sock_net(sk), net))
a91275eff43a527 Daniel Lezcano 2008-03-21 2975 continue;
9e8ca27afab6c92 Yonghong Song 2020-06-23 2976 if (afinfo->family == AF_UNSPEC ||
9e8ca27afab6c92 Yonghong Song 2020-06-23 2977 sk->sk_family == afinfo->family)
1b84613d303e149 Ryan Cai 2022-01-21 2978 spin_unlock_bh(&hslot->lock);
^1da177e4c3f415 Linus Torvalds 2005-04-16 @2979 goto found;
^1da177e4c3f415 Linus Torvalds 2005-04-16 2980 }
645ca708f936b2f Eric Dumazet 2008-10-29 2981 spin_unlock_bh(&hslot->lock);
^1da177e4c3f415 Linus Torvalds 2005-04-16 2982 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 2983 sk = NULL;
^1da177e4c3f415 Linus Torvalds 2005-04-16 2984 found:
^1da177e4c3f415 Linus Torvalds 2005-04-16 2985 return sk;
^1da177e4c3f415 Linus Torvalds 2005-04-16 2986 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 2987
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
drivers/dma/dw-edma/dw-edma-v0-regs.h:37:4: warning: field sar within 'struct dw_edma_v0_ch_regs' is less aligned than 'union (unnamed union at drivers/dma/dw-edma/dw-edma-v0-regs.h:31:2)' and is usually due to 'struct dw_edma_v0_ch_regs' being packed, wh...
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 2c271fe77d52a0555161926c232cd5bc07178b39
commit: 04e0a39fc10f82a71b84af73351333b184cee578 dmaengine: dw-edma: Add writeq() and readq() for 64 bits architectures
date: 10 months ago
config: arm-randconfig-r001-20220120 (https://download.01.org/0day-ci/archive/20220121/202201211416.lYF8kJns-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project d4baf3b1322b84816aa623d8e8cb45a49cb68b84)
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 arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# 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 04e0a39fc10f82a71b84af73351333b184cee578
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash drivers/dma/
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 drivers/dma/dw-edma/dw-edma-v0-core.c:13:
>> drivers/dma/dw-edma/dw-edma-v0-regs.h:37:4: warning: field sar within 'struct dw_edma_v0_ch_regs' is less aligned than 'union (unnamed union at drivers/dma/dw-edma/dw-edma-v0-regs.h:31:2)' and is usually due to 'struct dw_edma_v0_ch_regs' being packed, which can lead to unaligned accesses [-Wunaligned-access]
} sar;
^
>> drivers/dma/dw-edma/dw-edma-v0-regs.h:44:4: warning: field dar within 'struct dw_edma_v0_ch_regs' is less aligned than 'union (unnamed union at drivers/dma/dw-edma/dw-edma-v0-regs.h:38:2)' and is usually due to 'struct dw_edma_v0_ch_regs' being packed, which can lead to unaligned accesses [-Wunaligned-access]
} dar;
^
>> drivers/dma/dw-edma/dw-edma-v0-regs.h:51:4: warning: field llp within 'struct dw_edma_v0_ch_regs' is less aligned than 'union (unnamed union at drivers/dma/dw-edma/dw-edma-v0-regs.h:45:2)' and is usually due to 'struct dw_edma_v0_ch_regs' being packed, which can lead to unaligned accesses [-Wunaligned-access]
} llp;
^
>> drivers/dma/dw-edma/dw-edma-v0-regs.h:172:4: warning: field rd_err_status within 'struct dw_edma_v0_regs' is less aligned than 'union (unnamed union at drivers/dma/dw-edma/dw-edma-v0-regs.h:166:2)' and is usually due to 'struct dw_edma_v0_regs' being packed, which can lead to unaligned accesses [-Wunaligned-access]
} rd_err_status;
^
>> drivers/dma/dw-edma/dw-edma-v0-regs.h:182:4: warning: field rd_done_imwr within 'struct dw_edma_v0_regs' is less aligned than 'union (unnamed union at drivers/dma/dw-edma/dw-edma-v0-regs.h:176:2)' and is usually due to 'struct dw_edma_v0_regs' being packed, which can lead to unaligned accesses [-Wunaligned-access]
} rd_done_imwr;
^
>> drivers/dma/dw-edma/dw-edma-v0-regs.h:189:4: warning: field rd_abort_imwr within 'struct dw_edma_v0_regs' is less aligned than 'union (unnamed union at drivers/dma/dw-edma/dw-edma-v0-regs.h:183:2)' and is usually due to 'struct dw_edma_v0_regs' being packed, which can lead to unaligned accesses [-Wunaligned-access]
} rd_abort_imwr;
^
>> drivers/dma/dw-edma/dw-edma-v0-regs.h:71:4: warning: field wr_engine_hshake_cnt within 'struct dw_edma_v0_unroll' is less aligned than 'union (unnamed union at drivers/dma/dw-edma/dw-edma-v0-regs.h:65:2)' and is usually due to 'struct dw_edma_v0_unroll' being packed, which can lead to unaligned accesses [-Wunaligned-access]
} wr_engine_hshake_cnt;
^
>> drivers/dma/dw-edma/dw-edma-v0-regs.h:79:4: warning: field rd_engine_hshake_cnt within 'struct dw_edma_v0_unroll' is less aligned than 'union (unnamed union at drivers/dma/dw-edma/dw-edma-v0-regs.h:73:2)' and is usually due to 'struct dw_edma_v0_unroll' being packed, which can lead to unaligned accesses [-Wunaligned-access]
} rd_engine_hshake_cnt;
^
8 warnings generated.
vim +37 drivers/dma/dw-edma/dw-edma-v0-regs.h
26
27 struct dw_edma_v0_ch_regs {
28 u32 ch_control1; /* 0x000 */
29 u32 ch_control2; /* 0x004 */
30 u32 transfer_size; /* 0x008 */
31 union {
32 u64 reg; /* 0x00c..0x010 */
33 struct {
34 u32 lsb; /* 0x00c */
35 u32 msb; /* 0x010 */
36 };
> 37 } sar;
38 union {
39 u64 reg; /* 0x014..0x018 */
40 struct {
41 u32 lsb; /* 0x014 */
42 u32 msb; /* 0x018 */
43 };
> 44 } dar;
45 union {
46 u64 reg; /* 0x01c..0x020 */
47 struct {
48 u32 lsb; /* 0x01c */
49 u32 msb; /* 0x020 */
50 };
> 51 } llp;
52 } __packed;
53
54 struct dw_edma_v0_ch {
55 struct dw_edma_v0_ch_regs wr; /* 0x200 */
56 u32 padding_1[55]; /* [0x224..0x2fc] */
57 struct dw_edma_v0_ch_regs rd; /* 0x300 */
58 u32 padding_2[55]; /* [0x324..0x3fc] */
59 } __packed;
60
61 struct dw_edma_v0_unroll {
62 u32 padding_1; /* 0x0f8 */
63 u32 wr_engine_chgroup; /* 0x100 */
64 u32 rd_engine_chgroup; /* 0x104 */
65 union {
66 u64 reg; /* 0x108..0x10c */
67 struct {
68 u32 lsb; /* 0x108 */
69 u32 msb; /* 0x10c */
70 };
> 71 } wr_engine_hshake_cnt;
72 u32 padding_2[2]; /* [0x110..0x114] */
73 union {
74 u64 reg; /* 0x120..0x124 */
75 struct {
76 u32 lsb; /* 0x120 */
77 u32 msb; /* 0x124 */
78 };
> 79 } rd_engine_hshake_cnt;
80 u32 padding_3[2]; /* [0x120..0x124] */
81 u32 wr_ch0_pwr_en; /* 0x128 */
82 u32 wr_ch1_pwr_en; /* 0x12c */
83 u32 wr_ch2_pwr_en; /* 0x130 */
84 u32 wr_ch3_pwr_en; /* 0x134 */
85 u32 wr_ch4_pwr_en; /* 0x138 */
86 u32 wr_ch5_pwr_en; /* 0x13c */
87 u32 wr_ch6_pwr_en; /* 0x140 */
88 u32 wr_ch7_pwr_en; /* 0x144 */
89 u32 padding_4[8]; /* [0x148..0x164] */
90 u32 rd_ch0_pwr_en; /* 0x168 */
91 u32 rd_ch1_pwr_en; /* 0x16c */
92 u32 rd_ch2_pwr_en; /* 0x170 */
93 u32 rd_ch3_pwr_en; /* 0x174 */
94 u32 rd_ch4_pwr_en; /* 0x178 */
95 u32 rd_ch5_pwr_en; /* 0x18c */
96 u32 rd_ch6_pwr_en; /* 0x180 */
97 u32 rd_ch7_pwr_en; /* 0x184 */
98 u32 padding_5[30]; /* [0x188..0x1fc] */
99 struct dw_edma_v0_ch ch[EDMA_V0_MAX_NR_CH]; /* [0x200..0x1120] */
100 } __packed;
101
102 struct dw_edma_v0_legacy {
103 u32 viewport_sel; /* 0x0f8 */
104 struct dw_edma_v0_ch_regs ch; /* [0x100..0x120] */
105 } __packed;
106
107 struct dw_edma_v0_regs {
108 /* eDMA global registers */
109 u32 ctrl_data_arb_prior; /* 0x000 */
110 u32 padding_1; /* 0x004 */
111 u32 ctrl; /* 0x008 */
112 u32 wr_engine_en; /* 0x00c */
113 u32 wr_doorbell; /* 0x010 */
114 u32 padding_2; /* 0x014 */
115 union {
116 u64 reg; /* 0x018..0x01c */
117 struct {
118 u32 lsb; /* 0x018 */
119 u32 msb; /* 0x01c */
120 };
121 } wr_ch_arb_weight;
122 u32 padding_3[3]; /* [0x020..0x028] */
123 u32 rd_engine_en; /* 0x02c */
124 u32 rd_doorbell; /* 0x030 */
125 u32 padding_4; /* 0x034 */
126 union {
127 u64 reg; /* 0x038..0x03c */
128 struct {
129 u32 lsb; /* 0x038 */
130 u32 msb; /* 0x03c */
131 };
132 } rd_ch_arb_weight;
133 u32 padding_5[3]; /* [0x040..0x048] */
134 /* eDMA interrupts registers */
135 u32 wr_int_status; /* 0x04c */
136 u32 padding_6; /* 0x050 */
137 u32 wr_int_mask; /* 0x054 */
138 u32 wr_int_clear; /* 0x058 */
139 u32 wr_err_status; /* 0x05c */
140 union {
141 u64 reg; /* 0x060..0x064 */
142 struct {
143 u32 lsb; /* 0x060 */
144 u32 msb; /* 0x064 */
145 };
146 } wr_done_imwr;
147 union {
148 u64 reg; /* 0x068..0x06c */
149 struct {
150 u32 lsb; /* 0x068 */
151 u32 msb; /* 0x06c */
152 };
153 } wr_abort_imwr;
154 u32 wr_ch01_imwr_data; /* 0x070 */
155 u32 wr_ch23_imwr_data; /* 0x074 */
156 u32 wr_ch45_imwr_data; /* 0x078 */
157 u32 wr_ch67_imwr_data; /* 0x07c */
158 u32 padding_7[4]; /* [0x080..0x08c] */
159 u32 wr_linked_list_err_en; /* 0x090 */
160 u32 padding_8[3]; /* [0x094..0x09c] */
161 u32 rd_int_status; /* 0x0a0 */
162 u32 padding_9; /* 0x0a4 */
163 u32 rd_int_mask; /* 0x0a8 */
164 u32 rd_int_clear; /* 0x0ac */
165 u32 padding_10; /* 0x0b0 */
166 union {
167 u64 reg; /* 0x0b4..0x0b8 */
168 struct {
169 u32 lsb; /* 0x0b4 */
170 u32 msb; /* 0x0b8 */
171 };
> 172 } rd_err_status;
173 u32 padding_11[2]; /* [0x0bc..0x0c0] */
174 u32 rd_linked_list_err_en; /* 0x0c4 */
175 u32 padding_12; /* 0x0c8 */
176 union {
177 u64 reg; /* 0x0cc..0x0d0 */
178 struct {
179 u32 lsb; /* 0x0cc */
180 u32 msb; /* 0x0d0 */
181 };
> 182 } rd_done_imwr;
183 union {
184 u64 reg; /* 0x0d4..0x0d8 */
185 struct {
186 u32 lsb; /* 0x0d4 */
187 u32 msb; /* 0x0d8 */
188 };
> 189 } rd_abort_imwr;
190 u32 rd_ch01_imwr_data; /* 0x0dc */
191 u32 rd_ch23_imwr_data; /* 0x0e0 */
192 u32 rd_ch45_imwr_data; /* 0x0e4 */
193 u32 rd_ch67_imwr_data; /* 0x0e8 */
194 u32 padding_13[4]; /* [0x0ec..0x0f8] */
195 /* eDMA channel context grouping */
196 union dw_edma_v0_type {
197 struct dw_edma_v0_legacy legacy; /* [0x0f8..0x120] */
198 struct dw_edma_v0_unroll unroll; /* [0x0f8..0x1120] */
199 } type;
200 } __packed;
201
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months