* [linux-next:master 5493/10945] drivers/gpu/drm/msm/msm_drv.c:540:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
@ 2021-08-27 21:11 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-08-27 21:11 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 27118 bytes --]
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: Linux Memory Management List <linux-mm@kvack.org>
TO: Wei Li <liwei391@huawei.com>
CC: Rob Clark <robdclark@chromium.org>
CC: Abhinav Kumar <abhinavk@codeaurora.org>
CC: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 5e63226c72287bc6c6724d4fc7e157af0e3d7908
commit: bfddcfe155a2fe448fee0169c5cbc82c7fa73491 [5493/10945] drm/msm: Fix error return code in msm_drm_init()
:::::: branch date: 10 hours ago
:::::: commit date: 3 weeks ago
config: arm-randconfig-c002-20210826 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project ea08c4cd1c0869ec5024a8bb3f5cdf06ab03ae83)
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/next/linux-next.git/commit/?id=bfddcfe155a2fe448fee0169c5cbc82c7fa73491
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout bfddcfe155a2fe448fee0169c5cbc82c7fa73491
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
9 warnings generated.
Suppressed 9 warnings (9 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
9 warnings generated.
Suppressed 9 warnings (9 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
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.
9 warnings generated.
Suppressed 9 warnings (9 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
9 warnings generated.
Suppressed 9 warnings (9 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
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.
9 warnings generated.
drivers/gpu/drm/meson/meson_venc.c:136:2: warning: Excessive padding in 'struct meson_hdmi_venc_mode::(unnamed at drivers/gpu/drm/meson/meson_venc.c:136:2)' (39 padding bytes, where 3 is optimal).
Optimal fields order:
dvi_settings,
video_mode,
video_mode_adv,
video_prog_mode,
video_sync_mode,
video_yc_dly,
video_rgb_ctrl,
video_filt_ctrl,
video_ofld_voav_ofst,
yfp1_htime,
yfp2_htime,
max_pxcnt,
hspuls_begin,
hspuls_end,
hspuls_switch,
vspuls_begin,
vspuls_end,
vspuls_bline,
vspuls_eline,
eqpuls_begin,
eqpuls_end,
eqpuls_bline,
eqpuls_eline,
havon_begin,
havon_end,
vavon_bline,
vavon_eline,
hso_begin,
hso_end,
vso_begin,
vso_end,
vso_bline,
vso_eline,
sy_val,
sy2_val,
max_lncnt,
video_prog_mode_present,
video_sync_mode_present,
video_yc_dly_present,
video_rgb_ctrl_present,
video_filt_ctrl_present,
video_ofld_voav_ofst_present,
eqpuls_begin_present,
eqpuls_end_present,
eqpuls_bline_present,
eqpuls_eline_present,
vso_eline_present,
sy_val_present,
sy2_val_present,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct {
^~~~~~~~
drivers/gpu/drm/meson/meson_venc.c:136:2: note: Excessive padding in 'struct meson_hdmi_venc_mode::(unnamed at drivers/gpu/drm/meson/meson_venc.c:136:2)' (39 padding bytes, where 3 is optimal). Optimal fields order: dvi_settings, video_mode, video_mode_adv, video_prog_mode, video_sync_mode, video_yc_dly, video_rgb_ctrl, video_filt_ctrl, video_ofld_voav_ofst, yfp1_htime, yfp2_htime, max_pxcnt, hspuls_begin, hspuls_end, hspuls_switch, vspuls_begin, vspuls_end, vspuls_bline, vspuls_eline, eqpuls_begin, eqpuls_end, eqpuls_bline, eqpuls_eline, havon_begin, havon_end, vavon_bline, vavon_eline, hso_begin, hso_end, vso_begin, vso_end, vso_bline, vso_eline, sy_val, sy2_val, max_lncnt, video_prog_mode_present, video_sync_mode_present, video_yc_dly_present, video_rgb_ctrl_present, video_filt_ctrl_present, video_ofld_voav_ofst_present, eqpuls_begin_present, eqpuls_end_present, eqpuls_bline_present, eqpuls_eline_present, vso_eline_present, sy_val_present, sy2_val_present, consider reordering the fields or adding explicit padding members
struct {
^~~~~~~~
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
9 warnings generated.
Suppressed 9 warnings (9 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
8 warnings generated.
Suppressed 8 warnings (8 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
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.
9 warnings generated.
Suppressed 9 warnings (9 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
12 warnings generated.
>> drivers/gpu/drm/msm/msm_drv.c:540:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = PTR_ERR(priv->event_thread[i].worker);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.c:540:4: note: Value stored to 'ret' is never read
ret = PTR_ERR(priv->event_thread[i].worker);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.c:1267:8: warning: 1st function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
ret = add_components_mdp(mdp_dev, matchptr);
^
drivers/gpu/drm/msm/msm_drv.c:1328:6: note: Assuming the condition is true
if (get_mdp_ver(pdev)) {
^~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.c:1328:2: note: Taking true branch
if (get_mdp_ver(pdev)) {
^
drivers/gpu/drm/msm/msm_drv.c:1329:9: note: Calling 'add_display_components'
ret = add_display_components(pdev, &match);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.c:1229:2: note: 'mdp_dev' declared without an initial value
struct device *mdp_dev;
^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_drv.c:1239:2: note: 'Default' branch taken. Execution continues on line 1267
switch (get_mdp_ver(pdev)) {
^
drivers/gpu/drm/msm/msm_drv.c:1267:8: note: 1st function call argument is an uninitialized value
ret = add_components_mdp(mdp_dev, matchptr);
^ ~~~~~~~
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
9 warnings generated.
Suppressed 9 warnings (9 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
9 warnings generated.
Suppressed 9 warnings (9 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
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.
9 warnings generated.
Suppressed 9 warnings (9 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
9 warnings generated.
Suppressed 9 warnings (9 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c:355:27: warning: Value stored to 'mdp5_state' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct mdp5_plane_state *mdp5_state = to_mdp5_plane_state(new_plane_state);
^~~~~~~~~~
drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c:355:27: note: Value stored to 'mdp5_state' during its initialization is never read
struct mdp5_plane_state *mdp5_state = to_mdp5_plane_state(new_plane_state);
^~~~~~~~~~
Suppressed 9 warnings (9 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
56 warnings generated.
drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c:158:16: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
blkcfg |= (n << (8 * i));
~ ^
drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c:136:7: note: Assuming 'rev' is <= 0
if ((rev > 0) && (format->chroma_sample > CHROMA_FULL)) {
^~~~~~~
drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c:136:16: note: Left side of '&&' is false
if ((rev > 0) && (format->chroma_sample > CHROMA_FULL)) {
^
drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c:146:14: note: Assuming 'i' is < 'nplanes'
for (i = 0; i < nplanes; i++) {
^~~~~~~~~~~
drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c:146:2: note: Loop condition is true. Entering loop body
for (i = 0; i < nplanes; i++) {
^
drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c:150:33: note: 'i' is 0
fetch_stride = width * cpp / (i ? hsub : 1);
^
drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c:150:33: note: '?' condition is false
drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c:155:7: note: Assuming 'rev' is equal to 0
if (rev == 0)
^~~~~~~~
drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c:155:3: note: Taking true branch
if (rev == 0)
^
drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c:156:8: note: '?' condition is false
n = roundup_pow_of_two(n);
^
include/linux/log2.h:176:2: note: expanded from macro 'roundup_pow_of_two'
__builtin_constant_p(n) ? ( \
^
drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c:156:8: note: Calling '__roundup_pow_of_two'
n = roundup_pow_of_two(n);
^
include/linux/log2.h:180:2: note: expanded from macro 'roundup_pow_of_two'
__roundup_pow_of_two(n) \
^~~~~~~~~~~~~~~~~~~~~~~
include/linux/log2.h:57:2: note: Returning the value 2147483648
return 1UL << fls_long(n - 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c:156:8: note: Returning from '__roundup_pow_of_two'
vim +/ret +540 drivers/gpu/drm/msm/msm_drv.c
5bf9c0b614542d Rob Clark 2015-03-03 418
70a59dd82959f8 Daniel Vetter 2020-11-04 419 static int msm_drm_init(struct device *dev, const struct drm_driver *drv)
5bf9c0b614542d Rob Clark 2015-03-03 420 {
2b669875332fbd Archit Taneja 2016-05-02 421 struct platform_device *pdev = to_platform_device(dev);
2b669875332fbd Archit Taneja 2016-05-02 422 struct drm_device *ddev;
5bf9c0b614542d Rob Clark 2015-03-03 423 struct msm_drm_private *priv;
5bf9c0b614542d Rob Clark 2015-03-03 424 struct msm_kms *kms;
bc3220be22577e Rajesh Yadav 2018-06-21 425 struct msm_mdss *mdss;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 426 int ret, i;
5bf9c0b614542d Rob Clark 2015-03-03 427
2b669875332fbd Archit Taneja 2016-05-02 428 ddev = drm_dev_alloc(drv, dev);
0f2886057be322 Tom Gundersen 2016-09-21 429 if (IS_ERR(ddev)) {
6a41da17e87dee Mamta Shukla 2018-10-20 430 DRM_DEV_ERROR(dev, "failed to allocate drm_device\n");
0f2886057be322 Tom Gundersen 2016-09-21 431 return PTR_ERR(ddev);
2b669875332fbd Archit Taneja 2016-05-02 432 }
2b669875332fbd Archit Taneja 2016-05-02 433
2b669875332fbd Archit Taneja 2016-05-02 434 platform_set_drvdata(pdev, ddev);
2b669875332fbd Archit Taneja 2016-05-02 435
5bf9c0b614542d Rob Clark 2015-03-03 436 priv = kzalloc(sizeof(*priv), GFP_KERNEL);
5bf9c0b614542d Rob Clark 2015-03-03 437 if (!priv) {
77050c3febb180 Jeykumar Sankaran 2018-06-27 438 ret = -ENOMEM;
4d8dc2dfae2c48 Thomas Zimmermann 2018-09-26 439 goto err_put_drm_dev;
5bf9c0b614542d Rob Clark 2015-03-03 440 }
5bf9c0b614542d Rob Clark 2015-03-03 441
2b669875332fbd Archit Taneja 2016-05-02 442 ddev->dev_private = priv;
68209390f11603 Rob Clark 2016-05-17 443 priv->dev = ddev;
5bf9c0b614542d Rob Clark 2015-03-03 444
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 445 switch (get_mdp_ver(pdev)) {
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 446 case KMS_MDP5:
bc3220be22577e Rajesh Yadav 2018-06-21 447 ret = mdp5_mdss_init(ddev);
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 448 break;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 449 case KMS_DPU:
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 450 ret = dpu_mdss_init(ddev);
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 451 break;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 452 default:
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 453 ret = 0;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 454 break;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 455 }
77050c3febb180 Jeykumar Sankaran 2018-06-27 456 if (ret)
77050c3febb180 Jeykumar Sankaran 2018-06-27 457 goto err_free_priv;
0a6030d224d3a4 Archit Taneja 2016-05-08 458
bc3220be22577e Rajesh Yadav 2018-06-21 459 mdss = priv->mdss;
bc3220be22577e Rajesh Yadav 2018-06-21 460
5bf9c0b614542d Rob Clark 2015-03-03 461 priv->wq = alloc_ordered_workqueue("msm", 0);
1d2fa58e0dda33 Samuel Iglesias Gonsalvez 2021-06-07 462 priv->hangcheck_period = DRM_MSM_HANGCHECK_DEFAULT_PERIOD;
5bf9c0b614542d Rob Clark 2015-03-03 463
6ed0897cd800c3 Rob Clark 2021-03-31 464 INIT_LIST_HEAD(&priv->objects);
6ed0897cd800c3 Rob Clark 2021-03-31 465 mutex_init(&priv->obj_lock);
6ed0897cd800c3 Rob Clark 2021-03-31 466
3edfa30f2340e6 Rob Clark 2020-11-16 467 INIT_LIST_HEAD(&priv->inactive_willneed);
3edfa30f2340e6 Rob Clark 2020-11-16 468 INIT_LIST_HEAD(&priv->inactive_dontneed);
64fcbde772c72a Rob Clark 2021-04-05 469 INIT_LIST_HEAD(&priv->inactive_unpinned);
d984457b31c4c5 Rob Clark 2020-10-23 470 mutex_init(&priv->mm_lock);
48e7f18392c66f Kristian H. Kristensen 2019-03-20 471
d984457b31c4c5 Rob Clark 2020-10-23 472 /* Teach lockdep about lock ordering wrt. shrinker: */
d984457b31c4c5 Rob Clark 2020-10-23 473 fs_reclaim_acquire(GFP_KERNEL);
d984457b31c4c5 Rob Clark 2020-10-23 474 might_lock(&priv->mm_lock);
d984457b31c4c5 Rob Clark 2020-10-23 475 fs_reclaim_release(GFP_KERNEL);
5bf9c0b614542d Rob Clark 2015-03-03 476
2b669875332fbd Archit Taneja 2016-05-02 477 drm_mode_config_init(ddev);
060530f1ea6740 Rob Clark 2014-03-03 478
d863f0c7b53628 Craig Tatlor 2020-12-30 479 ret = msm_init_vram(ddev);
77050c3febb180 Jeykumar Sankaran 2018-06-27 480 if (ret)
77050c3febb180 Jeykumar Sankaran 2018-06-27 481 goto err_destroy_mdss;
060530f1ea6740 Rob Clark 2014-03-03 482
d863f0c7b53628 Craig Tatlor 2020-12-30 483 /* Bind all our sub-components: */
d863f0c7b53628 Craig Tatlor 2020-12-30 484 ret = component_bind_all(dev, ddev);
13f15565f7887a Rob Clark 2015-05-07 485 if (ret)
d863f0c7b53628 Craig Tatlor 2020-12-30 486 goto err_destroy_mdss;
13f15565f7887a Rob Clark 2015-05-07 487
d5653a994a665c Robin Murphy 2020-09-03 488 dma_set_max_seg_size(dev, UINT_MAX);
db735fc4036bbe Sean Paul 2020-01-21 489
68209390f11603 Rob Clark 2016-05-17 490 msm_gem_shrinker_init(ddev);
68209390f11603 Rob Clark 2016-05-17 491
06c0dd96bfbba8 Rob Clark 2013-11-30 492 switch (get_mdp_ver(pdev)) {
aaded2e3a1f6b7 Jeykumar Sankaran 2018-06-27 493 case KMS_MDP4:
2b669875332fbd Archit Taneja 2016-05-02 494 kms = mdp4_kms_init(ddev);
0a6030d224d3a4 Archit Taneja 2016-05-08 495 priv->kms = kms;
06c0dd96bfbba8 Rob Clark 2013-11-30 496 break;
aaded2e3a1f6b7 Jeykumar Sankaran 2018-06-27 497 case KMS_MDP5:
392ae6e0efa5e2 Archit Taneja 2016-06-14 498 kms = mdp5_kms_init(ddev);
06c0dd96bfbba8 Rob Clark 2013-11-30 499 break;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 500 case KMS_DPU:
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 501 kms = dpu_kms_init(ddev);
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 502 priv->kms = kms;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 503 break;
06c0dd96bfbba8 Rob Clark 2013-11-30 504 default:
e6f6d63ed14c20 Jonathan Marek 2018-12-04 505 /* valid only for the dummy headless case, where of_node=NULL */
e6f6d63ed14c20 Jonathan Marek 2018-12-04 506 WARN_ON(dev->of_node);
e6f6d63ed14c20 Jonathan Marek 2018-12-04 507 kms = NULL;
06c0dd96bfbba8 Rob Clark 2013-11-30 508 break;
06c0dd96bfbba8 Rob Clark 2013-11-30 509 }
06c0dd96bfbba8 Rob Clark 2013-11-30 510
c8afe684c95cd1 Rob Clark 2013-06-26 511 if (IS_ERR(kms)) {
6a41da17e87dee Mamta Shukla 2018-10-20 512 DRM_DEV_ERROR(dev, "failed to load kms\n");
e4826a94c74446 Thomas Meyer 2013-09-16 513 ret = PTR_ERR(kms);
b2ccfdf1dde588 Jonathan Marek 2018-11-21 514 priv->kms = NULL;
77050c3febb180 Jeykumar Sankaran 2018-06-27 515 goto err_msm_uninit;
c8afe684c95cd1 Rob Clark 2013-06-26 516 }
c8afe684c95cd1 Rob Clark 2013-06-26 517
bb676df12b5e81 Jeykumar Sankaran 2018-06-11 518 /* Enable normalization of plane zpos */
bb676df12b5e81 Jeykumar Sankaran 2018-06-11 519 ddev->mode_config.normalize_zpos = true;
bb676df12b5e81 Jeykumar Sankaran 2018-06-11 520
c8afe684c95cd1 Rob Clark 2013-06-26 521 if (kms) {
2d99ced787e3d0 Rob Clark 2019-08-29 522 kms->dev = ddev;
c8afe684c95cd1 Rob Clark 2013-06-26 523 ret = kms->funcs->hw_init(kms);
c8afe684c95cd1 Rob Clark 2013-06-26 524 if (ret) {
6a41da17e87dee Mamta Shukla 2018-10-20 525 DRM_DEV_ERROR(dev, "kms hw init failed: %d\n", ret);
77050c3febb180 Jeykumar Sankaran 2018-06-27 526 goto err_msm_uninit;
c8afe684c95cd1 Rob Clark 2013-06-26 527 }
c8afe684c95cd1 Rob Clark 2013-06-26 528 }
c8afe684c95cd1 Rob Clark 2013-06-26 529
2b669875332fbd Archit Taneja 2016-05-02 530 ddev->mode_config.funcs = &mode_config_funcs;
d14659f5de7d28 Sean Paul 2018-02-28 531 ddev->mode_config.helper_private = &mode_config_helper_funcs;
c8afe684c95cd1 Rob Clark 2013-06-26 532
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 533 for (i = 0; i < priv->num_crtcs; i++) {
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 534 /* initialize event thread */
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 535 priv->event_thread[i].crtc_id = priv->crtcs[i]->base.id;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 536 priv->event_thread[i].dev = ddev;
1041dee2178ffd Bernard 2020-07-21 537 priv->event_thread[i].worker = kthread_create_worker(0,
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 538 "crtc_event:%d", priv->event_thread[i].crtc_id);
1041dee2178ffd Bernard 2020-07-21 539 if (IS_ERR(priv->event_thread[i].worker)) {
a1c9b1e3bdd6d8 Zhen Lei 2021-05-08 @540 ret = PTR_ERR(priv->event_thread[i].worker);
4971f090aa7f6c Linus Torvalds 2018-12-25 541 DRM_DEV_ERROR(dev, "failed to create crtc_event kthread\n");
bfddcfe155a2fe Wei Li 2021-07-05 542 ret = PTR_ERR(priv->event_thread[i].worker);
7f9743abaa79d3 Jeykumar Sankaran 2018-10-10 543 goto err_msm_uninit;
7f9743abaa79d3 Jeykumar Sankaran 2018-10-10 544 }
7f9743abaa79d3 Jeykumar Sankaran 2018-10-10 545
6d2b84a4e5b954 Linus Torvalds 2020-08-06 546 sched_set_fifo(priv->event_thread[i].worker->task);
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 547 }
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 548
2b669875332fbd Archit Taneja 2016-05-02 549 ret = drm_vblank_init(ddev, priv->num_crtcs);
c8afe684c95cd1 Rob Clark 2013-06-26 550 if (ret < 0) {
6a41da17e87dee Mamta Shukla 2018-10-20 551 DRM_DEV_ERROR(dev, "failed to initialize vblank\n");
77050c3febb180 Jeykumar Sankaran 2018-06-27 552 goto err_msm_uninit;
c8afe684c95cd1 Rob Clark 2013-06-26 553 }
c8afe684c95cd1 Rob Clark 2013-06-26 554
a2b3a5571f386e Archit Taneja 2016-05-18 555 if (kms) {
2b669875332fbd Archit Taneja 2016-05-02 556 pm_runtime_get_sync(dev);
a2b3a5571f386e Archit Taneja 2016-05-18 557 ret = drm_irq_install(ddev, kms->irq);
2b669875332fbd Archit Taneja 2016-05-02 558 pm_runtime_put_sync(dev);
c8afe684c95cd1 Rob Clark 2013-06-26 559 if (ret < 0) {
6a41da17e87dee Mamta Shukla 2018-10-20 560 DRM_DEV_ERROR(dev, "failed to install IRQ handler\n");
77050c3febb180 Jeykumar Sankaran 2018-06-27 561 goto err_msm_uninit;
c8afe684c95cd1 Rob Clark 2013-06-26 562 }
a2b3a5571f386e Archit Taneja 2016-05-18 563 }
c8afe684c95cd1 Rob Clark 2013-06-26 564
2b669875332fbd Archit Taneja 2016-05-02 565 ret = drm_dev_register(ddev, 0);
2b669875332fbd Archit Taneja 2016-05-02 566 if (ret)
77050c3febb180 Jeykumar Sankaran 2018-06-27 567 goto err_msm_uninit;
2b669875332fbd Archit Taneja 2016-05-02 568
98659487b845c0 Abhinav Kumar 2021-04-16 569 ret = msm_disp_snapshot_init(ddev);
98659487b845c0 Abhinav Kumar 2021-04-16 570 if (ret)
98659487b845c0 Abhinav Kumar 2021-04-16 571 DRM_DEV_ERROR(dev, "msm_disp_snapshot_init failed ret = %d\n", ret);
98659487b845c0 Abhinav Kumar 2021-04-16 572
2b669875332fbd Archit Taneja 2016-05-02 573 drm_mode_config_reset(ddev);
cf3a7e4ce08e68 Rob Clark 2014-11-08 574
:::::: The code@line 540 was first introduced by commit
:::::: a1c9b1e3bdd6d8dc43c18699772fb6cf4497d45a drm/msm: Fix error return code in msm_drm_init()
:::::: TO: Zhen Lei <thunder.leizhen@huawei.com>
:::::: CC: Rob Clark <robdclark@chromium.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 31442 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-08-27 21:11 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-27 21:11 [linux-next:master 5493/10945] drivers/gpu/drm/msm/msm_drv.c:540:4: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.