Hello

The issues with i915.fastboot have been explained by Jesse Barnes, unfortunately I do not think I can help any further with that.

Could someone from the list help him pinpoint why coreboot is using a different mode?

This would make native video init compatible with i915.fastboot=1, to further reduce bootime. I guesstimate about 0.8 seconds could be shaved, which would be quite significant.

My reply was:

(IIRC, there is no VBT  or INT 10H support yet in coreboot native video init)

Regarding EDID, it's handled from intel_gma_init in coreboot/src/northbridge/
intel/i945/gma.c.
The only thing I see that could be linked to a preferred mode is in decode_edid from coreboot/src/lib/edid.c :
                if (edid[0x18] & 0x02) {
                        printk(BIOS_SPEW, "First detailed timing is preferred timing\n");
                        has_preferred_timing = 1;
                }
(...)
                /* detailed timings */
                printk(BIOS_SPEW, "Detailed timings\n");
                has_valid_detailed_blocks = detailed_block(out, edid + 0x36, 0);
                if (has_preferred_timing && !did_detailed_timing)
                        has_preferred_timing = 0; /* not really accurate... */

Maybe disabling has_preferred_timing  if there are no did_detailed_timing is wrong?


---------- Forwarded message ----------
From: Jesse Barnes <jbarnes@virtuousgeek.org>
Date: Thu, Oct 30, 2014 at 5:34 PM
Subject: Re: [Intel-gfx] i915.fastboot bug report - not working on coreboot
To: Charles Devereaux <intelgfx@guylhem.net>
Cc: intel-gfx@lists.freedesktop.org, Paul Menzel <paulepanter@users.sourceforge.net>


On Thu, 23 Oct 2014 16:44:26 -0400
Charles Devereaux <intelgfx@guylhem.net> wrote:

> [    0.529733] [drm:intel_set_config_compute_mode_changes], modes are
> different, full mode set
> [    0.529736] [drm:drm_mode_debug_printmodeline], Modeline 0:"" 0 54167
> 1024 1048 1184 1344 768 771 777 806 0x0 0xa
> [    0.529740] [drm:drm_mode_debug_printmodeline], Modeline 11:"1024x768"
> 60 65000 1024 1048 1184 1344 768 771 777 806 0x48 0xa

This looks like the issue.  The BIOS programs a slightly different
1024x768 mode than what the kernel tries to apply.  Looks like reduced
vs non-reduced blanking approximately.

We could adjust the fastboot code to handle that, or change coreboot to
use the preferred mode from the EDID of the display or make the VBT
match, which is presumably what the kernel is using.

--
Jesse Barnes, Intel Open Source Technology Center