tree:   git://people.freedesktop.org/~agd5f/linux.git amd-staging-drm-next
head:   486e4f30e2a3b7bdd2caa48d09b905a34f2f99cb
commit: 6e0ef9d85b99baeeea4b9c4a9777809cb0c6040a [82/132] drm/amd/display: 
Write TEST_EDID_CHECKSUM_WRITE for EDID tests
reproduce:
        # apt-get install sparse
        git checkout 6e0ef9d85b99baeeea4b9c4a9777809cb0c6040a
        make ARCH=x86_64 allmodconfig
        make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

>> drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_helpers.c:501:52: 
>> sparse: missing braces around initializer
   drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_helpers.c:502:54: 
sparse: missing braces around initializer

vim +501 drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_helpers.c

   456  
   457  enum dc_edid_status dm_helpers_read_local_edid(
   458                  struct dc_context *ctx,
   459                  struct dc_link *link,
   460                  struct dc_sink *sink)
   461  {
   462          struct amdgpu_dm_connector *aconnector = link->priv;
   463          struct i2c_adapter *ddc;
   464          int retry = 3;
   465          enum dc_edid_status edid_status;
   466          struct edid *edid;
   467  
   468          if (link->aux_mode)
   469                  ddc = &aconnector->dm_dp_aux.aux.ddc;
   470          else
   471                  ddc = &aconnector->i2c->base;
   472  
   473          /* some dongles read edid incorrectly the first time,
   474           * do check sum and retry to make sure read correct edid.
   475           */
   476          do {
   477  
   478                  edid = drm_get_edid(&aconnector->base, ddc);
   479  
   480                  if (!edid)
   481                          return EDID_NO_RESPONSE;
   482  
   483                  sink->dc_edid.length = EDID_LENGTH * (edid->extensions 
+ 1);
   484                  memmove(sink->dc_edid.raw_edid, (uint8_t *)edid, 
sink->dc_edid.length);
   485  
   486                  /* We don't need the original edid anymore */
   487                  kfree(edid);
   488  
   489                  edid_status = dm_helpers_parse_edid_caps(
   490                                                  ctx,
   491                                                  &sink->dc_edid,
   492                                                  &sink->edid_caps);
   493  
   494          } while (edid_status == EDID_BAD_CHECKSUM && --retry > 0);
   495  
   496          if (edid_status != EDID_OK)
   497                  DRM_ERROR("EDID err: %d, on connector: %s",
   498                                  edid_status,
   499                                  aconnector->base.name);
   500          if (link->aux_mode) {
 > 501                  union test_request test_request = {0};
   502                  union test_response test_response = {0};
   503  
   504                  dm_helpers_dp_read_dpcd(ctx,
   505                                          link,
   506                                          DP_TEST_REQUEST,
   507                                          &test_request.raw,
   508                                          sizeof(union test_request));
   509  
   510                  if (!test_request.bits.EDID_READ)
   511                          return edid_status;
   512  
   513                  test_response.bits.EDID_CHECKSUM_WRITE = 1;
   514  
   515                  dm_helpers_dp_write_dpcd(ctx,
   516                                          link,
   517                                          DP_TEST_EDID_CHECKSUM,
   518                                          
&sink->dc_edid.raw_edid[sink->dc_edid.length-1],
   519                                          1);
   520  
   521                  dm_helpers_dp_write_dpcd(ctx,
   522                                          link,
   523                                          DP_TEST_RESPONSE,
   524                                          &test_response.raw,
   525                                          sizeof(test_response));
   526  
   527          }
   528  
   529          return edid_status;
   530  }
   531  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to