<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>