Re: [V4] venus: vdec: decoded picture buffer handling during reconfig sequence
by kernel test robot
Hi Mansur,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on next-20211013]
[also build test ERROR on v5.15-rc5]
[cannot apply to media-tree/master v5.15-rc5 v5.15-rc4 v5.15-rc3]
[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/Mansur-Alisha-Shaik/venus-vdec-d...
base: 8006b911c90a4ec09958447d24c8a4c3538f5723
config: nios2-allyesconfig (attached as .config)
compiler: nios2-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/168172cb6c2fae8b603221ca11142de23...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Mansur-Alisha-Shaik/venus-vdec-decoded-picture-buffer-handling-during-reconfig-sequence/20211014-121505
git checkout 168172cb6c2fae8b603221ca11142de23a40f980
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=nios2
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/media/platform/qcom/venus/vdec.c: In function 'vdec_buf_done':
drivers/media/platform/qcom/venus/vdec.c:1331:17: error: implicit declaration of function 'venus_helper_change_dpb_buf_owner'; did you mean 'venus_helper_change_dpb_owner'? [-Werror=implicit-function-declaration]
1331 | venus_helper_change_dpb_buf_owner(inst, vbuf, type, buf_type, tag);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| venus_helper_change_dpb_owner
>> drivers/media/platform/qcom/venus/vdec.c:1320:24: error: unused variable 'dpb_buf' [-Werror=unused-variable]
1320 | struct intbuf *dpb_buf;
| ^~~~~~~
cc1: all warnings being treated as errors
vim +/dpb_buf +1320 drivers/media/platform/qcom/venus/vdec.c
1311
1312 static void vdec_buf_done(struct venus_inst *inst, unsigned int buf_type,
1313 u32 tag, u32 bytesused, u32 data_offset, u32 flags,
1314 u32 hfi_flags, u64 timestamp_us)
1315 {
1316 enum vb2_buffer_state state = VB2_BUF_STATE_DONE;
1317 struct vb2_v4l2_buffer *vbuf;
1318 struct vb2_buffer *vb;
1319 unsigned int type;
> 1320 struct intbuf *dpb_buf;
1321
1322 vdec_pm_touch(inst);
1323
1324 if (buf_type == HFI_BUFFER_INPUT)
1325 type = V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE;
1326 else
1327 type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
1328
1329 vbuf = venus_helper_find_buf(inst, type, tag);
1330 if (!vbuf) {
1331 venus_helper_change_dpb_buf_owner(inst, vbuf, type, buf_type, tag);
1332 return;
1333 }
1334
1335 vbuf->flags = flags;
1336 vbuf->field = V4L2_FIELD_NONE;
1337 vb = &vbuf->vb2_buf;
1338
1339 if (type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
1340 vb2_set_plane_payload(vb, 0, bytesused);
1341 vb->planes[0].data_offset = data_offset;
1342 vb->timestamp = timestamp_us * NSEC_PER_USEC;
1343 vbuf->sequence = inst->sequence_cap++;
1344
1345 if (vbuf->flags & V4L2_BUF_FLAG_LAST) {
1346 const struct v4l2_event ev = { .type = V4L2_EVENT_EOS };
1347
1348 v4l2_event_queue_fh(&inst->fh, &ev);
1349
1350 if (inst->codec_state == VENUS_DEC_STATE_DRAIN) {
1351 inst->drain_active = false;
1352 inst->codec_state = VENUS_DEC_STATE_STOPPED;
1353 }
1354 }
1355
1356 if (!bytesused)
1357 state = VB2_BUF_STATE_ERROR;
1358 } else {
1359 vbuf->sequence = inst->sequence_out++;
1360 }
1361
1362 venus_helper_get_ts_metadata(inst, timestamp_us, vbuf);
1363
1364 if (hfi_flags & HFI_BUFFERFLAG_READONLY)
1365 venus_helper_acquire_buf_ref(vbuf);
1366
1367 if (hfi_flags & HFI_BUFFERFLAG_DATACORRUPT)
1368 state = VB2_BUF_STATE_ERROR;
1369
1370 if (hfi_flags & HFI_BUFFERFLAG_DROP_FRAME) {
1371 state = VB2_BUF_STATE_ERROR;
1372 vb2_set_plane_payload(vb, 0, 0);
1373 vb->timestamp = 0;
1374 }
1375
1376 v4l2_m2m_buf_done(vbuf, state);
1377 }
1378
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 1 week
[jimc:dd-drm-next 14/20] lib/dynamic_debug.c:1308:48: error: incomplete definition of type 'struct module'
by kernel test robot
tree: https://github.com/jimc/linux.git dd-drm-next
head: 2eec9300d730ad634b967a853579f0b5dffecc01
commit: 8819a72010473e6a18e27cb4a464fb921b1afbc0 [14/20] dyndbg: add print-to-tracefs, selftest with it - RFC
config: arm64-randconfig-r033-20211013 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 6c76d0101193aa4eb891a6954ff047eda2f9cf71)
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/jimc/linux/commit/8819a72010473e6a18e27cb4a464fb921b1a...
git remote add jimc https://github.com/jimc/linux.git
git fetch --no-tags jimc dd-drm-next
git checkout 8819a72010473e6a18e27cb4a464fb921b1afbc0
# save the attached .config 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
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 >>):
>> lib/dynamic_debug.c:1308:48: error: incomplete definition of type 'struct module'
pr_warn("tracer-fn already set for %s\n", mod->name);
~~~^
include/linux/printk.h:499:37: note: expanded from macro 'pr_warn'
printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~
include/linux/printk.h:446:60: note: expanded from macro 'printk'
#define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
^~~~~~~~~~~
include/linux/printk.h:418:19: note: expanded from macro 'printk_index_wrap'
_p_func(_fmt, ##__VA_ARGS__); \
^~~~~~~~~~~
include/linux/printk.h:339:8: note: forward declaration of 'struct module'
struct module;
^
lib/dynamic_debug.c:1331:51: error: incomplete definition of type 'struct module'
pr_warn("delete: cant find tracer for %s\n", mod->name);
~~~^
include/linux/printk.h:499:37: note: expanded from macro 'pr_warn'
printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~
include/linux/printk.h:446:60: note: expanded from macro 'printk'
#define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
^~~~~~~~~~~
include/linux/printk.h:418:19: note: expanded from macro 'printk_index_wrap'
_p_func(_fmt, ##__VA_ARGS__); \
^~~~~~~~~~~
include/linux/printk.h:339:8: note: forward declaration of 'struct module'
struct module;
^
lib/dynamic_debug.c:1335:41: error: incomplete definition of type 'struct module'
vpr_info("deleted tracer for %s\n", mod->name);
~~~^
lib/dynamic_debug.c:135:48: note: expanded from macro 'vpr_info'
#define vpr_info(fmt, ...) vnpr_info(1, fmt, ##__VA_ARGS__)
^~~~~~~~~~~
lib/dynamic_debug.c:132:18: note: expanded from macro 'vnpr_info'
pr_info(fmt, ##__VA_ARGS__); \
^~~~~~~~~~~
include/linux/printk.h:519:34: note: expanded from macro 'pr_info'
printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~
include/linux/printk.h:446:60: note: expanded from macro 'printk'
#define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
^~~~~~~~~~~
include/linux/printk.h:418:19: note: expanded from macro 'printk_index_wrap'
_p_func(_fmt, ##__VA_ARGS__); \
^~~~~~~~~~~
include/linux/printk.h:339:8: note: forward declaration of 'struct module'
struct module;
^
lib/dynamic_debug.c:1355:10: error: incomplete definition of type 'struct module'
if (mod->name == dt->mod_name) {
~~~^
include/linux/printk.h:339:8: note: forward declaration of 'struct module'
struct module;
^
lib/dynamic_debug.c:1359:18: error: incomplete definition of type 'struct module'
if (!strcmp(mod->name, dt->mod_name)) {
~~~^
include/linux/printk.h:339:8: note: forward declaration of 'struct module'
struct module;
^
lib/dynamic_debug.c:1378:35: error: incomplete definition of type 'struct module'
vpr_info("%s %s\n", __func__, mod->name);
~~~^
lib/dynamic_debug.c:135:48: note: expanded from macro 'vpr_info'
#define vpr_info(fmt, ...) vnpr_info(1, fmt, ##__VA_ARGS__)
^~~~~~~~~~~
lib/dynamic_debug.c:132:18: note: expanded from macro 'vnpr_info'
pr_info(fmt, ##__VA_ARGS__); \
^~~~~~~~~~~
include/linux/printk.h:519:34: note: expanded from macro 'pr_info'
printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~
include/linux/printk.h:446:60: note: expanded from macro 'printk'
#define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
^~~~~~~~~~~
include/linux/printk.h:418:19: note: expanded from macro 'printk_index_wrap'
_p_func(_fmt, ##__VA_ARGS__); \
^~~~~~~~~~~
include/linux/printk.h:339:8: note: forward declaration of 'struct module'
struct module;
^
lib/dynamic_debug.c:1395:35: error: incomplete definition of type 'struct module'
vpr_info("%s %s\n", __func__, mod->name);
~~~^
lib/dynamic_debug.c:135:48: note: expanded from macro 'vpr_info'
#define vpr_info(fmt, ...) vnpr_info(1, fmt, ##__VA_ARGS__)
^~~~~~~~~~~
lib/dynamic_debug.c:132:18: note: expanded from macro 'vnpr_info'
pr_info(fmt, ##__VA_ARGS__); \
^~~~~~~~~~~
include/linux/printk.h:519:34: note: expanded from macro 'pr_info'
printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~
include/linux/printk.h:446:60: note: expanded from macro 'printk'
#define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
^~~~~~~~~~~
include/linux/printk.h:418:19: note: expanded from macro 'printk_index_wrap'
_p_func(_fmt, ##__VA_ARGS__); \
vim +1308 lib/dynamic_debug.c
1295
1296 /*
1297 * key computation is done on insert, such that lookup is trivial.
1298 * We use the modname ref in the 1st ddebug descriptor, the others in
1299 * the table are identical, giving us the module-scope lookup we want.
1300 */
1301 static int ddebug_tracer_add(void (*tracer)(const char *lbl, struct va_format *vaf),
1302 struct module *mod, struct ddebug_table *dt)
1303 {
1304 struct ddebug_tracer *trc;
1305
1306 trc = ddebug_tracer_find(dt->ddebugs[0].modname);
1307 if (trc) {
> 1308 pr_warn("tracer-fn already set for %s\n", mod->name);
1309 return -1;
1310 }
1311 trc = kmalloc(sizeof(*trc), GFP_ATOMIC);
1312 if (!trc)
1313 return -ENOMEM;
1314
1315 trc->tracefn = tracer;
1316 trc->key = (u64)dt->ddebugs[0].modname;
1317 hash_add(ddebug_tracer_by_module, &trc->hnode, (u64)dt->ddebugs[0].modname);
1318
1319 vpr_info("added tracer-fn for module %s\n", dt->ddebugs[0].modname);
1320
1321 return 0;
1322 }
1323
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 1 week
[allisonhenderson-xfs-work:pptrs_restart129 26/37] fs/xfs/libxfs/xfs_parent.c:55:1: warning: no previous prototype for 'xfs_init_parent_name_rec'
by kernel test robot
tree: https://github.com/allisonhenderson/xfs_work.git pptrs_restart129
head: f0a0e96bd7e03c467041931dc1b9663111f1d365
commit: ff396c79f5bc26aec01760a43061c30468c420a3 [26/37] xfs: parent pointer attribute creation
config: powerpc-allyesconfig (attached as .config)
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/allisonhenderson/xfs_work/commit/ff396c79f5bc26aec0176...
git remote add allisonhenderson-xfs-work https://github.com/allisonhenderson/xfs_work.git
git fetch --no-tags allisonhenderson-xfs-work pptrs_restart129
git checkout ff396c79f5bc26aec01760a43061c30468c420a3
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=powerpc
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/xfs/libxfs/xfs_parent.c:55:1: warning: no previous prototype for 'xfs_init_parent_name_rec' [-Wmissing-prototypes]
55 | xfs_init_parent_name_rec(
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> fs/xfs/libxfs/xfs_parent.c:70:1: warning: no previous prototype for 'xfs_init_parent_name_irec' [-Wmissing-prototypes]
70 | xfs_init_parent_name_irec(
| ^~~~~~~~~~~~~~~~~~~~~~~~~
vim +/xfs_init_parent_name_rec +55 fs/xfs/libxfs/xfs_parent.c
35
36 /*
37 * Parent pointer attribute handling.
38 *
39 * Because the attribute value is a filename component, it will never be longer
40 * than 255 bytes. This means the attribute will always be a local format
41 * attribute as it is xfs_attr_leaf_entsize_local_max() for v5 filesystems will
42 * always be larger than this (max is 75% of block size).
43 *
44 * Creating a new parent attribute will always create a new attribute - there
45 * should never, ever be an existing attribute in the tree for a new inode.
46 * ENOSPC behavior is problematic - creating the inode without the parent
47 * pointer is effectively a corruption, so we allow parent attribute creation
48 * to dip into the reserve block pool to avoid unexpected ENOSPC errors from
49 * occurring.
50 */
51
52
53 /* Initializes a xfs_parent_name_rec to be stored as an attribute name */
54 void
> 55 xfs_init_parent_name_rec(
56 struct xfs_parent_name_rec *rec,
57 struct xfs_inode *ip,
58 uint32_t p_diroffset)
59 {
60 xfs_ino_t p_ino = ip->i_ino;
61 uint32_t p_gen = VFS_I(ip)->i_generation;
62
63 rec->p_ino = cpu_to_be64(p_ino);
64 rec->p_gen = cpu_to_be32(p_gen);
65 rec->p_diroffset = cpu_to_be32(p_diroffset);
66 }
67
68 /* Initializes a xfs_parent_name_irec from an xfs_parent_name_rec */
69 void
> 70 xfs_init_parent_name_irec(
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 1 week
Re: [PATCH v3] mm: page_alloc: Add debug log in free_reserved_area for static memory
by kernel test robot
Hi Faiyaz,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on v5.15-rc5]
[cannot apply to hnaz-mm/master next-20211013]
[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/Faiyaz-Mohammed/mm-page_alloc-Ad...
base: 64570fbc14f8d7cb3fe3995f20e26bc25ce4b2cc
config: nios2-defconfig (attached as .config)
compiler: nios2-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/009729e4f858e64537a4a144369b155f8...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Faiyaz-Mohammed/mm-page_alloc-Add-debug-log-in-free_reserved_area-for-static-memory/20211014-151427
git checkout 009729e4f858e64537a4a144369b155f8d69d62f
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=nios2 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 >>):
mm/page_alloc.c:3810:15: warning: no previous prototype for 'should_fail_alloc_page' [-Wmissing-prototypes]
3810 | noinline bool should_fail_alloc_page(gfp_t gfp_mask, unsigned int order)
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from include/asm-generic/bug.h:22,
from ./arch/nios2/include/generated/asm/bug.h:1,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/mm.h:9,
from mm/page_alloc.c:19:
mm/page_alloc.c: In function 'free_reserved_area':
>> mm/page_alloc.c:8134:33: error: '__RET_IP_' undeclared (first use in this function)
8134 | (void *)__RET_IP_);
| ^~~~~~~~~
include/linux/printk.h:418:33: note: in definition of macro 'printk_index_wrap'
418 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:132:17: note: in expansion of macro 'printk'
132 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/printk.h:576:9: note: in expansion of macro 'no_printk'
576 | no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~
mm/page_alloc.c:8133:17: note: in expansion of macro 'pr_debug'
8133 | pr_debug("[%pa-%pa] %pS\n", &pstart, &pend,
| ^~~~~~~~
mm/page_alloc.c:8134:33: note: each undeclared identifier is reported only once for each function it appears in
8134 | (void *)__RET_IP_);
| ^~~~~~~~~
include/linux/printk.h:418:33: note: in definition of macro 'printk_index_wrap'
418 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:132:17: note: in expansion of macro 'printk'
132 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
include/linux/printk.h:576:9: note: in expansion of macro 'no_printk'
576 | no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~
mm/page_alloc.c:8133:17: note: in expansion of macro 'pr_debug'
8133 | pr_debug("[%pa-%pa] %pS\n", &pstart, &pend,
| ^~~~~~~~
vim +/__RET_IP_ +8134 mm/page_alloc.c
8097
8098 unsigned long free_reserved_area(void *start, void *end, int poison, const char *s)
8099 {
8100 const phys_addr_t pstart = __pa(start);
8101 const phys_addr_t pend = __pa(end);
8102 void *pos;
8103 unsigned long pages = 0;
8104
8105 start = (void *)PAGE_ALIGN((unsigned long)start);
8106 end = (void *)((unsigned long)end & PAGE_MASK);
8107 for (pos = start; pos < end; pos += PAGE_SIZE, pages++) {
8108 struct page *page = virt_to_page(pos);
8109 void *direct_map_addr;
8110
8111 /*
8112 * 'direct_map_addr' might be different from 'pos'
8113 * because some architectures' virt_to_page()
8114 * work with aliases. Getting the direct map
8115 * address ensures that we get a _writeable_
8116 * alias for the memset().
8117 */
8118 direct_map_addr = page_address(page);
8119 /*
8120 * Perform a kasan-unchecked memset() since this memory
8121 * has not been initialized.
8122 */
8123 direct_map_addr = kasan_reset_tag(direct_map_addr);
8124 if ((unsigned int)poison <= 0xFF)
8125 memset(direct_map_addr, poison, PAGE_SIZE);
8126
8127 free_reserved_page(page);
8128 }
8129
8130 if (pages && s) {
8131 pr_info("Freeing %s memory: %ldK\n",
8132 s, pages << (PAGE_SHIFT - 10));
8133 pr_debug("[%pa-%pa] %pS\n", &pstart, &pend,
> 8134 (void *)__RET_IP_);
8135 }
8136
8137 return pages;
8138 }
8139
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 1 week
[allisonhenderson-xfs-work:pptrs_restart129 22/37] fs/xfs/libxfs/xfs_attr.c:663:72: warning: bitwise comparison always evaluates to true
by kernel test robot
tree: https://github.com/allisonhenderson/xfs_work.git pptrs_restart129
head: f0a0e96bd7e03c467041931dc1b9663111f1d365
commit: 520f2aa27a38ee5bd88e773638e380117646889f [22/37] xfs: add parent pointer support to attribute code
config: powerpc-allyesconfig (attached as .config)
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/allisonhenderson/xfs_work/commit/520f2aa27a38ee5bd88e7...
git remote add allisonhenderson-xfs-work https://github.com/allisonhenderson/xfs_work.git
git fetch --no-tags allisonhenderson-xfs-work pptrs_restart129
git checkout 520f2aa27a38ee5bd88e773638e380117646889f
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=powerpc
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/xfs/libxfs/xfs_attr.c: In function 'xfs_attr_set':
>> fs/xfs/libxfs/xfs_attr.c:663:72: warning: bitwise comparison always evaluates to true [-Wtautological-compare]
663 | rsvd = ((args->attr_filter & XFS_ATTR_ROOT) | XFS_ATTR_PARENT) != 0;
| ^~
vim +663 fs/xfs/libxfs/xfs_attr.c
645
646 /*
647 * Note: If args->value is NULL the attribute will be removed, just like the
648 * Linux ->setattr API.
649 */
650 int
651 xfs_attr_set(
652 struct xfs_da_args *args)
653 {
654 struct xfs_inode *dp = args->dp;
655 struct xfs_mount *mp = dp->i_mount;
656 struct xfs_trans_res tres;
657 bool rsvd;
658 int error, local;
659 int rmt_blks = 0;
660 unsigned int total;
661 int delayed = xfs_has_larp(mp);
662
> 663 rsvd = ((args->attr_filter & XFS_ATTR_ROOT) | XFS_ATTR_PARENT) != 0;
664
665 if (xfs_is_shutdown(dp->i_mount))
666 return -EIO;
667
668 error = xfs_qm_dqattach(dp);
669 if (error)
670 return error;
671
672 args->geo = mp->m_attr_geo;
673 args->whichfork = XFS_ATTR_FORK;
674 args->hashval = xfs_da_hashname(args->name, args->namelen);
675
676 /*
677 * We have no control over the attribute names that userspace passes us
678 * to remove, so we have to allow the name lookup prior to attribute
679 * removal to fail as well.
680 */
681 args->op_flags = XFS_DA_OP_OKNOENT;
682
683 if (args->value) {
684 XFS_STATS_INC(mp, xs_attr_set);
685
686 args->op_flags |= XFS_DA_OP_ADDNAME;
687 args->total = xfs_attr_calc_size(args, &local);
688
689 /*
690 * If the inode doesn't have an attribute fork, add one.
691 * (inode must not be locked when we call this routine)
692 */
693 if (XFS_IFORK_Q(dp) == 0) {
694 int sf_size = sizeof(struct xfs_attr_sf_hdr) +
695 xfs_attr_sf_entsize_byname(args->namelen,
696 args->valuelen);
697
698 error = xfs_bmap_add_attrfork(dp, sf_size, rsvd);
699 if (error)
700 return error;
701 }
702
703 tres.tr_logres = M_RES(mp)->tr_attrsetm.tr_logres +
704 M_RES(mp)->tr_attrsetrt.tr_logres *
705 args->total;
706 tres.tr_logcount = XFS_ATTRSET_LOG_COUNT;
707 tres.tr_logflags = XFS_TRANS_PERM_LOG_RES;
708 total = args->total;
709
710 if (!local)
711 rmt_blks = xfs_attr3_rmt_blocks(mp, args->valuelen);
712 } else {
713 XFS_STATS_INC(mp, xs_attr_remove);
714
715 tres = M_RES(mp)->tr_attrrm;
716 total = XFS_ATTRRM_SPACE_RES(mp);
717 rmt_blks = xfs_attr3_rmt_blocks(mp, XFS_XATTR_SIZE_MAX);
718 }
719
720 if (delayed) {
721 error = xfs_attr_use_log_assist(mp);
722 if (error)
723 return error;
724 }
725
726 /*
727 * Root fork attributes can use reserved data blocks for this
728 * operation if necessary
729 */
730 error = xfs_trans_alloc_inode(dp, &tres, total, 0, rsvd, &args->trans);
731 if (error)
732 goto drop_incompat;
733
734 if (args->value || xfs_inode_hasattr(dp)) {
735 error = xfs_iext_count_may_overflow(dp, XFS_ATTR_FORK,
736 XFS_IEXT_ATTR_MANIP_CNT(rmt_blks));
737 if (error)
738 goto out_trans_cancel;
739 }
740
741 error = xfs_attr_lookup(args);
742 if (args->value) {
743 if (error == -EEXIST && (args->attr_flags & XATTR_CREATE))
744 goto out_trans_cancel;
745 if (error == -ENOATTR && (args->attr_flags & XATTR_REPLACE))
746 goto out_trans_cancel;
747 if (error != -ENOATTR && error != -EEXIST)
748 goto out_trans_cancel;
749
750 error = xfs_attr_set_deferred(args);
751 if (error)
752 goto out_trans_cancel;
753
754 /* shortform attribute has already been committed */
755 if (!args->trans)
756 goto out_unlock;
757 } else {
758 if (error != -EEXIST)
759 goto out_trans_cancel;
760
761 error = xfs_attr_remove_deferred(args);
762 if (error)
763 goto out_trans_cancel;
764 }
765
766 /*
767 * If this is a synchronous mount, make sure that the
768 * transaction goes to disk before returning to the user.
769 */
770 if (xfs_has_wsync(mp))
771 xfs_trans_set_sync(args->trans);
772
773 if (!(args->op_flags & XFS_DA_OP_NOTIME))
774 xfs_trans_ichgtime(args->trans, dp, XFS_ICHGTIME_CHG);
775
776 /*
777 * Commit the last in the sequence of transactions.
778 */
779 xfs_trans_log_inode(args->trans, dp, XFS_ILOG_CORE);
780 error = xfs_trans_commit(args->trans);
781 out_unlock:
782 xfs_iunlock(dp, XFS_ILOCK_EXCL);
783 drop_incompat:
784 if (delayed)
785 xlog_drop_incompat_feat(mp->m_log);
786 return error;
787
788 out_trans_cancel:
789 if (args->trans)
790 xfs_trans_cancel(args->trans);
791 goto out_unlock;
792 }
793
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 1 week
Re: [PATCH v2 04/10] staging: media: zoran: add debugfs
by kernel test robot
Hi Corentin,
I love your patch! Perhaps something to improve:
[auto build test WARNING on staging/staging-testing]
url: https://github.com/0day-ci/linux/commits/Corentin-Labbe/staging-media-zor...
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 6ac113f741a7674e4268eea3eb13972732d83571
config: x86_64-randconfig-a016-20211014 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 6c76d0101193aa4eb891a6954ff047eda2f9cf71)
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/74fc116256f23b2c65d0c813f1d90b617...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Corentin-Labbe/staging-media-zoran-fusion-in-one-module/20211014-025945
git checkout 74fc116256f23b2c65d0c813f1d90b617ce9c97d
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=x86_64
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/staging/media/zoran/zoran_card.c:948:31: error: no member named 'dbgfs_dir' in 'struct zoran'
debugfs_remove_recursive(zr->dbgfs_dir);
~~ ^
>> drivers/staging/media/zoran/zoran_card.c:1141:46: warning: implicit conversion from 'unsigned long long' to 'unsigned int' changes value from 18446744073709551615 to 4294967295 [-Wconstant-conversion]
vb2_dma_contig_set_max_seg_size(&pdev->dev, DMA_BIT_MASK(32));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:76:40: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^~~~~
1 warning and 1 error generated.
vim +1141 drivers/staging/media/zoran/zoran_card.c
74fc116256f23b Corentin Labbe 2021-10-13 1088
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1089 /*
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1090 * Scan for a Buz card (actually for the PCI controller ZR36057),
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1091 * request the irq and map the io memory
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1092 */
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1093 static int zoran_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1094 {
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1095 unsigned char latency, need_latency;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1096 struct zoran *zr;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1097 int result;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1098 struct videocodec_master *master_vfe = NULL;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1099 struct videocodec_master *master_codec = NULL;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1100 int card_num;
d61c7451fcb712 Corentin Labbe 2020-09-25 1101 const char *codec_name, *vfe_name;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1102 unsigned int nr;
d4ae3689226e56 Corentin Labbe 2020-09-25 1103 int err;
d4ae3689226e56 Corentin Labbe 2020-09-25 1104
26edeeecea59d6 Corentin Labbe 2021-10-13 1105 pci_info(pdev, "Zoran MJPEG board driver version %s\n", ZORAN_VERSION);
26edeeecea59d6 Corentin Labbe 2021-10-13 1106
26edeeecea59d6 Corentin Labbe 2021-10-13 1107 /* check the parameters we have been given, adjust if necessary */
26edeeecea59d6 Corentin Labbe 2021-10-13 1108 if (v4l_nbufs < 2)
26edeeecea59d6 Corentin Labbe 2021-10-13 1109 v4l_nbufs = 2;
26edeeecea59d6 Corentin Labbe 2021-10-13 1110 if (v4l_nbufs > VIDEO_MAX_FRAME)
26edeeecea59d6 Corentin Labbe 2021-10-13 1111 v4l_nbufs = VIDEO_MAX_FRAME;
26edeeecea59d6 Corentin Labbe 2021-10-13 1112 /* The user specifies the in KB, we want them in byte (and page aligned) */
26edeeecea59d6 Corentin Labbe 2021-10-13 1113 v4l_bufsize = PAGE_ALIGN(v4l_bufsize * 1024);
26edeeecea59d6 Corentin Labbe 2021-10-13 1114 if (v4l_bufsize < 32768)
26edeeecea59d6 Corentin Labbe 2021-10-13 1115 v4l_bufsize = 32768;
26edeeecea59d6 Corentin Labbe 2021-10-13 1116 /* 2 MB is arbitrary but sufficient for the maximum possible images */
26edeeecea59d6 Corentin Labbe 2021-10-13 1117 if (v4l_bufsize > 2048 * 1024)
26edeeecea59d6 Corentin Labbe 2021-10-13 1118 v4l_bufsize = 2048 * 1024;
26edeeecea59d6 Corentin Labbe 2021-10-13 1119 if (jpg_nbufs < 4)
26edeeecea59d6 Corentin Labbe 2021-10-13 1120 jpg_nbufs = 4;
26edeeecea59d6 Corentin Labbe 2021-10-13 1121 if (jpg_nbufs > BUZ_MAX_FRAME)
26edeeecea59d6 Corentin Labbe 2021-10-13 1122 jpg_nbufs = BUZ_MAX_FRAME;
26edeeecea59d6 Corentin Labbe 2021-10-13 1123 jpg_bufsize = PAGE_ALIGN(jpg_bufsize * 1024);
26edeeecea59d6 Corentin Labbe 2021-10-13 1124 if (jpg_bufsize < 8192)
26edeeecea59d6 Corentin Labbe 2021-10-13 1125 jpg_bufsize = 8192;
26edeeecea59d6 Corentin Labbe 2021-10-13 1126 if (jpg_bufsize > (512 * 1024))
26edeeecea59d6 Corentin Labbe 2021-10-13 1127 jpg_bufsize = 512 * 1024;
26edeeecea59d6 Corentin Labbe 2021-10-13 1128 /* Use parameter for vidmem or try to find a video card */
26edeeecea59d6 Corentin Labbe 2021-10-13 1129 if (vidmem)
26edeeecea59d6 Corentin Labbe 2021-10-13 1130 pci_info(pdev, "%s: Using supplied video memory base address @ 0x%lx\n",
26edeeecea59d6 Corentin Labbe 2021-10-13 1131 ZORAN_NAME, vidmem);
26edeeecea59d6 Corentin Labbe 2021-10-13 1132
26edeeecea59d6 Corentin Labbe 2021-10-13 1133 /* some mainboards might not do PCI-PCI data transfer well */
26edeeecea59d6 Corentin Labbe 2021-10-13 1134 if (pci_pci_problems & (PCIPCI_FAIL | PCIAGP_FAIL | PCIPCI_ALIMAGIK))
26edeeecea59d6 Corentin Labbe 2021-10-13 1135 pci_warn(pdev, "%s: chipset does not support reliable PCI-PCI DMA\n",
26edeeecea59d6 Corentin Labbe 2021-10-13 1136 ZORAN_NAME);
26edeeecea59d6 Corentin Labbe 2021-10-13 1137
d4ae3689226e56 Corentin Labbe 2020-09-25 1138 err = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32));
d4ae3689226e56 Corentin Labbe 2020-09-25 1139 if (err)
d4ae3689226e56 Corentin Labbe 2020-09-25 1140 return -ENODEV;
d4ae3689226e56 Corentin Labbe 2020-09-25 @1141 vb2_dma_contig_set_max_seg_size(&pdev->dev, DMA_BIT_MASK(32));
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1142
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1143 nr = zoran_num++;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1144 if (nr >= BUZ_MAX) {
b7c3b2bb9db412 Corentin Labbe 2020-09-25 1145 pci_err(pdev, "driver limited to %d card(s) maximum\n", BUZ_MAX);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1146 return -ENOENT;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1147 }
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1148
6d1d9ba2c4396f Corentin Labbe 2020-09-25 1149 zr = devm_kzalloc(&pdev->dev, sizeof(*zr), GFP_KERNEL);
5e195bbddabdd9 Corentin Labbe 2020-09-25 1150 if (!zr)
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1151 return -ENOMEM;
5e195bbddabdd9 Corentin Labbe 2020-09-25 1152
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1153 zr->v4l2_dev.notify = zoran_subdev_notify;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1154 if (v4l2_device_register(&pdev->dev, &zr->v4l2_dev))
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1155 goto zr_free_mem;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1156 zr->pci_dev = pdev;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1157 zr->id = nr;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1158 snprintf(ZR_DEVNAME(zr), sizeof(ZR_DEVNAME(zr)), "MJPEG[%u]", zr->id);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1159 if (v4l2_ctrl_handler_init(&zr->hdl, 10))
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1160 goto zr_unreg;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1161 zr->v4l2_dev.ctrl_handler = &zr->hdl;
8cb356d4eaae11 Corentin Labbe 2020-09-25 1162 v4l2_ctrl_new_std(&zr->hdl, &zoran_video_ctrl_ops,
8cb356d4eaae11 Corentin Labbe 2020-09-25 1163 V4L2_CID_JPEG_COMPRESSION_QUALITY, 0,
8cb356d4eaae11 Corentin Labbe 2020-09-25 1164 100, 1, 50);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1165 spin_lock_init(&zr->spinlock);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1166 mutex_init(&zr->lock);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1167 if (pci_enable_device(pdev))
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1168 goto zr_unreg;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1169 zr->revision = zr->pci_dev->revision;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1170
9bb2720293a04f Corentin Labbe 2020-09-25 1171 pci_info(zr->pci_dev, "Zoran ZR360%c7 (rev %d), irq: %d, memory: 0x%08llx\n",
9bb2720293a04f Corentin Labbe 2020-09-25 1172 zr->revision < 2 ? '5' : '6', zr->revision,
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1173 zr->pci_dev->irq, (uint64_t)pci_resource_start(zr->pci_dev, 0));
9bb2720293a04f Corentin Labbe 2020-09-25 1174 if (zr->revision >= 2)
9bb2720293a04f Corentin Labbe 2020-09-25 1175 pci_info(zr->pci_dev, "Subsystem vendor=0x%04x id=0x%04x\n",
9bb2720293a04f Corentin Labbe 2020-09-25 1176 zr->pci_dev->subsystem_vendor, zr->pci_dev->subsystem_device);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1177
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1178 /* Use auto-detected card type? */
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1179 if (card[nr] == -1) {
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1180 if (zr->revision < 2) {
b7c3b2bb9db412 Corentin Labbe 2020-09-25 1181 pci_err(pdev, "No card type specified, please use the card=X module parameter\n");
b7c3b2bb9db412 Corentin Labbe 2020-09-25 1182 pci_err(pdev, "It is not possible to auto-detect ZR36057 based cards\n");
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1183 goto zr_unreg;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1184 }
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1185
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1186 card_num = ent->driver_data;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1187 if (card_num >= NUM_CARDS) {
b7c3b2bb9db412 Corentin Labbe 2020-09-25 1188 pci_err(pdev, "Unknown card, try specifying card=X module parameter\n");
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1189 goto zr_unreg;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1190 }
daae1da762c1e3 Corentin Labbe 2020-09-25 1191 pci_info(zr->pci_dev, "%s() - card %s detected\n", __func__, zoran_cards[card_num].name);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1192 } else {
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1193 card_num = card[nr];
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1194 if (card_num >= NUM_CARDS || card_num < 0) {
b7c3b2bb9db412 Corentin Labbe 2020-09-25 1195 pci_err(pdev, "User specified card type %d out of range (0 .. %d)\n",
b7c3b2bb9db412 Corentin Labbe 2020-09-25 1196 card_num, NUM_CARDS - 1);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1197 goto zr_unreg;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1198 }
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1199 }
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1200
5e195bbddabdd9 Corentin Labbe 2020-09-25 1201 /*
5e195bbddabdd9 Corentin Labbe 2020-09-25 1202 * even though we make this a non pointer and thus
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1203 * theoretically allow for making changes to this struct
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1204 * on a per-individual card basis at runtime, this is
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1205 * strongly discouraged. This structure is intended to
5e195bbddabdd9 Corentin Labbe 2020-09-25 1206 * keep general card information, no settings or anything
5e195bbddabdd9 Corentin Labbe 2020-09-25 1207 */
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1208 zr->card = zoran_cards[card_num];
5e195bbddabdd9 Corentin Labbe 2020-09-25 1209 snprintf(ZR_DEVNAME(zr), sizeof(ZR_DEVNAME(zr)), "%s[%u]",
5e195bbddabdd9 Corentin Labbe 2020-09-25 1210 zr->card.name, zr->id);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1211
845556fd8027b8 Corentin Labbe 2020-09-25 1212 err = pci_request_regions(pdev, ZR_DEVNAME(zr));
845556fd8027b8 Corentin Labbe 2020-09-25 1213 if (err)
845556fd8027b8 Corentin Labbe 2020-09-25 1214 goto zr_unreg;
845556fd8027b8 Corentin Labbe 2020-09-25 1215
e83bf68b5827e0 Corentin Labbe 2020-09-25 1216 zr->zr36057_mem = devm_ioremap(&pdev->dev, pci_resource_start(pdev, 0), pci_resource_len(pdev, 0));
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1217 if (!zr->zr36057_mem) {
b7c3b2bb9db412 Corentin Labbe 2020-09-25 1218 pci_err(pdev, "%s() - ioremap failed\n", __func__);
845556fd8027b8 Corentin Labbe 2020-09-25 1219 goto zr_pci_release;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1220 }
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1221
ce72671d5d2d93 Corentin Labbe 2020-09-25 1222 result = pci_request_irq(pdev, 0, zoran_irq, NULL, zr, ZR_DEVNAME(zr));
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1223 if (result < 0) {
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1224 if (result == -EINVAL) {
b7c3b2bb9db412 Corentin Labbe 2020-09-25 1225 pci_err(pdev, "%s - bad IRQ number or handler\n", __func__);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1226 } else if (result == -EBUSY) {
b7c3b2bb9db412 Corentin Labbe 2020-09-25 1227 pci_err(pdev, "%s - IRQ %d busy, change your PnP config in BIOS\n",
b7c3b2bb9db412 Corentin Labbe 2020-09-25 1228 __func__, zr->pci_dev->irq);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1229 } else {
b7c3b2bb9db412 Corentin Labbe 2020-09-25 1230 pci_err(pdev, "%s - cannot assign IRQ, error code %d\n", __func__, result);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1231 }
e83bf68b5827e0 Corentin Labbe 2020-09-25 1232 goto zr_pci_release;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1233 }
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1234
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1235 /* set PCI latency timer */
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1236 pci_read_config_byte(zr->pci_dev, PCI_LATENCY_TIMER,
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1237 &latency);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1238 need_latency = zr->revision > 1 ? 32 : 48;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1239 if (latency != need_latency) {
9bb2720293a04f Corentin Labbe 2020-09-25 1240 pci_info(zr->pci_dev, "Changing PCI latency from %d to %d\n", latency, need_latency);
5e195bbddabdd9 Corentin Labbe 2020-09-25 1241 pci_write_config_byte(zr->pci_dev, PCI_LATENCY_TIMER, need_latency);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1242 }
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1243
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1244 zr36057_restart(zr);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1245 /* i2c */
9bb2720293a04f Corentin Labbe 2020-09-25 1246 pci_info(zr->pci_dev, "Initializing i2c bus...\n");
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1247
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1248 if (zoran_register_i2c(zr) < 0) {
b7c3b2bb9db412 Corentin Labbe 2020-09-25 1249 pci_err(pdev, "%s - can't initialize i2c bus\n", __func__);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1250 goto zr_free_irq;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1251 }
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1252
5e195bbddabdd9 Corentin Labbe 2020-09-25 1253 zr->decoder = v4l2_i2c_new_subdev(&zr->v4l2_dev, &zr->i2c_adapter,
5e195bbddabdd9 Corentin Labbe 2020-09-25 1254 zr->card.i2c_decoder, 0,
5e195bbddabdd9 Corentin Labbe 2020-09-25 1255 zr->card.addrs_decoder);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1256
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1257 if (zr->card.i2c_encoder)
5e195bbddabdd9 Corentin Labbe 2020-09-25 1258 zr->encoder = v4l2_i2c_new_subdev(&zr->v4l2_dev, &zr->i2c_adapter,
5e195bbddabdd9 Corentin Labbe 2020-09-25 1259 zr->card.i2c_encoder, 0,
5e195bbddabdd9 Corentin Labbe 2020-09-25 1260 zr->card.addrs_encoder);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1261
9bb2720293a04f Corentin Labbe 2020-09-25 1262 pci_info(zr->pci_dev, "Initializing videocodec bus...\n");
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1263
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1264 if (zr->card.video_codec) {
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1265 codec_name = codecid_to_modulename(zr->card.video_codec);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1266 if (codec_name) {
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1267 result = request_module(codec_name);
b7c3b2bb9db412 Corentin Labbe 2020-09-25 1268 if (result)
b7c3b2bb9db412 Corentin Labbe 2020-09-25 1269 pci_err(pdev, "failed to load modules %s: %d\n", codec_name, result);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1270 }
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1271 }
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1272 if (zr->card.video_vfe) {
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1273 vfe_name = codecid_to_modulename(zr->card.video_vfe);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1274 if (vfe_name) {
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1275 result = request_module(vfe_name);
b7c3b2bb9db412 Corentin Labbe 2020-09-25 1276 if (result < 0)
b7c3b2bb9db412 Corentin Labbe 2020-09-25 1277 pci_err(pdev, "failed to load modules %s: %d\n", vfe_name, result);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1278 }
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1279 }
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1280
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1281 /* reset JPEG codec */
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1282 jpeg_codec_sleep(zr, 1);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1283 jpeg_codec_reset(zr);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1284 /* video bus enabled */
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1285 /* display codec revision */
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1286 if (zr->card.video_codec != 0) {
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1287 master_codec = zoran_setup_videocodec(zr, zr->card.video_codec);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1288 if (!master_codec)
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1289 goto zr_unreg_i2c;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1290 zr->codec = videocodec_attach(master_codec);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1291 if (!zr->codec) {
b7c3b2bb9db412 Corentin Labbe 2020-09-25 1292 pci_err(pdev, "%s - no codec found\n", __func__);
4bae5db2f28d64 Corentin Labbe 2020-09-25 1293 goto zr_unreg_i2c;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1294 }
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1295 if (zr->codec->type != zr->card.video_codec) {
b7c3b2bb9db412 Corentin Labbe 2020-09-25 1296 pci_err(pdev, "%s - wrong codec\n", __func__);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1297 goto zr_detach_codec;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1298 }
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1299 }
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1300 if (zr->card.video_vfe != 0) {
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1301 master_vfe = zoran_setup_videocodec(zr, zr->card.video_vfe);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1302 if (!master_vfe)
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1303 goto zr_detach_codec;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1304 zr->vfe = videocodec_attach(master_vfe);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1305 if (!zr->vfe) {
b7c3b2bb9db412 Corentin Labbe 2020-09-25 1306 pci_err(pdev, "%s - no VFE found\n", __func__);
4bae5db2f28d64 Corentin Labbe 2020-09-25 1307 goto zr_detach_codec;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1308 }
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1309 if (zr->vfe->type != zr->card.video_vfe) {
b7c3b2bb9db412 Corentin Labbe 2020-09-25 1310 pci_err(pdev, "%s = wrong VFE\n", __func__);
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1311 goto zr_detach_vfe;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1312 }
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1313 }
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1314
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1315 /* take care of Natoma chipset and a revision 1 zr36057 */
83f89a8bcbc3c5 Corentin Labbe 2020-09-25 1316 if ((pci_pci_problems & PCIPCI_NATOMA) && zr->revision <= 1)
9bb2720293a04f Corentin Labbe 2020-09-25 1317 pci_info(zr->pci_dev, "ZR36057/Natoma bug, max. buffer size is 128K\n");
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1318
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1319 if (zr36057_init(zr) < 0)
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1320 goto zr_detach_vfe;
61c3b19f7b9eb7 Corentin Labbe 2020-09-25 1321
b564cb6e0bd587 Corentin Labbe 2020-09-25 1322 zr->map_mode = ZORAN_MAP_MODE_RAW;
b564cb6e0bd587 Corentin Labbe 2020-09-25 1323
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 1 week
Re: [PATCH v2] tracing/cfi: Fix cmp_entries_* functions signature mismatch
by kernel test robot
Hi Kalesh,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on 348949d9a4440abdab3b1dc99a9bb660e8c7da7c]
url: https://github.com/0day-ci/linux/commits/Kalesh-Singh/tracing-cfi-Fix-cmp...
base: 348949d9a4440abdab3b1dc99a9bb660e8c7da7c
config: x86_64-buildonly-randconfig-r002-20211013 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 6c76d0101193aa4eb891a6954ff047eda2f9cf71)
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/aca9efb61e0559ff7abff8c8bce5e1a65...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Kalesh-Singh/tracing-cfi-Fix-cmp_entries_-functions-signature-mismatch/20211014-093824
git checkout aca9efb61e0559ff7abff8c8bce5e1a65a73ccce
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=x86_64
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 >>):
>> kernel/trace/tracing_map.c:839:40: error: initializing 'const struct tracing_map_sort_entry **' with an expression of type 'const void *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
const struct tracing_map_sort_entry **pa = A;
^ ~
kernel/trace/tracing_map.c:840:40: error: initializing 'const struct tracing_map_sort_entry **' with an expression of type 'const void *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
const struct tracing_map_sort_entry **pb = B;
^ ~
kernel/trace/tracing_map.c:853:40: error: initializing 'const struct tracing_map_sort_entry **' with an expression of type 'const void *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
const struct tracing_map_sort_entry **pa = A;
^ ~
kernel/trace/tracing_map.c:854:40: error: initializing 'const struct tracing_map_sort_entry **' with an expression of type 'const void *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
const struct tracing_map_sort_entry **pb = B;
^ ~
kernel/trace/tracing_map.c:884:40: error: initializing 'const struct tracing_map_sort_entry **' with an expression of type 'const void *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
const struct tracing_map_sort_entry **pa = A;
^ ~
kernel/trace/tracing_map.c:885:40: error: initializing 'const struct tracing_map_sort_entry **' with an expression of type 'const void *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
const struct tracing_map_sort_entry **pb = B;
^ ~
6 errors generated.
vim +839 kernel/trace/tracing_map.c
836
837 static int cmp_entries_dup(const void *A, const void *B)
838 {
> 839 const struct tracing_map_sort_entry **pa = A;
840 const struct tracing_map_sort_entry **pb = B;
841 const struct tracing_map_sort_entry *a = *pa;
842 const struct tracing_map_sort_entry *b = *pb;
843 int ret = 0;
844
845 if (memcmp(a->key, b->key, a->elt->map->key_size))
846 ret = 1;
847
848 return ret;
849 }
850
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 1 week
Re: [PATCH v10] drm/bridge: add it6505 driver
by kernel test robot
Hi allen,
I love your patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.15-rc5 next-20211013]
[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/allen/drm-bridge-add-it6505-driv...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 348949d9a4440abdab3b1dc99a9bb660e8c7da7c
config: nios2-allyesconfig (attached as .config)
compiler: nios2-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/b7059f22f5a66e301596957d9c6321d64...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review allen/drm-bridge-add-it6505-driver/20211014-113315
git checkout b7059f22f5a66e301596957d9c6321d64358d6f0
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=nios2
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/bridge/ite-it6505.c: In function 'it6505_bridge_atomic_enable':
>> drivers/gpu/drm/bridge/ite-it6505.c:2919:22: error: implicit declaration of function 'drm_bridge_new_crtc_state'; did you mean 'drm_atomic_get_new_crtc_state'? [-Werror=implicit-function-declaration]
2919 | crtc_state = drm_bridge_new_crtc_state(bridge, old_state);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| drm_atomic_get_new_crtc_state
>> drivers/gpu/drm/bridge/ite-it6505.c:2919:20: error: assignment to 'const struct drm_crtc_state *' from 'int' makes pointer from integer without a cast [-Werror=int-conversion]
2919 | crtc_state = drm_bridge_new_crtc_state(bridge, old_state);
| ^
cc1: all warnings being treated as errors
vim +2919 drivers/gpu/drm/bridge/ite-it6505.c
2901
2902 static void it6505_bridge_atomic_enable(struct drm_bridge *bridge,
2903 struct drm_bridge_state *old_state)
2904 {
2905 struct it6505 *it6505 = bridge_to_it6505(bridge);
2906 struct device *dev = &it6505->client->dev;
2907 struct drm_atomic_state *state = old_state->base.state;
2908 struct hdmi_avi_infoframe frame;
2909 const struct drm_crtc_state *crtc_state;
2910 const struct drm_display_mode *mode;
2911 struct drm_connector *connector;
2912 int ret;
2913
2914 DRM_DEV_DEBUG_DRIVER(dev, "start");
2915
2916 connector = drm_atomic_get_new_connector_for_encoder(state,
2917 bridge->encoder);
2918
> 2919 crtc_state = drm_bridge_new_crtc_state(bridge, old_state);
2920 mode = &crtc_state->mode;
2921 ret = drm_hdmi_avi_infoframe_from_display_mode(&frame,
2922 connector,
2923 mode);
2924 if (ret)
2925 dev_err(dev, "Failed to setup AVI infoframe: %d", ret);
2926
2927 it6505_update_video_parameter(it6505, mode);
2928
2929 ret = it6505_send_video_infoframe(it6505, &frame);
2930
2931 if (ret)
2932 dev_err(dev, "Failed to send AVI infoframe: %d", ret);
2933
2934 it6505_int_mask_enable(it6505);
2935 it6505_video_reset(it6505);
2936 }
2937
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 1 week
Re: [PATCH v10] drm/bridge: add it6505 driver
by kernel test robot
Hi allen,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.15-rc5 next-20211013]
[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/allen/drm-bridge-add-it6505-driv...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 348949d9a4440abdab3b1dc99a9bb660e8c7da7c
config: x86_64-randconfig-r013-20211014 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 6c76d0101193aa4eb891a6954ff047eda2f9cf71)
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/b7059f22f5a66e301596957d9c6321d64...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review allen/drm-bridge-add-it6505-driver/20211014-113315
git checkout b7059f22f5a66e301596957d9c6321d64358d6f0
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=x86_64
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/bridge/ite-it6505.c:2919:15: error: implicit declaration of function 'drm_bridge_new_crtc_state' [-Werror,-Wimplicit-function-declaration]
crtc_state = drm_bridge_new_crtc_state(bridge, old_state);
^
drivers/gpu/drm/bridge/ite-it6505.c:2919:15: note: did you mean 'drm_atomic_get_new_crtc_state'?
include/drm/drm_atomic.h:553:1: note: 'drm_atomic_get_new_crtc_state' declared here
drm_atomic_get_new_crtc_state(struct drm_atomic_state *state,
^
>> drivers/gpu/drm/bridge/ite-it6505.c:2919:13: warning: incompatible integer to pointer conversion assigning to 'const struct drm_crtc_state *' from 'int' [-Wint-conversion]
crtc_state = drm_bridge_new_crtc_state(bridge, old_state);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning and 1 error generated.
vim +2919 drivers/gpu/drm/bridge/ite-it6505.c
2901
2902 static void it6505_bridge_atomic_enable(struct drm_bridge *bridge,
2903 struct drm_bridge_state *old_state)
2904 {
2905 struct it6505 *it6505 = bridge_to_it6505(bridge);
2906 struct device *dev = &it6505->client->dev;
2907 struct drm_atomic_state *state = old_state->base.state;
2908 struct hdmi_avi_infoframe frame;
2909 const struct drm_crtc_state *crtc_state;
2910 const struct drm_display_mode *mode;
2911 struct drm_connector *connector;
2912 int ret;
2913
2914 DRM_DEV_DEBUG_DRIVER(dev, "start");
2915
2916 connector = drm_atomic_get_new_connector_for_encoder(state,
2917 bridge->encoder);
2918
> 2919 crtc_state = drm_bridge_new_crtc_state(bridge, old_state);
2920 mode = &crtc_state->mode;
2921 ret = drm_hdmi_avi_infoframe_from_display_mode(&frame,
2922 connector,
2923 mode);
2924 if (ret)
2925 dev_err(dev, "Failed to setup AVI infoframe: %d", ret);
2926
2927 it6505_update_video_parameter(it6505, mode);
2928
2929 ret = it6505_send_video_infoframe(it6505, &frame);
2930
2931 if (ret)
2932 dev_err(dev, "Failed to send AVI infoframe: %d", ret);
2933
2934 it6505_int_mask_enable(it6505);
2935 it6505_video_reset(it6505);
2936 }
2937
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 1 week