<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Reviewed-by: Christian König
      <a class="moz-txt-link-rfc2396E" href="mailto:christian.koenig@amd.com"><christian.koenig@amd.com></a>.<br>
      <br>
      Am 17.10.2016 um 12:37 schrieb Zhu, Rex:<br>
    </div>
    <blockquote
cite="mid:CY4PR12MB1687C256759C205E9181F6A6FBD00@CY4PR12MB1687.namprd12.prod.outlook.com"
      type="cite">
      <pre wrap="">Thanks, please help to review the attached patch.

Best Regards
Rex

-----Original Message-----
From: Dan Carpenter [<a class="moz-txt-link-freetext" href="mailto:dan.carpenter@oracle.com">mailto:dan.carpenter@oracle.com</a>] 
Sent: Thursday, October 13, 2016 9:26 PM
To: Zhu, Rex
Cc: <a class="moz-txt-link-abbreviated" href="mailto:dri-devel@lists.freedesktop.org">dri-devel@lists.freedesktop.org</a>
Subject: [bug report] drm/amd/powerplay: add vce state tables initialize for ppt v1.

Hello Rex Zhu,

The patch 48d7b759a8bc: "drm/amd/powerplay: add vce state tables initialize for ppt v1." from Aug 31, 2016, leads to the following static checker warning:

        drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/process_pptables_v1_0.c:1211 ppt_get_num_of_vce_state_table_entries_v1_0()
        warn: 'vce_state_table' can't be NULL.

drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/process_pptables_v1_0.c
  1200
  1201  static int ppt_get_num_of_vce_state_table_entries_v1_0(struct pp_hwmgr *hwmgr)
  1202  {
  1203          const ATOM_Tonga_POWERPLAYTABLE *pp_table = get_powerplay_table(hwmgr);
  1204          const ATOM_Tonga_VCE_State_Table *vce_state_table =
  1205                                  (ATOM_Tonga_VCE_State_Table *)(((unsigned long)pp_table) + le16_to_cpu(pp_table->usVCEStateTableOffset));
                                                                                                               ^^^^^^^^ pp_table can't be NULL because we're dereferencing it here.  That means vce_state_table can't be NULL either.

  1206  
  1207          if (vce_state_table == NULL)
  1208                  return 0;
  1209  
  1210          return vce_state_table->ucNumEntries;
  1211  }
  1212  

A cleaner way to write this is maybe:

static int ppt_get_num_of_vce_state_table_entries_v1_0(struct pp_hwmgr *hwmgr) {
        const ATOM_Tonga_POWERPLAYTABLE *pp_table = get_powerplay_table(hwmgr);
        const ATOM_Tonga_VCE_State_Table *vce_state_table;

        if (!pp_table)
                return 0;

        vce_state_table = (void *)pp_table + le16_to_cpu(pp_table->usVCEStateTableOffset);
        return vce_state_table->ucNumEntries;
}

regards,
dan carpenter
</pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
dri-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:dri-devel@lists.freedesktop.org">dri-devel@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/dri-devel">https://lists.freedesktop.org/mailman/listinfo/dri-devel</a>
</pre>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>