Re: [Intel-gfx] [PATCH] drm/i915/guc: Don't check CT descriptor status before CT write / read
by kernel test robot
Hi Matthew,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on drm-intel/for-linux-next]
[also build test WARNING on drm-tip/drm-tip drm-exynos/exynos-drm-next drm/drm-next tegra-drm/drm/tegra/for-next v5.16 next-20220120]
[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/Matthew-Brost/drm-i915-guc-Don-t...
base: git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-randconfig-r002-20220117 (https://download.01.org/0day-ci/archive/20220121/202201211022.gq2U1jNs-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/0311a8b0f99c50ab1a666a5cdbe2b1a0a...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Matthew-Brost/drm-i915-guc-Don-t-check-CT-descriptor-status-before-CT-write-read/20220121-023033
git checkout 0311a8b0f99c50ab1a666a5cdbe2b1a0a2c3c71d
# 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/gpu/drm/i915/
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/gpu/drm/i915/gt/uc/intel_guc_ct.c:469:1: warning: unused label 'corrupted' [-Wunused-label]
corrupted:
^~~~~~~~~~
1 warning generated.
vim +/corrupted +469 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
f8a58d639dd95b drivers/gpu/drm/i915/intel_guc_ct.c Michal Wajdeczko 2017-05-26 422
1d407096002bec drivers/gpu/drm/i915/intel_guc_ct.c Michal Wajdeczko 2018-03-26 423 /*
572f2a5cd9742c drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Michal Wajdeczko 2021-06-15 424 * dw0: CT header (including fence)
572f2a5cd9742c drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Michal Wajdeczko 2021-06-15 425 * dw1: HXG header (including action code)
572f2a5cd9742c drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Michal Wajdeczko 2021-06-15 426 * dw2+: action data
f8a58d639dd95b drivers/gpu/drm/i915/intel_guc_ct.c Michal Wajdeczko 2017-05-26 427 */
572f2a5cd9742c drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Michal Wajdeczko 2021-06-15 428 header = FIELD_PREP(GUC_CTB_MSG_0_FORMAT, GUC_CTB_FORMAT_HXG) |
572f2a5cd9742c drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Michal Wajdeczko 2021-06-15 429 FIELD_PREP(GUC_CTB_MSG_0_NUM_DWORDS, len) |
572f2a5cd9742c drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Michal Wajdeczko 2021-06-15 430 FIELD_PREP(GUC_CTB_MSG_0_FENCE, fence);
f8a58d639dd95b drivers/gpu/drm/i915/intel_guc_ct.c Michal Wajdeczko 2017-05-26 431
1681924d8bdeb2 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Matthew Brost 2021-07-08 432 type = (flags & INTEL_GUC_CT_SEND_NB) ? GUC_HXG_TYPE_EVENT :
1681924d8bdeb2 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Matthew Brost 2021-07-08 433 GUC_HXG_TYPE_REQUEST;
1681924d8bdeb2 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Matthew Brost 2021-07-08 434 hxg = FIELD_PREP(GUC_HXG_MSG_0_TYPE, type) |
1681924d8bdeb2 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Matthew Brost 2021-07-08 435 FIELD_PREP(GUC_HXG_EVENT_MSG_0_ACTION |
1681924d8bdeb2 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Matthew Brost 2021-07-08 436 GUC_HXG_EVENT_MSG_0_DATA0, action[0]);
572f2a5cd9742c drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Michal Wajdeczko 2021-06-15 437
572f2a5cd9742c drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Michal Wajdeczko 2021-06-15 438 CT_DEBUG(ct, "writing (tail %u) %*ph %*ph %*ph\n",
572f2a5cd9742c drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Michal Wajdeczko 2021-06-15 439 tail, 4, &header, 4, &hxg, 4 * (len - 1), &action[1]);
0a015ff9730c16 drivers/gpu/drm/i915/intel_guc_ct.c Michal Wajdeczko 2018-03-26 440
f8a58d639dd95b drivers/gpu/drm/i915/intel_guc_ct.c Michal Wajdeczko 2017-05-26 441 cmds[tail] = header;
f8a58d639dd95b drivers/gpu/drm/i915/intel_guc_ct.c Michal Wajdeczko 2017-05-26 442 tail = (tail + 1) % size;
f8a58d639dd95b drivers/gpu/drm/i915/intel_guc_ct.c Michal Wajdeczko 2017-05-26 443
572f2a5cd9742c drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Michal Wajdeczko 2021-06-15 444 cmds[tail] = hxg;
f8a58d639dd95b drivers/gpu/drm/i915/intel_guc_ct.c Michal Wajdeczko 2017-05-26 445 tail = (tail + 1) % size;
f8a58d639dd95b drivers/gpu/drm/i915/intel_guc_ct.c Michal Wajdeczko 2017-05-26 446
f8a58d639dd95b drivers/gpu/drm/i915/intel_guc_ct.c Michal Wajdeczko 2017-05-26 447 for (i = 1; i < len; i++) {
f8a58d639dd95b drivers/gpu/drm/i915/intel_guc_ct.c Michal Wajdeczko 2017-05-26 448 cmds[tail] = action[i];
f8a58d639dd95b drivers/gpu/drm/i915/intel_guc_ct.c Michal Wajdeczko 2017-05-26 449 tail = (tail + 1) % size;
f8a58d639dd95b drivers/gpu/drm/i915/intel_guc_ct.c Michal Wajdeczko 2017-05-26 450 }
4c22abfbcb8456 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Michal Wajdeczko 2020-01-20 451 GEM_BUG_ON(tail > size);
f8a58d639dd95b drivers/gpu/drm/i915/intel_guc_ct.c Michal Wajdeczko 2017-05-26 452
d35ca600873eeb drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Matthew Brost 2021-06-02 453 /*
d35ca600873eeb drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Matthew Brost 2021-06-02 454 * make sure H2G buffer update and LRC tail update (if this triggering a
d35ca600873eeb drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Matthew Brost 2021-06-02 455 * submission) are visible before updating the descriptor tail
d35ca600873eeb drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Matthew Brost 2021-06-02 456 */
6b540bf6f14362 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Matthew Brost 2021-10-14 457 intel_guc_write_barrier(ct_to_guc(ct));
d35ca600873eeb drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Matthew Brost 2021-06-02 458
75452167a2794c drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Matthew Brost 2021-07-08 459 /* update local copies */
75452167a2794c drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Matthew Brost 2021-07-08 460 ctb->tail = tail;
f4eb1f3fe94683 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Matthew Brost 2021-07-21 461 GEM_BUG_ON(atomic_read(&ctb->space) < len + GUC_CTB_HDR_LEN);
f4eb1f3fe94683 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Matthew Brost 2021-07-21 462 atomic_sub(len + GUC_CTB_HDR_LEN, &ctb->space);
75452167a2794c drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Matthew Brost 2021-07-08 463
572f2a5cd9742c drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Michal Wajdeczko 2021-06-15 464 /* now update descriptor */
572f2a5cd9742c drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Michal Wajdeczko 2021-06-15 465 WRITE_ONCE(desc->tail, tail);
572f2a5cd9742c drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Michal Wajdeczko 2021-06-15 466
f8a58d639dd95b drivers/gpu/drm/i915/intel_guc_ct.c Michal Wajdeczko 2017-05-26 467 return 0;
4c22abfbcb8456 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Michal Wajdeczko 2020-01-20 468
4c22abfbcb8456 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Michal Wajdeczko 2020-01-20 @469 corrupted:
572f2a5cd9742c drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Michal Wajdeczko 2021-06-15 470 CT_ERROR(ct, "Corrupted descriptor head=%u tail=%u status=%#x\n",
572f2a5cd9742c drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Michal Wajdeczko 2021-06-15 471 desc->head, desc->tail, desc->status);
572f2a5cd9742c drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Michal Wajdeczko 2021-06-15 472 ctb->broken = true;
4c22abfbcb8456 drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c Michal Wajdeczko 2020-01-20 473 return -EPIPE;
f8a58d639dd95b drivers/gpu/drm/i915/intel_guc_ct.c Michal Wajdeczko 2017-05-26 474 }
f8a58d639dd95b drivers/gpu/drm/i915/intel_guc_ct.c Michal Wajdeczko 2017-05-26 475
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
Re: [Patch V1 1/4] memory: tegra: Add support for mc interrupts
by kernel test robot
Hi Ashish,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on tegra/for-next]
[also build test ERROR on v5.16 next-20220120]
[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/Ashish-Mhetre/memory-tegra-Updat...
base: https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux.git for-next
config: arm-allyesconfig (https://download.01.org/0day-ci/archive/20220121/202201210912.gUHr0zcb-lk...)
compiler: arm-linux-gnueabi-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/71553a1a735ae07293d43df685262f85e...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Ashish-Mhetre/memory-tegra-Update-mc-interrupts/20220112-024847
git checkout 71553a1a735ae07293d43df685262f85e6453170
# 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=arm SHELL=/bin/bash
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/memory/tegra/tegra20.c:797:10: error: 'const struct tegra_mc_ops' has no member named 'interrupt_ops'
797 | .interrupt_ops = tegra20_mc_interrupt_ops,
| ^~~~~~~~~~~~~
>> drivers/memory/tegra/tegra20.c:797:26: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
797 | .interrupt_ops = tegra20_mc_interrupt_ops,
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/memory/tegra/tegra20.c:797:26: note: (near initialization for 'tegra20_mc_ops')
drivers/memory/tegra/tegra20.c:797:26: error: incompatible types when initializing type 'int (*)(struct tegra_mc *)' using type 'struct tegra_mc_interrupt_ops'
cc1: some warnings being treated as errors
vim +797 drivers/memory/tegra/tegra20.c
792
793 static const struct tegra_mc_ops tegra20_mc_ops = {
794 .probe = tegra20_mc_probe,
795 .suspend = tegra20_mc_suspend,
796 .resume = tegra20_mc_resume,
> 797 .interrupt_ops = tegra20_mc_interrupt_ops,
798 };
799
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
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-20220120]
[cannot apply to tegra-drm/drm/tegra/for-next airlied/drm-next 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-a005 (https://download.01.org/0day-ci/archive/20220121/202201210857.CAeUyl4W-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/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
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross 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/i915_config.c:6:
In file included from drivers/gpu/drm/i915/i915_drv.h:83:
In file included from drivers/gpu/drm/i915/gt/intel_engine.h:18:
In file included from drivers/gpu/drm/i915/gt/intel_gt_types.h:18:
In file included from drivers/gpu/drm/i915/gt/uc/intel_uc.h:9:
In file included from drivers/gpu/drm/i915/gt/uc/intel_guc.h:19:
>> drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h:12:2: error: embedding a #include directive within macro arguments is not supported
#include "i915_gem.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/i915_config.c:6:
In file included from drivers/gpu/drm/i915/i915_drv.h:83:
In file included from drivers/gpu/drm/i915/gt/intel_engine.h:18:
In file included from drivers/gpu/drm/i915/gt/intel_gt_types.h:18:
In file included from drivers/gpu/drm/i915/gt/uc/intel_uc.h:9:
In file included from drivers/gpu/drm/i915/gt/uc/intel_guc.h:19:
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h:13:2: error: embedding a #include directive within macro arguments is not supported
#include "i915_vma.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/i915_config.c:6:
In file included from drivers/gpu/drm/i915/i915_drv.h:83:
In file included from drivers/gpu/drm/i915/gt/intel_engine.h:18:
In file included from drivers/gpu/drm/i915/gt/intel_gt_types.h:18:
In file included from drivers/gpu/drm/i915/gt/uc/intel_uc.h:9:
>> drivers/gpu/drm/i915/gt/uc/intel_guc.h:20:2: error: embedding a #include directive within macro arguments is not supported
#include "i915_utils.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/i915_config.c:6:
In file included from drivers/gpu/drm/i915/i915_drv.h:83:
In file included from drivers/gpu/drm/i915/gt/intel_engine.h:18:
In file included from drivers/gpu/drm/i915/gt/intel_gt_types.h:18:
In file included from drivers/gpu/drm/i915/gt/uc/intel_uc.h:9:
drivers/gpu/drm/i915/gt/uc/intel_guc.h:21:2: error: embedding a #include directive within macro arguments is not supported
#include "i915_vma.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/i915_config.c:6:
In file included from drivers/gpu/drm/i915/i915_drv.h:83:
In file included from drivers/gpu/drm/i915/gt/intel_engine.h:18:
In file included from drivers/gpu/drm/i915/gt/intel_gt_types.h:18:
>> drivers/gpu/drm/i915/gt/uc/intel_uc.h:10:2: error: embedding a #include directive within macro arguments is not supported
#include "intel_guc_rc.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/i915_config.c:6:
In file included from drivers/gpu/drm/i915/i915_drv.h:83:
In file included from drivers/gpu/drm/i915/gt/intel_engine.h:18:
In file included from drivers/gpu/drm/i915/gt/intel_gt_types.h:18:
drivers/gpu/drm/i915/gt/uc/intel_uc.h:11:2: error: embedding a #include directive within macro arguments is not supported
#include "intel_guc_submission.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/i915_config.c:6:
In file included from drivers/gpu/drm/i915/i915_drv.h:83:
In file included from drivers/gpu/drm/i915/gt/intel_engine.h:18:
In file included from drivers/gpu/drm/i915/gt/intel_gt_types.h:18:
drivers/gpu/drm/i915/gt/uc/intel_uc.h:12:2: error: embedding a #include directive within macro arguments is not supported
#include "intel_guc_slpc.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/i915_config.c:6:
In file included from drivers/gpu/drm/i915/i915_drv.h:83:
In file included from drivers/gpu/drm/i915/gt/intel_engine.h:18:
In file included from drivers/gpu/drm/i915/gt/intel_gt_types.h:18:
drivers/gpu/drm/i915/gt/uc/intel_uc.h:13:2: error: embedding a #include directive within macro arguments is not supported
#include "intel_huc.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/i915_config.c:6:
In file included from drivers/gpu/drm/i915/i915_drv.h:83:
In file included from drivers/gpu/drm/i915/gt/intel_engine.h:18:
In file included from drivers/gpu/drm/i915/gt/intel_gt_types.h:18:
drivers/gpu/drm/i915/gt/uc/intel_uc.h:14:2: error: embedding a #include directive within macro arguments is not supported
#include "i915_params.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/i915_config.c:6:
In file included from drivers/gpu/drm/i915/i915_drv.h:83:
In file included from drivers/gpu/drm/i915/gt/intel_engine.h:18:
>> drivers/gpu/drm/i915/gt/intel_gt_types.h:20:2: error: embedding a #include directive within macro arguments is not supported
#include "i915_vma.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/i915_config.c:6:
In file included from drivers/gpu/drm/i915/i915_drv.h:83:
In file included from drivers/gpu/drm/i915/gt/intel_engine.h:18:
drivers/gpu/drm/i915/gt/intel_gt_types.h:21:2: error: embedding a #include directive within macro arguments is not supported
#include "intel_engine_types.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/i915_config.c:6:
In file included from drivers/gpu/drm/i915/i915_drv.h:83:
In file included from drivers/gpu/drm/i915/gt/intel_engine.h:18:
drivers/gpu/drm/i915/gt/intel_gt_types.h:22:2: error: embedding a #include directive within macro arguments is not supported
#include "intel_gt_buffer_pool_types.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/i915_config.c:6:
In file included from drivers/gpu/drm/i915/i915_drv.h:83:
In file included from drivers/gpu/drm/i915/gt/intel_engine.h:18:
drivers/gpu/drm/i915/gt/intel_gt_types.h:23:2: error: embedding a #include directive within macro arguments is not supported
#include "intel_llc_types.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/i915_config.c:6:
In file included from drivers/gpu/drm/i915/i915_drv.h:83:
In file included from drivers/gpu/drm/i915/gt/intel_engine.h:18:
drivers/gpu/drm/i915/gt/intel_gt_types.h:24:2: error: embedding a #include directive within macro arguments is not supported
#include "intel_reset_types.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/i915_config.c:6:
In file included from drivers/gpu/drm/i915/i915_drv.h:83:
In file included from drivers/gpu/drm/i915/gt/intel_engine.h:18:
drivers/gpu/drm/i915/gt/intel_gt_types.h:25:2: error: embedding a #include directive within macro arguments is not supported
#include "intel_rc6_types.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/i915_config.c:6:
In file included from drivers/gpu/drm/i915/i915_drv.h:83:
In file included from drivers/gpu/drm/i915/gt/intel_engine.h:18:
drivers/gpu/drm/i915/gt/intel_gt_types.h:26:2: error: embedding a #include directive within macro arguments is not supported
#include "intel_rps_types.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/i915_config.c:6:
In file included from drivers/gpu/drm/i915/i915_drv.h:83:
In file included from drivers/gpu/drm/i915/gt/intel_engine.h:18:
drivers/gpu/drm/i915/gt/intel_gt_types.h:27:2: error: embedding a #include directive within macro arguments is not supported
#include "intel_migrate_types.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/i915_config.c:6:
In file included from drivers/gpu/drm/i915/i915_drv.h:83:
In file included from drivers/gpu/drm/i915/gt/intel_engine.h:18:
drivers/gpu/drm/i915/gt/intel_gt_types.h:28:2: error: embedding a #include directive within macro arguments is not supported
#include "intel_wakeref.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/i915_config.c:6:
In file included from drivers/gpu/drm/i915/i915_drv.h:83:
In file included from drivers/gpu/drm/i915/gt/intel_engine.h:18:
drivers/gpu/drm/i915/gt/intel_gt_types.h:29:2: error: embedding a #include directive within macro arguments is not supported
#include "pxp/intel_pxp_types.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
--
In file included from drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c:12:
In file included from drivers/gpu/drm/i915/gt/uc/intel_uc.h:9:
In file included from drivers/gpu/drm/i915/gt/uc/intel_guc.h:19:
>> drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h:12:2: error: embedding a #include directive within macro arguments is not supported
#include "i915_gem.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c:12:
In file included from drivers/gpu/drm/i915/gt/uc/intel_uc.h:9:
In file included from drivers/gpu/drm/i915/gt/uc/intel_guc.h:19:
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h:13:2: error: embedding a #include directive within macro arguments is not supported
#include "i915_vma.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c:12:
In file included from drivers/gpu/drm/i915/gt/uc/intel_uc.h:9:
>> drivers/gpu/drm/i915/gt/uc/intel_guc.h:20:2: error: embedding a #include directive within macro arguments is not supported
#include "i915_utils.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c:12:
In file included from drivers/gpu/drm/i915/gt/uc/intel_uc.h:9:
drivers/gpu/drm/i915/gt/uc/intel_guc.h:21:2: error: embedding a #include directive within macro arguments is not supported
#include "i915_vma.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c:12:
>> drivers/gpu/drm/i915/gt/uc/intel_uc.h:10:2: error: embedding a #include directive within macro arguments is not supported
#include "intel_guc_rc.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c:12:
drivers/gpu/drm/i915/gt/uc/intel_uc.h:11:2: error: embedding a #include directive within macro arguments is not supported
#include "intel_guc_submission.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c:12:
drivers/gpu/drm/i915/gt/uc/intel_uc.h:12:2: error: embedding a #include directive within macro arguments is not supported
#include "intel_guc_slpc.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c:12:
drivers/gpu/drm/i915/gt/uc/intel_uc.h:13:2: error: embedding a #include directive within macro arguments is not supported
#include "intel_huc.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c:12:
drivers/gpu/drm/i915/gt/uc/intel_uc.h:14:2: error: embedding a #include directive within macro arguments is not supported
#include "i915_params.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
>> drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c:13:2: error: embedding a #include directive within macro arguments is not supported
#include "intel_uc_debugfs.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
>> drivers/gpu/drm/i915/intel_device_info.h:201:25: error: unterminated function-like macro invocation
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
drivers/gpu/drm/i915/intel_device_info.h:200:9: note: macro 'DEFINE_FLAG' defined here
#define DEFINE_FLAG(name) u8 name:1
^
>> drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c:59:2: error: expected '}'
}
^
drivers/gpu/drm/i915/intel_device_info.h:179:26: note: to match this '{'
struct intel_device_info {
^
>> drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c:59:2: error: expected ';' after struct
}
^
13 errors generated.
--
In file included from drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c:11:
>> drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h:12:2: error: embedding a #include directive within macro arguments is not supported
#include "i915_gem.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
In file included from drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c:11:
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h:13:2: error: embedding a #include directive within macro arguments is not supported
#include "i915_vma.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
>> drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c:12:2: error: embedding a #include directive within macro arguments is not supported
#include "intel_uc_fw_abi.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c:13:2: error: embedding a #include directive within macro arguments is not supported
#include "i915_drv.h"
^
drivers/gpu/drm/i915/intel_device_info.h:201:25: note: expansion of macro 'DEFINE_FLAG' requested here
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
>> drivers/gpu/drm/i915/intel_device_info.h:201:25: error: unterminated function-like macro invocation
DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
^
drivers/gpu/drm/i915/intel_device_info.h:200:9: note: macro 'DEFINE_FLAG' defined here
#define DEFINE_FLAG(name) u8 name:1
^
>> drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c:794:2: error: expected '}'
}
^
drivers/gpu/drm/i915/intel_device_info.h:179:26: note: to match this '{'
struct intel_device_info {
^
>> drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c:794:2: error: expected ';' after struct
}
^
7 errors generated.
..
vim +201 drivers/gpu/drm/i915/intel_device_info.h
a5b7ef27da60c90 José Roberto de Souza 2021-10-19 178
b978520d1e35b99 Michal Wajdeczko 2017-12-21 179 struct intel_device_info {
a5b7ef27da60c90 José Roberto de Souza 2021-10-19 180 struct ip_version graphics;
a5b7ef27da60c90 José Roberto de Souza 2021-10-19 181 struct ip_version media;
93babb061e2ab5e Lucas De Marchi 2021-04-12 182
792592e72aba416 Daniele Ceraolo Spurio 2020-07-07 183 intel_engine_mask_t platform_engine_mask; /* Engines supported by the HW */
b978520d1e35b99 Michal Wajdeczko 2017-12-21 184
b978520d1e35b99 Michal Wajdeczko 2017-12-21 185 enum intel_platform platform;
b978520d1e35b99 Michal Wajdeczko 2017-12-21 186
31a02eb70b8d9e6 Michael J. Ruhl 2020-04-17 187 unsigned int dma_mask_size; /* available DMA address bits */
31a02eb70b8d9e6 Michael J. Ruhl 2020-04-17 188
cbecbccaa120fd9 Chris Wilson 2019-03-14 189 enum intel_ppgtt_type ppgtt_type;
cbecbccaa120fd9 Chris Wilson 2019-03-14 190 unsigned int ppgtt_size; /* log2, e.g. 31/32/48 bits */
cbecbccaa120fd9 Chris Wilson 2019-03-14 191
4552f50a439c36f Tvrtko Ursulin 2018-02-22 192 unsigned int page_sizes; /* page sizes supported by the HW */
3aae9d08532c8e5 Abdiel Janulgue 2019-10-18 193
3aae9d08532c8e5 Abdiel Janulgue 2019-10-18 194 u32 memory_regions; /* regions supported by the HW */
4552f50a439c36f Tvrtko Ursulin 2018-02-22 195
b978520d1e35b99 Michal Wajdeczko 2017-12-21 196 u32 display_mmio_offset;
b978520d1e35b99 Michal Wajdeczko 2017-12-21 197
938c778f6a22fa1 John Harrison 2021-07-23 198 u8 gt; /* GT number, 0 if undefined */
938c778f6a22fa1 John Harrison 2021-07-23 199
b978520d1e35b99 Michal Wajdeczko 2017-12-21 200 #define DEFINE_FLAG(name) u8 name:1
b978520d1e35b99 Michal Wajdeczko 2017-12-21 @201 DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
b978520d1e35b99 Michal Wajdeczko 2017-12-21 202 #undef DEFINE_FLAG
d53db442db36fdb José Roberto de Souza 2018-11-30 203
d53db442db36fdb José Roberto de Souza 2018-11-30 204 struct {
4df9c1ae7a4bb93 Lucas De Marchi 2021-04-12 205 u8 ver;
a5b7ef27da60c90 José Roberto de Souza 2021-10-19 206 u8 rel;
01eb15c9165e416 Matt Roper 2021-03-19 207
6678916dfa01251 Ville Syrjälä 2021-12-10 208 u8 pipe_mask;
6678916dfa01251 Ville Syrjälä 2021-12-10 209 u8 cpu_transcoder_mask;
6678916dfa01251 Ville Syrjälä 2021-12-10 210 u8 abox_mask;
6678916dfa01251 Ville Syrjälä 2021-12-10 211
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
Re: [PATCH 6/9] regulator: rpi-panel: Add GPIO control for panel and touch resets
by kernel test robot
Hi Detlev,
I love your patch! Yet something to improve:
[auto build test ERROR on broonie-regulator/for-next]
[also build test ERROR on linux/master linus/master v5.16 next-20220120]
[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/Detlev-Casanova/regulator-rpi-pa...
base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next
config: s390-randconfig-r001-20220120 (https://download.01.org/0day-ci/archive/20220121/202201210743.XoBKCVhD-lk...)
compiler: s390-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/848d1b620ddbd455b87831380d57719aa...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Detlev-Casanova/regulator-rpi-panel-Support-official-Raspberry-Pi-7-inches-touchscreen/20220120-232556
git checkout 848d1b620ddbd455b87831380d57719aa0e28bb8
# 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=s390 SHELL=/bin/bash drivers/
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/regulator/rpi-panel-attiny-regulator.c: In function 'attiny_i2c_probe':
>> drivers/regulator/rpi-panel-attiny-regulator.c:357:18: error: 'struct gpio_chip' has no member named 'of_node'
357 | state->gc.of_node = i2c->dev.of_node;
| ^
At top level:
drivers/regulator/rpi-panel-attiny-regulator.c:388:34: warning: 'attiny_dt_ids' defined but not used [-Wunused-const-variable=]
388 | static const struct of_device_id attiny_dt_ids[] = {
| ^~~~~~~~~~~~~
vim +357 drivers/regulator/rpi-panel-attiny-regulator.c
275
276 /*
277 * I2C driver interface functions
278 */
279 static int attiny_i2c_probe(struct i2c_client *i2c,
280 const struct i2c_device_id *id)
281 {
282 struct backlight_properties props = { };
283 struct regulator_config config = { };
284 struct backlight_device *bl;
285 struct regulator_dev *rdev;
286 struct attiny_lcd *state;
287 struct regmap *regmap;
288 unsigned int data;
289 int ret;
290
291 state = devm_kzalloc(&i2c->dev, sizeof(*state), GFP_KERNEL);
292 if (!state)
293 return -ENOMEM;
294
295 mutex_init(&state->lock);
296 i2c_set_clientdata(i2c, state);
297
298 regmap = devm_regmap_init_i2c(i2c, &attiny_regmap_config);
299 if (IS_ERR(regmap)) {
300 ret = PTR_ERR(regmap);
301 dev_err(&i2c->dev, "Failed to allocate register map: %d\n",
302 ret);
303 goto error;
304 }
305
306 ret = regmap_read(regmap, REG_ID, &data);
307 if (ret < 0) {
308 dev_err(&i2c->dev, "Failed to read REG_ID reg: %d\n", ret);
309 goto error;
310 }
311
312 switch (data) {
313 case 0xde: /* ver 1 */
314 case 0xc3: /* ver 2 */
315 break;
316 default:
317 dev_err(&i2c->dev, "Unknown Atmel firmware revision: 0x%02x\n", data);
318 ret = -ENODEV;
319 goto error;
320 }
321
322 regmap_write(regmap, REG_POWERON, 0);
323 msleep(30);
324 regmap_write(regmap, REG_PWM, 0);
325
326 config.dev = &i2c->dev;
327 config.regmap = regmap;
328 config.of_node = i2c->dev.of_node;
329 config.init_data = &attiny_regulator_default;
330 config.driver_data = state;
331
332 rdev = devm_regulator_register(&i2c->dev, &attiny_regulator, &config);
333 if (IS_ERR(rdev)) {
334 dev_err(&i2c->dev, "Failed to register ATTINY regulator\n");
335 ret = PTR_ERR(rdev);
336 goto error;
337 }
338
339 props.type = BACKLIGHT_RAW;
340 props.max_brightness = 0xff;
341
342 state->regmap = regmap;
343
344 bl = devm_backlight_device_register(&i2c->dev, dev_name(&i2c->dev),
345 &i2c->dev, state, &attiny_bl,
346 &props);
347 if (IS_ERR(bl)) {
348 ret = PTR_ERR(bl);
349 goto error;
350 }
351
352 bl->props.brightness = 0xff;
353
354 state->gc.parent = &i2c->dev;
355 state->gc.label = i2c->name;
356 state->gc.owner = THIS_MODULE;
> 357 state->gc.of_node = i2c->dev.of_node;
358 state->gc.base = -1;
359 state->gc.ngpio = NUM_GPIO;
360
361 state->gc.set = attiny_gpio_set;
362 state->gc.get_direction = attiny_gpio_get_direction;
363 state->gc.can_sleep = true;
364
365 ret = devm_gpiochip_add_data(&i2c->dev, &state->gc, state);
366 if (ret) {
367 dev_err(&i2c->dev, "Failed to create gpiochip: %d\n", ret);
368 goto error;
369 }
370
371 return 0;
372
373 error:
374 mutex_destroy(&state->lock);
375
376 return ret;
377 }
378
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
drivers/iio/adc/ti-tsc2046.c:242:62: warning: taking address of packed member 'data' of class or structure 'tsc2046_adc_atom' may result in an unaligned pointer value
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 0c947b893d69231a9add855939da7c66237ab44f
commit: 9374e8f5a38defe90bc65b2decf317c1c62d91dd iio: adc: add ADC driver for the TI TSC2046 controller
date: 8 months ago
config: mips-randconfig-r002-20220116 (https://download.01.org/0day-ci/archive/20220117/202201171718.7ZCI4YeQ-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project c63a3175c2947e8c1a2d3bbe16a8586600705c54)
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://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 9374e8f5a38defe90bc65b2decf317c1c62d91dd
# 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 drivers/iio/adc/ drivers/usb/gadget/
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/iio/adc/ti-tsc2046.c:242:62: warning: taking address of packed member 'data' of class or structure 'tsc2046_adc_atom' may result in an unaligned pointer value [-Waddress-of-packed-member]
return FIELD_GET(TI_TSC2046_DATA_12BIT, get_unaligned_be16(&buf->data));
^~~~~~~~~
include/linux/bitfield.h:108:27: note: expanded from macro 'FIELD_GET'
__BF_FIELD_CHECK(_mask, _reg, 0U, "FIELD_GET: "); \
^~~~
include/linux/bitfield.h:52:38: note: expanded from macro '__BF_FIELD_CHECK'
BUILD_BUG_ON_MSG((_mask) > (typeof(_reg))~0ull, \
^~~~
include/linux/build_bug.h:39:58: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~
include/linux/compiler_types.h:328:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~
include/linux/compiler_types.h:316:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^~~~~~~~~
include/linux/compiler_types.h:308:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
1 warning generated.
vim +242 drivers/iio/adc/ti-tsc2046.c
239
240 static u16 tsc2046_adc_get_value(struct tsc2046_adc_atom *buf)
241 {
> 242 return FIELD_GET(TI_TSC2046_DATA_12BIT, get_unaligned_be16(&buf->data));
243 }
244
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
[ti:ti-rt-linux-5.10.y 9732/9999] drivers/media/platform/vxe-vxd/decoder/bspp.c:194:40: error: initialization of 'int (*)(enum vdec_bstr_format, struct bspp_vid_std_features *, struct bspp_swsr_ctx *, struct bspp_parser_callbacks *, struct bspp_inter_pict_data *)' from incompatible point...
by kernel test robot
Hi LCPD,
First bad commit (maybe != root cause):
tree: git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git ti-rt-linux-5.10.y
head: 2c79f99170b96e20b59e6bc5363747564aee4898
commit: 18fa57b6524a8135871b9bcf9b8af07f888ddcd2 [9732/9999] Merged TI feature linux_rt-5.10 into ti-rt-linux-5.10.y
config: riscv-allmodconfig (https://download.01.org/0day-ci/archive/20220121/202201210248.9231rNCl-lk...)
compiler: riscv64-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
git remote add ti git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git
git fetch --no-tags ti ti-rt-linux-5.10.y
git checkout 18fa57b6524a8135871b9bcf9b8af07f888ddcd2
# 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=riscv SHELL=/bin/bash drivers/media/platform/vxe-vxd/
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 >>):
include/linux/stddef.h:8:14: note: (near initialization for 'parser_fxns[1].<anonymous>')
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:188:11: note: in expansion of macro 'NULL'
188 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:188:17: note: in expansion of macro 'NULL'
188 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: note: (near initialization for 'parser_fxns[1]')
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:188:17: note: in expansion of macro 'NULL'
188 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:190:11: note: in expansion of macro 'NULL'
190 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: note: (near initialization for 'parser_fxns[2]')
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:190:11: note: in expansion of macro 'NULL'
190 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: error: invalid initializer
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:190:11: note: in expansion of macro 'NULL'
190 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: note: (near initialization for 'parser_fxns[2].<anonymous>')
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:190:11: note: in expansion of macro 'NULL'
190 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:190:17: note: in expansion of macro 'NULL'
190 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: note: (near initialization for 'parser_fxns[2]')
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:190:17: note: in expansion of macro 'NULL'
190 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:192:11: note: in expansion of macro 'NULL'
192 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: note: (near initialization for 'parser_fxns[3]')
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:192:11: note: in expansion of macro 'NULL'
192 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: error: invalid initializer
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:192:11: note: in expansion of macro 'NULL'
192 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: note: (near initialization for 'parser_fxns[3].<anonymous>')
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:192:11: note: in expansion of macro 'NULL'
192 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:192:17: note: in expansion of macro 'NULL'
192 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: note: (near initialization for 'parser_fxns[3]')
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:192:17: note: in expansion of macro 'NULL'
192 | { NULL, NULL },
| ^~~~
drivers/media/platform/vxe-vxd/decoder/bspp.c:194:11: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
194 | { bspp_h264_set_parser_config, bspp_h264_determine_unittype },
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/platform/vxe-vxd/decoder/bspp.c:194:11: note: (near initialization for 'parser_fxns[4]')
drivers/media/platform/vxe-vxd/decoder/bspp.c:194:11: error: invalid initializer
drivers/media/platform/vxe-vxd/decoder/bspp.c:194:11: note: (near initialization for 'parser_fxns[4].<anonymous>')
drivers/media/platform/vxe-vxd/decoder/bspp.c:194:40: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
194 | { bspp_h264_set_parser_config, bspp_h264_determine_unittype },
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/platform/vxe-vxd/decoder/bspp.c:194:40: note: (near initialization for 'parser_fxns[4]')
>> drivers/media/platform/vxe-vxd/decoder/bspp.c:194:40: error: initialization of 'int (*)(enum vdec_bstr_format, struct bspp_vid_std_features *, struct bspp_swsr_ctx *, struct bspp_parser_callbacks *, struct bspp_inter_pict_data *)' from incompatible pointer type 'void (*)(unsigned char, int, enum bspp_unit_type *)' [-Werror=incompatible-pointer-types]
drivers/media/platform/vxe-vxd/decoder/bspp.c:194:40: note: (near initialization for 'parser_fxns[4].set_parser_config')
In file included from include/uapi/linux/posix_types.h:5,
from include/uapi/linux/types.h:14,
from include/linux/types.h:6,
from include/linux/kasan-checks.h:5,
from include/asm-generic/rwonce.h:26,
from ./arch/riscv/include/generated/asm/rwonce.h:1,
from include/linux/compiler.h:248,
from arch/riscv/include/asm/bug.h:9,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/gfp.h:5,
from include/linux/slab.h:15,
from drivers/media/platform/vxe-vxd/decoder/bspp.c:16:
include/linux/stddef.h:8:14: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:196:11: note: in expansion of macro 'NULL'
196 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: note: (near initialization for 'parser_fxns[5]')
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:196:11: note: in expansion of macro 'NULL'
196 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: error: invalid initializer
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:196:11: note: in expansion of macro 'NULL'
196 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: note: (near initialization for 'parser_fxns[5].<anonymous>')
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:196:11: note: in expansion of macro 'NULL'
196 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:196:17: note: in expansion of macro 'NULL'
196 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: note: (near initialization for 'parser_fxns[5]')
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:196:17: note: in expansion of macro 'NULL'
196 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:198:11: note: in expansion of macro 'NULL'
198 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: note: (near initialization for 'parser_fxns[6]')
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:198:11: note: in expansion of macro 'NULL'
198 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: error: invalid initializer
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:198:11: note: in expansion of macro 'NULL'
198 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: note: (near initialization for 'parser_fxns[6].<anonymous>')
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:198:11: note: in expansion of macro 'NULL'
198 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:198:17: note: in expansion of macro 'NULL'
198 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: note: (near initialization for 'parser_fxns[6]')
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:198:17: note: in expansion of macro 'NULL'
198 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:200:11: note: in expansion of macro 'NULL'
200 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: note: (near initialization for 'parser_fxns[7]')
8 | #define NULL ((void *)0)
| ^
drivers/media/platform/vxe-vxd/decoder/bspp.c:200:11: note: in expansion of macro 'NULL'
200 | { NULL, NULL },
| ^~~~
include/linux/stddef.h:8:14: error: invalid initializer
8 | #define NULL ((void *)0)
vim +194 drivers/media/platform/vxe-vxd/decoder/bspp.c
b8acc66aa7f09d9 Sidraya 2021-11-02 183
b8acc66aa7f09d9 Sidraya 2021-11-02 184 static struct bspp_parser_functions parser_fxns[VDEC_STD_MAX] = {
b8acc66aa7f09d9 Sidraya 2021-11-02 185 /* VDEC_STD_UNDEFINED */
b8acc66aa7f09d9 Sidraya 2021-11-02 186 { NULL, NULL },
b8acc66aa7f09d9 Sidraya 2021-11-02 187 /* VDEC_STD_MPEG2 */
b8acc66aa7f09d9 Sidraya 2021-11-02 188 { NULL, NULL },
b8acc66aa7f09d9 Sidraya 2021-11-02 189 /* VDEC_STD_MPEG4 */
b8acc66aa7f09d9 Sidraya 2021-11-02 190 { NULL, NULL },
b8acc66aa7f09d9 Sidraya 2021-11-02 191 /* VDEC_STD_H263 */
b8acc66aa7f09d9 Sidraya 2021-11-02 192 { NULL, NULL },
b8acc66aa7f09d9 Sidraya 2021-11-02 193 /* VDEC_STD_H264 */
b8acc66aa7f09d9 Sidraya 2021-11-02 @194 { bspp_h264_set_parser_config, bspp_h264_determine_unittype },
b8acc66aa7f09d9 Sidraya 2021-11-02 195 /* VDEC_STD_VC1 */
b8acc66aa7f09d9 Sidraya 2021-11-02 196 { NULL, NULL },
b8acc66aa7f09d9 Sidraya 2021-11-02 197 /* VDEC_STD_AVS */
b8acc66aa7f09d9 Sidraya 2021-11-02 198 { NULL, NULL },
b8acc66aa7f09d9 Sidraya 2021-11-02 199 /* VDEC_STD_REAL */
b8acc66aa7f09d9 Sidraya 2021-11-02 200 { NULL, NULL },
b8acc66aa7f09d9 Sidraya 2021-11-02 201 /* VDEC_STD_JPEG */
b8acc66aa7f09d9 Sidraya 2021-11-02 202 #ifdef HAS_JPEG
b8acc66aa7f09d9 Sidraya 2021-11-02 203 { bspp_jpeg_setparser_config, bspp_jpeg_determine_unit_type },
b8acc66aa7f09d9 Sidraya 2021-11-02 204 #else
b8acc66aa7f09d9 Sidraya 2021-11-02 205 { NULL, NULL },
b8acc66aa7f09d9 Sidraya 2021-11-02 206 #endif
b8acc66aa7f09d9 Sidraya 2021-11-02 207 /* VDEC_STD_VP6 */
b8acc66aa7f09d9 Sidraya 2021-11-02 208 { NULL, NULL },
b8acc66aa7f09d9 Sidraya 2021-11-02 209 /* VDEC_STD_VP8 */
b8acc66aa7f09d9 Sidraya 2021-11-02 210 { NULL, NULL },
b8acc66aa7f09d9 Sidraya 2021-11-02 211 /* VDEC_STD_SORENSON */
b8acc66aa7f09d9 Sidraya 2021-11-02 212 { NULL, NULL },
b8acc66aa7f09d9 Sidraya 2021-11-02 213 /* VDEC_STD_HEVC */
b8acc66aa7f09d9 Sidraya 2021-11-02 214 { bspp_hevc_set_parser_config, bspp_hevc_determine_unittype },
b8acc66aa7f09d9 Sidraya 2021-11-02 215 };
b8acc66aa7f09d9 Sidraya 2021-11-02 216
:::::: The code at line 194 was first introduced by commit
:::::: b8acc66aa7f09d97e22bab43b10a2501152580f5 v4l: vxd-dec: Add Bistream Preparser (BSPP) module for H264.
:::::: TO: Sidraya <sidraya.bj(a)pathpartnertech.com>
:::::: CC: Praneeth Bajjuri <praneeth(a)ti.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
[ammarfaizi2-block:google/android/kernel/common/android12-5.4 6517/9999] fs/userfaultfd.c:1519:9: warning: variable 'ioctls_out' set but not used
by kernel test robot
Hi Axel,
FYI, the error/warning still remains.
tree: https://github.com/ammarfaizi2/linux-block google/android/kernel/common/android12-5.4
head: bdf17ba628090156b539b1474eb5c636eeaf571b
commit: b69f713e60d03ae448e5c9fd92e5b0b193dea7be [6517/9999] BACKPORT: FROMGIT: userfaultfd: add UFFDIO_CONTINUE ioctl
config: x86_64-randconfig-a012 (https://download.01.org/0day-ci/archive/20220117/202201170247.Cir3moOM-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project c63a3175c2947e8c1a2d3bbe16a8586600705c54)
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/ammarfaizi2/linux-block/commit/b69f713e60d03ae448e5c9f...
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block google/android/kernel/common/android12-5.4
git checkout b69f713e60d03ae448e5c9fd92e5b0b193dea7be
# 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
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 >>):
>> fs/userfaultfd.c:1519:9: warning: variable 'ioctls_out' set but not used [-Wunused-but-set-variable]
__u64 ioctls_out;
^
1 warning generated.
vim +/ioctls_out +1519 fs/userfaultfd.c
1311
1312 static int userfaultfd_register(struct userfaultfd_ctx *ctx,
1313 unsigned long arg)
1314 {
1315 struct mm_struct *mm = ctx->mm;
1316 struct vm_area_struct *vma, *prev, *cur;
1317 int ret;
1318 struct uffdio_register uffdio_register;
1319 struct uffdio_register __user *user_uffdio_register;
1320 unsigned long vm_flags, new_flags;
1321 bool found;
1322 bool basic_ioctls;
1323 unsigned long start, end, vma_end;
1324
1325 user_uffdio_register = (struct uffdio_register __user *) arg;
1326
1327 ret = -EFAULT;
1328 if (copy_from_user(&uffdio_register, user_uffdio_register,
1329 sizeof(uffdio_register)-sizeof(__u64)))
1330 goto out;
1331
1332 ret = -EINVAL;
1333 if (!uffdio_register.mode)
1334 goto out;
1335 if (uffdio_register.mode & ~UFFD_API_REGISTER_MODES)
1336 goto out;
1337 vm_flags = 0;
1338 if (uffdio_register.mode & UFFDIO_REGISTER_MODE_MISSING)
1339 vm_flags |= VM_UFFD_MISSING;
1340 if (uffdio_register.mode & UFFDIO_REGISTER_MODE_WP) {
1341 vm_flags |= VM_UFFD_WP;
1342 /*
1343 * FIXME: remove the below error constraint by
1344 * implementing the wprotect tracking mode.
1345 */
1346 ret = -EINVAL;
1347 goto out;
1348 }
1349 if (uffdio_register.mode & UFFDIO_REGISTER_MODE_MINOR) {
1350 #ifndef CONFIG_HAVE_ARCH_USERFAULTFD_MINOR
1351 goto out;
1352 #endif
1353 vm_flags |= VM_UFFD_MINOR;
1354 }
1355
1356 ret = validate_range(mm, &uffdio_register.range.start,
1357 uffdio_register.range.len);
1358 if (ret)
1359 goto out;
1360
1361 start = uffdio_register.range.start;
1362 end = start + uffdio_register.range.len;
1363
1364 ret = -ENOMEM;
1365 if (!mmget_not_zero(mm))
1366 goto out;
1367
1368 down_write(&mm->mmap_sem);
1369 if (!mmget_still_valid(mm))
1370 goto out_unlock;
1371 vma = find_vma_prev(mm, start, &prev);
1372 if (!vma)
1373 goto out_unlock;
1374
1375 /* check that there's at least one vma in the range */
1376 ret = -EINVAL;
1377 if (vma->vm_start >= end)
1378 goto out_unlock;
1379
1380 /*
1381 * If the first vma contains huge pages, make sure start address
1382 * is aligned to huge page size.
1383 */
1384 if (is_vm_hugetlb_page(vma)) {
1385 unsigned long vma_hpagesize = vma_kernel_pagesize(vma);
1386
1387 if (start & (vma_hpagesize - 1))
1388 goto out_unlock;
1389 }
1390
1391 /*
1392 * Search for not compatible vmas.
1393 */
1394 found = false;
1395 basic_ioctls = false;
1396 for (cur = vma; cur && cur->vm_start < end; cur = cur->vm_next) {
1397 cond_resched();
1398
1399 BUG_ON(!!cur->vm_userfaultfd_ctx.ctx ^
1400 !!(cur->vm_flags & __VM_UFFD_FLAGS));
1401
1402 /* check not compatible vmas */
1403 ret = -EINVAL;
1404 if (!vma_can_userfault(cur, vm_flags))
1405 goto out_unlock;
1406
1407 /*
1408 * UFFDIO_COPY will fill file holes even without
1409 * PROT_WRITE. This check enforces that if this is a
1410 * MAP_SHARED, the process has write permission to the backing
1411 * file. If VM_MAYWRITE is set it also enforces that on a
1412 * MAP_SHARED vma: there is no F_WRITE_SEAL and no further
1413 * F_WRITE_SEAL can be taken until the vma is destroyed.
1414 */
1415 ret = -EPERM;
1416 if (unlikely(!(cur->vm_flags & VM_MAYWRITE)))
1417 goto out_unlock;
1418
1419 /*
1420 * If this vma contains ending address, and huge pages
1421 * check alignment.
1422 */
1423 if (is_vm_hugetlb_page(cur) && end <= cur->vm_end &&
1424 end > cur->vm_start) {
1425 unsigned long vma_hpagesize = vma_kernel_pagesize(cur);
1426
1427 ret = -EINVAL;
1428
1429 if (end & (vma_hpagesize - 1))
1430 goto out_unlock;
1431 }
1432
1433 /*
1434 * Check that this vma isn't already owned by a
1435 * different userfaultfd. We can't allow more than one
1436 * userfaultfd to own a single vma simultaneously or we
1437 * wouldn't know which one to deliver the userfaults to.
1438 */
1439 ret = -EBUSY;
1440 if (cur->vm_userfaultfd_ctx.ctx &&
1441 cur->vm_userfaultfd_ctx.ctx != ctx)
1442 goto out_unlock;
1443
1444 /*
1445 * Note vmas containing huge pages
1446 */
1447 if (is_vm_hugetlb_page(cur))
1448 basic_ioctls = true;
1449
1450 found = true;
1451 }
1452 BUG_ON(!found);
1453
1454 if (vma->vm_start < start)
1455 prev = vma;
1456
1457 ret = 0;
1458 do {
1459 cond_resched();
1460
1461 BUG_ON(!vma_can_userfault(vma, vm_flags));
1462 BUG_ON(vma->vm_userfaultfd_ctx.ctx &&
1463 vma->vm_userfaultfd_ctx.ctx != ctx);
1464 WARN_ON(!(vma->vm_flags & VM_MAYWRITE));
1465
1466 /*
1467 * Nothing to do: this vma is already registered into this
1468 * userfaultfd and with the right tracking mode too.
1469 */
1470 if (vma->vm_userfaultfd_ctx.ctx == ctx &&
1471 (vma->vm_flags & vm_flags) == vm_flags)
1472 goto skip;
1473
1474 if (vma->vm_start > start)
1475 start = vma->vm_start;
1476 vma_end = min(end, vma->vm_end);
1477
1478 new_flags = (vma->vm_flags & ~__VM_UFFD_FLAGS) | vm_flags;
1479 prev = vma_merge(mm, prev, start, vma_end, new_flags,
1480 vma->anon_vma, vma->vm_file, vma->vm_pgoff,
1481 vma_policy(vma),
1482 ((struct vm_userfaultfd_ctx){ ctx }),
1483 vma_get_anon_name(vma));
1484 if (prev) {
1485 vma = prev;
1486 goto next;
1487 }
1488 if (vma->vm_start < start) {
1489 ret = split_vma(mm, vma, start, 1);
1490 if (ret)
1491 break;
1492 }
1493 if (vma->vm_end > end) {
1494 ret = split_vma(mm, vma, end, 0);
1495 if (ret)
1496 break;
1497 }
1498 next:
1499 /*
1500 * In the vma_merge() successful mprotect-like case 8:
1501 * the next vma was merged into the current one and
1502 * the current one has not been updated yet.
1503 */
1504 vma->vm_flags = new_flags;
1505 vma->vm_userfaultfd_ctx.ctx = ctx;
1506
1507 if (is_vm_hugetlb_page(vma) && uffd_disable_huge_pmd_share(vma))
1508 hugetlb_unshare_all_pmds(vma);
1509
1510 skip:
1511 prev = vma;
1512 start = vma->vm_end;
1513 vma = vma->vm_next;
1514 } while (vma && vma->vm_start < end);
1515 out_unlock:
1516 up_write(&mm->mmap_sem);
1517 mmput(mm);
1518 if (!ret) {
> 1519 __u64 ioctls_out;
1520
1521 ioctls_out = basic_ioctls ? UFFD_API_RANGE_IOCTLS_BASIC :
1522 UFFD_API_RANGE_IOCTLS;
1523
1524 /* CONTINUE ioctl is only supported for MINOR ranges. */
1525 if (!(uffdio_register.mode & UFFDIO_REGISTER_MODE_MINOR))
1526 ioctls_out &= ~((__u64)1 << _UFFDIO_CONTINUE);
1527
1528 /*
1529 * Now that we scanned all vmas we can already tell
1530 * userland which ioctls methods are guaranteed to
1531 * succeed on this range.
1532 */
1533 if (put_user(basic_ioctls ? UFFD_API_RANGE_IOCTLS_BASIC :
1534 UFFD_API_RANGE_IOCTLS,
1535 &user_uffdio_register->ioctls))
1536 ret = -EFAULT;
1537 }
1538 out:
1539 return ret;
1540 }
1541
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
Re: [PATCH v2 5/6] drm/meson: add DSI encoder
by kernel test robot
Hi Neil,
I love your patch! Yet something to improve:
[auto build test ERROR on drm-tip/drm-tip]
[also build test ERROR on drm-exynos/exynos-drm-next next-20220120]
[cannot apply to drm/drm-next drm-intel/for-linux-next tegra-drm/drm/tegra/for-next airlied/drm-next 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/Neil-Armstrong/drm-meson-add-sup...
base: git://anongit.freedesktop.org/drm/drm-tip drm-tip
config: arm64-buildonly-randconfig-r005-20220120 (https://download.01.org/0day-ci/archive/20220121/202201210137.9hzPb4nG-lk...)
compiler: aarch64-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/2684fdff4655533195eb3db9760865fea...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Neil-Armstrong/drm-meson-add-support-for-MIPI-DSI-Display/20220120-163607
git checkout 2684fdff4655533195eb3db9760865fea5a13dc7
# 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=arm64 SHELL=/bin/bash drivers/gpu/drm/meson/
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 include/linux/swab.h:5,
from include/uapi/linux/byteorder/big_endian.h:14,
from include/linux/byteorder/big_endian.h:5,
from arch/arm64/include/uapi/asm/byteorder.h:21,
from include/asm-generic/bitops/le.h:7,
from arch/arm64/include/asm/bitops.h:29,
from include/linux/bitops.h:33,
from include/linux/kernel.h:13,
from drivers/gpu/drm/meson/meson_encoder_dsi.c:8:
drivers/gpu/drm/meson/meson_encoder_dsi.c: In function 'meson_encoder_dsi_mode_set':
>> drivers/gpu/drm/meson/meson_encoder_dsi.c:59:29: error: 'ENCL_VIDEO_MODE_ADV_VFIFO_EN' undeclared (first use in this function); did you mean 'ENCI_VIDEO_MODE_ADV_YBW_LOW'?
59 | writel_bits_relaxed(ENCL_VIDEO_MODE_ADV_VFIFO_EN, ENCL_VIDEO_MODE_ADV_VFIFO_EN,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/uapi/linux/swab.h:118:39: note: in definition of macro '__swab32'
118 | (__builtin_constant_p((__u32)(x)) ? \
| ^
include/linux/byteorder/generic.h:88:21: note: in expansion of macro '__cpu_to_le32'
88 | #define cpu_to_le32 __cpu_to_le32
| ^~~~~~~~~~~~~
drivers/gpu/drm/meson/meson_registers.h:15:9: note: in expansion of macro 'writel_relaxed'
15 | writel_relaxed((readl_relaxed(addr) & ~(mask)) | ((val) & (mask)), addr)
| ^~~~~~~~~~~~~~
drivers/gpu/drm/meson/meson_encoder_dsi.c:59:9: note: in expansion of macro 'writel_bits_relaxed'
59 | writel_bits_relaxed(ENCL_VIDEO_MODE_ADV_VFIFO_EN, ENCL_VIDEO_MODE_ADV_VFIFO_EN,
| ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/meson/meson_encoder_dsi.c:59:29: note: each undeclared identifier is reported only once for each function it appears in
59 | writel_bits_relaxed(ENCL_VIDEO_MODE_ADV_VFIFO_EN, ENCL_VIDEO_MODE_ADV_VFIFO_EN,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/uapi/linux/swab.h:118:39: note: in definition of macro '__swab32'
118 | (__builtin_constant_p((__u32)(x)) ? \
| ^
include/linux/byteorder/generic.h:88:21: note: in expansion of macro '__cpu_to_le32'
88 | #define cpu_to_le32 __cpu_to_le32
| ^~~~~~~~~~~~~
drivers/gpu/drm/meson/meson_registers.h:15:9: note: in expansion of macro 'writel_relaxed'
15 | writel_relaxed((readl_relaxed(addr) & ~(mask)) | ((val) & (mask)), addr)
| ^~~~~~~~~~~~~~
drivers/gpu/drm/meson/meson_encoder_dsi.c:59:9: note: in expansion of macro 'writel_bits_relaxed'
59 | writel_bits_relaxed(ENCL_VIDEO_MODE_ADV_VFIFO_EN, ENCL_VIDEO_MODE_ADV_VFIFO_EN,
| ^~~~~~~~~~~~~~~~~~~
vim +59 drivers/gpu/drm/meson/meson_encoder_dsi.c
> 8 #include <linux/kernel.h>
9 #include <linux/module.h>
10 #include <linux/of_device.h>
11 #include <linux/of_graph.h>
12
13 #include <drm/drm_atomic_helper.h>
14 #include <drm/drm_simple_kms_helper.h>
15 #include <drm/drm_bridge.h>
16 #include <drm/drm_bridge_connector.h>
17 #include <drm/drm_device.h>
18 #include <drm/drm_probe_helper.h>
19
20 #include "meson_drv.h"
21 #include "meson_encoder_dsi.h"
22 #include "meson_registers.h"
23 #include "meson_venc.h"
24 #include "meson_vclk.h"
25
26 struct meson_encoder_dsi {
27 struct drm_encoder encoder;
28 struct drm_bridge bridge;
29 struct drm_bridge *next_bridge;
30 struct meson_drm *priv;
31 };
32
33 #define bridge_to_meson_encoder_dsi(x) \
34 container_of(x, struct meson_encoder_dsi, bridge)
35
36 static int meson_encoder_dsi_attach(struct drm_bridge *bridge,
37 enum drm_bridge_attach_flags flags)
38 {
39 struct meson_encoder_dsi *encoder_dsi = bridge_to_meson_encoder_dsi(bridge);
40
41 return drm_bridge_attach(bridge->encoder, encoder_dsi->next_bridge,
42 &encoder_dsi->bridge, flags);
43 }
44
45 static void meson_encoder_dsi_mode_set(struct drm_bridge *bridge,
46 const struct drm_display_mode *mode,
47 const struct drm_display_mode *adjusted_mode)
48 {
49 struct meson_encoder_dsi *encoder_dsi = bridge_to_meson_encoder_dsi(bridge);
50 struct meson_drm *priv = encoder_dsi->priv;
51
52 meson_vclk_setup(priv, MESON_VCLK_TARGET_DSI, mode->clock, 0, 0, 0, false);
53
54 meson_venc_mipi_dsi_mode_set(priv, mode);
55 meson_encl_load_gamma(priv);
56
57 writel_relaxed(0, priv->io_base + _REG(ENCL_VIDEO_EN));
58
> 59 writel_bits_relaxed(ENCL_VIDEO_MODE_ADV_VFIFO_EN, ENCL_VIDEO_MODE_ADV_VFIFO_EN,
60 priv->io_base + _REG(ENCL_VIDEO_MODE_ADV));
61 writel_relaxed(0, priv->io_base + _REG(ENCL_TST_EN));
62 }
63
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months