[ This patch is from May.  I don't know why it's only complaining now.
  - dan ]

Hello SivapiriyanKumarasamy,

This is a semi-automatic email about new static checker warnings.

The patch 27e2e2077479: "drm/amd/display: Program vline interrupt on 
FAST update" from May 18, 2018, leads to the following Smatch 
complaint:

    drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c:1463 
commit_planes_do_stream_update()
    error: we previously assumed 'pipe_ctx->stream_res.tg' could be null (see 
line 1423)

drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c
  1422                          if (stream_update->periodic_fn_vsync_delta &&
  1423                                          pipe_ctx->stream_res.tg &&
                                                ^^^^^^^^^^^^^^^^^^^^^^^
The patch adds a new check for NULL.

  1424                                          
pipe_ctx->stream_res.tg->funcs->program_vline_interrupt)
  1425                                  
pipe_ctx->stream_res.tg->funcs->program_vline_interrupt(
  1426                                          pipe_ctx->stream_res.tg, 
&pipe_ctx->stream->timing,
  1427                                          
pipe_ctx->stream->periodic_fn_vsync_delta);
  1428  
  1429                          if ((stream_update->hdr_static_metadata && 
!stream->use_dynamic_meta) ||
  1430                                          stream_update->vrr_infopacket ||
  1431                                          stream_update->vsc_infopacket) {
  1432                                  resource_build_info_frame(pipe_ctx);
  1433                                  dc->hwss.update_info_frame(pipe_ctx);
  1434                          }
  1435  
  1436                          if (stream_update->gamut_remap)
  1437                                  dc_stream_set_gamut_remap(dc, stream);
  1438  
  1439                          if (stream_update->output_csc_transform)
  1440                                  dc_stream_program_csc_matrix(dc, 
stream);
  1441  
  1442                          /* Full fe update*/
  1443                          if (update_type == UPDATE_TYPE_FAST)
  1444                                  continue;
  1445  
  1446                          if (stream_update->dpms_off) {
  1447                                  if (*stream_update->dpms_off) {
  1448                                          
core_link_disable_stream(pipe_ctx, KEEP_ACQUIRED_RESOURCE);
  1449                                          
dc->hwss.pplib_apply_display_requirements(
  1450                                                  dc, dc->current_state);
  1451                                          notify_display_count_to_smu(dc, 
dc->current_state);
  1452                                  } else {
  1453                                          
dc->hwss.pplib_apply_display_requirements(
  1454                                                  dc, dc->current_state);
  1455                                          notify_display_count_to_smu(dc, 
dc->current_state);
  1456                                          
core_link_enable_stream(dc->current_state, pipe_ctx);
  1457                                  }
  1458                          }
  1459  
  1460  
  1461  
  1462                          if (stream_update->abm_level && 
pipe_ctx->stream_res.abm) {
  1463                                  if 
(pipe_ctx->stream_res.tg->funcs->is_blanked) {
                                            ^^^^^^^^^^^^^^^^^^^^^^^^^
The old code didn't check.

  1464                                          // if otg funcs defined check 
if blanked before programming
  1465                                          if 
(!pipe_ctx->stream_res.tg->funcs->is_blanked(pipe_ctx->stream_res.tg))

regards,
dan carpenter
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to