All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.