CC: [email protected]
CC: [email protected]
TO: Simon Ser <[email protected]>
CC: Alex Deucher <[email protected]>
CC: Nicholas Kazlauskas <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   a4849f6000e29235a2707f22e39da6b897bb9543
commit: 03a663673063d04c2358be754a08e62a465bb8f0 drm/amd/display: use FB pitch 
to fill dc_cursor_attributes
date:   12 months ago
:::::: branch date: 7 hours ago
:::::: commit date: 12 months ago
config: x86_64-randconfig-m001-20211116 
(https://download.01.org/0day-ci/archive/20211126/[email protected]/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

New smatch warnings:
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:7441 
handle_cursor_update() error: we previously assumed 'afb' could be null (see 
line 7400)

Old smatch warnings:
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:1193 
amdgpu_dm_fini() warn: variable dereferenced before check 'adev->dm.dc' (see 
line 1182)
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:5245 
create_stream_for_sink() error: we previously assumed 'aconnector->dc_sink' 
could be null (see line 5120)
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:9327 
amdgpu_dm_atomic_check() warn: variable dereferenced before check 
'new_crtc_state' (see line 9310)

vim +/afb +7441 drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c

2a8f6ccb665c6ac Harry Wentland      2017-07-31  7391  
3ee6b26b78e4782 Alex Deucher        2017-10-10  7392  static void 
handle_cursor_update(struct drm_plane *plane,
e7b07ceef2a650e Harry Wentland      2017-08-10  7393                            
 struct drm_plane_state *old_plane_state)
e7b07ceef2a650e Harry Wentland      2017-08-10  7394  {
1348969ab68cb86 Luben Tuikov        2020-08-24  7395    struct amdgpu_device 
*adev = drm_to_adev(plane->dev);
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7396    struct 
amdgpu_framebuffer *afb = to_amdgpu_framebuffer(plane->state->fb);
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7397    struct drm_crtc *crtc = 
afb ? plane->state->crtc : old_plane_state->crtc;
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7398    struct dm_crtc_state 
*crtc_state = crtc ? to_dm_crtc_state(crtc->state) : NULL;
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7399    struct amdgpu_crtc 
*amdgpu_crtc = to_amdgpu_crtc(crtc);
2a8f6ccb665c6ac Harry Wentland      2017-07-31 @7400    uint64_t address = afb 
? afb->address : 0;
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7401    struct 
dc_cursor_position position;
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7402    struct 
dc_cursor_attributes attributes;
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7403    int ret;
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7404  
e7b07ceef2a650e Harry Wentland      2017-08-10  7405    if (!plane->state->fb 
&& !old_plane_state->fb)
e7b07ceef2a650e Harry Wentland      2017-08-10  7406            return;
e7b07ceef2a650e Harry Wentland      2017-08-10  7407  
f1ad2f5efd29dc8 Harry Wentland      2017-09-12  7408    DRM_DEBUG_DRIVER("%s: 
crtc_id=%d with size %d to %d\n",
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7409                     
__func__,
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7410                     
amdgpu_crtc->crtc_id,
e7b07ceef2a650e Harry Wentland      2017-08-10  7411                     
plane->state->crtc_w,
e7b07ceef2a650e Harry Wentland      2017-08-10  7412                     
plane->state->crtc_h);
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7413  
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7414    ret = 
get_cursor_position(plane, crtc, &position);
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7415    if (ret)
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7416            return;
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7417  
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7418    if (!position.enable) {
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7419            /* turn off 
cursor */
674e78acae0dfb4 Nicholas Kazlauskas 2018-12-05  7420            if (crtc_state 
&& crtc_state->stream) {
674e78acae0dfb4 Nicholas Kazlauskas 2018-12-05  7421                    
mutex_lock(&adev->dm.dc_lock);
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7422                    
dc_stream_set_cursor_position(crtc_state->stream,
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7423                            
                      &position);
674e78acae0dfb4 Nicholas Kazlauskas 2018-12-05  7424                    
mutex_unlock(&adev->dm.dc_lock);
674e78acae0dfb4 Nicholas Kazlauskas 2018-12-05  7425            }
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7426            return;
e7b07ceef2a650e Harry Wentland      2017-08-10  7427    }
e7b07ceef2a650e Harry Wentland      2017-08-10  7428  
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7429    
amdgpu_crtc->cursor_width = plane->state->crtc_w;
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7430    
amdgpu_crtc->cursor_height = plane->state->crtc_h;
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7431  
c1cefe115d1cdc4 tiancyin            2019-04-01  7432    memset(&attributes, 0, 
sizeof(attributes));
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7433    
attributes.address.high_part = upper_32_bits(address);
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7434    
attributes.address.low_part  = lower_32_bits(address);
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7435    attributes.width        
     = plane->state->crtc_w;
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7436    attributes.height       
     = plane->state->crtc_h;
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7437    attributes.color_format 
     = CURSOR_MODE_COLOR_PRE_MULTIPLIED_ALPHA;
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7438    
attributes.rotation_angle    = 0;
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7439    
attributes.attribute_flags.value = 0;
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7440  
03a663673063d04 Simon Ser           2020-12-02 @7441    attributes.pitch = 
afb->base.pitches[0] / afb->base.format->cpp[0];
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7442  
886daac91d4c794 Jerry Zuo           2017-10-05  7443    if (crtc_state->stream) 
{
674e78acae0dfb4 Nicholas Kazlauskas 2018-12-05  7444            
mutex_lock(&adev->dm.dc_lock);
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7445            if 
(!dc_stream_set_cursor_attributes(crtc_state->stream,
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7446                            
                         &attributes))
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7447                    
DRM_ERROR("DC failed to set cursor attributes\n");
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7448  
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7449            if 
(!dc_stream_set_cursor_position(crtc_state->stream,
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7450                            
                   &position))
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7451                    
DRM_ERROR("DC failed to set cursor position\n");
674e78acae0dfb4 Nicholas Kazlauskas 2018-12-05  7452            
mutex_unlock(&adev->dm.dc_lock);
2a8f6ccb665c6ac Harry Wentland      2017-07-31  7453    }
886daac91d4c794 Jerry Zuo           2017-10-05  7454  }
e7b07ceef2a650e Harry Wentland      2017-08-10  7455  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to