[coreboot] Fwd: fixing i810 onboard vga

Elia Yehuda z4ziggy at gmail.com
Fri Nov 7 02:26:28 CET 2008


---------- Forwarded message ----------
From: Elia Yehuda <z4ziggy at gmail.com>
Date: Fri, Nov 7, 2008 at 3:19 AM
Subject: Re: [coreboot] fixing i810 onboard vga
To: Joseph Smith <joe at settoplinux.org>


many thanks Joseph!

you sure have found the problem in the code (without even looking...
remarkable).

i sure had the "CONFIG_VIDEO_MB=8" to my targets' Config.lb which was being
ignored...
so i've added the following (elementary) patch to
coreboot-v2/src/northbridge/intel/i82810/northbridge.c :

Index: northbridge.c
===================================================================
--- northbridge.c    (revision 3698)
+++ northbridge.c    (working copy)
@@ -149,6 +149,16 @@
         drp_value = drp_value >> 4;    // >>= 4; //? mess with later
         tomk += (unsigned long)(translate_i82810_to_mb[drp_value]);

+#ifdef CONFIG_VIDEO_MB
+        /* check for VGA reserved memory */
+        if (CONFIG_VIDEO_MB == 512) {
+            /* FIXME: we round up the 1/2mb to 1 */
+            tomk -= 1;
+        } else {
+            tomk -= CONFIG_VIDEO_MB;
+        }
+#endif
+
         printk_debug("Setting RAM size to %d MB\n", tomk);

         /* Convert tomk from MB to KB. */



the boot now works, but still no onboard-vga. ive noticed in pci_rom_probe()
the dev->rom_address of the vga pci card is 0 (zero)! although i have the
following in the mainboard/manu/type/Config.lb :
...
    device pci 1.0 on                # Onboard video
       chip drivers/pci/onboard
         device pci 1.0 on end
         register "rom_address" = "0xfffc0000"
       end
    end
...


this is according to the lspci output from the machine using the original
bios :
...
00:01.0 VGA compatible controller: Intel Corporation 82810E DC-133 (CGC)
Chipset Graphics Controller (rev 03)
...


so im trying to find out why dev->rom_address is being set to 0.
the fallback/static.c shows clearly that the rom address is being set in the
proper device structure :
...
struct drivers_pci_onboard_config drivers_pci_onboard_info_9    = {
        .rom_address = 0xfffc0000,
};
...


so any clues on the matter will be appreciated.

Regards,
Elia Yehuda.


On Fri, Nov 7, 2008 at 1:08 AM, Joseph Smith <joe at settoplinux.org> wrote:

>
>
>
> On Thu, 6 Nov 2008 20:38:31 +0200, "Elia Yehuda" <z4ziggy at gmail.com>
> wrote:
> > Hey all,
> >
> > im working at the on the i810, trying to fix the onboard-vga to work.
> >
> > removing the commented code of the vga-related stuff resulted with the
> pci
> > device to be displayed in the pci list on coreboot, but in a disabled
> > state,
> > and (as promised...) with the boot not executing the payload. complete
> log
> > can be shown here : http://pastebin.com/m20e821eb
> >
> > a few rough patches to my target and i82810/raminit.c and now the device
> > is
> > shown as enabled and i even get the information about the VGA allocating
> > resources :
> >
> > Allocating VGA resource PCI: 00:01.0
> > Setting PCI_BRIDGE_CTL_VGA for bridge PCI_DOMAIN: 0000
> > Setting PCI_BRIDGE_CTL_VGA for bridge Root Device
> >
> > but the payload still wont execute (it is seems to be loaded though) and
> > ofcourse, no VGA output, only serial, with a dead boot hanging...
> > complete log can be shown here : http://pastebin.com/m248a41ea
> >
> I had this problem on the i830. You need to allocate vga memory for the
> onboard vga (northbridge.c if I remember correctly). The vga memory should
> be allocated to the TOM. So your total system memory actually equals
> phisical memory - vga memory. It should be close to the i830, take a look
> at that and compare it to the i810 datasheet. Hope that helps.
>
> --
> Thanks,
> Joseph Smith
> Set-Top-Linux
> www.settoplinux.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20081107/02682db9/attachment.html>


More information about the coreboot mailing list