<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - DRM / KMS bootup error on VX900 platform"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=94473#c30">Comment # 30</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - DRM / KMS bootup error on VX900 platform"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=94473">bug 94473</a>
              from <span class="vcard"><a class="email" href="mailto:kevinbrace@gmx.com" title="Kevin Brace <kevinbrace@gmx.com>"> <span class="fn">Kevin Brace</span></a>
</span></b>
        <pre>Hi Frank,

Never mind.
There is a function inside via_ums.c called viaInitAgp.

_________________________________________________________________________
static void
viaInitAgp(VIAPtr pVia)
{
    VIASETREG(VIA_REG_TRANSET, 0x00100000);
    VIASETREG(VIA_REG_TRANSPACE, 0x00000000);
    VIASETREG(VIA_REG_TRANSPACE, 0x00333004);
    VIASETREG(VIA_REG_TRANSPACE, 0x60000000);
    VIASETREG(VIA_REG_TRANSPACE, 0x61000000);
    VIASETREG(VIA_REG_TRANSPACE, 0x62000000);
    VIASETREG(VIA_REG_TRANSPACE, 0x63000000);
    VIASETREG(VIA_REG_TRANSPACE, 0x64000000);
    VIASETREG(VIA_REG_TRANSPACE, 0x7D000000);

    VIASETREG(VIA_REG_TRANSET, 0xfe020000);
    VIASETREG(VIA_REG_TRANSPACE, 0x00000000);
}
_________________________________________________________________________



Also from via_ums.c, it appears that Chrome 9 IGPs are considered PCIe (PCI
Express) devices.

_________________________________________________________________________
static void
VIAInitialize2DEngine(ScrnInfoPtr pScrn)
{
    VIAPtr pVia = VIAPTR(pScrn);
    ViaTwodContext *tdc = &pVia->td;
    int i;

. . .

    switch (pVia->Chipset) {
        case VIA_K8M890:
        case VIA_P4M900:
        case VIA_VX800:
        case VIA_VX855:
        case VIA_VX900:
            viaInitPCIe(pVia);
            break;
        default:
            viaInitAgp(pVia);
            break;
    }

. . .

    if (pVia->VQStart != 0) {
        switch (pVia->Chipset) {
            case VIA_K8M890:
            case VIA_P4M900:
            case VIA_VX800:
            case VIA_VX855:
            case VIA_VX900:
                viaEnablePCIeVQ(pVia);
                break;
            default:
                viaEnableAgpVQ(pVia);
                break;
        }
    } else {
        viaDisableVQ(pScrn);
    }

    viaAccelSetMode(pScrn->bitsPerPixel, tdc);
}
_________________________________________________________________________


Why not rewrite the if statement in question.

     if ((dev_priv->engine_type > VIA_ENG_H2) ||
         (dev->agp && drm_pci_device_is_agp(dev))) {

To something like this.

     if ((dev_priv->engine_type <= VIA_ENG_H2) ||
         (dev->agp && drm_pci_device_is_agp(dev))) {

This way, anything older than Chrome 9 go through AGP detection.
This basically means, anything that is UniChrome, UniChrome Pro, and UniChrome
Pro II.
Chrome 9 has H5 or H6 DMA engine.</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>