[Openchrome-devel] [Bug 94473] DRM / KMS bootup error on VX900 platform

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Mar 17 16:44:12 UTC 2016


https://bugs.freedesktop.org/show_bug.cgi?id=94473

--- Comment #29 from Kevin Brace <kevinbrace at gmx.com> ---
Hi Frank,

Assuming the IGP is Chrome 9 or is an AGP device, then a function called 
via_agp_engine_init is called.
If you compare the registers being initialized here to OpenChrome DDX's
VIAInitialize3DEngine function inside via_ums.c, there are some similarities.

_________________________________________________________________________
static void via_agp_engine_init(struct drm_via_private *dev_priv)
{
    VIA_WRITE(VIA_REG_TRANSET, 0x00100000);
    VIA_WRITE(VIA_REG_TRANSPACE, 0x00000000);
    VIA_WRITE(VIA_REG_TRANSPACE, 0x00333004);
    VIA_WRITE(VIA_REG_TRANSPACE, 0x60000000);
    VIA_WRITE(VIA_REG_TRANSPACE, 0x61000000);
    VIA_WRITE(VIA_REG_TRANSPACE, 0x62000000);
    VIA_WRITE(VIA_REG_TRANSPACE, 0x63000000);
    VIA_WRITE(VIA_REG_TRANSPACE, 0x64000000);
    VIA_WRITE(VIA_REG_TRANSPACE, 0x7D000000);

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


_________________________________________________________________________

static void
VIAInitialize3DEngine(ScrnInfoPtr pScrn)
{
    VIAPtr pVia = VIAPTR(pScrn);
    int i;

    VIASETREG(VIA_REG_TRANSET, 0x00010000);
    for (i = 0; i <= 0x7D; i++)
        VIASETREG(VIA_REG_TRANSPACE, (CARD32) i << 24);

    VIASETREG(VIA_REG_TRANSET, 0x00020000);
    for (i = 0; i <= 0x94; i++)
        VIASETREG(VIA_REG_TRANSPACE, (CARD32) i << 24);
    VIASETREG(VIA_REG_TRANSPACE, 0x82400000);

    VIASETREG(VIA_REG_TRANSET, 0x01020000);
    for (i = 0; i <= 0x94; i++)
        VIASETREG(VIA_REG_TRANSPACE, (CARD32) i << 24);
    VIASETREG(VIA_REG_TRANSPACE, 0x82400000);

    VIASETREG(VIA_REG_TRANSET, 0xfe020000);
    for (i = 0; i <= 0x03; i++)
        VIASETREG(VIA_REG_TRANSPACE, (CARD32) i << 24);

    VIASETREG(VIA_REG_TRANSET, 0x00030000);
    for (i = 0; i <= 0xff; i++)
        VIASETREG(VIA_REG_TRANSPACE, 0);

    VIASETREG(VIA_REG_TRANSET, 0x00100000);
    VIASETREG(VIA_REG_TRANSPACE, 0x00333004);
    VIASETREG(VIA_REG_TRANSPACE, 0x10000002);
    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_TRANSET, 0x00fe0000);
    if (pVia->Chipset == VIA_CLE266 && pVia->ChipRev >= 3)
        VIASETREG(VIA_REG_TRANSPACE, 0x40008c0f);
    else
        VIASETREG(VIA_REG_TRANSPACE, 0x4000800f);
    VIASETREG(VIA_REG_TRANSPACE, 0x44000000);
    VIASETREG(VIA_REG_TRANSPACE, 0x45080C04);
    VIASETREG(VIA_REG_TRANSPACE, 0x46800408);
    VIASETREG(VIA_REG_TRANSPACE, 0x50000000);
    VIASETREG(VIA_REG_TRANSPACE, 0x51000000);
    VIASETREG(VIA_REG_TRANSPACE, 0x52000000);
    VIASETREG(VIA_REG_TRANSPACE, 0x53000000);

    VIASETREG(VIA_REG_TRANSET, 0x00fe0000);
    VIASETREG(VIA_REG_TRANSPACE, 0x08000001);
    VIASETREG(VIA_REG_TRANSPACE, 0x0A000183);
    VIASETREG(VIA_REG_TRANSPACE, 0x0B00019F);
    VIASETREG(VIA_REG_TRANSPACE, 0x0C00018B);
    VIASETREG(VIA_REG_TRANSPACE, 0x0D00019B);
    VIASETREG(VIA_REG_TRANSPACE, 0x0E000000);
    VIASETREG(VIA_REG_TRANSPACE, 0x0F000000);
    VIASETREG(VIA_REG_TRANSPACE, 0x10000000);
    VIASETREG(VIA_REG_TRANSPACE, 0x11000000);
    VIASETREG(VIA_REG_TRANSPACE, 0x20000000);
}
_________________________________________________________________________

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/openchrome-devel/attachments/20160317/ae187a8e/attachment.html>


More information about the Openchrome-devel mailing list