CC: [email protected] CC: [email protected] CC: [email protected] TO: Stanimir Varbanov <[email protected]> CC: Mauro Carvalho Chehab <[email protected]> CC: [email protected]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 0c947b893d69231a9add855939da7c66237ab44f commit: f7a3d3dc5831df6f898a5ae2a6ea1d221ea95c8a media: venus: venc: Add support for intra-refresh period date: 6 months ago :::::: branch date: 23 hours ago :::::: commit date: 6 months ago config: riscv-randconfig-c006-20220111 (https://download.01.org/0day-ci/archive/20220118/[email protected]/config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 244dd2913a43a200f5a6544d424cdc37b771028b) 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=f7a3d3dc5831df6f898a5ae2a6ea1d221ea95c8a git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout f7a3d3dc5831df6f898a5ae2a6ea1d221ea95c8a # 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 >>) if (start_lsn) ^ include/linux/compiler.h:56:28: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^ include/linux/compiler.h:58:69: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^ include/linux/compiler.h:69:2: note: expanded from macro '__trace_if_value' (cond) ? \ ^ fs/xfs/xfs_log.c:2394:2: note: Taking false branch if (start_lsn) ^ include/linux/compiler.h:56:23: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^ fs/xfs/xfs_log.c:2396:9: note: 'lv' is non-null while (lv && (!lv->lv_niovecs || index < lv->lv_niovecs)) { ^~ fs/xfs/xfs_log.c:2396:9: note: Left side of '&&' is true fs/xfs/xfs_log.c:2396:16: note: Assuming field 'lv_niovecs' is not equal to 0 while (lv && (!lv->lv_niovecs || index < lv->lv_niovecs)) { ^~~~~~~~~~~~~~~ fs/xfs/xfs_log.c:2396:16: note: Left side of '||' is false fs/xfs/xfs_log.c:2396:35: note: Assuming 'index' is >= field 'lv_niovecs' while (lv && (!lv->lv_niovecs || index < lv->lv_niovecs)) { ^~~~~~~~~~~~~~~~~~~~~~ fs/xfs/xfs_log.c:2396:2: note: Loop condition is false. Execution continues on line 2524 while (lv && (!lv->lv_niovecs || index < lv->lv_niovecs)) { ^ fs/xfs/xfs_log.c:2524:9: note: Assuming 'len' is equal to 0 ASSERT(len == 0); ^ fs/xfs/xfs_linux.h:207:10: note: expanded from macro 'ASSERT' (likely(expr) ? (void)0 : assfail(NULL, #expr, __FILE__, __LINE__)) ^~~~ include/linux/compiler.h:45:39: note: expanded from macro 'likely' # define likely(x) (__branch_check__(x, 1, __builtin_constant_p(x))) ^ include/linux/compiler.h:33:34: note: expanded from macro '__branch_check__' ______r = __builtin_expect(!!(x), expect); \ ^ fs/xfs/xfs_log.c:2524:2: note: '?' condition is true ASSERT(len == 0); ^ fs/xfs/xfs_linux.h:207:3: note: expanded from macro 'ASSERT' (likely(expr) ? (void)0 : assfail(NULL, #expr, __FILE__, __LINE__)) ^ include/linux/compiler.h:45:21: note: expanded from macro 'likely' # define likely(x) (__branch_check__(x, 1, __builtin_constant_p(x))) ^ fs/xfs/xfs_log.c:2527:30: note: Passing null pointer value via 2nd parameter 'iclog' xlog_state_finish_copy(log, iclog, record_cnt, data_cnt); ^~~~~ fs/xfs/xfs_log.c:2527:2: note: Calling 'xlog_state_finish_copy' xlog_state_finish_copy(log, iclog, record_cnt, data_cnt); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/xfs/xfs_log.c:2003:2: note: Assuming 'debug_locks' is 0 lockdep_assert_held(&log->l_icloglock); ^ include/linux/lockdep.h:310:11: note: expanded from macro 'lockdep_assert_held' WARN_ON(debug_locks && \ ^~~~~~~~~~~ include/asm-generic/bug.h:166:25: note: expanded from macro 'WARN_ON' int __ret_warn_on = !!(condition); \ ^~~~~~~~~ fs/xfs/xfs_log.c:2003:2: note: Left side of '&&' is false lockdep_assert_held(&log->l_icloglock); ^ include/linux/lockdep.h:310:23: note: expanded from macro 'lockdep_assert_held' WARN_ON(debug_locks && \ ^ fs/xfs/xfs_log.c:2003:2: note: Loop condition is false. Exiting loop lockdep_assert_held(&log->l_icloglock); ^ include/linux/lockdep.h:309:32: note: expanded from macro 'lockdep_assert_held' #define lockdep_assert_held(l) do { \ ^ fs/xfs/xfs_log.c:2005:16: note: Access to field 'ic_data' results in a dereference of a null pointer (loaded from variable 'iclog') be32_add_cpu(&iclog->ic_header.h_num_logops, record_cnt); ^~~~~ fs/xfs/xfs_log.c:3629:2: warning: Value stored to 'p' is never read [clang-analyzer-deadcode.DeadStores] p = &iclog->ic_header; ^ ~~~~~~~~~~~~~~~~~ fs/xfs/xfs_log.c:3629:2: note: Value stored to 'p' is never read p = &iclog->ic_header; ^ ~~~~~~~~~~~~~~~~~ fs/xfs/xfs_log.c:3639:2: warning: Value stored to 'ophead' is never read [clang-analyzer-deadcode.DeadStores] ophead = ptr; ^ ~~~ fs/xfs/xfs_log.c:3639:2: note: Value stored to 'ophead' is never read ophead = ptr; ^ ~~~ 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. 3 warnings generated. Suppressed 3 warnings (3 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. >> drivers/media/platform/qcom/venus/venc.c:807:3: warning: Value stored to >> 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = hfi_session_set_property(inst, ptype, &en); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/qcom/venus/venc.c:807:3: note: Value stored to 'ret' is never read ret = hfi_session_set_property(inst, ptype, &en); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Suppressed 3 warnings (3 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. drivers/iio/adc/ti-adc128s052.c:26:8: warning: Excessive padding in 'struct adc128' (94 padding bytes, where 30 is optimal). Optimal fields order: buffer, spi, reg, lock, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding] struct adc128 { ~~~~~~~^~~~~~~~ drivers/iio/adc/ti-adc128s052.c:26:8: note: Excessive padding in 'struct adc128' (94 padding bytes, where 30 is optimal). Optimal fields order: buffer, spi, reg, lock, consider reordering the fields or adding explicit padding members struct adc128 { ~~~~~~~^~~~~~~~ Suppressed 3 warnings (3 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. drivers/iio/adc/ti-adc161s626.c:66:8: warning: Excessive padding in 'struct ti_adc_data' (98 padding bytes, where 34 is optimal). Optimal fields order: buffer, indio_dev, spi, ref, read_size, shift, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding] struct ti_adc_data { ~~~~~~~^~~~~~~~~~~~~ drivers/iio/adc/ti-adc161s626.c:66:8: note: Excessive padding in 'struct ti_adc_data' (98 padding bytes, where 34 is optimal). Optimal fields order: buffer, indio_dev, spi, ref, read_size, shift, consider reordering the fields or adding explicit padding members struct ti_adc_data { ~~~~~~~^~~~~~~~~~~~~ Suppressed 3 warnings (3 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. drivers/iio/adc/ti-ads1015.c:414:12: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign] scan.chan = res; ^ ~~~ drivers/iio/adc/ti-ads1015.c:401:17: note: 'res' declared without an initial value int chan, ret, res; ^~~ drivers/iio/adc/ti-ads1015.c:408:8: note: Calling 'ads1015_get_adc_result' ret = ads1015_get_adc_result(data, chan, &res); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/iio/adc/ti-ads1015.c:350:6: note: 'chan' is >= 0 if (chan < 0 || chan >= ADS1015_CHANNELS) ^ include/linux/compiler.h:56:47: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~ include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ drivers/iio/adc/ti-ads1015.c:350:6: note: Left side of '||' is false if (chan < 0 || chan >= ADS1015_CHANNELS) ^ drivers/iio/adc/ti-ads1015.c:350:18: note: Assuming 'chan' is < 8 if (chan < 0 || chan >= ADS1015_CHANNELS) ^ include/linux/compiler.h:56:47: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ drivers/iio/adc/ti-ads1015.c:350:2: note: '?' condition is false if (chan < 0 || chan >= ADS1015_CHANNELS) ^ include/linux/compiler.h:56:28: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^ include/linux/compiler.h:58:31: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^ drivers/iio/adc/ti-ads1015.c:350:6: note: 'chan' is >= 0 if (chan < 0 || chan >= ADS1015_CHANNELS) ^ include/linux/compiler.h:56:47: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~ include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value' (cond) ? \ ^~~~ drivers/iio/adc/ti-ads1015.c:350:6: note: Left side of '||' is false if (chan < 0 || chan >= ADS1015_CHANNELS) ^ drivers/iio/adc/ti-ads1015.c:350:18: note: 'chan' is < 8 if (chan < 0 || chan >= ADS1015_CHANNELS) ^ include/linux/compiler.h:56:47: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~ -- drivers/media/platform/s5p-jpeg/jpeg-core.c:1141:3: note: Value stored to 'length' is never read length = 0; ^ ~ Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 12 warnings generated. drivers/video/fbdev/aty/mach64_gx.c:355:3: warning: Value stored to 'MHz100' is never read [clang-analyzer-deadcode.DeadStores] MHz100 = MAX_FREQ_2595; ^ drivers/video/fbdev/aty/mach64_gx.c:355:3: note: Value stored to 'MHz100' is never read drivers/video/fbdev/aty/mach64_gx.c:358:3: warning: Value stored to 'program_bits' is never read [clang-analyzer-deadcode.DeadStores] program_bits = 0; /* MHz100 = 257 */ ^ ~ drivers/video/fbdev/aty/mach64_gx.c:358:3: note: Value stored to 'program_bits' is never read program_bits = 0; /* MHz100 = 257 */ ^ ~ drivers/video/fbdev/aty/mach64_gx.c:649:3: warning: Value stored to 'diff' is never read [clang-analyzer-deadcode.DeadStores] diff = 0; ^ ~ drivers/video/fbdev/aty/mach64_gx.c:649:3: note: Value stored to 'diff' is never read diff = 0; ^ ~ 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. 12 warnings generated. drivers/video/fbdev/aty/radeon_base.c:306:3: warning: Value stored to 'tmp' is never read [clang-analyzer-deadcode.DeadStores] tmp = INREG(CLOCK_CNTL_DATA); ^ drivers/video/fbdev/aty/radeon_base.c:306:3: note: Value stored to 'tmp' is never read drivers/video/fbdev/aty/radeon_base.c:432:2: warning: Value stored to 'temp' is never read [clang-analyzer-deadcode.DeadStores] temp = INREG(MPP_TB_CONFIG); ^ drivers/video/fbdev/aty/radeon_base.c:432:2: note: Value stored to 'temp' is never read drivers/video/fbdev/aty/radeon_base.c:591:2: warning: Value stored to 'tmp' is never read [clang-analyzer-deadcode.DeadStores] tmp = INREG16(DEVICE_ID); ^ drivers/video/fbdev/aty/radeon_base.c:591:2: note: Value stored to 'tmp' is never read 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. 8 warnings generated. drivers/video/fbdev/aty/radeon_pm.c:1270:7: warning: Value stored to 'sdram_mode_reg' during its initialization is never read [clang-analyzer-deadcode.DeadStores] u32 sdram_mode_reg = rinfo->save_regs[35]; ^~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ drivers/video/fbdev/aty/radeon_pm.c:1270:7: note: Value stored to 'sdram_mode_reg' during its initialization is never read u32 sdram_mode_reg = rinfo->save_regs[35]; ^~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ 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. 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. 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. 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. 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. 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. 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. 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. 3 warnings generated. Suppressed 3 warnings (3 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. >> drivers/media/platform/qcom/venus/venc.c:807:3: warning: Value stored to >> 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = hfi_session_set_property(inst, ptype, &en); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/qcom/venus/venc.c:807:3: note: Value stored to 'ret' is never read ret = hfi_session_set_property(inst, ptype, &en); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 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. 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. 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. drivers/iio/adc/ltc2496.c:21:8: warning: Excessive padding in 'struct ltc2496_driverdata' (94 padding bytes, where 30 is optimal). Optimal fields order: rxbuf, txbuf, common_ddata, spi, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding] struct ltc2496_driverdata { ~~~~~~~^~~~~~~~~~~~~~~~~~~~ drivers/iio/adc/ltc2496.c:21:8: note: Excessive padding in 'struct ltc2496_driverdata' (94 padding bytes, where 30 is optimal). Optimal fields order: rxbuf, txbuf, common_ddata, spi, consider reordering the fields or adding explicit padding members struct ltc2496_driverdata { ~~~~~~~^~~~~~~~~~~~~~~~~~~~ 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. drivers/media/platform/am437x/am437x-vpfe.c:819:2: warning: Value stored to 'vpfe_int_status' is never read [clang-analyzer-deadcode.DeadStores] vpfe_int_status = vpfe_reg_read(ccdc, VPFE_IRQ_STS); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/platform/am437x/am437x-vpfe.c:819:2: note: Value stored to 'vpfe_int_status' is never read vpfe_int_status = vpfe_reg_read(ccdc, VPFE_IRQ_STS); vim +/ret +807 drivers/media/platform/qcom/venus/venc.c aaaa93eda64b004 Stanimir Varbanov 2017-06-15 540 aaaa93eda64b004 Stanimir Varbanov 2017-06-15 541 static int venc_set_properties(struct venus_inst *inst) aaaa93eda64b004 Stanimir Varbanov 2017-06-15 542 { aaaa93eda64b004 Stanimir Varbanov 2017-06-15 543 struct venc_controls *ctr = &inst->controls.enc; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 544 struct hfi_intra_period intra_period; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 545 struct hfi_framerate frate; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 546 struct hfi_bitrate brate; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 547 struct hfi_idr_period idrp; 2123cbd687ca0c5 Kelvin Lawson 2018-11-29 548 struct hfi_quantization quant; 2123cbd687ca0c5 Kelvin Lawson 2018-11-29 549 struct hfi_quantization_range quant_range; 002c22bd360e07b Dikshita Agarwal 2021-01-08 550 struct hfi_enable en; f2fb3f02abe2e66 Dikshita Agarwal 2021-03-24 551 struct hfi_ltr_mode ltr_mode; f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 552 struct hfi_intra_refresh intra_refresh = {}; 435c53c3698f414 Stanimir Varbanov 2020-09-08 553 u32 ptype, rate_control, bitrate; a7a20f721e812a5 Stanimir Varbanov 2020-10-27 554 u32 profile, level; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 555 int ret; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 556 1ad175952bbcafa Dikshita Agarwal 2021-04-02 557 ret = venus_helper_set_work_mode(inst); 01165b8484973da Stanimir Varbanov 2018-07-05 558 if (ret) 01165b8484973da Stanimir Varbanov 2018-07-05 559 return ret; 01165b8484973da Stanimir Varbanov 2018-07-05 560 aaaa93eda64b004 Stanimir Varbanov 2017-06-15 561 ptype = HFI_PROPERTY_CONFIG_FRAME_RATE; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 562 frate.buffer_type = HFI_BUFFER_OUTPUT; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 563 frate.framerate = inst->fps * (1 << 16); aaaa93eda64b004 Stanimir Varbanov 2017-06-15 564 aaaa93eda64b004 Stanimir Varbanov 2017-06-15 565 ret = hfi_session_set_property(inst, ptype, &frate); aaaa93eda64b004 Stanimir Varbanov 2017-06-15 566 if (ret) aaaa93eda64b004 Stanimir Varbanov 2017-06-15 567 return ret; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 568 aaaa93eda64b004 Stanimir Varbanov 2017-06-15 569 if (inst->fmt_cap->pixfmt == V4L2_PIX_FMT_H264) { aaaa93eda64b004 Stanimir Varbanov 2017-06-15 570 struct hfi_h264_vui_timing_info info; a7837e11679e015 Loic Poulain 2017-11-24 571 struct hfi_h264_entropy_control entropy; f7d12fea16cbcc3 Loic Poulain 2017-11-24 572 struct hfi_h264_db_control deblock; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 573 aaaa93eda64b004 Stanimir Varbanov 2017-06-15 574 ptype = HFI_PROPERTY_PARAM_VENC_H264_VUI_TIMING_INFO; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 575 info.enable = 1; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 576 info.fixed_framerate = 1; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 577 info.time_scale = NSEC_PER_SEC; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 578 aaaa93eda64b004 Stanimir Varbanov 2017-06-15 579 ret = hfi_session_set_property(inst, ptype, &info); aaaa93eda64b004 Stanimir Varbanov 2017-06-15 580 if (ret) aaaa93eda64b004 Stanimir Varbanov 2017-06-15 581 return ret; a7837e11679e015 Loic Poulain 2017-11-24 582 a7837e11679e015 Loic Poulain 2017-11-24 583 ptype = HFI_PROPERTY_PARAM_VENC_H264_ENTROPY_CONTROL; a7837e11679e015 Loic Poulain 2017-11-24 584 entropy.entropy_mode = venc_v4l2_to_hfi( a7837e11679e015 Loic Poulain 2017-11-24 585 V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE, a7837e11679e015 Loic Poulain 2017-11-24 586 ctr->h264_entropy_mode); a7837e11679e015 Loic Poulain 2017-11-24 587 entropy.cabac_model = HFI_H264_CABAC_MODEL_0; a7837e11679e015 Loic Poulain 2017-11-24 588 a7837e11679e015 Loic Poulain 2017-11-24 589 ret = hfi_session_set_property(inst, ptype, &entropy); a7837e11679e015 Loic Poulain 2017-11-24 590 if (ret) a7837e11679e015 Loic Poulain 2017-11-24 591 return ret; f7d12fea16cbcc3 Loic Poulain 2017-11-24 592 f7d12fea16cbcc3 Loic Poulain 2017-11-24 593 ptype = HFI_PROPERTY_PARAM_VENC_H264_DEBLOCK_CONTROL; f7d12fea16cbcc3 Loic Poulain 2017-11-24 594 deblock.mode = venc_v4l2_to_hfi( f7d12fea16cbcc3 Loic Poulain 2017-11-24 595 V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE, f7d12fea16cbcc3 Loic Poulain 2017-11-24 596 ctr->h264_loop_filter_mode); f7d12fea16cbcc3 Loic Poulain 2017-11-24 597 deblock.slice_alpha_offset = ctr->h264_loop_filter_alpha; f7d12fea16cbcc3 Loic Poulain 2017-11-24 598 deblock.slice_beta_offset = ctr->h264_loop_filter_beta; f7d12fea16cbcc3 Loic Poulain 2017-11-24 599 f7d12fea16cbcc3 Loic Poulain 2017-11-24 600 ret = hfi_session_set_property(inst, ptype, &deblock); f7d12fea16cbcc3 Loic Poulain 2017-11-24 601 if (ret) f7d12fea16cbcc3 Loic Poulain 2017-11-24 602 return ret; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 603 } aaaa93eda64b004 Stanimir Varbanov 2017-06-15 604 f0ddb4e9911665b Dikshita Agarwal 2020-12-16 605 if (inst->fmt_cap->pixfmt == V4L2_PIX_FMT_H264 || f0ddb4e9911665b Dikshita Agarwal 2020-12-16 606 inst->fmt_cap->pixfmt == V4L2_PIX_FMT_HEVC) { 8fc58186bb41ff8 Stanimir Varbanov 2017-12-01 607 /* IDR periodicity, n: 8fc58186bb41ff8 Stanimir Varbanov 2017-12-01 608 * n = 0 - only the first I-frame is IDR frame 8fc58186bb41ff8 Stanimir Varbanov 2017-12-01 609 * n = 1 - all I-frames will be IDR frames 8fc58186bb41ff8 Stanimir Varbanov 2017-12-01 610 * n > 1 - every n-th I-frame will be IDR frame 8fc58186bb41ff8 Stanimir Varbanov 2017-12-01 611 */ aaaa93eda64b004 Stanimir Varbanov 2017-06-15 612 ptype = HFI_PROPERTY_CONFIG_VENC_IDR_PERIOD; 8fc58186bb41ff8 Stanimir Varbanov 2017-12-01 613 idrp.idr_period = 0; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 614 ret = hfi_session_set_property(inst, ptype, &idrp); aaaa93eda64b004 Stanimir Varbanov 2017-06-15 615 if (ret) aaaa93eda64b004 Stanimir Varbanov 2017-06-15 616 return ret; f0ddb4e9911665b Dikshita Agarwal 2020-12-16 617 } aaaa93eda64b004 Stanimir Varbanov 2017-06-15 618 9172652d72f8e9a Stanimir Varbanov 2020-04-23 619 if (inst->fmt_cap->pixfmt == V4L2_PIX_FMT_HEVC) { 9172652d72f8e9a Stanimir Varbanov 2020-04-23 620 struct hfi_hdr10_pq_sei hdr10; 9172652d72f8e9a Stanimir Varbanov 2020-04-23 621 unsigned int c; 9172652d72f8e9a Stanimir Varbanov 2020-04-23 622 9172652d72f8e9a Stanimir Varbanov 2020-04-23 623 ptype = HFI_PROPERTY_PARAM_VENC_HDR10_PQ_SEI; 9172652d72f8e9a Stanimir Varbanov 2020-04-23 624 9172652d72f8e9a Stanimir Varbanov 2020-04-23 625 for (c = 0; c < 3; c++) { 9172652d72f8e9a Stanimir Varbanov 2020-04-23 626 hdr10.mastering.display_primaries_x[c] = 9172652d72f8e9a Stanimir Varbanov 2020-04-23 627 ctr->mastering.display_primaries_x[c]; 9172652d72f8e9a Stanimir Varbanov 2020-04-23 628 hdr10.mastering.display_primaries_y[c] = 9172652d72f8e9a Stanimir Varbanov 2020-04-23 629 ctr->mastering.display_primaries_y[c]; 9172652d72f8e9a Stanimir Varbanov 2020-04-23 630 } 9172652d72f8e9a Stanimir Varbanov 2020-04-23 631 9172652d72f8e9a Stanimir Varbanov 2020-04-23 632 hdr10.mastering.white_point_x = ctr->mastering.white_point_x; 9172652d72f8e9a Stanimir Varbanov 2020-04-23 633 hdr10.mastering.white_point_y = ctr->mastering.white_point_y; 9172652d72f8e9a Stanimir Varbanov 2020-04-23 634 hdr10.mastering.max_display_mastering_luminance = 9172652d72f8e9a Stanimir Varbanov 2020-04-23 635 ctr->mastering.max_display_mastering_luminance; 9172652d72f8e9a Stanimir Varbanov 2020-04-23 636 hdr10.mastering.min_display_mastering_luminance = 9172652d72f8e9a Stanimir Varbanov 2020-04-23 637 ctr->mastering.min_display_mastering_luminance; 9172652d72f8e9a Stanimir Varbanov 2020-04-23 638 9172652d72f8e9a Stanimir Varbanov 2020-04-23 639 hdr10.cll.max_content_light = ctr->cll.max_content_light_level; 9172652d72f8e9a Stanimir Varbanov 2020-04-23 640 hdr10.cll.max_pic_average_light = 9172652d72f8e9a Stanimir Varbanov 2020-04-23 641 ctr->cll.max_pic_average_light_level; 9172652d72f8e9a Stanimir Varbanov 2020-04-23 642 9172652d72f8e9a Stanimir Varbanov 2020-04-23 643 ret = hfi_session_set_property(inst, ptype, &hdr10); 9172652d72f8e9a Stanimir Varbanov 2020-04-23 644 if (ret) 9172652d72f8e9a Stanimir Varbanov 2020-04-23 645 return ret; 9172652d72f8e9a Stanimir Varbanov 2020-04-23 646 } 9172652d72f8e9a Stanimir Varbanov 2020-04-23 647 aaaa93eda64b004 Stanimir Varbanov 2017-06-15 648 if (ctr->num_b_frames) { aaaa93eda64b004 Stanimir Varbanov 2017-06-15 649 u32 max_num_b_frames = NUM_B_FRAMES_MAX; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 650 aaaa93eda64b004 Stanimir Varbanov 2017-06-15 651 ptype = HFI_PROPERTY_PARAM_VENC_MAX_NUM_B_FRAMES; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 652 ret = hfi_session_set_property(inst, ptype, &max_num_b_frames); aaaa93eda64b004 Stanimir Varbanov 2017-06-15 653 if (ret) aaaa93eda64b004 Stanimir Varbanov 2017-06-15 654 return ret; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 655 } aaaa93eda64b004 Stanimir Varbanov 2017-06-15 656 aaaa93eda64b004 Stanimir Varbanov 2017-06-15 657 ptype = HFI_PROPERTY_CONFIG_VENC_INTRA_PERIOD; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 658 intra_period.pframes = ctr->num_p_frames; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 659 intra_period.bframes = ctr->num_b_frames; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 660 aaaa93eda64b004 Stanimir Varbanov 2017-06-15 661 ret = hfi_session_set_property(inst, ptype, &intra_period); aaaa93eda64b004 Stanimir Varbanov 2017-06-15 662 if (ret) aaaa93eda64b004 Stanimir Varbanov 2017-06-15 663 return ret; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 664 6f704b2fbbde0c9 Jeffrey Kardatzke 2020-02-22 665 if (!ctr->rc_enable) 6f704b2fbbde0c9 Jeffrey Kardatzke 2020-02-22 666 rate_control = HFI_RATE_CONTROL_OFF; 6f704b2fbbde0c9 Jeffrey Kardatzke 2020-02-22 667 else if (ctr->bitrate_mode == V4L2_MPEG_VIDEO_BITRATE_MODE_VBR) 94dfb1689c25ed2 Stanimir Varbanov 2020-07-05 668 rate_control = ctr->frame_skip_mode ? HFI_RATE_CONTROL_VBR_VFR : 94dfb1689c25ed2 Stanimir Varbanov 2020-07-05 669 HFI_RATE_CONTROL_VBR_CFR; 69ff4b2caa95e10 Stanimir Varbanov 2020-06-16 670 else if (ctr->bitrate_mode == V4L2_MPEG_VIDEO_BITRATE_MODE_CBR) 94dfb1689c25ed2 Stanimir Varbanov 2020-07-05 671 rate_control = ctr->frame_skip_mode ? HFI_RATE_CONTROL_CBR_VFR : 94dfb1689c25ed2 Stanimir Varbanov 2020-07-05 672 HFI_RATE_CONTROL_CBR_CFR; 69ff4b2caa95e10 Stanimir Varbanov 2020-06-16 673 else if (ctr->bitrate_mode == V4L2_MPEG_VIDEO_BITRATE_MODE_CQ) 69ff4b2caa95e10 Stanimir Varbanov 2020-06-16 674 rate_control = HFI_RATE_CONTROL_CQ; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 675 aaaa93eda64b004 Stanimir Varbanov 2017-06-15 676 ptype = HFI_PROPERTY_PARAM_VENC_RATE_CONTROL; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 677 ret = hfi_session_set_property(inst, ptype, &rate_control); aaaa93eda64b004 Stanimir Varbanov 2017-06-15 678 if (ret) aaaa93eda64b004 Stanimir Varbanov 2017-06-15 679 return ret; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 680 69ff4b2caa95e10 Stanimir Varbanov 2020-06-16 681 if (rate_control == HFI_RATE_CONTROL_CQ && ctr->const_quality) { 69ff4b2caa95e10 Stanimir Varbanov 2020-06-16 682 struct hfi_heic_frame_quality quality = {}; 69ff4b2caa95e10 Stanimir Varbanov 2020-06-16 683 69ff4b2caa95e10 Stanimir Varbanov 2020-06-16 684 ptype = HFI_PROPERTY_CONFIG_HEIC_FRAME_QUALITY; 69ff4b2caa95e10 Stanimir Varbanov 2020-06-16 685 quality.frame_quality = ctr->const_quality; 69ff4b2caa95e10 Stanimir Varbanov 2020-06-16 686 ret = hfi_session_set_property(inst, ptype, &quality); 69ff4b2caa95e10 Stanimir Varbanov 2020-06-16 687 if (ret) 69ff4b2caa95e10 Stanimir Varbanov 2020-06-16 688 return ret; 69ff4b2caa95e10 Stanimir Varbanov 2020-06-16 689 } 69ff4b2caa95e10 Stanimir Varbanov 2020-06-16 690 aaaa93eda64b004 Stanimir Varbanov 2017-06-15 691 if (!ctr->bitrate) aaaa93eda64b004 Stanimir Varbanov 2017-06-15 692 bitrate = 64000; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 693 else aaaa93eda64b004 Stanimir Varbanov 2017-06-15 694 bitrate = ctr->bitrate; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 695 aaaa93eda64b004 Stanimir Varbanov 2017-06-15 696 ptype = HFI_PROPERTY_CONFIG_VENC_TARGET_BITRATE; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 697 brate.bitrate = bitrate; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 698 brate.layer_id = 0; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 699 aaaa93eda64b004 Stanimir Varbanov 2017-06-15 700 ret = hfi_session_set_property(inst, ptype, &brate); aaaa93eda64b004 Stanimir Varbanov 2017-06-15 701 if (ret) aaaa93eda64b004 Stanimir Varbanov 2017-06-15 702 return ret; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 703 002c22bd360e07b Dikshita Agarwal 2021-01-08 704 if (inst->fmt_cap->pixfmt == V4L2_PIX_FMT_H264 || 002c22bd360e07b Dikshita Agarwal 2021-01-08 705 inst->fmt_cap->pixfmt == V4L2_PIX_FMT_HEVC) { 002c22bd360e07b Dikshita Agarwal 2021-01-08 706 ptype = HFI_PROPERTY_CONFIG_VENC_SYNC_FRAME_SEQUENCE_HEADER; 002c22bd360e07b Dikshita Agarwal 2021-01-08 707 if (ctr->header_mode == V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE) 002c22bd360e07b Dikshita Agarwal 2021-01-08 708 en.enable = 0; 002c22bd360e07b Dikshita Agarwal 2021-01-08 709 else 002c22bd360e07b Dikshita Agarwal 2021-01-08 710 en.enable = 1; 002c22bd360e07b Dikshita Agarwal 2021-01-08 711 002c22bd360e07b Dikshita Agarwal 2021-01-08 712 ret = hfi_session_set_property(inst, ptype, &en); 002c22bd360e07b Dikshita Agarwal 2021-01-08 713 if (ret) 002c22bd360e07b Dikshita Agarwal 2021-01-08 714 return ret; 002c22bd360e07b Dikshita Agarwal 2021-01-08 715 } 002c22bd360e07b Dikshita Agarwal 2021-01-08 716 aaaa93eda64b004 Stanimir Varbanov 2017-06-15 717 if (!ctr->bitrate_peak) aaaa93eda64b004 Stanimir Varbanov 2017-06-15 718 bitrate *= 2; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 719 else aaaa93eda64b004 Stanimir Varbanov 2017-06-15 720 bitrate = ctr->bitrate_peak; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 721 aaaa93eda64b004 Stanimir Varbanov 2017-06-15 722 ptype = HFI_PROPERTY_CONFIG_VENC_MAX_BITRATE; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 723 brate.bitrate = bitrate; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 724 brate.layer_id = 0; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 725 aaaa93eda64b004 Stanimir Varbanov 2017-06-15 726 ret = hfi_session_set_property(inst, ptype, &brate); aaaa93eda64b004 Stanimir Varbanov 2017-06-15 727 if (ret) aaaa93eda64b004 Stanimir Varbanov 2017-06-15 728 return ret; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 729 2123cbd687ca0c5 Kelvin Lawson 2018-11-29 730 ptype = HFI_PROPERTY_PARAM_VENC_SESSION_QP; 74c895974fd3566 Dikshita Agarwal 2020-12-24 731 if (inst->fmt_cap->pixfmt == V4L2_PIX_FMT_HEVC) { 74c895974fd3566 Dikshita Agarwal 2020-12-24 732 quant.qp_i = ctr->hevc_i_qp; 74c895974fd3566 Dikshita Agarwal 2020-12-24 733 quant.qp_p = ctr->hevc_p_qp; 74c895974fd3566 Dikshita Agarwal 2020-12-24 734 quant.qp_b = ctr->hevc_b_qp; 74c895974fd3566 Dikshita Agarwal 2020-12-24 735 } else { 2123cbd687ca0c5 Kelvin Lawson 2018-11-29 736 quant.qp_i = ctr->h264_i_qp; 2123cbd687ca0c5 Kelvin Lawson 2018-11-29 737 quant.qp_p = ctr->h264_p_qp; 2123cbd687ca0c5 Kelvin Lawson 2018-11-29 738 quant.qp_b = ctr->h264_b_qp; 74c895974fd3566 Dikshita Agarwal 2020-12-24 739 } 2123cbd687ca0c5 Kelvin Lawson 2018-11-29 740 quant.layer_id = 0; 2123cbd687ca0c5 Kelvin Lawson 2018-11-29 741 ret = hfi_session_set_property(inst, ptype, &quant); 2123cbd687ca0c5 Kelvin Lawson 2018-11-29 742 if (ret) 2123cbd687ca0c5 Kelvin Lawson 2018-11-29 743 return ret; 2123cbd687ca0c5 Kelvin Lawson 2018-11-29 744 2123cbd687ca0c5 Kelvin Lawson 2018-11-29 745 ptype = HFI_PROPERTY_PARAM_VENC_SESSION_QP_RANGE; 74c895974fd3566 Dikshita Agarwal 2020-12-24 746 if (inst->fmt_cap->pixfmt == V4L2_PIX_FMT_HEVC) { 74c895974fd3566 Dikshita Agarwal 2020-12-24 747 quant_range.min_qp = ctr->hevc_min_qp; 74c895974fd3566 Dikshita Agarwal 2020-12-24 748 quant_range.max_qp = ctr->hevc_max_qp; 74c895974fd3566 Dikshita Agarwal 2020-12-24 749 } else { 2123cbd687ca0c5 Kelvin Lawson 2018-11-29 750 quant_range.min_qp = ctr->h264_min_qp; 2123cbd687ca0c5 Kelvin Lawson 2018-11-29 751 quant_range.max_qp = ctr->h264_max_qp; 74c895974fd3566 Dikshita Agarwal 2020-12-24 752 } 2123cbd687ca0c5 Kelvin Lawson 2018-11-29 753 quant_range.layer_id = 0; 2123cbd687ca0c5 Kelvin Lawson 2018-11-29 754 ret = hfi_session_set_property(inst, ptype, &quant_range); 2123cbd687ca0c5 Kelvin Lawson 2018-11-29 755 if (ret) 2123cbd687ca0c5 Kelvin Lawson 2018-11-29 756 return ret; 2123cbd687ca0c5 Kelvin Lawson 2018-11-29 757 f2fb3f02abe2e66 Dikshita Agarwal 2021-03-24 758 ptype = HFI_PROPERTY_PARAM_VENC_LTRMODE; f2fb3f02abe2e66 Dikshita Agarwal 2021-03-24 759 ltr_mode.ltr_count = ctr->ltr_count; f2fb3f02abe2e66 Dikshita Agarwal 2021-03-24 760 ltr_mode.ltr_mode = HFI_LTR_MODE_MANUAL; f2fb3f02abe2e66 Dikshita Agarwal 2021-03-24 761 ltr_mode.trust_mode = 1; f2fb3f02abe2e66 Dikshita Agarwal 2021-03-24 762 ret = hfi_session_set_property(inst, ptype, <r_mode); f2fb3f02abe2e66 Dikshita Agarwal 2021-03-24 763 if (ret) f2fb3f02abe2e66 Dikshita Agarwal 2021-03-24 764 return ret; f2fb3f02abe2e66 Dikshita Agarwal 2021-03-24 765 a7a20f721e812a5 Stanimir Varbanov 2020-10-27 766 switch (inst->hfi_codec) { a7a20f721e812a5 Stanimir Varbanov 2020-10-27 767 case HFI_VIDEO_CODEC_H264: a7a20f721e812a5 Stanimir Varbanov 2020-10-27 768 profile = ctr->profile.h264; a7a20f721e812a5 Stanimir Varbanov 2020-10-27 769 level = ctr->level.h264; a7a20f721e812a5 Stanimir Varbanov 2020-10-27 770 break; a7a20f721e812a5 Stanimir Varbanov 2020-10-27 771 case HFI_VIDEO_CODEC_MPEG4: a7a20f721e812a5 Stanimir Varbanov 2020-10-27 772 profile = ctr->profile.mpeg4; a7a20f721e812a5 Stanimir Varbanov 2020-10-27 773 level = ctr->level.mpeg4; a7a20f721e812a5 Stanimir Varbanov 2020-10-27 774 break; a7a20f721e812a5 Stanimir Varbanov 2020-10-27 775 case HFI_VIDEO_CODEC_VP8: a7a20f721e812a5 Stanimir Varbanov 2020-10-27 776 profile = ctr->profile.vp8; a7a20f721e812a5 Stanimir Varbanov 2020-10-27 777 level = 0; a7a20f721e812a5 Stanimir Varbanov 2020-10-27 778 break; a7a20f721e812a5 Stanimir Varbanov 2020-10-27 779 case HFI_VIDEO_CODEC_VP9: a7a20f721e812a5 Stanimir Varbanov 2020-10-27 780 profile = ctr->profile.vp9; a7a20f721e812a5 Stanimir Varbanov 2020-10-27 781 level = ctr->level.vp9; a7a20f721e812a5 Stanimir Varbanov 2020-10-27 782 break; a7a20f721e812a5 Stanimir Varbanov 2020-10-27 783 case HFI_VIDEO_CODEC_HEVC: a7a20f721e812a5 Stanimir Varbanov 2020-10-27 784 profile = ctr->profile.hevc; a7a20f721e812a5 Stanimir Varbanov 2020-10-27 785 level = ctr->level.hevc; a7a20f721e812a5 Stanimir Varbanov 2020-10-27 786 break; a7a20f721e812a5 Stanimir Varbanov 2020-10-27 787 case HFI_VIDEO_CODEC_MPEG2: a7a20f721e812a5 Stanimir Varbanov 2020-10-27 788 default: a7a20f721e812a5 Stanimir Varbanov 2020-10-27 789 profile = 0; a7a20f721e812a5 Stanimir Varbanov 2020-10-27 790 level = 0; a7a20f721e812a5 Stanimir Varbanov 2020-10-27 791 break; a7a20f721e812a5 Stanimir Varbanov 2020-10-27 792 } a7a20f721e812a5 Stanimir Varbanov 2020-10-27 793 a7a20f721e812a5 Stanimir Varbanov 2020-10-27 794 ret = venus_helper_set_profile_level(inst, profile, level); aaaa93eda64b004 Stanimir Varbanov 2017-06-15 795 if (ret) aaaa93eda64b004 Stanimir Varbanov 2017-06-15 796 return ret; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 797 08c06797627935d Stanimir Varbanov 2020-11-24 798 if (inst->fmt_cap->pixfmt == V4L2_PIX_FMT_H264 || 08c06797627935d Stanimir Varbanov 2020-11-24 799 inst->fmt_cap->pixfmt == V4L2_PIX_FMT_HEVC) { 08c06797627935d Stanimir Varbanov 2020-11-24 800 struct hfi_enable en = {}; 08c06797627935d Stanimir Varbanov 2020-11-24 801 08c06797627935d Stanimir Varbanov 2020-11-24 802 ptype = HFI_PROPERTY_PARAM_VENC_H264_GENERATE_AUDNAL; 08c06797627935d Stanimir Varbanov 2020-11-24 803 08c06797627935d Stanimir Varbanov 2020-11-24 804 if (ctr->aud_enable) 08c06797627935d Stanimir Varbanov 2020-11-24 805 en.enable = 1; 08c06797627935d Stanimir Varbanov 2020-11-24 806 08c06797627935d Stanimir Varbanov 2020-11-24 @807 ret = hfi_session_set_property(inst, ptype, &en); f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 808 } f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 809 f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 810 if ((inst->fmt_cap->pixfmt == V4L2_PIX_FMT_H264 || f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 811 inst->fmt_cap->pixfmt == V4L2_PIX_FMT_HEVC) && f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 812 (rate_control == HFI_RATE_CONTROL_CBR_VFR || f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 813 rate_control == HFI_RATE_CONTROL_CBR_CFR)) { f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 814 intra_refresh.mode = HFI_INTRA_REFRESH_NONE; f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 815 intra_refresh.cir_mbs = 0; f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 816 f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 817 if (ctr->intra_refresh_period) { f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 818 u32 mbs; f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 819 f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 820 mbs = ALIGN(inst->width, 16) * ALIGN(inst->height, 16); f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 821 mbs /= 16 * 16; f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 822 if (mbs % ctr->intra_refresh_period) f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 823 mbs++; f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 824 mbs /= ctr->intra_refresh_period; f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 825 f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 826 intra_refresh.mode = HFI_INTRA_REFRESH_RANDOM; f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 827 intra_refresh.cir_mbs = mbs; f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 828 } f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 829 f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 830 ptype = HFI_PROPERTY_PARAM_VENC_INTRA_REFRESH; f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 831 f7a3d3dc5831df6 Stanimir Varbanov 2021-06-22 832 ret = hfi_session_set_property(inst, ptype, &intra_refresh); 08c06797627935d Stanimir Varbanov 2020-11-24 833 if (ret) 08c06797627935d Stanimir Varbanov 2020-11-24 834 return ret; 08c06797627935d Stanimir Varbanov 2020-11-24 835 } 08c06797627935d Stanimir Varbanov 2020-11-24 836 aaaa93eda64b004 Stanimir Varbanov 2017-06-15 837 return 0; aaaa93eda64b004 Stanimir Varbanov 2017-06-15 838 } aaaa93eda64b004 Stanimir Varbanov 2017-06-15 839 :::::: The code at line 807 was first introduced by commit :::::: 08c06797627935d48621359eb95ab8a69d70d5c5 media: venus: venc: Add support for AUD NALU control :::::: TO: Stanimir Varbanov <[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]
