AMD-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: wyatt.wood@amd.com
Cc: amd-gfx@lists.freedesktop.org
Subject: [bug report] drm/amd/display: Use dmub fw to lock pipe, cursor, dig
Date: Fri, 26 Jun 2020 13:06:12 +0300	[thread overview]
Message-ID: <20200626100612.GA306909@mwanda> (raw)

Hello Wyatt Wood,

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

The patch 4dc079787b23: "drm/amd/display: Use dmub fw to lock pipe,
cursor, dig" from May 27, 2020, leads to the following Smatch
complaint:

    drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_dp.c:4091 dc_link_dp_set_test_pattern()
    warn: variable dereferenced before check 'pipe_ctx->stream' (see line 4068)

drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_dp.c
  4067					color_space,
  4068					pipe_ctx->stream->use_vsc_sdp_for_colorimetry,
  4069					link->dpcd_caps.dprx_feature.bits.SST_SPLIT_SDP_CAP);
  4070	
  4071			if (pipe_ctx->stream->use_vsc_sdp_for_colorimetry) {
                            ^^^^^^^^^^^^^^^^^^
This is dereferenced in the original code.

  4072				if (test_pattern == DP_TEST_PATTERN_COLOR_SQUARES_CEA)
  4073					pipe_ctx->stream->vsc_infopacket.sb[17] |= (1 << 7); // sb17 bit 7 Dynamic Range: 0 = VESA range, 1 = CTA range
  4074				else
  4075					pipe_ctx->stream->vsc_infopacket.sb[17] &= ~(1 << 7);
  4076				resource_build_info_frame(pipe_ctx);
  4077				link->dc->hwss.update_info_frame(pipe_ctx);
  4078			}
  4079	
  4080			/* CRTC Patterns */
  4081			set_crtc_test_pattern(link, pipe_ctx, test_pattern, test_pattern_color_space);
  4082			pipe_ctx->stream_res.tg->funcs->unlock(pipe_ctx->stream_res.tg);
  4083			pipe_ctx->stream_res.tg->funcs->wait_for_state(pipe_ctx->stream_res.tg,
  4084					CRTC_STATE_VACTIVE);
  4085			pipe_ctx->stream_res.tg->funcs->wait_for_state(pipe_ctx->stream_res.tg,
  4086					CRTC_STATE_VBLANK);
  4087			pipe_ctx->stream_res.tg->funcs->wait_for_state(pipe_ctx->stream_res.tg,
  4088					CRTC_STATE_VACTIVE);
  4089	
  4090			if (pipe_ctx->stream_res.tg->funcs->lock_doublebuffer_disable) {
  4091				if (pipe_ctx->stream && should_use_dmub_lock(pipe_ctx->stream->link)) {
                                    ^^^^^^^^^^^^^^^^
The patch adds a new dereference, is it really required?

  4092					union dmub_hw_lock_flags hw_locks = { 0 };
  4093					struct dmub_hw_lock_inst_flags inst_flags = { 0 };

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

                 reply	other threads:[~2020-06-26 10:06 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=20200626100612.GA306909@mwanda \
    --to=dan.carpenter@oracle.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=wyatt.wood@amd.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox