<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    On 26/04/2022 23:27, Denis 'GNUtoo' Carikli wrote:
    <br>
    <blockquote type="cite" style="color: #007cff;">Hi,
      <br>
      <br>
      Thanks a lot for the test/work!!!
      <br>
      <br>
      This looks really promising.
      <br>
    </blockquote>
    <br>
    I was looking through the LibrePlanet wiki and saw the hardware
    research section, I wasn't sure if people were still trying to work
    on it. Nevertheless, thank you for the assistance and I'm happy to
    help.
    <br>
    <br>
    So I changed gfx to gmc, to which the module still doesn't load but
    there was a few additional lines.
    <br>
    <br>
    Here is the output from dmesg: <a class="moz-txt-link-freetext"
      href="https://termbin.com/ycc9p">https://termbin.com/ycc9p</a>
    <br>
    <br>
    I'm not entirely sure what I'm doing, so I just started picking out
    things in the log and seeing if there were any more of those "r =
    ..." relevant statements.  Searching for "Failed to load MC
    firmware" only brought me to one place which was relevant to my
    card, which is at gmc_v8_0.c:1230
    <br>
    <br>
    <blockquote type="cite" style="color: #007cff;">        if
      (adev->asic_type == CHIP_TONGA) {
      <br>
                      r = gmc_v8_0_tonga_mc_load_microcode(adev);
      <br>
                      if (r) {
      <br>
                              DRM_ERROR("Failed to load MC
      firmware!\n");
      <br>
                              return r;
      <br>
                      }
      <br>
              } else if (adev->asic_type == CHIP_POLARIS11 ||
      <br>
                              adev->asic_type == CHIP_POLARIS10 ||
      <br>
                              adev->asic_type == CHIP_POLARIS12) {
      <br>
                      r = gmc_v8_0_polaris_mc_load_microcode(adev);
      <br>
                      if (r) {
      <br>
                              DRM_ERROR("Failed to load MC
      firmware!\n");
      <br>
                              return r;
      <br>
                      }
      <br>
              }
      <br>
    </blockquote>
    I went ahead and added the clean_sed for that section as well.
    Nothing seemed to change from the output of dmesg.
    <br>
    <br>
    But regardless, here it is: <a class="moz-txt-link-freetext"
      href="https://termbin.com/5cbm">https://termbin.com/5cbm</a>
    <br>
    <br>
    As another attempt I tried seeing if the gmc_v8_0_hw_init function
    had to do anything with it. Which can be found at gmc_v8_0.c:1266
    <br>
    <br>
    <blockquote type="cite" style="color: #007cff;">static int
      gmc_v8_0_resume(void *handle)
      <br>
      {
      <br>
              int r;
      <br>
              struct amdgpu_device *adev = (struct amdgpu_device
      *)handle;
      <br>
      <br>
              r = gmc_v8_0_hw_init(adev);
      <br>
              if (r)
      <br>
                      return r;
      <br>
      <br>
      [...]
      <br>
      <br>
    </blockquote>
    I replaced the return statement here and there was still nothing
    different in the dmesg output, but it didn't seem like it would work
    in the first place.
    <br>
    <br>
    This is what my deblob-5.10 script currently looks like: <a
      class="moz-txt-link-freetext" href="https://termbin.com/9oi6">https://termbin.com/9oi6</a>
    <br>
    <br>
    <blockquote type="cite" style="color: #007cff;">Your GPU has several
      processors, and for now many of them require
      <br>
      nonfree firmwares, so there may be several parts in the code where
      <br>
      the amdgpu driver needs to be patched.
      <br>
    </blockquote>
    <br>
    Is there anything else I should be looking for besides the "r = ..."
    statements? The dmesg output has brought me to amdgpu_kms.c and
    amdgpu_device.c but I couldn't find any relevant statements there.
    <br>
    <br>
    <blockquote type="cite" style="color: #007cff;">As for testing it
      might be best if you manage to disable somehow the
      <br>
      login screen (it can been done with systemctl disable lightdm or
      <br>
      systemctl disable gdm and by rebooting after that).
      <br>
    </blockquote>
    <br>
    I'm pulling the logs from within the console so xorg shouldn't be
    interfering with loading the amdgpu module.
    <br>
    <br>
    -- Morris Zuss
    <br>
  </body>
</html>