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


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 <[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