CC: [email protected]
CC: [email protected]
CC: [email protected]
TO: Michael Tretter <[email protected]>
CC: Mauro Carvalho Chehab <[email protected]>
CC: [email protected]
CC: Hans Verkuil <[email protected]>

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/[email protected]/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 <[email protected]>


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 <[email protected]>
:::::: CC: Mauro Carvalho Chehab <[email protected]>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to