:::::: 
:::::: Manual check reason: "low confidence static check warning: 
drivers/media/platform/qcom/venus/venc.c:807:3: warning: Value stored to 'ret' 
is never read [clang-analyzer-deadcode.DeadStores]"
:::::: 

CC: l...@lists.linux.dev
CC: kbuild-...@lists.01.org
BCC: l...@intel.com
CC: linux-ker...@vger.kernel.org
TO: Stanimir Varbanov <stanimir.varba...@linaro.org>
CC: Mauro Carvalho Chehab <mche...@kernel.org>
CC: linux-me...@vger.kernel.org

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   700170bf6b4d773e328fa54ebb70ba444007c702
commit: f7a3d3dc5831df6f898a5ae2a6ea1d221ea95c8a media: venus: venc: Add 
support for intra-refresh period
date:   10 months ago
:::::: branch date: 3 hours ago
:::::: commit date: 10 months ago
config: arm-randconfig-c002-20220531 
(https://download.01.org/0day-ci/archive/20220601/202206011053.b9vqmify-...@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 
c825abd6b0198fb088d9752f556a70705bc99dfd)
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 arm cross compiling tool for clang build
        # apt-get install binutils-arm-linux-gnueabi
        # 
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
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm 
clang-analyzer 

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <l...@intel.com>


clang-analyzer warnings: (new ones prefixed by >>)
   sound/soc/sh/rcar/mix.c:88:17: note: Value stored to 'dev' during its 
initialization is never read
           struct device *dev = rsnd_priv_to_dev(priv);
                          ^~~
   1 warning generated.
   sound/soc/sh/rcar/cmd.c:29:17: warning: Value stored to 'dev' during its 
initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct device *dev = rsnd_priv_to_dev(priv);
                          ^~~
   sound/soc/sh/rcar/cmd.c:29:17: note: Value stored to 'dev' during its 
initialization is never read
           struct device *dev = rsnd_priv_to_dev(priv);
                          ^~~
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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 (1 in non-user code, 1 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 (1 in non-user code, 1 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.
   3 warnings generated.
   drivers/media/v4l2-core/v4l2-async.c:448:17: warning: Value stored to 'dev' 
during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct device *dev =
                          ^~~
   drivers/media/v4l2-core/v4l2-async.c:448:17: note: Value stored to 'dev' 
during its initialization is never read
           struct device *dev =
                          ^~~
   Suppressed 2 warnings (1 in non-user code, 1 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.
   1 warning generated.
   Suppressed 1 warnings (1 with check filters).
   2 warnings generated.
   Suppressed 2 warnings (1 in non-user code, 1 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 (1 in non-user code, 1 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.
   drivers/phy/qualcomm/phy-qcom-qusb2.c:562:17: warning: Value stored to 'dev' 
during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct device *dev = &qphy->phy->dev;
                          ^~~   ~~~~~~~~~~~~~~~
   drivers/phy/qualcomm/phy-qcom-qusb2.c:562:17: note: Value stored to 'dev' 
during its initialization is never read
           struct device *dev = &qphy->phy->dev;
                          ^~~   ~~~~~~~~~~~~~~~
   Suppressed 1 warnings (1 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 (2 in non-user code, 1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   drivers/mfd/max8997-irq.c:248:3: warning: Value stored to 'ret' is never 
read [clang-analyzer-deadcode.DeadStores]
                   ret = max8997_read_reg(max8997->i2c, MAX8997_REG_FLASHSTATUS,
                   ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mfd/max8997-irq.c:248:3: note: Value stored to 'ret' is never read
                   ret = max8997_read_reg(max8997->i2c, MAX8997_REG_FLASHSTATUS,
                   ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 1 warnings (1 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.
   drivers/hwmon/ltc2945.c:286:2: warning: Value stored to 'ret' is never read 
[clang-analyzer-deadcode.DeadStores]
           ret = regmap_update_bits(regmap, LTC2945_CONTROL, CONTROL_TEST_MODE,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/hwmon/ltc2945.c:286:2: note: Value stored to 'ret' is never read
           ret = regmap_update_bits(regmap, LTC2945_CONTROL, CONTROL_TEST_MODE,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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 (1 in non-user code, 1 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.
   3 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 2 warnings (1 in non-user code, 1 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 (1 in non-user code, 1 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 (1 in non-user code, 1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   sound/soc/codecs/cs43130.c:180:8: warning: Excessive padding in 'struct 
cs43130_pll_params' (7 padding bytes, where 3 is optimal). 
   Optimal fields order: 
   pll_in, 
   pll_div_frac, 
   pll_out, 
   sclk_prediv, 
   pll_div_int, 
   pll_mode, 
   pll_divout, 
   pll_cal_ratio, 
   consider reordering the fields or adding explicit padding members 
[clang-analyzer-optin.performance.Padding]
   struct cs43130_pll_params {
   ~~~~~~~^~~~~~~~~~~~~~~~~~~~
   sound/soc/codecs/cs43130.c:180:8: note: Excessive padding in 'struct 
cs43130_pll_params' (7 padding bytes, where 3 is optimal). Optimal fields 
order: pll_in, pll_div_frac, pll_out, sclk_prediv, pll_div_int, pll_mode, 
pll_divout, pll_cal_ratio, consider reordering the fields or adding explicit 
padding members
   struct cs43130_pll_params {
   ~~~~~~~^~~~~~~~~~~~~~~~~~~~
   sound/soc/codecs/cs43130.c:1938:28: warning: Value stored to 'component' 
during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct snd_soc_component *component = cs43130->component;
                                     ^~~~~~~~~   ~~~~~~~~~~~~~~~~~~
   sound/soc/codecs/cs43130.c:1938:28: note: Value stored to 'component' during 
its initialization is never read
           struct snd_soc_component *component = cs43130->component;
                                     ^~~~~~~~~   ~~~~~~~~~~~~~~~~~~
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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 (1 in non-user code, 1 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 (1 in non-user code, 1 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 (1 in non-user code, 1 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.
   3 warnings generated.
   Suppressed 3 warnings (2 in non-user code, 1 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 (1 in non-user code, 1 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 (1 in non-user code, 1 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.
   sound/soc/codecs/da7213.c:1427:3: warning: Value stored to 'indiv' is never 
read [clang-analyzer-deadcode.DeadStores]
                   indiv = DA7213_PLL_INDIV_9_TO_18_MHZ_VAL;
                   ^
   sound/soc/codecs/da7213.c:1427:3: note: Value stored to 'indiv' is never read
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
--
                            ^
   include/linux/of.h:164:3: note: expanded from macro 'to_of_node'
                   is_of_node(__to_of_node_fwnode) ?                       \
                   ^
   drivers/of/property.c:920:19: note: Access to field 'full_name' results in a 
dereference of a null pointer
           return kbasename(to_of_node(fwnode)->full_name);
                            ^
   include/linux/of.h:161:2: note: expanded from macro 'to_of_node'
           ({                                                              \
           ^
   drivers/of/property.c:926:7: warning: Access to field 'parent' results in a 
dereference of a null pointer [clang-analyzer-core.NullDereference]
           if (!to_of_node(fwnode)->parent)
                ^
   include/linux/of.h:161:2: note: expanded from macro 'to_of_node'
           ({                                                              \
           ^
   drivers/of/property.c:926:7: note: '?' condition is false
           if (!to_of_node(fwnode)->parent)
                ^
   include/linux/of.h:164:3: note: expanded from macro 'to_of_node'
                   is_of_node(__to_of_node_fwnode) ?                       \
                   ^
   drivers/of/property.c:926:7: note: Access to field 'parent' results in a 
dereference of a null pointer
           if (!to_of_node(fwnode)->parent)
                ^
   include/linux/of.h:161:2: note: expanded from macro 'to_of_node'
           ({                                                              \
           ^
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   drivers/leds/uleds.c:150:4: warning: Value stored to 'retval' is never read 
[clang-analyzer-deadcode.DeadStores]
                           retval = copy_to_user(buffer, &udev->brightness,
                           ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/leds/uleds.c:150:4: note: Value stored to 'retval' is never read
                           retval = copy_to_user(buffer, &udev->brightness,
                           ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   fs/isofs/inode.c:1389:3: warning: Value stored to 'ret' is never read 
[clang-analyzer-deadcode.DeadStores]
                   ret = -EIO;
                   ^     ~~~~
   fs/isofs/inode.c:1389:3: note: Value stored to 'ret' is never read
                   ret = -EIO;
                   ^     ~~~~
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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 (1 in non-user code, 1 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.
   3 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 2 warnings (1 in non-user code, 1 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 (1 in non-user code, 1 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 (1 in non-user code, 1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   sound/soc/img/img-i2s-in.c:449:25: warning: The result of the left shift is 
undefined because the right operand is negative 
[clang-analyzer-core.UndefinedBinaryOperatorResult]
           max_i2s_chan_pow_2 = 1 << get_count_order(i2s->max_i2s_chan);
                                  ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/img/img-i2s-in.c:430:6: note: Assuming 'i2s' is non-null
           if (!i2s)
               ^~~~
   sound/soc/img/img-i2s-in.c:430:2: note: Taking false branch
           if (!i2s)
           ^
   sound/soc/img/img-i2s-in.c:438:2: note: Taking false branch
           if (IS_ERR(base))
           ^
   sound/soc/img/img-i2s-in.c:443:2: note: Taking false branch
           if (of_property_read_u32(pdev->dev.of_node, "img,i2s-channels",
           ^
   sound/soc/img/img-i2s-in.c:449:28: note: Calling 'get_count_order'
           max_i2s_chan_pow_2 = 1 << get_count_order(i2s->max_i2s_chan);
                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/bitops.h:194:6: note: Assuming 'count' is equal to 0
           if (count == 0)
               ^~~~~~~~~~
   include/linux/bitops.h:194:2: note: Taking true branch
           if (count == 0)
           ^
   include/linux/bitops.h:195:3: note: Returning the value -1
                   return -1;
                   ^~~~~~~~~
   sound/soc/img/img-i2s-in.c:449:28: note: Returning from 'get_count_order'
           max_i2s_chan_pow_2 = 1 << get_count_order(i2s->max_i2s_chan);
                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/img/img-i2s-in.c:449:25: note: The result of the left shift is 
undefined because the right operand is negative
           max_i2s_chan_pow_2 = 1 << get_count_order(i2s->max_i2s_chan);
                                  ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1 warning generated.
   sound/core/info.c:115:3: warning: Value stored to 'offset' is never read 
[clang-analyzer-deadcode.DeadStores]
                   offset = entry->c.ops->llseek(entry,
                   ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~
   sound/core/info.c:115:3: note: Value stored to 'offset' is never read
                   offset = entry->c.ops->llseek(entry,
                   ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   sound/soc/codecs/da7213.c:1427:3: warning: Value stored to 'indiv' is never 
read [clang-analyzer-deadcode.DeadStores]
                   indiv = DA7213_PLL_INDIV_9_TO_18_MHZ_VAL;
                   ^
   sound/soc/codecs/da7213.c:1427:3: note: Value stored to 'indiv' is never read
   Suppressed 1 warnings (1 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.

vim +/ret +807 drivers/media/platform/qcom/venus/venc.c

aaaa93eda64b00 Stanimir Varbanov 2017-06-15  540  
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  541  static int 
venc_set_properties(struct venus_inst *inst)
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  542  {
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  543        struct venc_controls 
*ctr = &inst->controls.enc;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  544        struct hfi_intra_period 
intra_period;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  545        struct hfi_framerate 
frate;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  546        struct hfi_bitrate 
brate;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  547        struct hfi_idr_period 
idrp;
2123cbd687ca0c Kelvin Lawson     2018-11-29  548        struct hfi_quantization 
quant;
2123cbd687ca0c Kelvin Lawson     2018-11-29  549        struct 
hfi_quantization_range quant_range;
002c22bd360e07 Dikshita Agarwal  2021-01-08  550        struct hfi_enable en;
f2fb3f02abe2e6 Dikshita Agarwal  2021-03-24  551        struct hfi_ltr_mode 
ltr_mode;
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  552        struct 
hfi_intra_refresh intra_refresh = {};
435c53c3698f41 Stanimir Varbanov 2020-09-08  553        u32 ptype, 
rate_control, bitrate;
a7a20f721e812a Stanimir Varbanov 2020-10-27  554        u32 profile, level;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  555        int ret;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  556  
1ad175952bbcaf Dikshita Agarwal  2021-04-02  557        ret = 
venus_helper_set_work_mode(inst);
01165b8484973d Stanimir Varbanov 2018-07-05  558        if (ret)
01165b8484973d Stanimir Varbanov 2018-07-05  559                return ret;
01165b8484973d Stanimir Varbanov 2018-07-05  560  
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  561        ptype = 
HFI_PROPERTY_CONFIG_FRAME_RATE;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  562        frate.buffer_type = 
HFI_BUFFER_OUTPUT;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  563        frate.framerate = 
inst->fps * (1 << 16);
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  564  
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  565        ret = 
hfi_session_set_property(inst, ptype, &frate);
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  566        if (ret)
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  567                return ret;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  568  
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  569        if 
(inst->fmt_cap->pixfmt == V4L2_PIX_FMT_H264) {
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  570                struct 
hfi_h264_vui_timing_info info;
a7837e11679e01 Loic Poulain      2017-11-24  571                struct 
hfi_h264_entropy_control entropy;
f7d12fea16cbcc Loic Poulain      2017-11-24  572                struct 
hfi_h264_db_control deblock;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  573  
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  574                ptype = 
HFI_PROPERTY_PARAM_VENC_H264_VUI_TIMING_INFO;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  575                info.enable = 1;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  576                
info.fixed_framerate = 1;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  577                info.time_scale 
= NSEC_PER_SEC;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  578  
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  579                ret = 
hfi_session_set_property(inst, ptype, &info);
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  580                if (ret)
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  581                        return 
ret;
a7837e11679e01 Loic Poulain      2017-11-24  582  
a7837e11679e01 Loic Poulain      2017-11-24  583                ptype = 
HFI_PROPERTY_PARAM_VENC_H264_ENTROPY_CONTROL;
a7837e11679e01 Loic Poulain      2017-11-24  584                
entropy.entropy_mode = venc_v4l2_to_hfi(
a7837e11679e01 Loic Poulain      2017-11-24  585                                
          V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE,
a7837e11679e01 Loic Poulain      2017-11-24  586                                
          ctr->h264_entropy_mode);
a7837e11679e01 Loic Poulain      2017-11-24  587                
entropy.cabac_model = HFI_H264_CABAC_MODEL_0;
a7837e11679e01 Loic Poulain      2017-11-24  588  
a7837e11679e01 Loic Poulain      2017-11-24  589                ret = 
hfi_session_set_property(inst, ptype, &entropy);
a7837e11679e01 Loic Poulain      2017-11-24  590                if (ret)
a7837e11679e01 Loic Poulain      2017-11-24  591                        return 
ret;
f7d12fea16cbcc Loic Poulain      2017-11-24  592  
f7d12fea16cbcc Loic Poulain      2017-11-24  593                ptype = 
HFI_PROPERTY_PARAM_VENC_H264_DEBLOCK_CONTROL;
f7d12fea16cbcc Loic Poulain      2017-11-24  594                deblock.mode = 
venc_v4l2_to_hfi(
f7d12fea16cbcc Loic Poulain      2017-11-24  595                                
      V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE,
f7d12fea16cbcc Loic Poulain      2017-11-24  596                                
      ctr->h264_loop_filter_mode);
f7d12fea16cbcc Loic Poulain      2017-11-24  597                
deblock.slice_alpha_offset = ctr->h264_loop_filter_alpha;
f7d12fea16cbcc Loic Poulain      2017-11-24  598                
deblock.slice_beta_offset = ctr->h264_loop_filter_beta;
f7d12fea16cbcc Loic Poulain      2017-11-24  599  
f7d12fea16cbcc Loic Poulain      2017-11-24  600                ret = 
hfi_session_set_property(inst, ptype, &deblock);
f7d12fea16cbcc Loic Poulain      2017-11-24  601                if (ret)
f7d12fea16cbcc Loic Poulain      2017-11-24  602                        return 
ret;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  603        }
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  604  
f0ddb4e9911665 Dikshita Agarwal  2020-12-16  605        if 
(inst->fmt_cap->pixfmt == V4L2_PIX_FMT_H264 ||
f0ddb4e9911665 Dikshita Agarwal  2020-12-16  606            
inst->fmt_cap->pixfmt == V4L2_PIX_FMT_HEVC) {
8fc58186bb41ff Stanimir Varbanov 2017-12-01  607                /* IDR 
periodicity, n:
8fc58186bb41ff Stanimir Varbanov 2017-12-01  608                 * n = 0 - only 
the first I-frame is IDR frame
8fc58186bb41ff Stanimir Varbanov 2017-12-01  609                 * n = 1 - all 
I-frames will be IDR frames
8fc58186bb41ff Stanimir Varbanov 2017-12-01  610                 * n > 1 - 
every n-th I-frame will be IDR frame
8fc58186bb41ff Stanimir Varbanov 2017-12-01  611                 */
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  612                ptype = 
HFI_PROPERTY_CONFIG_VENC_IDR_PERIOD;
8fc58186bb41ff Stanimir Varbanov 2017-12-01  613                idrp.idr_period 
= 0;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  614                ret = 
hfi_session_set_property(inst, ptype, &idrp);
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  615                if (ret)
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  616                        return 
ret;
f0ddb4e9911665 Dikshita Agarwal  2020-12-16  617        }
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  618  
9172652d72f8e9 Stanimir Varbanov 2020-04-23  619        if 
(inst->fmt_cap->pixfmt == V4L2_PIX_FMT_HEVC) {
9172652d72f8e9 Stanimir Varbanov 2020-04-23  620                struct 
hfi_hdr10_pq_sei hdr10;
9172652d72f8e9 Stanimir Varbanov 2020-04-23  621                unsigned int c;
9172652d72f8e9 Stanimir Varbanov 2020-04-23  622  
9172652d72f8e9 Stanimir Varbanov 2020-04-23  623                ptype = 
HFI_PROPERTY_PARAM_VENC_HDR10_PQ_SEI;
9172652d72f8e9 Stanimir Varbanov 2020-04-23  624  
9172652d72f8e9 Stanimir Varbanov 2020-04-23  625                for (c = 0; c < 
3; c++) {
9172652d72f8e9 Stanimir Varbanov 2020-04-23  626                        
hdr10.mastering.display_primaries_x[c] =
9172652d72f8e9 Stanimir Varbanov 2020-04-23  627                                
ctr->mastering.display_primaries_x[c];
9172652d72f8e9 Stanimir Varbanov 2020-04-23  628                        
hdr10.mastering.display_primaries_y[c] =
9172652d72f8e9 Stanimir Varbanov 2020-04-23  629                                
ctr->mastering.display_primaries_y[c];
9172652d72f8e9 Stanimir Varbanov 2020-04-23  630                }
9172652d72f8e9 Stanimir Varbanov 2020-04-23  631  
9172652d72f8e9 Stanimir Varbanov 2020-04-23  632                
hdr10.mastering.white_point_x = ctr->mastering.white_point_x;
9172652d72f8e9 Stanimir Varbanov 2020-04-23  633                
hdr10.mastering.white_point_y = ctr->mastering.white_point_y;
9172652d72f8e9 Stanimir Varbanov 2020-04-23  634                
hdr10.mastering.max_display_mastering_luminance =
9172652d72f8e9 Stanimir Varbanov 2020-04-23  635                        
ctr->mastering.max_display_mastering_luminance;
9172652d72f8e9 Stanimir Varbanov 2020-04-23  636                
hdr10.mastering.min_display_mastering_luminance =
9172652d72f8e9 Stanimir Varbanov 2020-04-23  637                        
ctr->mastering.min_display_mastering_luminance;
9172652d72f8e9 Stanimir Varbanov 2020-04-23  638  
9172652d72f8e9 Stanimir Varbanov 2020-04-23  639                
hdr10.cll.max_content_light = ctr->cll.max_content_light_level;
9172652d72f8e9 Stanimir Varbanov 2020-04-23  640                
hdr10.cll.max_pic_average_light =
9172652d72f8e9 Stanimir Varbanov 2020-04-23  641                        
ctr->cll.max_pic_average_light_level;
9172652d72f8e9 Stanimir Varbanov 2020-04-23  642  
9172652d72f8e9 Stanimir Varbanov 2020-04-23  643                ret = 
hfi_session_set_property(inst, ptype, &hdr10);
9172652d72f8e9 Stanimir Varbanov 2020-04-23  644                if (ret)
9172652d72f8e9 Stanimir Varbanov 2020-04-23  645                        return 
ret;
9172652d72f8e9 Stanimir Varbanov 2020-04-23  646        }
9172652d72f8e9 Stanimir Varbanov 2020-04-23  647  
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  648        if (ctr->num_b_frames) {
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  649                u32 
max_num_b_frames = NUM_B_FRAMES_MAX;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  650  
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  651                ptype = 
HFI_PROPERTY_PARAM_VENC_MAX_NUM_B_FRAMES;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  652                ret = 
hfi_session_set_property(inst, ptype, &max_num_b_frames);
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  653                if (ret)
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  654                        return 
ret;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  655        }
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  656  
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  657        ptype = 
HFI_PROPERTY_CONFIG_VENC_INTRA_PERIOD;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  658        intra_period.pframes = 
ctr->num_p_frames;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  659        intra_period.bframes = 
ctr->num_b_frames;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  660  
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  661        ret = 
hfi_session_set_property(inst, ptype, &intra_period);
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  662        if (ret)
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  663                return ret;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  664  
6f704b2fbbde0c Jeffrey Kardatzke 2020-02-22  665        if (!ctr->rc_enable)
6f704b2fbbde0c Jeffrey Kardatzke 2020-02-22  666                rate_control = 
HFI_RATE_CONTROL_OFF;
6f704b2fbbde0c Jeffrey Kardatzke 2020-02-22  667        else if 
(ctr->bitrate_mode == V4L2_MPEG_VIDEO_BITRATE_MODE_VBR)
94dfb1689c25ed Stanimir Varbanov 2020-07-05  668                rate_control = 
ctr->frame_skip_mode ? HFI_RATE_CONTROL_VBR_VFR :
94dfb1689c25ed Stanimir Varbanov 2020-07-05  669                                
                      HFI_RATE_CONTROL_VBR_CFR;
69ff4b2caa95e1 Stanimir Varbanov 2020-06-16  670        else if 
(ctr->bitrate_mode == V4L2_MPEG_VIDEO_BITRATE_MODE_CBR)
94dfb1689c25ed Stanimir Varbanov 2020-07-05  671                rate_control = 
ctr->frame_skip_mode ? HFI_RATE_CONTROL_CBR_VFR :
94dfb1689c25ed Stanimir Varbanov 2020-07-05  672                                
                      HFI_RATE_CONTROL_CBR_CFR;
69ff4b2caa95e1 Stanimir Varbanov 2020-06-16  673        else if 
(ctr->bitrate_mode == V4L2_MPEG_VIDEO_BITRATE_MODE_CQ)
69ff4b2caa95e1 Stanimir Varbanov 2020-06-16  674                rate_control = 
HFI_RATE_CONTROL_CQ;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  675  
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  676        ptype = 
HFI_PROPERTY_PARAM_VENC_RATE_CONTROL;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  677        ret = 
hfi_session_set_property(inst, ptype, &rate_control);
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  678        if (ret)
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  679                return ret;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  680  
69ff4b2caa95e1 Stanimir Varbanov 2020-06-16  681        if (rate_control == 
HFI_RATE_CONTROL_CQ && ctr->const_quality) {
69ff4b2caa95e1 Stanimir Varbanov 2020-06-16  682                struct 
hfi_heic_frame_quality quality = {};
69ff4b2caa95e1 Stanimir Varbanov 2020-06-16  683  
69ff4b2caa95e1 Stanimir Varbanov 2020-06-16  684                ptype = 
HFI_PROPERTY_CONFIG_HEIC_FRAME_QUALITY;
69ff4b2caa95e1 Stanimir Varbanov 2020-06-16  685                
quality.frame_quality = ctr->const_quality;
69ff4b2caa95e1 Stanimir Varbanov 2020-06-16  686                ret = 
hfi_session_set_property(inst, ptype, &quality);
69ff4b2caa95e1 Stanimir Varbanov 2020-06-16  687                if (ret)
69ff4b2caa95e1 Stanimir Varbanov 2020-06-16  688                        return 
ret;
69ff4b2caa95e1 Stanimir Varbanov 2020-06-16  689        }
69ff4b2caa95e1 Stanimir Varbanov 2020-06-16  690  
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  691        if (!ctr->bitrate)
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  692                bitrate = 64000;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  693        else
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  694                bitrate = 
ctr->bitrate;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  695  
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  696        ptype = 
HFI_PROPERTY_CONFIG_VENC_TARGET_BITRATE;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  697        brate.bitrate = bitrate;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  698        brate.layer_id = 0;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  699  
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  700        ret = 
hfi_session_set_property(inst, ptype, &brate);
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  701        if (ret)
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  702                return ret;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  703  
002c22bd360e07 Dikshita Agarwal  2021-01-08  704        if 
(inst->fmt_cap->pixfmt == V4L2_PIX_FMT_H264 ||
002c22bd360e07 Dikshita Agarwal  2021-01-08  705            
inst->fmt_cap->pixfmt == V4L2_PIX_FMT_HEVC) {
002c22bd360e07 Dikshita Agarwal  2021-01-08  706                ptype = 
HFI_PROPERTY_CONFIG_VENC_SYNC_FRAME_SEQUENCE_HEADER;
002c22bd360e07 Dikshita Agarwal  2021-01-08  707                if 
(ctr->header_mode == V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE)
002c22bd360e07 Dikshita Agarwal  2021-01-08  708                        
en.enable = 0;
002c22bd360e07 Dikshita Agarwal  2021-01-08  709                else
002c22bd360e07 Dikshita Agarwal  2021-01-08  710                        
en.enable = 1;
002c22bd360e07 Dikshita Agarwal  2021-01-08  711  
002c22bd360e07 Dikshita Agarwal  2021-01-08  712                ret = 
hfi_session_set_property(inst, ptype, &en);
002c22bd360e07 Dikshita Agarwal  2021-01-08  713                if (ret)
002c22bd360e07 Dikshita Agarwal  2021-01-08  714                        return 
ret;
002c22bd360e07 Dikshita Agarwal  2021-01-08  715        }
002c22bd360e07 Dikshita Agarwal  2021-01-08  716  
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  717        if (!ctr->bitrate_peak)
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  718                bitrate *= 2;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  719        else
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  720                bitrate = 
ctr->bitrate_peak;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  721  
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  722        ptype = 
HFI_PROPERTY_CONFIG_VENC_MAX_BITRATE;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  723        brate.bitrate = bitrate;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  724        brate.layer_id = 0;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  725  
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  726        ret = 
hfi_session_set_property(inst, ptype, &brate);
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  727        if (ret)
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  728                return ret;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  729  
2123cbd687ca0c Kelvin Lawson     2018-11-29  730        ptype = 
HFI_PROPERTY_PARAM_VENC_SESSION_QP;
74c895974fd356 Dikshita Agarwal  2020-12-24  731        if 
(inst->fmt_cap->pixfmt == V4L2_PIX_FMT_HEVC) {
74c895974fd356 Dikshita Agarwal  2020-12-24  732                quant.qp_i = 
ctr->hevc_i_qp;
74c895974fd356 Dikshita Agarwal  2020-12-24  733                quant.qp_p = 
ctr->hevc_p_qp;
74c895974fd356 Dikshita Agarwal  2020-12-24  734                quant.qp_b = 
ctr->hevc_b_qp;
74c895974fd356 Dikshita Agarwal  2020-12-24  735        } else {
2123cbd687ca0c Kelvin Lawson     2018-11-29  736                quant.qp_i = 
ctr->h264_i_qp;
2123cbd687ca0c Kelvin Lawson     2018-11-29  737                quant.qp_p = 
ctr->h264_p_qp;
2123cbd687ca0c Kelvin Lawson     2018-11-29  738                quant.qp_b = 
ctr->h264_b_qp;
74c895974fd356 Dikshita Agarwal  2020-12-24  739        }
2123cbd687ca0c Kelvin Lawson     2018-11-29  740        quant.layer_id = 0;
2123cbd687ca0c Kelvin Lawson     2018-11-29  741        ret = 
hfi_session_set_property(inst, ptype, &quant);
2123cbd687ca0c Kelvin Lawson     2018-11-29  742        if (ret)
2123cbd687ca0c Kelvin Lawson     2018-11-29  743                return ret;
2123cbd687ca0c Kelvin Lawson     2018-11-29  744  
2123cbd687ca0c Kelvin Lawson     2018-11-29  745        ptype = 
HFI_PROPERTY_PARAM_VENC_SESSION_QP_RANGE;
74c895974fd356 Dikshita Agarwal  2020-12-24  746        if 
(inst->fmt_cap->pixfmt == V4L2_PIX_FMT_HEVC) {
74c895974fd356 Dikshita Agarwal  2020-12-24  747                
quant_range.min_qp = ctr->hevc_min_qp;
74c895974fd356 Dikshita Agarwal  2020-12-24  748                
quant_range.max_qp = ctr->hevc_max_qp;
74c895974fd356 Dikshita Agarwal  2020-12-24  749        } else {
2123cbd687ca0c Kelvin Lawson     2018-11-29  750                
quant_range.min_qp = ctr->h264_min_qp;
2123cbd687ca0c Kelvin Lawson     2018-11-29  751                
quant_range.max_qp = ctr->h264_max_qp;
74c895974fd356 Dikshita Agarwal  2020-12-24  752        }
2123cbd687ca0c Kelvin Lawson     2018-11-29  753        quant_range.layer_id = 
0;
2123cbd687ca0c Kelvin Lawson     2018-11-29  754        ret = 
hfi_session_set_property(inst, ptype, &quant_range);
2123cbd687ca0c Kelvin Lawson     2018-11-29  755        if (ret)
2123cbd687ca0c Kelvin Lawson     2018-11-29  756                return ret;
2123cbd687ca0c Kelvin Lawson     2018-11-29  757  
f2fb3f02abe2e6 Dikshita Agarwal  2021-03-24  758        ptype = 
HFI_PROPERTY_PARAM_VENC_LTRMODE;
f2fb3f02abe2e6 Dikshita Agarwal  2021-03-24  759        ltr_mode.ltr_count = 
ctr->ltr_count;
f2fb3f02abe2e6 Dikshita Agarwal  2021-03-24  760        ltr_mode.ltr_mode = 
HFI_LTR_MODE_MANUAL;
f2fb3f02abe2e6 Dikshita Agarwal  2021-03-24  761        ltr_mode.trust_mode = 1;
f2fb3f02abe2e6 Dikshita Agarwal  2021-03-24  762        ret = 
hfi_session_set_property(inst, ptype, &ltr_mode);
f2fb3f02abe2e6 Dikshita Agarwal  2021-03-24  763        if (ret)
f2fb3f02abe2e6 Dikshita Agarwal  2021-03-24  764                return ret;
f2fb3f02abe2e6 Dikshita Agarwal  2021-03-24  765  
a7a20f721e812a Stanimir Varbanov 2020-10-27  766        switch 
(inst->hfi_codec) {
a7a20f721e812a Stanimir Varbanov 2020-10-27  767        case 
HFI_VIDEO_CODEC_H264:
a7a20f721e812a Stanimir Varbanov 2020-10-27  768                profile = 
ctr->profile.h264;
a7a20f721e812a Stanimir Varbanov 2020-10-27  769                level = 
ctr->level.h264;
a7a20f721e812a Stanimir Varbanov 2020-10-27  770                break;
a7a20f721e812a Stanimir Varbanov 2020-10-27  771        case 
HFI_VIDEO_CODEC_MPEG4:
a7a20f721e812a Stanimir Varbanov 2020-10-27  772                profile = 
ctr->profile.mpeg4;
a7a20f721e812a Stanimir Varbanov 2020-10-27  773                level = 
ctr->level.mpeg4;
a7a20f721e812a Stanimir Varbanov 2020-10-27  774                break;
a7a20f721e812a Stanimir Varbanov 2020-10-27  775        case 
HFI_VIDEO_CODEC_VP8:
a7a20f721e812a Stanimir Varbanov 2020-10-27  776                profile = 
ctr->profile.vp8;
a7a20f721e812a Stanimir Varbanov 2020-10-27  777                level = 0;
a7a20f721e812a Stanimir Varbanov 2020-10-27  778                break;
a7a20f721e812a Stanimir Varbanov 2020-10-27  779        case 
HFI_VIDEO_CODEC_VP9:
a7a20f721e812a Stanimir Varbanov 2020-10-27  780                profile = 
ctr->profile.vp9;
a7a20f721e812a Stanimir Varbanov 2020-10-27  781                level = 
ctr->level.vp9;
a7a20f721e812a Stanimir Varbanov 2020-10-27  782                break;
a7a20f721e812a Stanimir Varbanov 2020-10-27  783        case 
HFI_VIDEO_CODEC_HEVC:
a7a20f721e812a Stanimir Varbanov 2020-10-27  784                profile = 
ctr->profile.hevc;
a7a20f721e812a Stanimir Varbanov 2020-10-27  785                level = 
ctr->level.hevc;
a7a20f721e812a Stanimir Varbanov 2020-10-27  786                break;
a7a20f721e812a Stanimir Varbanov 2020-10-27  787        case 
HFI_VIDEO_CODEC_MPEG2:
a7a20f721e812a Stanimir Varbanov 2020-10-27  788        default:
a7a20f721e812a Stanimir Varbanov 2020-10-27  789                profile = 0;
a7a20f721e812a Stanimir Varbanov 2020-10-27  790                level = 0;
a7a20f721e812a Stanimir Varbanov 2020-10-27  791                break;
a7a20f721e812a Stanimir Varbanov 2020-10-27  792        }
a7a20f721e812a Stanimir Varbanov 2020-10-27  793  
a7a20f721e812a Stanimir Varbanov 2020-10-27  794        ret = 
venus_helper_set_profile_level(inst, profile, level);
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  795        if (ret)
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  796                return ret;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  797  
08c06797627935 Stanimir Varbanov 2020-11-24  798        if 
(inst->fmt_cap->pixfmt == V4L2_PIX_FMT_H264 ||
08c06797627935 Stanimir Varbanov 2020-11-24  799            
inst->fmt_cap->pixfmt == V4L2_PIX_FMT_HEVC) {
08c06797627935 Stanimir Varbanov 2020-11-24  800                struct 
hfi_enable en = {};
08c06797627935 Stanimir Varbanov 2020-11-24  801  
08c06797627935 Stanimir Varbanov 2020-11-24  802                ptype = 
HFI_PROPERTY_PARAM_VENC_H264_GENERATE_AUDNAL;
08c06797627935 Stanimir Varbanov 2020-11-24  803  
08c06797627935 Stanimir Varbanov 2020-11-24  804                if 
(ctr->aud_enable)
08c06797627935 Stanimir Varbanov 2020-11-24  805                        
en.enable = 1;
08c06797627935 Stanimir Varbanov 2020-11-24  806  
08c06797627935 Stanimir Varbanov 2020-11-24 @807                ret = 
hfi_session_set_property(inst, ptype, &en);
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  808        }
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  809  
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  810        if 
((inst->fmt_cap->pixfmt == V4L2_PIX_FMT_H264 ||
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  811             
inst->fmt_cap->pixfmt == V4L2_PIX_FMT_HEVC) &&
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  812            (rate_control == 
HFI_RATE_CONTROL_CBR_VFR ||
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  813             rate_control == 
HFI_RATE_CONTROL_CBR_CFR)) {
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  814                
intra_refresh.mode = HFI_INTRA_REFRESH_NONE;
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  815                
intra_refresh.cir_mbs = 0;
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  816  
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  817                if 
(ctr->intra_refresh_period) {
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  818                        u32 mbs;
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  819  
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  820                        mbs = 
ALIGN(inst->width, 16) * ALIGN(inst->height, 16);
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  821                        mbs /= 
16 * 16;
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  822                        if (mbs 
% ctr->intra_refresh_period)
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  823                                
mbs++;
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  824                        mbs /= 
ctr->intra_refresh_period;
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  825  
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  826                        
intra_refresh.mode = HFI_INTRA_REFRESH_RANDOM;
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  827                        
intra_refresh.cir_mbs = mbs;
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  828                }
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  829  
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  830                ptype = 
HFI_PROPERTY_PARAM_VENC_INTRA_REFRESH;
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  831  
f7a3d3dc5831df Stanimir Varbanov 2021-06-22  832                ret = 
hfi_session_set_property(inst, ptype, &intra_refresh);
08c06797627935 Stanimir Varbanov 2020-11-24  833                if (ret)
08c06797627935 Stanimir Varbanov 2020-11-24  834                        return 
ret;
08c06797627935 Stanimir Varbanov 2020-11-24  835        }
08c06797627935 Stanimir Varbanov 2020-11-24  836  
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  837        return 0;
aaaa93eda64b00 Stanimir Varbanov 2017-06-15  838  }
aaaa93eda64b00 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 <stanimir.varba...@linaro.org>
:::::: CC: Mauro Carvalho Chehab <mchehab+hua...@kernel.org>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-le...@lists.01.org

Reply via email to