From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: [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]
Date: Sat, 28 Aug 2021 05:11:11 +0800 [thread overview]
Message-ID: <202108280505.po4NCzi1-lkp@intel.com> (raw)
[-- 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 --]
reply other threads:[~2021-08-27 21:11 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202108280505.po4NCzi1-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.