* drivers/media/platform/allegro-dvt/allegro-core.c:1593:3: warning: Value stored to 'curr' is never read [clang-analyzer-deadcode.DeadStores]
@ 2021-12-14 7:23 kernel test robot
0 siblings, 0 replies; 5+ messages in thread
From: kernel test robot @ 2021-12-14 7:23 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 37082 bytes --]
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Michael Tretter <m.tretter@pengutronix.de>
CC: Mauro Carvalho Chehab <mchehab@kernel.org>
CC: linux-media(a)vger.kernel.org
CC: Hans Verkuil <hverkuil@xs4all.nl>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 5472f14a37421d1bca3dddf33cabd3bd6dbefbbc
commit: d74d4e2359ec7985831192f9b5ee22ed5e55b81c media: allegro: move driver out of staging
date: 11 months ago
:::::: branch date: 9 hours ago
:::::: commit date: 11 months ago
config: riscv-randconfig-c006-20211213 (https://download.01.org/0day-ci/archive/20211214/202112141555.FbypAilI-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project b6a2ddb6c8ac29412b1361810972e15221fa021c)
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 riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d74d4e2359ec7985831192f9b5ee22ed5e55b81c
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout d74d4e2359ec7985831192f9b5ee22ed5e55b81c
# save the config file to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
measure_proximity,
set_power_state,
num_channels,
irq_support,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct vcnl4000_chip_spec {
~~~~~~~^~~~~~~~~~~~~~~~~~~~
drivers/iio/light/vcnl4000.c:132:8: note: Excessive padding in 'struct vcnl4000_chip_spec' (11 padding bytes, where 3 is optimal). Optimal fields order: prod, channels, info, init, measure_light, measure_proximity, set_power_state, num_channels, irq_support, consider reordering the fields or adding explicit padding members
struct vcnl4000_chip_spec {
~~~~~~~^~~~~~~~~~~~~~~~~~~~
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
7 warnings generated.
Suppressed 7 warnings (7 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
5 warnings generated.
Suppressed 5 warnings (5 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
5 warnings generated.
Suppressed 5 warnings (5 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
7 warnings generated.
Suppressed 7 warnings (7 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
7 warnings generated.
Suppressed 7 warnings (7 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
7 warnings generated.
Suppressed 7 warnings (7 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
7 warnings generated.
drivers/siox/siox-core.c:240:4: warning: Value stored to 'status' is never read [clang-analyzer-deadcode.DeadStores]
status &= ~SIOX_STATUS_WDG;
^ ~~~~~~~~~~~~~~~~
drivers/siox/siox-core.c:240:4: note: Value stored to 'status' is never read
status &= ~SIOX_STATUS_WDG;
^ ~~~~~~~~~~~~~~~~
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
7 warnings generated.
Suppressed 7 warnings (7 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
9 warnings generated.
Suppressed 9 warnings (9 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
11 warnings generated.
fs/gfs2/ops_fstype.c:823:2: warning: Value stored to 'jindex' is never read [clang-analyzer-deadcode.DeadStores]
jindex = 0;
^ ~
fs/gfs2/ops_fstype.c:823:2: note: Value stored to 'jindex' is never read
jindex = 0;
^ ~
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
7 warnings generated.
Suppressed 7 warnings (7 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
>> drivers/media/platform/allegro-dvt/allegro-core.c:1593:3: warning: Value stored to 'curr' is never read [clang-analyzer-deadcode.DeadStores]
curr += len;
^ ~~~
drivers/media/platform/allegro-dvt/allegro-core.c:1593:3: note: Value stored to 'curr' is never read
curr += len;
^ ~~~
Suppressed 9 warnings (9 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
drivers/usb/serial/usb-serial.c:1414:2: warning: Value stored to 'rc' is never read [clang-analyzer-deadcode.DeadStores]
rc = driver_attach(&udriver->drvwrap.driver);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/serial/usb-serial.c:1414:2: note: Value stored to 'rc' is never read
rc = driver_attach(&udriver->drvwrap.driver);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 9 warnings (9 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
9 warnings generated.
Suppressed 9 warnings (9 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
9 warnings generated.
Suppressed 9 warnings (9 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
9 warnings generated.
Suppressed 9 warnings (9 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
9 warnings generated.
Suppressed 9 warnings (9 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
11 warnings generated.
drivers/gpu/drm/drm_modes.c:1768:4: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcpy(mode->name, drm_named_modes_whitelist[i]);
^~~~~~
drivers/gpu/drm/drm_modes.c:1768:4: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
strcpy(mode->name, drm_named_modes_whitelist[i]);
^~~~~~
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
7 warnings generated.
Suppressed 7 warnings (7 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
drivers/iio/imu/fxos8700_core.c:167:8: warning: Excessive padding in 'struct fxos8700_data' (106 padding bytes, where 42 is optimal).
Optimal fields order:
buf,
regmap,
trig,
vim +/curr +1593 drivers/media/platform/allegro-dvt/allegro-core.c
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1470
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1471 static void allegro_channel_finish_frame(struct allegro_channel *channel,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1472 struct mcu_msg_encode_frame_response *msg)
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1473 {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1474 struct allegro_dev *dev = channel->dev;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1475 struct vb2_v4l2_buffer *src_buf;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1476 struct vb2_v4l2_buffer *dst_buf;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1477 struct {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1478 u32 offset;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1479 u32 size;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1480 } *partition;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1481 enum vb2_buffer_state state = VB2_BUF_STATE_ERROR;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1482 char *curr;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1483 ssize_t len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1484 ssize_t free;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1485
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1486 src_buf = allegro_get_buffer(channel, &channel->source_shadow_list,
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1487 msg->src_handle);
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1488 if (!src_buf)
3b78f8a21ed685 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1489 v4l2_warn(&dev->v4l2_dev,
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1490 "channel %d: invalid source buffer\n",
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1491 channel->mcu_channel_id);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1492
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1493 dst_buf = allegro_get_buffer(channel, &channel->stream_shadow_list,
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1494 msg->stream_id);
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1495 if (!dst_buf)
3b78f8a21ed685 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1496 v4l2_warn(&dev->v4l2_dev,
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1497 "channel %d: invalid stream buffer\n",
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1498 channel->mcu_channel_id);
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1499
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1500 if (!src_buf || !dst_buf)
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1501 goto err;
3b78f8a21ed685 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1502
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1503 dst_buf->sequence = channel->csequence++;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1504
b646f99642b749 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1505 if (msg->error_code & AL_ERROR) {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1506 v4l2_err(&dev->v4l2_dev,
04d2a110187103 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1507 "channel %d: failed to encode frame: %s (%x)\n",
04d2a110187103 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1508 channel->mcu_channel_id,
04d2a110187103 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1509 allegro_err_to_string(msg->error_code),
04d2a110187103 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1510 msg->error_code);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1511 goto err;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1512 }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1513
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1514 if (msg->partition_table_size != 1) {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1515 v4l2_warn(&dev->v4l2_dev,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1516 "channel %d: only handling first partition table entry (%d entries)\n",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1517 channel->mcu_channel_id, msg->partition_table_size);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1518 }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1519
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1520 if (msg->partition_table_offset +
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1521 msg->partition_table_size * sizeof(*partition) >
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1522 vb2_plane_size(&dst_buf->vb2_buf, 0)) {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1523 v4l2_err(&dev->v4l2_dev,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1524 "channel %d: partition table outside of dst_buf\n",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1525 channel->mcu_channel_id);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1526 goto err;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1527 }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1528
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1529 partition =
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1530 vb2_plane_vaddr(&dst_buf->vb2_buf, 0) + msg->partition_table_offset;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1531 if (partition->offset + partition->size >
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1532 vb2_plane_size(&dst_buf->vb2_buf, 0)) {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1533 v4l2_err(&dev->v4l2_dev,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1534 "channel %d: encoded frame is outside of dst_buf (offset 0x%x, size 0x%x)\n",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1535 channel->mcu_channel_id, partition->offset,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1536 partition->size);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1537 goto err;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1538 }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1539
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1540 v4l2_dbg(2, debug, &dev->v4l2_dev,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1541 "channel %d: encoded frame of size %d is at offset 0x%x\n",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1542 channel->mcu_channel_id, partition->size, partition->offset);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1543
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1544 /*
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1545 * The payload must include the data before the partition offset,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1546 * because we will put the sps and pps data there.
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1547 */
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1548 vb2_set_plane_payload(&dst_buf->vb2_buf, 0,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1549 partition->offset + partition->size);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1550
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1551 curr = vb2_plane_vaddr(&dst_buf->vb2_buf, 0);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1552 free = partition->offset;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1553 if (msg->is_idr) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1554 len = allegro_h264_write_sps(channel, curr, free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1555 if (len < 0) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1556 v4l2_err(&dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1557 "not enough space for sequence parameter set: %zd left\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1558 free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1559 goto err;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1560 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1561 curr += len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1562 free -= len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1563 v4l2_dbg(1, debug, &dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1564 "channel %d: wrote %zd byte SPS nal unit\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1565 channel->mcu_channel_id, len);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1566 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1567
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1568 if (msg->slice_type == AL_ENC_SLICE_TYPE_I) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1569 len = allegro_h264_write_pps(channel, curr, free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1570 if (len < 0) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1571 v4l2_err(&dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1572 "not enough space for picture parameter set: %zd left\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1573 free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1574 goto err;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1575 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1576 curr += len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1577 free -= len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1578 v4l2_dbg(1, debug, &dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1579 "channel %d: wrote %zd byte PPS nal unit\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1580 channel->mcu_channel_id, len);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1581 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1582
e74145c2334d85 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1583 if (msg->slice_type != AL_ENC_SLICE_TYPE_I && !msg->is_idr) {
e74145c2334d85 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1584 dst_buf->vb2_buf.planes[0].data_offset = free;
e74145c2334d85 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1585 free = 0;
e74145c2334d85 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1586 } else {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1587 len = nal_h264_write_filler(&dev->plat_dev->dev, curr, free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1588 if (len < 0) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1589 v4l2_err(&dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1590 "failed to write %zd filler data\n", free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1591 goto err;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1592 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 @1593 curr += len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1594 free -= len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1595 v4l2_dbg(2, debug, &dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1596 "channel %d: wrote %zd bytes filler nal unit\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1597 channel->mcu_channel_id, len);
e74145c2334d85 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1598 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1599
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1600 if (free != 0) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1601 v4l2_err(&dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1602 "non-VCL NAL units do not fill space until VCL NAL unit: %zd bytes left\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1603 free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1604 goto err;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1605 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1606
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1607 state = VB2_BUF_STATE_DONE;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1608
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1609 v4l2_m2m_buf_copy_metadata(src_buf, dst_buf, false);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1610 if (msg->is_idr)
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1611 dst_buf->flags |= V4L2_BUF_FLAG_KEYFRAME;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1612 else
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1613 dst_buf->flags |= V4L2_BUF_FLAG_PFRAME;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1614
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1615 v4l2_dbg(1, debug, &dev->v4l2_dev,
80c8449fc71c80 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1616 "channel %d: encoded frame #%03d (%s%s, QP %d, %d bytes)\n",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1617 channel->mcu_channel_id,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1618 dst_buf->sequence,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1619 msg->is_idr ? "IDR, " : "",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1620 msg->slice_type == AL_ENC_SLICE_TYPE_I ? "I slice" :
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1621 msg->slice_type == AL_ENC_SLICE_TYPE_P ? "P slice" : "unknown",
80c8449fc71c80 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1622 msg->qp, partition->size);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1623
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1624 err:
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1625 if (src_buf)
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1626 v4l2_m2m_buf_done(src_buf, VB2_BUF_STATE_DONE);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1627
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1628 if (dst_buf)
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1629 allegro_channel_buf_done(channel, dst_buf, state);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1630 }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1631
:::::: The code at line 1593 was first introduced by commit
:::::: 878344de61d0d5f351a1b84fce009a321be3eb45 media: allegro: add SPS/PPS nal unit writer
:::::: TO: Michael Tretter <m.tretter@pengutronix.de>
:::::: CC: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
^ permalink raw reply [flat|nested] 5+ messages in thread
* drivers/media/platform/allegro-dvt/allegro-core.c:1593:3: warning: Value stored to 'curr' is never read [clang-analyzer-deadcode.DeadStores]
@ 2022-01-02 7:15 kernel test robot
0 siblings, 0 replies; 5+ messages in thread
From: kernel test robot @ 2022-01-02 7:15 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 37580 bytes --]
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Michael Tretter <m.tretter@pengutronix.de>
CC: Mauro Carvalho Chehab <mchehab@kernel.org>
CC: linux-media(a)vger.kernel.org
CC: Hans Verkuil <hverkuil@xs4all.nl>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 278218f6778bc7d6f8b67199446c56cec7ebb841
commit: d74d4e2359ec7985831192f9b5ee22ed5e55b81c media: allegro: move driver out of staging
date: 12 months ago
:::::: branch date: 13 hours ago
:::::: commit date: 12 months ago
config: riscv-randconfig-c006-20211227 (https://download.01.org/0day-ci/archive/20220102/202201021518.4mEWdid6-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 511726c64d3b6cca66f7c54d457d586aa3129f67)
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 riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d74d4e2359ec7985831192f9b5ee22ed5e55b81c
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout d74d4e2359ec7985831192f9b5ee22ed5e55b81c
# save the config file to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
Suppressed 12 warnings (5 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
12 warnings generated.
Suppressed 12 warnings (5 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
12 warnings generated.
Suppressed 12 warnings (5 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
14 warnings generated.
drivers/media/v4l2-core/v4l2-ioctl.c:3331:3: warning: Value stored to 'err' is never read [clang-analyzer-deadcode.DeadStores]
err = -EFAULT;
^ ~~~~~~~
drivers/media/v4l2-core/v4l2-ioctl.c:3331:3: note: Value stored to 'err' is never read
err = -EFAULT;
^ ~~~~~~~
Suppressed 13 warnings (6 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
13 warnings generated.
Suppressed 13 warnings (6 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
13 warnings generated.
Suppressed 13 warnings (6 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
5 warnings generated.
Suppressed 5 warnings (5 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
12 warnings generated.
Suppressed 12 warnings (5 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
5 warnings generated.
Suppressed 5 warnings (5 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
5 warnings generated.
Suppressed 5 warnings (5 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
5 warnings generated.
Suppressed 5 warnings (5 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
5 warnings generated.
Suppressed 5 warnings (5 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
5 warnings generated.
Suppressed 5 warnings (5 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
20 warnings generated.
Suppressed 20 warnings (13 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
13 warnings generated.
Suppressed 13 warnings (6 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
16 warnings generated.
Suppressed 16 warnings (9 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
15 warnings generated.
drivers/iio/dac/ad5421.c:67:8: warning: Excessive padding in 'struct ad5421_state' (68 padding bytes, where 4 is optimal).
Optimal fields order:
data,
spi,
lock,
ctrl,
current_range,
fault_mask,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct ad5421_state {
~~~~~~~^~~~~~~~~~~~~~
drivers/iio/dac/ad5421.c:67:8: note: Excessive padding in 'struct ad5421_state' (68 padding bytes, where 4 is optimal). Optimal fields order: data, spi, lock, ctrl, current_range, fault_mask, consider reordering the fields or adding explicit padding members
struct ad5421_state {
~~~~~~~^~~~~~~~~~~~~~
Suppressed 14 warnings (7 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
15 warnings generated.
Suppressed 15 warnings (8 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
16 warnings generated.
drivers/iio/dac/ad5504.c:50:8: warning: Excessive padding in 'struct ad5504_state' (98 padding bytes, where 34 is optimal).
Optimal fields order:
data,
pwr_down_mask,
spi,
reg,
pwr_down_mode,
vref_mv,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct ad5504_state {
~~~~~~~^~~~~~~~~~~~~~
drivers/iio/dac/ad5504.c:50:8: note: Excessive padding in 'struct ad5504_state' (98 padding bytes, where 34 is optimal). Optimal fields order: data, pwr_down_mask, spi, reg, pwr_down_mode, vref_mv, consider reordering the fields or adding explicit padding members
struct ad5504_state {
~~~~~~~^~~~~~~~~~~~~~
Suppressed 15 warnings (8 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
15 warnings generated.
Suppressed 15 warnings (8 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
15 warnings generated.
Suppressed 15 warnings (8 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
14 warnings generated.
>> drivers/media/platform/allegro-dvt/allegro-core.c:1593:3: warning: Value stored to 'curr' is never read [clang-analyzer-deadcode.DeadStores]
curr += len;
^ ~~~
drivers/media/platform/allegro-dvt/allegro-core.c:1593:3: note: Value stored to 'curr' is never read
curr += len;
^ ~~~
Suppressed 13 warnings (6 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
5 warnings generated.
Suppressed 5 warnings (5 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
14 warnings generated.
drivers/media/platform/aspeed-video.c:429:6: warning: Value stored to 'before' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
u32 before = t;
^~~~~~ ~
drivers/media/platform/aspeed-video.c:429:6: note: Value stored to 'before' during its initialization is never read
u32 before = t;
^~~~~~ ~
Suppressed 13 warnings (6 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
12 warnings generated.
Suppressed 12 warnings (5 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
12 warnings generated.
Suppressed 12 warnings (5 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
5 warnings generated.
Suppressed 5 warnings (5 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
5 warnings generated.
Suppressed 5 warnings (5 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
14 warnings generated.
Suppressed 14 warnings (6 in non-user code, 8 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
13 warnings generated.
Suppressed 13 warnings (6 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
13 warnings generated.
Suppressed 13 warnings (6 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
12 warnings generated.
Suppressed 12 warnings (5 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
13 warnings generated.
Suppressed 13 warnings (6 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
14 warnings generated.
Suppressed 14 warnings (7 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
13 warnings generated.
Suppressed 13 warnings (6 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
12 warnings generated.
Suppressed 12 warnings (5 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
13 warnings generated.
Suppressed 13 warnings (6 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
12 warnings generated.
Suppressed 12 warnings (5 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
14 warnings generated.
Suppressed 14 warnings (7 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
16 warnings generated.
Suppressed 16 warnings (8 in non-user code, 8 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
17 warnings generated.
Suppressed 17 warnings (9 in non-user code, 8 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
17 warnings generated.
drivers/iio/imu/inv_mpu6050/inv_mpu_core.c:707:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = inv_mpu6050_sensor_show(st, st->reg->gyro_offset,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/imu/inv_mpu6050/inv_mpu_core.c:707:4: note: Value stored to 'ret' is never read
ret = inv_mpu6050_sensor_show(st, st->reg->gyro_offset,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/imu/inv_mpu6050/inv_mpu_core.c:713:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = inv_mpu6050_sensor_show(st, st->reg->accl_offset,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/imu/inv_mpu6050/inv_mpu_core.c:713:4: note: Value stored to 'ret' is never read
ret = inv_mpu6050_sensor_show(st, st->reg->accl_offset,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 15 warnings (8 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
14 warnings generated.
Suppressed 14 warnings (7 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
14 warnings generated.
Suppressed 14 warnings (7 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
13 warnings generated.
Suppressed 13 warnings (6 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
13 warnings generated.
Suppressed 13 warnings (6 in non-user code, 7 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
vim +/curr +1593 drivers/media/platform/allegro-dvt/allegro-core.c
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1470
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1471 static void allegro_channel_finish_frame(struct allegro_channel *channel,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1472 struct mcu_msg_encode_frame_response *msg)
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1473 {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1474 struct allegro_dev *dev = channel->dev;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1475 struct vb2_v4l2_buffer *src_buf;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1476 struct vb2_v4l2_buffer *dst_buf;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1477 struct {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1478 u32 offset;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1479 u32 size;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1480 } *partition;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1481 enum vb2_buffer_state state = VB2_BUF_STATE_ERROR;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1482 char *curr;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1483 ssize_t len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1484 ssize_t free;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1485
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1486 src_buf = allegro_get_buffer(channel, &channel->source_shadow_list,
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1487 msg->src_handle);
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1488 if (!src_buf)
3b78f8a21ed685 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1489 v4l2_warn(&dev->v4l2_dev,
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1490 "channel %d: invalid source buffer\n",
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1491 channel->mcu_channel_id);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1492
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1493 dst_buf = allegro_get_buffer(channel, &channel->stream_shadow_list,
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1494 msg->stream_id);
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1495 if (!dst_buf)
3b78f8a21ed685 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1496 v4l2_warn(&dev->v4l2_dev,
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1497 "channel %d: invalid stream buffer\n",
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1498 channel->mcu_channel_id);
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1499
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1500 if (!src_buf || !dst_buf)
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1501 goto err;
3b78f8a21ed685 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1502
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1503 dst_buf->sequence = channel->csequence++;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1504
b646f99642b749 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1505 if (msg->error_code & AL_ERROR) {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1506 v4l2_err(&dev->v4l2_dev,
04d2a110187103 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1507 "channel %d: failed to encode frame: %s (%x)\n",
04d2a110187103 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1508 channel->mcu_channel_id,
04d2a110187103 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1509 allegro_err_to_string(msg->error_code),
04d2a110187103 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1510 msg->error_code);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1511 goto err;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1512 }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1513
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1514 if (msg->partition_table_size != 1) {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1515 v4l2_warn(&dev->v4l2_dev,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1516 "channel %d: only handling first partition table entry (%d entries)\n",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1517 channel->mcu_channel_id, msg->partition_table_size);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1518 }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1519
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1520 if (msg->partition_table_offset +
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1521 msg->partition_table_size * sizeof(*partition) >
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1522 vb2_plane_size(&dst_buf->vb2_buf, 0)) {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1523 v4l2_err(&dev->v4l2_dev,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1524 "channel %d: partition table outside of dst_buf\n",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1525 channel->mcu_channel_id);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1526 goto err;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1527 }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1528
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1529 partition =
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1530 vb2_plane_vaddr(&dst_buf->vb2_buf, 0) + msg->partition_table_offset;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1531 if (partition->offset + partition->size >
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1532 vb2_plane_size(&dst_buf->vb2_buf, 0)) {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1533 v4l2_err(&dev->v4l2_dev,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1534 "channel %d: encoded frame is outside of dst_buf (offset 0x%x, size 0x%x)\n",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1535 channel->mcu_channel_id, partition->offset,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1536 partition->size);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1537 goto err;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1538 }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1539
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1540 v4l2_dbg(2, debug, &dev->v4l2_dev,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1541 "channel %d: encoded frame of size %d is at offset 0x%x\n",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1542 channel->mcu_channel_id, partition->size, partition->offset);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1543
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1544 /*
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1545 * The payload must include the data before the partition offset,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1546 * because we will put the sps and pps data there.
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1547 */
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1548 vb2_set_plane_payload(&dst_buf->vb2_buf, 0,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1549 partition->offset + partition->size);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1550
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1551 curr = vb2_plane_vaddr(&dst_buf->vb2_buf, 0);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1552 free = partition->offset;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1553 if (msg->is_idr) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1554 len = allegro_h264_write_sps(channel, curr, free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1555 if (len < 0) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1556 v4l2_err(&dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1557 "not enough space for sequence parameter set: %zd left\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1558 free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1559 goto err;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1560 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1561 curr += len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1562 free -= len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1563 v4l2_dbg(1, debug, &dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1564 "channel %d: wrote %zd byte SPS nal unit\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1565 channel->mcu_channel_id, len);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1566 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1567
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1568 if (msg->slice_type == AL_ENC_SLICE_TYPE_I) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1569 len = allegro_h264_write_pps(channel, curr, free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1570 if (len < 0) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1571 v4l2_err(&dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1572 "not enough space for picture parameter set: %zd left\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1573 free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1574 goto err;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1575 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1576 curr += len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1577 free -= len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1578 v4l2_dbg(1, debug, &dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1579 "channel %d: wrote %zd byte PPS nal unit\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1580 channel->mcu_channel_id, len);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1581 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1582
e74145c2334d85 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1583 if (msg->slice_type != AL_ENC_SLICE_TYPE_I && !msg->is_idr) {
e74145c2334d85 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1584 dst_buf->vb2_buf.planes[0].data_offset = free;
e74145c2334d85 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1585 free = 0;
e74145c2334d85 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1586 } else {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1587 len = nal_h264_write_filler(&dev->plat_dev->dev, curr, free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1588 if (len < 0) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1589 v4l2_err(&dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1590 "failed to write %zd filler data\n", free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1591 goto err;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1592 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 @1593 curr += len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1594 free -= len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1595 v4l2_dbg(2, debug, &dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1596 "channel %d: wrote %zd bytes filler nal unit\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1597 channel->mcu_channel_id, len);
e74145c2334d85 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1598 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1599
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1600 if (free != 0) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1601 v4l2_err(&dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1602 "non-VCL NAL units do not fill space until VCL NAL unit: %zd bytes left\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1603 free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1604 goto err;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1605 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1606
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1607 state = VB2_BUF_STATE_DONE;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1608
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1609 v4l2_m2m_buf_copy_metadata(src_buf, dst_buf, false);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1610 if (msg->is_idr)
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1611 dst_buf->flags |= V4L2_BUF_FLAG_KEYFRAME;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1612 else
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1613 dst_buf->flags |= V4L2_BUF_FLAG_PFRAME;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1614
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1615 v4l2_dbg(1, debug, &dev->v4l2_dev,
80c8449fc71c80 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1616 "channel %d: encoded frame #%03d (%s%s, QP %d, %d bytes)\n",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1617 channel->mcu_channel_id,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1618 dst_buf->sequence,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1619 msg->is_idr ? "IDR, " : "",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1620 msg->slice_type == AL_ENC_SLICE_TYPE_I ? "I slice" :
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1621 msg->slice_type == AL_ENC_SLICE_TYPE_P ? "P slice" : "unknown",
80c8449fc71c80 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1622 msg->qp, partition->size);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1623
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1624 err:
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1625 if (src_buf)
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1626 v4l2_m2m_buf_done(src_buf, VB2_BUF_STATE_DONE);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1627
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1628 if (dst_buf)
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1629 allegro_channel_buf_done(channel, dst_buf, state);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1630 }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1631
:::::: The code at line 1593 was first introduced by commit
:::::: 878344de61d0d5f351a1b84fce009a321be3eb45 media: allegro: add SPS/PPS nal unit writer
:::::: TO: Michael Tretter <m.tretter@pengutronix.de>
:::::: CC: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
^ permalink raw reply [flat|nested] 5+ messages in thread
* drivers/media/platform/allegro-dvt/allegro-core.c:1593:3: warning: Value stored to 'curr' is never read [clang-analyzer-deadcode.DeadStores]
@ 2022-01-01 12:05 kernel test robot
0 siblings, 0 replies; 5+ messages in thread
From: kernel test robot @ 2022-01-01 12:05 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 36097 bytes --]
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Michael Tretter <m.tretter@pengutronix.de>
CC: Mauro Carvalho Chehab <mchehab@kernel.org>
CC: linux-media(a)vger.kernel.org
CC: Hans Verkuil <hverkuil@xs4all.nl>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 8008293888188c3923f5bd8a69370dae25ed14e5
commit: d74d4e2359ec7985831192f9b5ee22ed5e55b81c media: allegro: move driver out of staging
date: 12 months ago
:::::: branch date: 15 hours ago
:::::: commit date: 12 months ago
config: riscv-randconfig-c006-20211213 (https://download.01.org/0day-ci/archive/20220101/202201012035.ZyRuyUa7-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project b6a2ddb6c8ac29412b1361810972e15221fa021c)
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 riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d74d4e2359ec7985831192f9b5ee22ed5e55b81c
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout d74d4e2359ec7985831192f9b5ee22ed5e55b81c
# save the config file to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
10 warnings generated.
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
12 warnings generated.
drivers/media/usb/cx231xx/cx231xx-audio.c:429:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = cx231xx_capture_start(dev, 1, Audio);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/usb/cx231xx/cx231xx-audio.c:429:2: note: Value stored to 'ret' is never read
ret = cx231xx_capture_start(dev, 1, Audio);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/usb/cx231xx/cx231xx-audio.c:450:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = cx231xx_capture_start(dev, 0, Audio);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/usb/cx231xx/cx231xx-audio.c:450:2: note: Value stored to 'ret' is never read
ret = cx231xx_capture_start(dev, 0, Audio);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
16 warnings generated.
Suppressed 16 warnings (16 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
12 warnings generated.
Suppressed 12 warnings (9 in non-user code, 3 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
9 warnings generated.
drivers/media/i2c/tvaudio.c:74:8: warning: Excessive padding in 'struct CHIPDESC' (8 padding bytes, where 0 is optimal).
Optimal fields order:
name,
insmodopt,
checkit,
initialize,
volfunc,
treblefunc,
bassfunc,
getrxsubchans,
setaudmode,
addr_lo,
addr_hi,
registers,
flags,
leftreg,
rightreg,
treblereg,
bassreg,
volinit,
trebleinit,
bassinit,
inputreg,
inputmute,
inputmask,
inputmap,
init,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct CHIPDESC {
~~~~~~~^~~~~~~~~~
drivers/media/i2c/tvaudio.c:74:8: note: Excessive padding in 'struct CHIPDESC' (8 padding bytes, where 0 is optimal). Optimal fields order: name, insmodopt, checkit, initialize, volfunc, treblefunc, bassfunc, getrxsubchans, setaudmode, addr_lo, addr_hi, registers, flags, leftreg, rightreg, treblereg, bassreg, volinit, trebleinit, bassinit, inputreg, inputmute, inputmask, inputmap, init, consider reordering the fields or adding explicit padding members
struct CHIPDESC {
~~~~~~~^~~~~~~~~~
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
7 warnings generated.
Suppressed 7 warnings (7 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
7 warnings generated.
Suppressed 7 warnings (7 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
7 warnings generated.
Suppressed 7 warnings (7 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
7 warnings generated.
Suppressed 7 warnings (7 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
7 warnings generated.
Suppressed 7 warnings (7 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
>> drivers/media/platform/allegro-dvt/allegro-core.c:1593:3: warning: Value stored to 'curr' is never read [clang-analyzer-deadcode.DeadStores]
curr += len;
^ ~~~
drivers/media/platform/allegro-dvt/allegro-core.c:1593:3: note: Value stored to 'curr' is never read
curr += len;
^ ~~~
Suppressed 9 warnings (9 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
7 warnings generated.
Suppressed 7 warnings (7 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
7 warnings generated.
Suppressed 7 warnings (7 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
11 warnings generated.
Suppressed 11 warnings (11 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
11 warnings generated.
Suppressed 11 warnings (11 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
11 warnings generated.
Suppressed 11 warnings (11 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
7 warnings generated.
Suppressed 7 warnings (7 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
11 warnings generated.
drivers/iio/adc/hx711.c:536:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = of_property_read_u32(np, "clock-frequency",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/adc/hx711.c:536:2: note: Value stored to 'ret' is never read
ret = of_property_read_u32(np, "clock-frequency",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
9 warnings generated.
Suppressed 9 warnings (9 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
9 warnings generated.
Suppressed 9 warnings (9 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
9 warnings generated.
drivers/leds/leds-pca9532.c:514:23: warning: Value stored to 'data' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct pca9532_data *data = i2c_get_clientdata(client);
^~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/leds/leds-pca9532.c:514:23: note: Value stored to 'data' during its initialization is never read
struct pca9532_data *data = i2c_get_clientdata(client);
^~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
vim +/curr +1593 drivers/media/platform/allegro-dvt/allegro-core.c
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1470
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1471 static void allegro_channel_finish_frame(struct allegro_channel *channel,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1472 struct mcu_msg_encode_frame_response *msg)
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1473 {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1474 struct allegro_dev *dev = channel->dev;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1475 struct vb2_v4l2_buffer *src_buf;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1476 struct vb2_v4l2_buffer *dst_buf;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1477 struct {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1478 u32 offset;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1479 u32 size;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1480 } *partition;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1481 enum vb2_buffer_state state = VB2_BUF_STATE_ERROR;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1482 char *curr;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1483 ssize_t len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1484 ssize_t free;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1485
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1486 src_buf = allegro_get_buffer(channel, &channel->source_shadow_list,
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1487 msg->src_handle);
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1488 if (!src_buf)
3b78f8a21ed685 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1489 v4l2_warn(&dev->v4l2_dev,
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1490 "channel %d: invalid source buffer\n",
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1491 channel->mcu_channel_id);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1492
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1493 dst_buf = allegro_get_buffer(channel, &channel->stream_shadow_list,
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1494 msg->stream_id);
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1495 if (!dst_buf)
3b78f8a21ed685 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1496 v4l2_warn(&dev->v4l2_dev,
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1497 "channel %d: invalid stream buffer\n",
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1498 channel->mcu_channel_id);
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1499
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1500 if (!src_buf || !dst_buf)
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1501 goto err;
3b78f8a21ed685 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1502
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1503 dst_buf->sequence = channel->csequence++;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1504
b646f99642b749 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1505 if (msg->error_code & AL_ERROR) {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1506 v4l2_err(&dev->v4l2_dev,
04d2a110187103 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1507 "channel %d: failed to encode frame: %s (%x)\n",
04d2a110187103 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1508 channel->mcu_channel_id,
04d2a110187103 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1509 allegro_err_to_string(msg->error_code),
04d2a110187103 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1510 msg->error_code);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1511 goto err;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1512 }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1513
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1514 if (msg->partition_table_size != 1) {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1515 v4l2_warn(&dev->v4l2_dev,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1516 "channel %d: only handling first partition table entry (%d entries)\n",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1517 channel->mcu_channel_id, msg->partition_table_size);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1518 }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1519
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1520 if (msg->partition_table_offset +
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1521 msg->partition_table_size * sizeof(*partition) >
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1522 vb2_plane_size(&dst_buf->vb2_buf, 0)) {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1523 v4l2_err(&dev->v4l2_dev,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1524 "channel %d: partition table outside of dst_buf\n",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1525 channel->mcu_channel_id);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1526 goto err;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1527 }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1528
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1529 partition =
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1530 vb2_plane_vaddr(&dst_buf->vb2_buf, 0) + msg->partition_table_offset;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1531 if (partition->offset + partition->size >
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1532 vb2_plane_size(&dst_buf->vb2_buf, 0)) {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1533 v4l2_err(&dev->v4l2_dev,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1534 "channel %d: encoded frame is outside of dst_buf (offset 0x%x, size 0x%x)\n",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1535 channel->mcu_channel_id, partition->offset,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1536 partition->size);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1537 goto err;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1538 }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1539
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1540 v4l2_dbg(2, debug, &dev->v4l2_dev,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1541 "channel %d: encoded frame of size %d is at offset 0x%x\n",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1542 channel->mcu_channel_id, partition->size, partition->offset);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1543
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1544 /*
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1545 * The payload must include the data before the partition offset,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1546 * because we will put the sps and pps data there.
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1547 */
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1548 vb2_set_plane_payload(&dst_buf->vb2_buf, 0,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1549 partition->offset + partition->size);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1550
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1551 curr = vb2_plane_vaddr(&dst_buf->vb2_buf, 0);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1552 free = partition->offset;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1553 if (msg->is_idr) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1554 len = allegro_h264_write_sps(channel, curr, free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1555 if (len < 0) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1556 v4l2_err(&dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1557 "not enough space for sequence parameter set: %zd left\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1558 free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1559 goto err;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1560 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1561 curr += len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1562 free -= len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1563 v4l2_dbg(1, debug, &dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1564 "channel %d: wrote %zd byte SPS nal unit\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1565 channel->mcu_channel_id, len);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1566 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1567
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1568 if (msg->slice_type == AL_ENC_SLICE_TYPE_I) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1569 len = allegro_h264_write_pps(channel, curr, free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1570 if (len < 0) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1571 v4l2_err(&dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1572 "not enough space for picture parameter set: %zd left\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1573 free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1574 goto err;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1575 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1576 curr += len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1577 free -= len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1578 v4l2_dbg(1, debug, &dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1579 "channel %d: wrote %zd byte PPS nal unit\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1580 channel->mcu_channel_id, len);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1581 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1582
e74145c2334d85 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1583 if (msg->slice_type != AL_ENC_SLICE_TYPE_I && !msg->is_idr) {
e74145c2334d85 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1584 dst_buf->vb2_buf.planes[0].data_offset = free;
e74145c2334d85 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1585 free = 0;
e74145c2334d85 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1586 } else {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1587 len = nal_h264_write_filler(&dev->plat_dev->dev, curr, free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1588 if (len < 0) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1589 v4l2_err(&dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1590 "failed to write %zd filler data\n", free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1591 goto err;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1592 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 @1593 curr += len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1594 free -= len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1595 v4l2_dbg(2, debug, &dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1596 "channel %d: wrote %zd bytes filler nal unit\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1597 channel->mcu_channel_id, len);
e74145c2334d85 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1598 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1599
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1600 if (free != 0) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1601 v4l2_err(&dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1602 "non-VCL NAL units do not fill space until VCL NAL unit: %zd bytes left\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1603 free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1604 goto err;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1605 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1606
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1607 state = VB2_BUF_STATE_DONE;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1608
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1609 v4l2_m2m_buf_copy_metadata(src_buf, dst_buf, false);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1610 if (msg->is_idr)
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1611 dst_buf->flags |= V4L2_BUF_FLAG_KEYFRAME;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1612 else
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1613 dst_buf->flags |= V4L2_BUF_FLAG_PFRAME;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1614
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1615 v4l2_dbg(1, debug, &dev->v4l2_dev,
80c8449fc71c80 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1616 "channel %d: encoded frame #%03d (%s%s, QP %d, %d bytes)\n",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1617 channel->mcu_channel_id,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1618 dst_buf->sequence,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1619 msg->is_idr ? "IDR, " : "",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1620 msg->slice_type == AL_ENC_SLICE_TYPE_I ? "I slice" :
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1621 msg->slice_type == AL_ENC_SLICE_TYPE_P ? "P slice" : "unknown",
80c8449fc71c80 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1622 msg->qp, partition->size);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1623
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1624 err:
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1625 if (src_buf)
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1626 v4l2_m2m_buf_done(src_buf, VB2_BUF_STATE_DONE);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1627
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1628 if (dst_buf)
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1629 allegro_channel_buf_done(channel, dst_buf, state);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1630 }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1631
:::::: The code at line 1593 was first introduced by commit
:::::: 878344de61d0d5f351a1b84fce009a321be3eb45 media: allegro: add SPS/PPS nal unit writer
:::::: TO: Michael Tretter <m.tretter@pengutronix.de>
:::::: CC: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
^ permalink raw reply [flat|nested] 5+ messages in thread
* drivers/media/platform/allegro-dvt/allegro-core.c:1593:3: warning: Value stored to 'curr' is never read [clang-analyzer-deadcode.DeadStores]
@ 2021-12-18 1:58 kernel test robot
0 siblings, 0 replies; 5+ messages in thread
From: kernel test robot @ 2021-12-18 1:58 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 34836 bytes --]
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Michael Tretter <m.tretter@pengutronix.de>
CC: Mauro Carvalho Chehab <mchehab@kernel.org>
CC: linux-media(a)vger.kernel.org
CC: Hans Verkuil <hverkuil@xs4all.nl>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 6441998e2e37131b0a4c310af9156d79d3351c16
commit: d74d4e2359ec7985831192f9b5ee22ed5e55b81c media: allegro: move driver out of staging
date: 12 months ago
:::::: branch date: 27 hours ago
:::::: commit date: 12 months ago
config: riscv-randconfig-c006-20211213 (https://download.01.org/0day-ci/archive/20211218/202112180923.td2YOXTx-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project b6a2ddb6c8ac29412b1361810972e15221fa021c)
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 riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d74d4e2359ec7985831192f9b5ee22ed5e55b81c
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout d74d4e2359ec7985831192f9b5ee22ed5e55b81c
# save the config file to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
drivers/hwmon/tmp401.c:451:8: note: Assuming '__UNIQUE_ID___x212' is > '__UNIQUE_ID___y213'
val = clamp_val(val, 125, 16000);
^
include/linux/minmax.h:143:32: note: expanded from macro 'clamp_val'
#define clamp_val(val, lo, hi) clamp_t(typeof(val), val, lo, hi)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:130:48: note: expanded from macro 'clamp_t'
#define clamp_t(type, val, lo, hi) min_t(type, max_t(type, val, lo), hi)
~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:118:27: note: expanded from macro 'max_t'
#define max_t(type, x, y) __careful_cmp((type)(x), (type)(y), >)
^
note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/minmax.h:110:48: note: expanded from macro 'min_t'
#define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
include/linux/minmax.h:44:14: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:37:25: note: expanded from macro '__cmp_once'
typeof(x) unique_x = (x); \
^
drivers/hwmon/tmp401.c:451:8: note: '?' condition is true
val = clamp_val(val, 125, 16000);
^
include/linux/minmax.h:143:32: note: expanded from macro 'clamp_val'
#define clamp_val(val, lo, hi) clamp_t(typeof(val), val, lo, hi)
^
include/linux/minmax.h:130:48: note: expanded from macro 'clamp_t'
#define clamp_t(type, val, lo, hi) min_t(type, max_t(type, val, lo), hi)
^
include/linux/minmax.h:118:27: note: expanded from macro 'max_t'
#define max_t(type, x, y) __careful_cmp((type)(x), (type)(y), >)
^
include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^
include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
__cmp(unique_x, unique_y, op); })
^
include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^
drivers/hwmon/tmp401.c:451:8: note: Assuming '__UNIQUE_ID___x214' is < '__UNIQUE_ID___y215'
val = clamp_val(val, 125, 16000);
^
include/linux/minmax.h:143:32: note: expanded from macro 'clamp_val'
#define clamp_val(val, lo, hi) clamp_t(typeof(val), val, lo, hi)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:130:36: note: expanded from macro 'clamp_t'
#define clamp_t(type, val, lo, hi) min_t(type, max_t(type, val, lo), hi)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:110:27: note: expanded from macro 'min_t'
#define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
__cmp(unique_x, unique_y, op); })
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^~~~~~~~~~
drivers/hwmon/tmp401.c:451:8: note: '?' condition is true
val = clamp_val(val, 125, 16000);
^
include/linux/minmax.h:143:32: note: expanded from macro 'clamp_val'
#define clamp_val(val, lo, hi) clamp_t(typeof(val), val, lo, hi)
^
include/linux/minmax.h:130:36: note: expanded from macro 'clamp_t'
#define clamp_t(type, val, lo, hi) min_t(type, max_t(type, val, lo), hi)
^
include/linux/minmax.h:110:27: note: expanded from macro 'min_t'
#define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
^
include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^
include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
__cmp(unique_x, unique_y, op); })
^
include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^
drivers/hwmon/tmp401.c:455:29: note: The result of the left shift is undefined due to shifting by '63', which is greater or equal to the width of type 'int'
data->update_interval = (1 << (7 - rate)) * 125;
^ ~~~~~~~~~~
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
7 warnings generated.
Suppressed 7 warnings (7 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
>> drivers/media/platform/allegro-dvt/allegro-core.c:1593:3: warning: Value stored to 'curr' is never read [clang-analyzer-deadcode.DeadStores]
curr += len;
^ ~~~
drivers/media/platform/allegro-dvt/allegro-core.c:1593:3: note: Value stored to 'curr' is never read
curr += len;
^ ~~~
Suppressed 9 warnings (9 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
5 warnings generated.
Suppressed 5 warnings (5 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
9 warnings generated.
Suppressed 9 warnings (9 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
drivers/media/platform/imx-pxp.c:335:4: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
BF_PXP_CSC1_COEF0_UV_OFFSET(-128) |
^
drivers/media/platform/imx-pxp.h:598:8: note: expanded from macro 'BF_PXP_CSC1_COEF0_UV_OFFSET'
(((v) << 9) & BM_PXP_CSC1_COEF0_UV_OFFSET)
^
drivers/media/platform/imx-pxp.c:968:2: note: Calling 'pxp_start'
pxp_start(ctx, src_buf, dst_buf);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/platform/imx-pxp.c:749:6: note: Assuming 'p_in' is not equal to 0
if (!p_in || !p_out) {
^~~~~
drivers/media/platform/imx-pxp.c:749:6: note: Left side of '||' is false
drivers/media/platform/imx-pxp.c:749:15: note: Assuming 'p_out' is not equal to 0
if (!p_in || !p_out) {
^~~~~~
drivers/media/platform/imx-pxp.c:749:2: note: Taking false branch
if (!p_in || !p_out) {
^
drivers/media/platform/imx-pxp.c:760:6: note: Assuming the condition is false
if (in_vb->flags & V4L2_BUF_FLAG_TIMECODE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/platform/imx-pxp.c:760:2: note: Taking false branch
if (in_vb->flags & V4L2_BUF_FLAG_TIMECODE)
^
drivers/media/platform/imx-pxp.c:771:29: note: Assuming the condition is false
ctrl = BF_PXP_CTRL_VFLIP0(!!(ctx->mode & MEM2MEM_VFLIP)) |
^
drivers/media/platform/imx-pxp.h:84:5: note: expanded from macro 'BF_PXP_CTRL_VFLIP0'
(((v) << 11) & BM_PXP_CTRL_VFLIP0)
^
drivers/media/platform/imx-pxp.c:772:29: note: Assuming the condition is false
BF_PXP_CTRL_HFLIP0(!!(ctx->mode & MEM2MEM_HFLIP));
^
drivers/media/platform/imx-pxp.h:87:5: note: expanded from macro 'BF_PXP_CTRL_HFLIP0'
(((v) << 10) & BM_PXP_CTRL_HFLIP0)
^
drivers/media/platform/imx-pxp.c:778:2: note: Control jumps to the 'default' case at line 785
switch (dst_fourcc) {
^
drivers/media/platform/imx-pxp.c:800:10: note: Assuming 'src_width' is <= 'dst_width'
decx = (src_width <= dst_width) ? 0 : ilog2(src_width / dst_width);
^~~~~~~~~~~~~~~~~~~~~~
drivers/media/platform/imx-pxp.c:800:9: note: '?' condition is true
decx = (src_width <= dst_width) ? 0 : ilog2(src_width / dst_width);
^
drivers/media/platform/imx-pxp.c:801:10: note: Assuming 'src_height' is <= 'dst_height'
decy = (src_height <= dst_height) ? 0 : ilog2(src_height / dst_height);
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/platform/imx-pxp.c:801:9: note: '?' condition is true
decy = (src_height <= dst_height) ? 0 : ilog2(src_height / dst_height);
^
drivers/media/platform/imx-pxp.c:806:2: note: Control jumps to 'case 540291161:' at line 823
switch (src_fourcc) {
^
drivers/media/platform/imx-pxp.c:827:3: note: Execution continues on line 833
break;
^
drivers/media/platform/imx-pxp.c:834:6: note: 'decx' is 0
if (decx) {
^~~~
drivers/media/platform/imx-pxp.c:834:2: note: Taking false branch
if (decx) {
^
drivers/media/platform/imx-pxp.c:837:3: note: Control jumps to the 'default' case@line 854
switch (src_fourcc) {
^
drivers/media/platform/imx-pxp.c:856:4: note: Execution continues on line 859
break;
^
drivers/media/platform/imx-pxp.c:859:6: note: 'decy' is 0
if (decy)
^~~~
drivers/media/platform/imx-pxp.c:859:2: note: Taking false branch
if (decy)
^
drivers/media/platform/imx-pxp.c:895:2: note: Calling 'pxp_setup_csc'
pxp_setup_csc(ctx);
^~~~~~~~~~~~~~~~~~
drivers/media/platform/imx-pxp.c:315:6: note: Assuming the condition is true
if (pxp_v4l2_pix_fmt_is_yuv(ctx->q_data[V4L2_M2M_SRC].fmt->fourcc) &&
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/platform/imx-pxp.c:315:6: note: Left side of '&&' is true
vim +/curr +1593 drivers/media/platform/allegro-dvt/allegro-core.c
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1470
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1471 static void allegro_channel_finish_frame(struct allegro_channel *channel,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1472 struct mcu_msg_encode_frame_response *msg)
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1473 {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1474 struct allegro_dev *dev = channel->dev;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1475 struct vb2_v4l2_buffer *src_buf;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1476 struct vb2_v4l2_buffer *dst_buf;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1477 struct {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1478 u32 offset;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1479 u32 size;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1480 } *partition;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1481 enum vb2_buffer_state state = VB2_BUF_STATE_ERROR;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1482 char *curr;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1483 ssize_t len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1484 ssize_t free;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1485
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1486 src_buf = allegro_get_buffer(channel, &channel->source_shadow_list,
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1487 msg->src_handle);
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1488 if (!src_buf)
3b78f8a21ed685 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1489 v4l2_warn(&dev->v4l2_dev,
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1490 "channel %d: invalid source buffer\n",
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1491 channel->mcu_channel_id);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1492
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1493 dst_buf = allegro_get_buffer(channel, &channel->stream_shadow_list,
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1494 msg->stream_id);
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1495 if (!dst_buf)
3b78f8a21ed685 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1496 v4l2_warn(&dev->v4l2_dev,
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1497 "channel %d: invalid stream buffer\n",
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1498 channel->mcu_channel_id);
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1499
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1500 if (!src_buf || !dst_buf)
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1501 goto err;
3b78f8a21ed685 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1502
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1503 dst_buf->sequence = channel->csequence++;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1504
b646f99642b749 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1505 if (msg->error_code & AL_ERROR) {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1506 v4l2_err(&dev->v4l2_dev,
04d2a110187103 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1507 "channel %d: failed to encode frame: %s (%x)\n",
04d2a110187103 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1508 channel->mcu_channel_id,
04d2a110187103 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1509 allegro_err_to_string(msg->error_code),
04d2a110187103 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1510 msg->error_code);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1511 goto err;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1512 }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1513
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1514 if (msg->partition_table_size != 1) {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1515 v4l2_warn(&dev->v4l2_dev,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1516 "channel %d: only handling first partition table entry (%d entries)\n",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1517 channel->mcu_channel_id, msg->partition_table_size);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1518 }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1519
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1520 if (msg->partition_table_offset +
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1521 msg->partition_table_size * sizeof(*partition) >
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1522 vb2_plane_size(&dst_buf->vb2_buf, 0)) {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1523 v4l2_err(&dev->v4l2_dev,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1524 "channel %d: partition table outside of dst_buf\n",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1525 channel->mcu_channel_id);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1526 goto err;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1527 }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1528
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1529 partition =
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1530 vb2_plane_vaddr(&dst_buf->vb2_buf, 0) + msg->partition_table_offset;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1531 if (partition->offset + partition->size >
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1532 vb2_plane_size(&dst_buf->vb2_buf, 0)) {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1533 v4l2_err(&dev->v4l2_dev,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1534 "channel %d: encoded frame is outside of dst_buf (offset 0x%x, size 0x%x)\n",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1535 channel->mcu_channel_id, partition->offset,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1536 partition->size);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1537 goto err;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1538 }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1539
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1540 v4l2_dbg(2, debug, &dev->v4l2_dev,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1541 "channel %d: encoded frame of size %d is at offset 0x%x\n",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1542 channel->mcu_channel_id, partition->size, partition->offset);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1543
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1544 /*
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1545 * The payload must include the data before the partition offset,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1546 * because we will put the sps and pps data there.
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1547 */
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1548 vb2_set_plane_payload(&dst_buf->vb2_buf, 0,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1549 partition->offset + partition->size);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1550
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1551 curr = vb2_plane_vaddr(&dst_buf->vb2_buf, 0);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1552 free = partition->offset;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1553 if (msg->is_idr) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1554 len = allegro_h264_write_sps(channel, curr, free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1555 if (len < 0) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1556 v4l2_err(&dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1557 "not enough space for sequence parameter set: %zd left\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1558 free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1559 goto err;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1560 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1561 curr += len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1562 free -= len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1563 v4l2_dbg(1, debug, &dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1564 "channel %d: wrote %zd byte SPS nal unit\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1565 channel->mcu_channel_id, len);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1566 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1567
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1568 if (msg->slice_type == AL_ENC_SLICE_TYPE_I) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1569 len = allegro_h264_write_pps(channel, curr, free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1570 if (len < 0) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1571 v4l2_err(&dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1572 "not enough space for picture parameter set: %zd left\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1573 free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1574 goto err;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1575 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1576 curr += len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1577 free -= len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1578 v4l2_dbg(1, debug, &dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1579 "channel %d: wrote %zd byte PPS nal unit\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1580 channel->mcu_channel_id, len);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1581 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1582
e74145c2334d85 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1583 if (msg->slice_type != AL_ENC_SLICE_TYPE_I && !msg->is_idr) {
e74145c2334d85 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1584 dst_buf->vb2_buf.planes[0].data_offset = free;
e74145c2334d85 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1585 free = 0;
e74145c2334d85 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1586 } else {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1587 len = nal_h264_write_filler(&dev->plat_dev->dev, curr, free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1588 if (len < 0) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1589 v4l2_err(&dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1590 "failed to write %zd filler data\n", free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1591 goto err;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1592 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 @1593 curr += len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1594 free -= len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1595 v4l2_dbg(2, debug, &dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1596 "channel %d: wrote %zd bytes filler nal unit\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1597 channel->mcu_channel_id, len);
e74145c2334d85 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1598 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1599
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1600 if (free != 0) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1601 v4l2_err(&dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1602 "non-VCL NAL units do not fill space until VCL NAL unit: %zd bytes left\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1603 free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1604 goto err;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1605 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1606
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1607 state = VB2_BUF_STATE_DONE;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1608
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1609 v4l2_m2m_buf_copy_metadata(src_buf, dst_buf, false);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1610 if (msg->is_idr)
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1611 dst_buf->flags |= V4L2_BUF_FLAG_KEYFRAME;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1612 else
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1613 dst_buf->flags |= V4L2_BUF_FLAG_PFRAME;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1614
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1615 v4l2_dbg(1, debug, &dev->v4l2_dev,
80c8449fc71c80 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1616 "channel %d: encoded frame #%03d (%s%s, QP %d, %d bytes)\n",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1617 channel->mcu_channel_id,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1618 dst_buf->sequence,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1619 msg->is_idr ? "IDR, " : "",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1620 msg->slice_type == AL_ENC_SLICE_TYPE_I ? "I slice" :
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1621 msg->slice_type == AL_ENC_SLICE_TYPE_P ? "P slice" : "unknown",
80c8449fc71c80 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1622 msg->qp, partition->size);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1623
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1624 err:
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1625 if (src_buf)
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1626 v4l2_m2m_buf_done(src_buf, VB2_BUF_STATE_DONE);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1627
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1628 if (dst_buf)
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1629 allegro_channel_buf_done(channel, dst_buf, state);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1630 }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1631
:::::: The code at line 1593 was first introduced by commit
:::::: 878344de61d0d5f351a1b84fce009a321be3eb45 media: allegro: add SPS/PPS nal unit writer
:::::: TO: Michael Tretter <m.tretter@pengutronix.de>
:::::: CC: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
^ permalink raw reply [flat|nested] 5+ messages in thread
* drivers/media/platform/allegro-dvt/allegro-core.c:1593:3: warning: Value stored to 'curr' is never read [clang-analyzer-deadcode.DeadStores]
@ 2021-11-07 14:33 kernel test robot
0 siblings, 0 replies; 5+ messages in thread
From: kernel test robot @ 2021-11-07 14:33 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 36516 bytes --]
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Michael Tretter <m.tretter@pengutronix.de>
CC: Mauro Carvalho Chehab <mchehab@kernel.org>
CC: linux-media(a)vger.kernel.org
CC: Hans Verkuil <hverkuil@xs4all.nl>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b5013d084e03e82ceeab4db8ae8ceeaebe76b0eb
commit: d74d4e2359ec7985831192f9b5ee22ed5e55b81c media: allegro: move driver out of staging
date: 10 months ago
:::::: branch date: 15 hours ago
:::::: commit date: 10 months ago
config: riscv-randconfig-c006-20211017 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 8ca4b3ef19fe82d7ad6a6e1515317dcc01b41515)
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 riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d74d4e2359ec7985831192f9b5ee22ed5e55b81c
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout d74d4e2359ec7985831192f9b5ee22ed5e55b81c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
^~~
drivers/media/platform/sti/hva/hva-v4l2.c:231:25: warning: Value stored to 'stream' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct hva_streaminfo *stream = &ctx->streaminfo;
^~~~~~ ~~~~~~~~~~~~~~~~
drivers/media/platform/sti/hva/hva-v4l2.c:231:25: note: Value stored to 'stream' during its initialization is never read
struct hva_streaminfo *stream = &ctx->streaminfo;
^~~~~~ ~~~~~~~~~~~~~~~~
drivers/media/platform/sti/hva/hva-v4l2.c:232:24: warning: Value stored to 'frame' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct hva_frameinfo *frame = &ctx->frameinfo;
^~~~~ ~~~~~~~~~~~~~~~
drivers/media/platform/sti/hva/hva-v4l2.c:232:24: note: Value stored to 'frame' during its initialization is never read
struct hva_frameinfo *frame = &ctx->frameinfo;
^~~~~ ~~~~~~~~~~~~~~~
drivers/media/platform/sti/hva/hva-v4l2.c:339:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = ctx_to_dev(ctx);
^~~
drivers/media/platform/sti/hva/hva-v4l2.c:339:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = ctx_to_dev(ctx);
^~~
drivers/media/platform/sti/hva/hva-v4l2.c:403:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = ctx_to_dev(ctx);
^~~
drivers/media/platform/sti/hva/hva-v4l2.c:403:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = ctx_to_dev(ctx);
^~~
drivers/media/platform/sti/hva/hva-v4l2.c:453:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = ctx_to_dev(ctx);
^~~
drivers/media/platform/sti/hva/hva-v4l2.c:453:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = ctx_to_dev(ctx);
^~~
drivers/media/platform/sti/hva/hva-v4l2.c:483:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = ctx_to_dev(ctx);
^~~
drivers/media/platform/sti/hva/hva-v4l2.c:483:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = ctx_to_dev(ctx);
^~~
drivers/media/platform/sti/hva/hva-v4l2.c:557:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = ctx_to_dev(ctx);
^~~
drivers/media/platform/sti/hva/hva-v4l2.c:557:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = ctx_to_dev(ctx);
^~~
drivers/media/platform/sti/hva/hva-v4l2.c:620:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = ctx_to_dev(ctx);
^~~
drivers/media/platform/sti/hva/hva-v4l2.c:620:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = ctx_to_dev(ctx);
^~~
drivers/media/platform/sti/hva/hva-v4l2.c:695:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = ctx_to_dev(ctx);
^~~
drivers/media/platform/sti/hva/hva-v4l2.c:695:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = ctx_to_dev(ctx);
^~~
drivers/media/platform/sti/hva/hva-v4l2.c:866:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = ctx_to_dev(ctx);
^~~
drivers/media/platform/sti/hva/hva-v4l2.c:866:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = ctx_to_dev(ctx);
^~~
drivers/media/platform/sti/hva/hva-v4l2.c:876:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = ctx_to_dev(ctx);
^~~
drivers/media/platform/sti/hva/hva-v4l2.c:876:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = ctx_to_dev(ctx);
^~~
drivers/media/platform/sti/hva/hva-v4l2.c:914:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = ctx_to_dev(ctx);
^~~
drivers/media/platform/sti/hva/hva-v4l2.c:914:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = ctx_to_dev(ctx);
^~~
drivers/media/platform/sti/hva/hva-v4l2.c:936:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = ctx_to_dev(ctx);
^~~
drivers/media/platform/sti/hva/hva-v4l2.c:936:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = ctx_to_dev(ctx);
^~~
drivers/media/platform/sti/hva/hva-v4l2.c:1069:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = ctx_to_dev(ctx);
^~~
drivers/media/platform/sti/hva/hva-v4l2.c:1069:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = ctx_to_dev(ctx);
^~~
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
7 warnings generated.
>> drivers/media/platform/allegro-dvt/allegro-core.c:1593:3: warning: Value stored to 'curr' is never read [clang-analyzer-deadcode.DeadStores]
curr += len;
^ ~~~
drivers/media/platform/allegro-dvt/allegro-core.c:1593:3: note: Value stored to 'curr' is never read
curr += len;
^ ~~~
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
7 warnings generated.
include/linux/log2.h:57:13: warning: The result of the left shift is undefined due to shifting by '32', which is greater or equal to the width of type 'unsigned long' [clang-analyzer-core.UndefinedBinaryOperatorResult]
return 1UL << fls_long(n - 1);
^
drivers/media/platform/ti-vpe/vpe.c:1790:8: note: Calling 'vpe_try_fmt'
ret = vpe_try_fmt(file, priv, f);
^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/platform/ti-vpe/vpe.c:1727:6: note: Assuming field 'type' is not equal to V4L2_BUF_TYPE_VIDEO_OUTPUT
if (V4L2_TYPE_IS_OUTPUT(f->type))
^
include/uapi/linux/videodev2.h:165:3: note: expanded from macro 'V4L2_TYPE_IS_OUTPUT'
((type) == V4L2_BUF_TYPE_VIDEO_OUTPUT \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/platform/ti-vpe/vpe.c:1727:6: note: Left side of '||' is false
if (V4L2_TYPE_IS_OUTPUT(f->type))
^
include/uapi/linux/videodev2.h:165:3: note: expanded from macro 'V4L2_TYPE_IS_OUTPUT'
((type) == V4L2_BUF_TYPE_VIDEO_OUTPUT \
^
drivers/media/platform/ti-vpe/vpe.c:1727:6: note: Assuming field 'type' is not equal to V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE
if (V4L2_TYPE_IS_OUTPUT(f->type))
^
include/uapi/linux/videodev2.h:166:6: note: expanded from macro 'V4L2_TYPE_IS_OUTPUT'
|| (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/platform/ti-vpe/vpe.c:1727:6: note: Left side of '||' is false
if (V4L2_TYPE_IS_OUTPUT(f->type))
^
include/uapi/linux/videodev2.h:165:3: note: expanded from macro 'V4L2_TYPE_IS_OUTPUT'
((type) == V4L2_BUF_TYPE_VIDEO_OUTPUT \
^
drivers/media/platform/ti-vpe/vpe.c:1727:6: note: Assuming field 'type' is not equal to V4L2_BUF_TYPE_VIDEO_OVERLAY
if (V4L2_TYPE_IS_OUTPUT(f->type))
^
include/uapi/linux/videodev2.h:167:6: note: expanded from macro 'V4L2_TYPE_IS_OUTPUT'
|| (type) == V4L2_BUF_TYPE_VIDEO_OVERLAY \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/platform/ti-vpe/vpe.c:1727:6: note: Left side of '||' is false
if (V4L2_TYPE_IS_OUTPUT(f->type))
^
include/uapi/linux/videodev2.h:165:3: note: expanded from macro 'V4L2_TYPE_IS_OUTPUT'
((type) == V4L2_BUF_TYPE_VIDEO_OUTPUT \
^
drivers/media/platform/ti-vpe/vpe.c:1727:6: note: Assuming field 'type' is not equal to V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY
if (V4L2_TYPE_IS_OUTPUT(f->type))
^
include/uapi/linux/videodev2.h:168:6: note: expanded from macro 'V4L2_TYPE_IS_OUTPUT'
|| (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/platform/ti-vpe/vpe.c:1727:6: note: Left side of '||' is false
if (V4L2_TYPE_IS_OUTPUT(f->type))
^
include/uapi/linux/videodev2.h:165:3: note: expanded from macro 'V4L2_TYPE_IS_OUTPUT'
((type) == V4L2_BUF_TYPE_VIDEO_OUTPUT \
^
drivers/media/platform/ti-vpe/vpe.c:1727:6: note: Assuming field 'type' is not equal to V4L2_BUF_TYPE_VBI_OUTPUT
if (V4L2_TYPE_IS_OUTPUT(f->type))
^
include/uapi/linux/videodev2.h:169:6: note: expanded from macro 'V4L2_TYPE_IS_OUTPUT'
|| (type) == V4L2_BUF_TYPE_VBI_OUTPUT \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/platform/ti-vpe/vpe.c:1727:6: note: Left side of '||' is false
if (V4L2_TYPE_IS_OUTPUT(f->type))
^
include/uapi/linux/videodev2.h:165:3: note: expanded from macro 'V4L2_TYPE_IS_OUTPUT'
((type) == V4L2_BUF_TYPE_VIDEO_OUTPUT \
^
drivers/media/platform/ti-vpe/vpe.c:1727:6: note: Assuming field 'type' is not equal to V4L2_BUF_TYPE_SLICED_VBI_OUTPUT
if (V4L2_TYPE_IS_OUTPUT(f->type))
^
include/uapi/linux/videodev2.h:170:6: note: expanded from macro 'V4L2_TYPE_IS_OUTPUT'
|| (type) == V4L2_BUF_TYPE_SLICED_VBI_OUTPUT \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/platform/ti-vpe/vpe.c:1727:6: note: Left side of '||' is false
if (V4L2_TYPE_IS_OUTPUT(f->type))
^
include/uapi/linux/videodev2.h:165:3: note: expanded from macro 'V4L2_TYPE_IS_OUTPUT'
((type) == V4L2_BUF_TYPE_VIDEO_OUTPUT \
^
drivers/media/platform/ti-vpe/vpe.c:1727:6: note: Assuming field 'type' is not equal to V4L2_BUF_TYPE_SDR_OUTPUT
if (V4L2_TYPE_IS_OUTPUT(f->type))
^
include/uapi/linux/videodev2.h:171:6: note: expanded from macro 'V4L2_TYPE_IS_OUTPUT'
|| (type) == V4L2_BUF_TYPE_SDR_OUTPUT \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/platform/ti-vpe/vpe.c:1727:6: note: Left side of '||' is false
if (V4L2_TYPE_IS_OUTPUT(f->type))
vim +/curr +1593 drivers/media/platform/allegro-dvt/allegro-core.c
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1470
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1471 static void allegro_channel_finish_frame(struct allegro_channel *channel,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1472 struct mcu_msg_encode_frame_response *msg)
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1473 {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1474 struct allegro_dev *dev = channel->dev;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1475 struct vb2_v4l2_buffer *src_buf;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1476 struct vb2_v4l2_buffer *dst_buf;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1477 struct {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1478 u32 offset;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1479 u32 size;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1480 } *partition;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1481 enum vb2_buffer_state state = VB2_BUF_STATE_ERROR;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1482 char *curr;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1483 ssize_t len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1484 ssize_t free;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1485
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1486 src_buf = allegro_get_buffer(channel, &channel->source_shadow_list,
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1487 msg->src_handle);
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1488 if (!src_buf)
3b78f8a21ed685 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1489 v4l2_warn(&dev->v4l2_dev,
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1490 "channel %d: invalid source buffer\n",
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1491 channel->mcu_channel_id);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1492
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1493 dst_buf = allegro_get_buffer(channel, &channel->stream_shadow_list,
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1494 msg->stream_id);
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1495 if (!dst_buf)
3b78f8a21ed685 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1496 v4l2_warn(&dev->v4l2_dev,
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1497 "channel %d: invalid stream buffer\n",
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1498 channel->mcu_channel_id);
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1499
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1500 if (!src_buf || !dst_buf)
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1501 goto err;
3b78f8a21ed685 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1502
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1503 dst_buf->sequence = channel->csequence++;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1504
b646f99642b749 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1505 if (msg->error_code & AL_ERROR) {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1506 v4l2_err(&dev->v4l2_dev,
04d2a110187103 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1507 "channel %d: failed to encode frame: %s (%x)\n",
04d2a110187103 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1508 channel->mcu_channel_id,
04d2a110187103 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1509 allegro_err_to_string(msg->error_code),
04d2a110187103 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1510 msg->error_code);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1511 goto err;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1512 }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1513
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1514 if (msg->partition_table_size != 1) {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1515 v4l2_warn(&dev->v4l2_dev,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1516 "channel %d: only handling first partition table entry (%d entries)\n",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1517 channel->mcu_channel_id, msg->partition_table_size);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1518 }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1519
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1520 if (msg->partition_table_offset +
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1521 msg->partition_table_size * sizeof(*partition) >
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1522 vb2_plane_size(&dst_buf->vb2_buf, 0)) {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1523 v4l2_err(&dev->v4l2_dev,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1524 "channel %d: partition table outside of dst_buf\n",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1525 channel->mcu_channel_id);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1526 goto err;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1527 }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1528
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1529 partition =
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1530 vb2_plane_vaddr(&dst_buf->vb2_buf, 0) + msg->partition_table_offset;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1531 if (partition->offset + partition->size >
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1532 vb2_plane_size(&dst_buf->vb2_buf, 0)) {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1533 v4l2_err(&dev->v4l2_dev,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1534 "channel %d: encoded frame is outside of dst_buf (offset 0x%x, size 0x%x)\n",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1535 channel->mcu_channel_id, partition->offset,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1536 partition->size);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1537 goto err;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1538 }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1539
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1540 v4l2_dbg(2, debug, &dev->v4l2_dev,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1541 "channel %d: encoded frame of size %d is at offset 0x%x\n",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1542 channel->mcu_channel_id, partition->size, partition->offset);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1543
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1544 /*
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1545 * The payload must include the data before the partition offset,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1546 * because we will put the sps and pps data there.
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1547 */
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1548 vb2_set_plane_payload(&dst_buf->vb2_buf, 0,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1549 partition->offset + partition->size);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1550
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1551 curr = vb2_plane_vaddr(&dst_buf->vb2_buf, 0);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1552 free = partition->offset;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1553 if (msg->is_idr) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1554 len = allegro_h264_write_sps(channel, curr, free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1555 if (len < 0) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1556 v4l2_err(&dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1557 "not enough space for sequence parameter set: %zd left\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1558 free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1559 goto err;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1560 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1561 curr += len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1562 free -= len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1563 v4l2_dbg(1, debug, &dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1564 "channel %d: wrote %zd byte SPS nal unit\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1565 channel->mcu_channel_id, len);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1566 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1567
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1568 if (msg->slice_type == AL_ENC_SLICE_TYPE_I) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1569 len = allegro_h264_write_pps(channel, curr, free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1570 if (len < 0) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1571 v4l2_err(&dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1572 "not enough space for picture parameter set: %zd left\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1573 free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1574 goto err;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1575 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1576 curr += len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1577 free -= len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1578 v4l2_dbg(1, debug, &dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1579 "channel %d: wrote %zd byte PPS nal unit\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1580 channel->mcu_channel_id, len);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1581 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1582
e74145c2334d85 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1583 if (msg->slice_type != AL_ENC_SLICE_TYPE_I && !msg->is_idr) {
e74145c2334d85 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1584 dst_buf->vb2_buf.planes[0].data_offset = free;
e74145c2334d85 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1585 free = 0;
e74145c2334d85 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1586 } else {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1587 len = nal_h264_write_filler(&dev->plat_dev->dev, curr, free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1588 if (len < 0) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1589 v4l2_err(&dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1590 "failed to write %zd filler data\n", free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1591 goto err;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1592 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 @1593 curr += len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1594 free -= len;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1595 v4l2_dbg(2, debug, &dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1596 "channel %d: wrote %zd bytes filler nal unit\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1597 channel->mcu_channel_id, len);
e74145c2334d85 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1598 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1599
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1600 if (free != 0) {
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1601 v4l2_err(&dev->v4l2_dev,
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1602 "non-VCL NAL units do not fill space until VCL NAL unit: %zd bytes left\n",
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1603 free);
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1604 goto err;
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1605 }
878344de61d0d5 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1606
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1607 state = VB2_BUF_STATE_DONE;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1608
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1609 v4l2_m2m_buf_copy_metadata(src_buf, dst_buf, false);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1610 if (msg->is_idr)
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1611 dst_buf->flags |= V4L2_BUF_FLAG_KEYFRAME;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1612 else
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1613 dst_buf->flags |= V4L2_BUF_FLAG_PFRAME;
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1614
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1615 v4l2_dbg(1, debug, &dev->v4l2_dev,
80c8449fc71c80 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1616 "channel %d: encoded frame #%03d (%s%s, QP %d, %d bytes)\n",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1617 channel->mcu_channel_id,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1618 dst_buf->sequence,
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1619 msg->is_idr ? "IDR, " : "",
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1620 msg->slice_type == AL_ENC_SLICE_TYPE_I ? "I slice" :
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1621 msg->slice_type == AL_ENC_SLICE_TYPE_P ? "P slice" : "unknown",
80c8449fc71c80 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1622 msg->qp, partition->size);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1623
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1624 err:
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1625 if (src_buf)
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1626 v4l2_m2m_buf_done(src_buf, VB2_BUF_STATE_DONE);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1627
09e6a7d63ead8d drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2020-03-16 1628 if (dst_buf)
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1629 allegro_channel_buf_done(channel, dst_buf, state);
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1630 }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 1631
:::::: The code at line 1593 was first introduced by commit
:::::: 878344de61d0d5f351a1b84fce009a321be3eb45 media: allegro: add SPS/PPS nal unit writer
:::::: TO: Michael Tretter <m.tretter@pengutronix.de>
:::::: CC: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 24773 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-01-02 7:15 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-14 7:23 drivers/media/platform/allegro-dvt/allegro-core.c:1593:3: warning: Value stored to 'curr' is never read [clang-analyzer-deadcode.DeadStores] kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2022-01-02 7:15 kernel test robot
2022-01-01 12:05 kernel test robot
2021-12-18 1:58 kernel test robot
2021-11-07 14:33 kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.