[Bug 55784] [Ubuntu 12.04.1 LTS 32-bit] Unity GUI will hang during bootup with ATI Technologies Radeon X600 (RV380) and VIA Technologies PT880 Ultra chipset

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Nov 27 16:14:12 PST 2012


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

--- Comment #37 from Alex Deucher <agd5f at yahoo.com> ---
(In reply to comment #36)
> (In reply to comment #35)
> 
> Hi Alex,
> 
> I believe VIA Technologies PT880 Ultra chipset was released around 2005.
> It is about 7 years old.
> Personally, I don't consider anything with PCIe, "old."
> I did update the BIOS to the last release version, and the board was made by
> ASUS, probably a fairly responsible mainboard manufacturer.
> I will also add that Radeon HD 4350 and HD 5450 exhibit the exact same
> problem as Radeon X600 with this mainboard, last time I tested with Ubuntu
> 12.04 LTS 32-bit.
> Furthermore, Radeon X600 (PCIe) is similar to Radeon 9800 Pro (AGP)
> generationally, and this mainboard works fine with Radeon 9800 Pro.

As I understand it, this board is some kind of hybrid AGP and PCIE combination.
 I'm not sure how well this hw was validated by the manufacturer, especially
with newer asics.  The fact that all PCIE cards seem to fail seems to indicate
some sort of chipset problem.

>         Do you have any idea who worked on other VIA Technologies related
> device drivers?

I'm not sure.  You could check the maintainers file in the kernel.

> Do you know the names of the developers/maintainers?
> Furthermore, if I wanted to look into the issue myself, how do I analyze
> what the Linux kernel is doing?
> How do I get started on fixing device driver bugs myself with Linux?
> As for myself, I have full Xilinx FPGA-based PCI DMA engine design
> experience (PCI interface portion and DMA engine portion) and Windows device
> driver (WDM) development experience.
> I have used WinDbg in the past to get my Windows device driver working
> (i.e., To get the device driver to function correctly, and prevent Windows
> kernel crashes.).
> How different will Linux device driver development/bug fix be different than
> WinDbg?

I'm not familiar with WinDbg.  Since you get the hang when the GUI starts up,
that would indicate that the problem is related to acceleration, probably DMA. 
You can try adding:
Option "NoAccel" "True"
to the device section of your xorg.conf to disable acceleration.  If that
works, then you can further narrow down the problem.

Off hand I would guess that perhaps the chipset has problems with MSIs or DMA. 
You can try booting with:
pci=nomsi
on the kernel command line in grub to disable MSIs.  If that fixes it, you'll
need to add a pci quirk to the kernel to disable MSIs on that chipset.

If the board has problems supporting >32 bit DMA mask, you can try forcing the
DMA mask to 32 in the driver:
diff --git a/drivers/gpu/drm/radeon/radeon_device.c
b/drivers/gpu/drm/radeon/radeon_device.c
index e2f5f88..98945e4 100644
--- a/drivers/gpu/drm/radeon/radeon_device.c
+++ b/drivers/gpu/drm/radeon/radeon_device.c
@@ -1043,6 +1043,7 @@ int radeon_device_init(struct radeon_device *rdev,
        if ((rdev->flags & RADEON_IS_PCI) &&
            (rdev->family <= CHIP_RS740))
                rdev->need_dma32 = true;
+       rdev->need_dma32 = true;

        dma_bits = rdev->need_dma32 ? 32 : 40;
        r = pci_set_dma_mask(rdev->pdev, DMA_BIT_MASK(dma_bits));


If that works, you'd need to add a PCI quirk for the chipset to limit the PCI
DMA mask to 32 bits.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.x.org/archives/xorg-driver-ati/attachments/20121128/f8ca198f/attachment.html>


More information about the xorg-driver-ati mailing list