<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - HyperZ is broken for r300 (bad z for some micro and macrotiles?)"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=110897#c49">Comment # 49</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - HyperZ is broken for r300 (bad z for some micro and macrotiles?)"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=110897">bug 110897</a>
              from <span class="vcard"><a class="email" href="mailto:u9vata@gmail.com" title="Richard Thier <u9vata@gmail.com>"> <span class="fn">Richard Thier</span></a>
</span></b>
        <pre>Hmmm. There are a lot of FIXMEs in the kernel at this part saying things are
not pretty sure. I think I am running into an other code path I should be
taking, but if this was always like this then maybe "fixing" it will just cause
a whole lot of errors...

RC410 is said to use the "RAGE 8" architecture:

<a href="https://www.techpowerup.com/gpu-specs/ati-rc410.g757">https://www.techpowerup.com/gpu-specs/ati-rc410.g757</a>.

Looking up Rage8 it seems to be RV350 so the mesa side seems to be more right
about what category it puts my card into.

In this place I see a lot of asics (for example r300_asic and r420_asic):

    drivers/gpu/drm/radeon/radeon_asic.c

All of these structs have their rxx_init functions set in the struct (basically
a vtable using structs and function pointers). I think maybe the wrong one is
used for my card.

For example RV410 is said to be r400 architecture card instead of "Rage8"
(RV350) architecture one here:

<a href="https://www.techpowerup.com/gpu-specs/ati-rv410.g9">https://www.techpowerup.com/gpu-specs/ati-rv410.g9</a>

It can very likely have happened that the because of the number itself they
classified my Mobility Radeon Xpress 200M as r400 while it is basically an
RV350 and having a marketing-affected naming scheme confusion...

Look at this function:

2306 /**
2307  * radeon_asic_init - register asic specific callbacks
2308  *
2309  * @rdev: radeon device pointer
2310  *
2311  * Registers the appropriate asic specific callbacks for each
2312  * chip family.  Also sets other asics specific info like the number
2313  * of crtcs and the register aperture accessors (all asics).
2314  * Returns 0 for success.
2315  */
2316 int radeon_asic_init(struct radeon_device *rdev)
2317 { ...

This is the one that sets the asic and there is a big switch-case for setting
the "proper" one in the driver based on "rdev->family".

My RC410 is not directly named here:

        case CHIP_R300:
        case CHIP_R350:
        case CHIP_RV350:
        case CHIP_RV380:
                if (rdev->flags & RADEON_IS_PCIE)
                        rdev->asic = &r300_asic_pcie;
                else
                        rdev->asic = &r300_asic;
                break;
        case CHIP_R420:
        case CHIP_R423:
        case CHIP_RV410:
                rdev->asic = &r420_asic;
                /* handle macs */
                if (rdev->bios == NULL) {
                        rdev->asic->pm.get_engine_clock =
&radeon_legacy_get_engine_clock;
                        rdev->asic->pm.set_engine_clock =
&radeon_legacy_set_engine_clock;
                        rdev->asic->pm.get_memory_clock =
&radeon_legacy_get_memory_clock;
                        rdev->asic->pm.set_memory_clock = NULL;
                        rdev->asic->display.set_backlight_level =
&radeon_legacy_set_backlight_level;
                }
                break;
        case CHIP_RS400:
        case CHIP_RS480:
                rdev->asic = &rs400_asic;
                break;
        case CHIP_RS600:

(there are other families mentioned here as well, but these are the ones that
might affect my case I think)

According to techpowerup.com saying that Xpress 200M is Rage8 architecture I
should also get an r300 asic and the same as the RV350:

<a href="https://www.techpowerup.com/gpu-specs/ati-rv350.g13">https://www.techpowerup.com/gpu-specs/ati-rv350.g13</a>

Also there is this "RS400" asic listed in the above switch case and it is still
an other candidate maybe but surely not the rs400_asic.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>