[bug report] drm/amd/dc: Add dc display driver (v2)
Dan Carpenter
dan.carpenter at oracle.com
Mon Nov 6 08:20:37 UTC 2017
Hello Harry Wentland,
The patch 4562236b3bc0: "drm/amd/dc: Add dc display driver (v2)" from
Sep 12, 2017, leads to the following static checker warning:
drivers/gpu/drm/amd/amdgpu/../display/dc/dm_services.h:117 get_reg_field_value_ex()
warn: mask and shift to zero
drivers/gpu/drm/amd/display/dc/dce/dce_link_encoder.c
1357 void dce110_link_encoder_enable_hpd(struct link_encoder *enc)
1358 {
1359 struct dce110_link_encoder *enc110 = TO_DCE110_LINK_ENC(enc);
1360 struct dc_context *ctx = enc110->base.ctx;
1361 uint32_t addr = HPD_REG(DC_HPD_CONTROL);
1362 uint32_t hpd_enable = 0;
^^^^^^^^^^^^^^
This is always just zero so the static checker complains:
1363 uint32_t value = dm_read_reg(ctx, addr);
1364
1365 get_reg_field_value(hpd_enable, DC_HPD_CONTROL, DC_HPD_EN);
^^^^^^^^^^
When we pass zero to here, we know that the answer is always going to
be zero. But then we ignore the result from get_reg_field_value()
and I'm going to change Smatch so that that also generates a static
checker warning. What's going on???
1366
1367 if (hpd_enable == 0)
^^^^^^^^^^^^^^^
This is true always.
1368 set_reg_field_value(value, 1, DC_HPD_CONTROL, DC_HPD_EN);
^^^^^^^^^^^^^^^^^^^^
And we don't use the return for this either? ARgh!! This whole
function is a no-op? My Brian is melting???
1369 }
regards,
dan carpenter
More information about the amd-gfx
mailing list