:::::: :::::: Manual check reason: "low confidence bisect report" :::::: Manual check reason: "low confidence static check warning: drivers/gpu/drm/tegra/gr3d.c:396:25: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]" ::::::
BCC: [email protected] CC: [email protected] CC: [email protected] TO: Dmitry Osipenko <[email protected]> CC: Thierry Reding <[email protected]> CC: Ulf Hansson <[email protected]> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 568035b01cfb107af8d2e4bd2fb9aea22cf5b868 commit: 2421b20d659069ed6435b27a919e627b74c27e7e drm/tegra: gr3d: Support generic power domain and runtime PM date: 8 months ago :::::: branch date: 12 hours ago :::::: commit date: 8 months ago config: arm-randconfig-c002-20220808 (https://download.01.org/0day-ci/archive/20220815/[email protected]/config) compiler: arm-linux-gnueabi-gcc (GCC) 12.1.0 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 # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2421b20d659069ed6435b27a919e627b74c27e7e git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 2421b20d659069ed6435b27a919e627b74c27e7e # save the config file COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross ARCH=arm KBUILD_USERCFLAGS='-fanalyzer -Wno-error' If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <[email protected]> gcc-analyzer warnings: (new ones prefixed by >>) drivers/gpu/drm/tegra/gr3d.c: In function 'gr3d_init_power': >> drivers/gpu/drm/tegra/gr3d.c:396:25: warning: use of uninitialized value >> '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 396 | struct device **opp_virt_devs, *pd_dev; | ^~~~~~~~~~~~~ 'gr3d_init_power': event 1 | | 396 | struct device **opp_virt_devs, *pd_dev; | | ^~~~~~~~~~~~~ | | | | | (1) use of uninitialized value '<unknown>' here | vim +396 drivers/gpu/drm/tegra/gr3d.c 5f60ed0d840d53 Thierry Reding 2013-02-28 391 2421b20d659069 Dmitry Osipenko 2021-12-01 392 static int gr3d_init_power(struct device *dev, struct gr3d *gr3d) 2421b20d659069 Dmitry Osipenko 2021-12-01 393 { 2421b20d659069 Dmitry Osipenko 2021-12-01 394 static const char * const opp_genpd_names[] = { "3d0", "3d1", NULL }; 2421b20d659069 Dmitry Osipenko 2021-12-01 395 const u32 link_flags = DL_FLAG_STATELESS | DL_FLAG_PM_RUNTIME; 2421b20d659069 Dmitry Osipenko 2021-12-01 @396 struct device **opp_virt_devs, *pd_dev; 2421b20d659069 Dmitry Osipenko 2021-12-01 397 struct device_link *link; 2421b20d659069 Dmitry Osipenko 2021-12-01 398 unsigned int i; 2421b20d659069 Dmitry Osipenko 2021-12-01 399 int err; 2421b20d659069 Dmitry Osipenko 2021-12-01 400 2421b20d659069 Dmitry Osipenko 2021-12-01 401 err = of_count_phandle_with_args(dev->of_node, "power-domains", 2421b20d659069 Dmitry Osipenko 2021-12-01 402 "#power-domain-cells"); 5f60ed0d840d53 Thierry Reding 2013-02-28 403 if (err < 0) { 2421b20d659069 Dmitry Osipenko 2021-12-01 404 if (err != -ENOENT) 2421b20d659069 Dmitry Osipenko 2021-12-01 405 return err; 2421b20d659069 Dmitry Osipenko 2021-12-01 406 2421b20d659069 Dmitry Osipenko 2021-12-01 407 /* 2421b20d659069 Dmitry Osipenko 2021-12-01 408 * Older device-trees don't use GENPD. In this case we should 2421b20d659069 Dmitry Osipenko 2021-12-01 409 * toggle power domain manually. 2421b20d659069 Dmitry Osipenko 2021-12-01 410 */ 2421b20d659069 Dmitry Osipenko 2021-12-01 411 err = gr3d_power_up_legacy_domain(dev, "3d", 2421b20d659069 Dmitry Osipenko 2021-12-01 412 TEGRA_POWERGATE_3D); 2421b20d659069 Dmitry Osipenko 2021-12-01 413 if (err) 2421b20d659069 Dmitry Osipenko 2021-12-01 414 return err; 2421b20d659069 Dmitry Osipenko 2021-12-01 415 2421b20d659069 Dmitry Osipenko 2021-12-01 416 err = gr3d_power_up_legacy_domain(dev, "3d2", 2421b20d659069 Dmitry Osipenko 2021-12-01 417 TEGRA_POWERGATE_3D1); 2421b20d659069 Dmitry Osipenko 2021-12-01 418 if (err) 2421b20d659069 Dmitry Osipenko 2021-12-01 419 return err; 2421b20d659069 Dmitry Osipenko 2021-12-01 420 2421b20d659069 Dmitry Osipenko 2021-12-01 421 return 0; 2421b20d659069 Dmitry Osipenko 2021-12-01 422 } 2421b20d659069 Dmitry Osipenko 2021-12-01 423 2421b20d659069 Dmitry Osipenko 2021-12-01 424 /* 2421b20d659069 Dmitry Osipenko 2021-12-01 425 * The PM domain core automatically attaches a single power domain, 2421b20d659069 Dmitry Osipenko 2021-12-01 426 * otherwise it skips attaching completely. We have a single domain 2421b20d659069 Dmitry Osipenko 2021-12-01 427 * on Tegra20 and two domains on Tegra30+. 2421b20d659069 Dmitry Osipenko 2021-12-01 428 */ 2421b20d659069 Dmitry Osipenko 2021-12-01 429 if (dev->pm_domain) 2421b20d659069 Dmitry Osipenko 2021-12-01 430 return 0; 2421b20d659069 Dmitry Osipenko 2021-12-01 431 2421b20d659069 Dmitry Osipenko 2021-12-01 432 err = devm_pm_opp_attach_genpd(dev, opp_genpd_names, &opp_virt_devs); 2421b20d659069 Dmitry Osipenko 2021-12-01 433 if (err) 2421b20d659069 Dmitry Osipenko 2021-12-01 434 return err; 2421b20d659069 Dmitry Osipenko 2021-12-01 435 2421b20d659069 Dmitry Osipenko 2021-12-01 436 for (i = 0; opp_genpd_names[i]; i++) { 2421b20d659069 Dmitry Osipenko 2021-12-01 437 pd_dev = opp_virt_devs[i]; 2421b20d659069 Dmitry Osipenko 2021-12-01 438 if (!pd_dev) { 2421b20d659069 Dmitry Osipenko 2021-12-01 439 dev_err(dev, "failed to get %s power domain\n", 2421b20d659069 Dmitry Osipenko 2021-12-01 440 opp_genpd_names[i]); 2421b20d659069 Dmitry Osipenko 2021-12-01 441 return -EINVAL; 2421b20d659069 Dmitry Osipenko 2021-12-01 442 } 2421b20d659069 Dmitry Osipenko 2021-12-01 443 2421b20d659069 Dmitry Osipenko 2021-12-01 444 link = device_link_add(dev, pd_dev, link_flags); 2421b20d659069 Dmitry Osipenko 2021-12-01 445 if (!link) { 2421b20d659069 Dmitry Osipenko 2021-12-01 446 dev_err(dev, "failed to link to %s\n", dev_name(pd_dev)); 2421b20d659069 Dmitry Osipenko 2021-12-01 447 return -EINVAL; 2421b20d659069 Dmitry Osipenko 2021-12-01 448 } 2421b20d659069 Dmitry Osipenko 2021-12-01 449 2421b20d659069 Dmitry Osipenko 2021-12-01 450 err = devm_add_action_or_reset(dev, gr3d_del_link, link); 2421b20d659069 Dmitry Osipenko 2021-12-01 451 if (err) 5f60ed0d840d53 Thierry Reding 2013-02-28 452 return err; 5f60ed0d840d53 Thierry Reding 2013-02-28 453 } 5f60ed0d840d53 Thierry Reding 2013-02-28 454 2421b20d659069 Dmitry Osipenko 2021-12-01 455 return 0; 2421b20d659069 Dmitry Osipenko 2021-12-01 456 } 2421b20d659069 Dmitry Osipenko 2021-12-01 457 -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
