<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - [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"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=55784#c38">Comment # 38</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - [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"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=55784">bug 55784</a>
              from <span class="vcard"><a class="email" href="mailto:mypersonalmailbox1@mail.com" title="mypersonalmailbox1@mail.com">mypersonalmailbox1@mail.com</a>
</span></b>
        <pre>(In reply to <a href="show_bug.cgi?id=55784#c37">comment #37</a>)

Hi Alex,

My replies are embedded below.

<span class="quote">> (In reply to <a href="show_bug.cgi?id=55784#c36">comment #36</a>)
> 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.

> </span >

Yes, PT880 Ultra is a little weird PCI Express/AGP hybrid chipset.
ULi also had such chipset as well (used HyperTransport to link multiple ULi
ASICs), but with AGP 3.0 and full PCI Express x16 support.
I own one such board (from ASRock), but it doesn't POST probably because the
mainboard got fried by a bad power supply.
I picked up that ASRock board from E-waste collection bin so I shouldn't expect
much, either.
    A friend of mine who used to work for Philips Semiconductors once told me
that if a PCI device cannot pass PCI-SIG's compatibility testing, one has
almost no chance of selling the part to mainstream computer/board
manufacturers.
VIA Technologies claims that PT880 Ultra is listed under PCI-SIG's integrator's
list.

<a href="http://www.via.com.tw/en/products/chipsets/p4-series/pt880_ultra/index.jsp">http://www.via.com.tw/en/products/chipsets/p4-series/pt880_ultra/index.jsp</a>
<a href="http://www.pcisig.com/developers/compliance_program/integrators_list/pcie">http://www.pcisig.com/developers/compliance_program/integrators_list/pcie</a>

Just a few hours ago, I added XFX Radeon HD 5450 PCIe graphics card to ASUS
P5VD1-X.
As expected, it couldn't boot Ubuntu 12.04 LTS 32-bit.
It hangs up after displaying Ubuntu 12.04 LTS Unity GUI reddish wallpaper (BTW,
mouse cursor still can move around the screen correctly.), but I was able to
boot Ubuntu 10.04.4 LTS 32-bit from a DVD.
I tested the ACPI S3 State resume, and it resumes reliably.
So I know many developers have negative opinions of VIA Technologies chipset,
but at least with Ubuntu 10.04.4 LTS 32-bit, it works perfectly.
Somebody broke the code in Ubuntu 12.04 LTS.


<span class="quote">> I'm not sure.  You could check the maintainers file in the kernel.

> 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.</span >


Regards,

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