Re: Minnowboard i915 driver not getting initialized properly

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 15/06/16 09:42, vinoth eswaran wrote:
Hello Mr.David Gordon,

I working on an embedded project with Minnowboard Turbot. The goal is
to have a camera application running as fast as possible (within 2
sec).

For this, I have replaced the UEFI bootloader with the U-boot (Latest
git version - uboot-x86). In u-boot I am seeing that the VGA run on
bios is taking too much time , around 2 sec.

realmode_call(addr + 0x0003, num_dev, 0xffff, 0x0000, 0xffff, 0x0,
0x0);  -- This function call takes more time around 2 seconds.

So I had removed the VESA config from u-boot. Now the u-boot boots up
fast, but I am facing some other issue in the i915 driver Linux
kernel. It seems that the i915 driver is not getting initialized
properly. When the Weston compositor tries to run it crashes. I have
tried to dump the VBIOS  using the following commands

echo 1 > /sys/devices/pci0000:00/0000:00:02.0/rom
cat /sys/devices/pci0000:00/0000:00:02.0/rom

and found that it is unable to access the VBIOS
  i915 0000:00:02.0: Invalid ROM contents

I think that it is due to the fact that VGA bios is not runned by the
U-boot. Is it possible to run this in linux kernel or any config in
i915 driver to support this?

or due have any idea to optimize the vga run on bios in u-boot. The
currrent time taken to run VGA bios in u-boot is unacceptable in my
case.

I see you've already asked on the intel-gfx mailing list (which is the preferred channel for this sort of question) and got an answer from Daniel.

I really have very little idea about anything to do with the BIOS (I come from a background of working on non-BIOS-based machines), but I would suggest:

(a) if the VBIOS is just supposed to provide tables for i915, maybe you could run it with VBIOS enabled, then capture the tables and hardwire those captured versions in as a default for when the VBIOS is disabled; or (b) if the VBIOS is actually supposed to program the hardware with default values, you'd need to duplicate that functionality.

Either way, you might then be able to build a driver which was specific to your hardware setup and therefore would work as long as you didn't also need to be able to reconfigure the hardware between boots.

Perhaps you might find something useful at the OpenBIOS site?

	http://www.openfirmware.info/Welcome_to_OpenBIOS

HTH,
.Dave.

I have attached the dmesg logs for your reference

Any help on this is much appreciated :)

The logs with drm.debug=0x06 enabled:
[    0.218171] calling  i915_init+0x0/0x99 @ 1
[    0.220432] [drm:i915_dump_device_info] i915 device info: gen=7,
pciid=0x0f31 rev=0x11
flags=is_mobile,need_gfx_hws,is_valleyview,has_hotplug,
[    0.220566] [drm:i915_gem_gtt_init] GMADR size = 256M
[    0.220570] [drm:i915_gem_gtt_init] GTT stolen size = 64M
[    0.220574] [drm:i915_gem_gtt_init] ppgtt mode: 1
[    0.221964] i915 0000:00:02.0: Invalid ROM contents
[    0.227568] [drm:i915_gem_init_stolen] Memory reserved for graphics
device: 65536K, usable: 65536K
[    0.358545] [drm:i915_gem_setup_global_gtt] clearing unused GTT
space: [0, 7ffff000]
[    0.364276] [drm:i915_gem_context_init] HW context support initialized
[    0.364289] [drm:i915_gem_object_create_stolen] creating stolen
object: size=20000
[    0.364296] [drm:i915_pages_create_for_stolen] offset=0x0, size=131072
[    0.364405] [drm:i915_gem_object_create_stolen] creating stolen
object: size=20000
[    0.364411] [drm:i915_pages_create_for_stolen] offset=0x20000, size=131072
[    0.364463] [drm:i915_gem_object_create_stolen] creating stolen
object: size=20000
[    0.364470] [drm:i915_pages_create_for_stolen] offset=0x40000, size=131072
[    0.366181] [drm:i915_gem_object_create_stolen_for_preallocated]
creating preallocated stolen object: stolen_offset=3efa000,
gtt_offset=ffffffff, size=6000
[    0.366189] [drm:i915_pages_create_for_stolen] offset=0x3efa000, size=24576
[    0.388566] [drm:i915_redisable_vga_power_on] Something enabled VGA
plane, disabling it
[    0.452154] [drm] GMBUS [i915 gmbus vga] timed out, falling back to
bit banging on pin 2
[    0.460168] [drm:drm_do_probe_ddc_edid] drm: skipping non-existent
adapter i915 gmbus vga
[    0.484566] [drm:i915_redisable_vga_power_on] Something enabled VGA
plane, disabling it
[    0.588705] [drm:i915_redisable_vga_power_on] Something enabled VGA
plane, disabling it
[    0.678697] i915 0000:00:02.0: No connectors reported connected with modes
[    0.678750] [drm] Initialized i915 1.6.0 20151010 for 0000:00:02.0 on minor 0
[    0.678853] initcall i915_init+0x0/0x99 returned 0 after 449419 usecs
[    0.679607] [drm:i915_gem_object_create_stolen] creating stolen
object: size=300000
[    0.679615] [drm:i915_pages_create_for_stolen] offset=0x60000, size=3145728
[    0.682422] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
[    2.945260] [drm:i915_gem_open]
[    3.487206] [drm:i915_redisable_vga_power_on] Something enabled VGA
plane, disabling it
[    3.507204] [drm:drm_do_probe_ddc_edid] drm: skipping non-existent
adapter i915 gmbus vga
[    3.531477] [drm:i915_redisable_vga_power_on] Something enabled VGA
plane, disabling it
[    3.635502] [drm:i915_redisable_vga_power_on] Something enabled VGA
plane, disabling it
[    3.778482] [drm:i915_redisable_vga_power_on] Something enabled VGA
plane, disabling it
[    3.799069] [drm:drm_do_probe_ddc_edid] drm: skipping non-existent
adapter i915 gmbus vga
[    3.822530] [drm:i915_redisable_vga_power_on] Something enabled VGA
plane, disabling it
[    3.926638] [drm:i915_redisable_vga_power_on] Something enabled VGA
plane, disabling it

Mit Freundlichen Grüßen
VinothKumar
+49 1798909072


_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux