<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Hi Rex,<br>
      <br>
      exactly as I feared, please don't do this.<br>
      <br>
      I for example have a system with multiple PEG slots to be able to
      test different hardware generations at the same time.<br>
      <br>
      This is rather common setup for testing and will break horrible
      and quite unpredictable when the code suddenly overrides a global
      function table which is used by multiple hardware generations.<br>
      <br>
      Either create one function table for each variant or make the
      function table a member of the hwmgr structure so that you can
      overwrite it in each instance without affecting others.<br>
      <br>
      Regards,<br>
      Christian.<br>
      <br>
      Am 09.09.2016 um 18:29 schrieb Zhu, Rex:<br>
    </div>
    <blockquote
cite="mid:CY4PR12MB16872A6C90804AF1D368A194FBFA0@CY4PR12MB1687.namprd12.prod.outlook.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
      <div id="divtagdefaultwrapper" style="font-family: Calibri, Arial,
        Helvetica, sans-serif; background-color: rgb(255, 255, 255);">
        <p style="color: rgb(0, 0, 0); font-size: 12pt;"><br>
        </p>
        <meta content="text/html; charset=UTF-8">
        <div dir="ltr">
          <div id="x_divtagdefaultwrapper" style="font-family: Calibri,
            Arial, Helvetica, sans-serif; background-color: rgb(255,
            255, 255);">
            <p style="color: rgb(0, 0, 0); font-size: 12pt;">Hi
              Christian,</p>
            <p style="color: rgb(0, 0, 0); font-size: 12pt;"><br>
            </p>
            <p style="color: rgb(0, 0, 0); font-size: 12pt;"><br>
            </p>
            <p><span style="font-size: 12pt;">I used smu7_hwmgr for  all
                the asics of smu version 7 , CI and Vi. Please see  </span><span
                style="font-size: 12pt;">powerplay code refactoring
                patches</span><font color="#333333"><span
                  style="font-size: 21px;">.</span></font></p>
            <p style="color: rgb(0, 0, 0); font-size: 12pt;"><br>
            </p>
            <p style="color: rgb(0, 0, 0); font-size: 12pt;">But some
              functions in the table were different between those asics.
              so we needed to overload those functions for some asics.</p>
            <p style="color: rgb(0, 0, 0); font-size: 12pt;"><br>
            </p>
            <p style="color: rgb(0, 0, 0); font-size: 12pt;">for
              example:</p>
            <p style="color: rgb(0, 0, 0); font-size: 12pt;">from tonga.
              we used pptable version 1, but ci and iceland, no
              pptable, </p>
            <p style="color: rgb(0, 0, 0); font-size: 12pt;">so needed
              to overload related functions:</p>
            <p style="color: rgb(0, 0, 0); font-size: 12pt;"><br>
            </p>
            <p style="color: rgb(0, 0, 0); font-size: 12pt;"><span
                style="color: rgb(33, 33, 33); font-size: 13.3333px;"> 
                       hwmgr->hwmgr_func = &smu7_hwmgr_funcs;</span><br
                style="color: rgb(33, 33, 33); font-size: 13.3333px;">
              <span style="color: rgb(33, 33, 33); font-size:
                13.3333px;">         hwmgr->pptable_func =
                &pptable_v1_0_funcs;</span><br style="color: rgb(33,
                33, 33); font-size: 13.3333px;">
              <span style="color: rgb(33, 33, 33); font-size:
                13.3333px;">         pp_smu7_thermal_initialize(hwmgr);</span><br
                style="color: rgb(33, 33, 33); font-size: 13.3333px;">
              <span style="color: rgb(33, 33, 33); font-size:
                13.3333px;">+       if (hwmgr->pp_table_version ==
                PP_TABLE_V0) {</span><br style="color: rgb(33, 33, 33);
                font-size: 13.3333px;">
              <span style="color: rgb(33, 33, 33); font-size:
                13.3333px;">+              
                hwmgr->hwmgr_func->get_pp_table_entry =
                &smu7_get_pp_table_entry_v0;</span><br style="color:
                rgb(33, 33, 33); font-size: 13.3333px;">
              <span style="color: rgb(33, 33, 33); font-size:
                13.3333px;">+              
                hwmgr->hwmgr_func->get_num_of_pp_table_entries =
                smu7_get_number_of_powerplay_table_entries_v0;</span><br
                style="color: rgb(33, 33, 33); font-size: 13.3333px;">
              <span style="color: rgb(33, 33, 33); font-size:
                13.3333px;">+               hwmgr->pptable_func =
                &pptable_funcs;</span><br style="color: rgb(33, 33,
                33); font-size: 13.3333px;">
              <span style="color: rgb(33, 33, 33); font-size:
                13.3333px;">+       }</span><br>
            </p>
            <p style="color: rgb(0, 0, 0); font-size: 12pt;"><span
                style="color: rgb(33, 33, 33); font-size: 13.3333px;"><br>
              </span></p>
            <p style="color: rgb(0, 0, 0); font-size: 12pt;">Best
              Regards </p>
            <p style="color: rgb(0, 0, 0); font-size: 12pt;">Rex</p>
            <p style="color: rgb(0, 0, 0); font-size: 12pt;"><br>
            </p>
            <p style="color: rgb(0, 0, 0); font-size: 12pt;"><br>
            </p>
          </div>
          <hr tabindex="-1" style="color: rgb(0, 0, 0); font-size: 12pt;
            display: inline-block; width: 98%;">
          <div id="x_divRplyFwdMsg" dir="ltr" style="color: rgb(0, 0,
            0); font-size: 12pt;">
            <font style="font-size:11pt" color="#000000" face="Calibri,
              sans-serif"><b>From:</b> Christian König
              <a class="moz-txt-link-rfc2396E" href="mailto:deathsimple@vodafone.de"><deathsimple@vodafone.de></a><br>
              <b>Sent:</b> Friday, September 9, 2016 10:23:26 PM<br>
              <b>To:</b> Zhu, Rex; <a class="moz-txt-link-abbreviated" href="mailto:amd-gfx@lists.freedesktop.org">amd-gfx@lists.freedesktop.org</a><br>
              <b>Subject:</b> Re: [PATCH 0/9] misc patches related to
              powerplay</font>
            <div> </div>
          </div>
        </div>
        <font style="color: rgb(0, 0, 0); font-size: 12pt;" size="2"><span
            style="font-size:10pt;">
            <div class="PlainText">Patch #1-#7 and #9 are Acked-by:
              Christian König <a class="moz-txt-link-rfc2396E" href="mailto:christian.koenig@amd.com"><christian.koenig@amd.com></a>.<br>
              <br>
              Patch #8: That looks fishy, usually we don't want to
              override static <br>
              functions tables.<br>
              <br>
              So what is the specific use case here?<br>
              <br>
              Regards,<br>
              Christian.<br>
              <br>
              Am 09.09.2016 um 15:37 schrieb Rex Zhu:<br>
              > Rex Zhu (9):<br>
              >    drm/amd/powerplay: mark symbols static where
              possible on tonga.<br>
              >    drm/amd/powerplay: add feature flags in hwmgr to
              enable/disable<br>
              >      special features.<br>
              >    drm/amd/powerplay: add module parameter for mask
              pp feature<br>
              >    drm/amd/powerplay: initialize platform caps in
              hwmgr_init.<br>
              >    drm/amd/powerplay: add common functiones for
              visiting pp table.<br>
              >    drm/amd/powerplay: wrap get evv voltage of fiji
              and polaris<br>
              >    drm/amd/powerplay: move smu related variable
              definitions to smumgr.<br>
              >    drm/amd/powerplay: delete const flag of
              hwmgr_funcs for overload.<br>
              >    drm/amd/powerplay: delete dupicated function and
              definition.<br>
              ><br>
              >   drivers/gpu/drm/amd/amdgpu/amdgpu.h               
              |   1 +<br>
              >   drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c           
              |   4 +<br>
              >   drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c    
              |   2 +-<br>
              >   drivers/gpu/drm/amd/powerplay/hwmgr/fiji_hwmgr.c  
              |   2 +-<br>
              >   .../gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c 
              |  34 ----<br>
              >   drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c       
              | 186 ++++++++++++++++++---<br>
              >   .../gpu/drm/amd/powerplay/hwmgr/iceland_hwmgr.c   
              |  10 +-<br>
              >   .../gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c 
              |   7 +-<br>
              >   .../gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.h 
              |   5 +-<br>
              >   .../drm/amd/powerplay/hwmgr/polaris10_powertune.h 
              |  13 --<br>
              >   drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.c 
              |  21 +--<br>
              >   .../gpu/drm/amd/powerplay/inc/hardwaremanager.h   
              |   1 -<br>
              >   drivers/gpu/drm/amd/powerplay/inc/hwmgr.h         
              |  32 +++-<br>
              >   .../drm/amd/powerplay/smumgr/polaris10_smumgr.c   
              |   1 -<br>
              >   .../drm/amd/powerplay/smumgr/polaris10_smumgr.h   
              |  20 +++<br>
              >   drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c     
              |   1 +<br>
              >   16 files changed, 229 insertions(+), 111
              deletions(-)<br>
              ><br>
              <br>
            </div>
          </span></font></div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
amd-gfx mailing list
<a class="moz-txt-link-abbreviated" href="mailto:amd-gfx@lists.freedesktop.org">amd-gfx@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/amd-gfx">https://lists.freedesktop.org/mailman/listinfo/amd-gfx</a>
</pre>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>