[haiku-development] Re: N10 graphics controller

  • From: Sean Healy <jalopeura@xxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Wed, 2 Nov 2011 12:15:13 +0100

On 10/30/2011 04:15 PM, Michael Lotz wrote:
Sean Healy<jalopeura@xxxxxxxxxxx>  wrote:
On 10/22/2011 06:26 PM, luroh wrote:
Sean Healy wrote:
00:02.0 VGA compatible controller [0300]: Intel Corporation N10
Family
Integrated Graphics Controller [8086:a011]

The one on my old laptop (which works fine) is:

This should be supported already, so something's going wrong. Quite
possibly it's the regression tracked in #8001 if it only started failing
more or less recently.

This is a new machine.

By checking the boot log, I was able to see that near the end of the
log, 'intel_extreme: uninit()' and 'intel_extreme: close()' are
called.
I would expect functions with those names to be called during
shutdown,
not at the end of startup. So either these two function calls are
part
of the problem, and I need guidance on what to look for next, or else
someone with a different sense for function naming wrote the driver
API
(and I still need guidance on what to look for next).

Yes, these are called during shutdown of the driver. So for some reason
the driver isn't used any longer, i.e. due to the accelerant using it
failed to initialize properly and getting shutdown as well.

I'm not seeing those particular messages any longer. Perhaps when I saw them I was looking at a syslog from a boot when I had fail-safe video mode enabled. Would that cause this kind of shutdown?

I used the built-in log viewer to find this information. Is there any
way to copy the in-memory buffer that holds the boot log onto a file?
Can I dd it from a device? If so, which device and from what offset?

What do you mean exactly? The built-in log viewer as in the "syslog"
command of KDL? There's a way you can store that to a FAT formated USB
stick from the bootloader. Otherwise just copy the syslog file as
mentioned by Adrien.

Yes, that's the file I wanted. Storing it this way is easier than manually copying. I'm going to put a copy of the entire syslog on a ticket, but here are the lines that seem relevant to video issues. The ones that seem most suspicious to me are the DDC failures, which are followed by EDID failures. (Not that I know what DDC or EDID are, but the word 'failure' seems ominous.)

PCI: [dom 0, bus 0] bus 0, device 2, function 0: vendor 8086, device a011, revision 00
PCI:   class_base 03, class_function 00, class_api 00
PCI:   vendor 8086: Intel Corporation
PCI:   device a011: N10 Family Integrated Graphics Controller
PCI:   info: Display controller (VGA compatible controller, VGA controller)
PCI:   line_size 00, latency 00, header_type 80, BIST 00
PCI:   ROM base host 00000000, pci 00000000, size 00000000
PCI:   cardbus_CIS 00000000, subsystem_id 83ac, subsystem_vendor_id 1043
PCI:   interrupt_line 0f, interrupt_pin 01, min_grant 00, max_latency 00
PCI:   base reg 0: host f7e00000, pci f7e00000, size 00080000, flags 00
PCI:   base reg 1: host 0000dc00, pci 0000dc00, size 00000010, flags 09
PCI:   base reg 2: host d0000000, pci d0000000, size 10000000, flags 08
PCI:   base reg 3: host f7d00000, pci f7d00000, size 00100000, flags 00
PCI:   base reg 4: host 00000000, pci 00000000, size 00000000, flags 00
PCI:   base reg 5: host 00000000, pci 00000000, size 00000000, flags 00
PCI:   Capabilities: MSI, PM
PCI: [dom 0, bus 0] bus 0, device 2, function 1: vendor 8086, device a012, revision 00
PCI:   class_base 03, class_function 80, class_api 00
PCI:   vendor 8086: Intel Corporation
PCI:   device a012: N10 Family Integrated Graphics Controller
PCI:   info: Display controller
PCI:   line_size 00, latency 00, header_type 80, BIST 00
PCI:   ROM base host 00000000, pci 00000000, size 00000000
PCI:   cardbus_CIS 00000000, subsystem_id 83ac, subsystem_vendor_id 1043
PCI:   interrupt_line 00, interrupt_pin 00, min_grant 00, max_latency 00
PCI:   base reg 0: host f7e80000, pci f7e80000, size 00080000, flags 00
PCI:   base reg 1: host 00000000, pci 00000000, size 00000000, flags 00
PCI:   base reg 2: host 00000000, pci 00000000, size 00000000, flags 00
PCI:   base reg 3: host 00000000, pci 00000000, size 00000000, flags 00
PCI:   base reg 4: host 00000000, pci 00000000, size 00000000, flags 00
PCI:   base reg 5: host 00000000, pci 00000000, size 00000000, flags 00
PCI:   Capabilities: PM

<snip>

intel_extreme: init_hardware()
intel_extreme: init_driver()
AGP: bus manager init
AGP: found 0 AGP devices
intel_extreme: (0) Atom_N4x0, revision = 0x0
intel_extreme: publish_devices()
intel_extreme: find_device()
loaded driver /boot/system/add-ons/kernel/drivers/dev/graphics/intel_extreme

Radeon - init_hardware: Version: 5.1.6.0
Radeon - Radeon_CardDetect: no supported devices found
slab memory manager: created area 0x85001000 (2853)
S3: init_hardware() - no supported devices
vesa: init_hardware()
vesa: init_driver()
vesa: publish_devices()
vesa: find_device()
loaded driver /boot/system/add-ons/kernel/drivers/dev/graphics/vesa
intel_extreme: open(name = graphics/intel_extreme_000200)
etherpci: init_driver add_memory_type_range(2866, 0xf7e00000, 0x80000, 0)
init_driver: etherpci not found
set MTRRs to:
  mtrr:  0: base: 0x7f680000, size:    0x80000, type: 0
  mtrr:  1: base: 0xe0000000, size: 0x20000000, type: 0
  mtrr:  2: base: 0x80000000, size: 0x80000000, type: 1
add_memory_type_range(2868, 0xf7d00000, 0x100000, 0)
set MTRRs to:
  mtrr:  0: base: 0x7f680000, size:    0x80000, type: 0
  mtrr:  1: base: 0xe0000000, size: 0x20000000, type: 0
  mtrr:  2: base: 0x80000000, size: 0x80000000, type: 1
intel_gart: detected 8 MB of stolen memory, aperture size 256 MB, GTT size 1024 KB
intel_gart: GTT base = 0xf7d00000
intel_gart: MMIO base = 0xf7e00000
intel_gart: GMR base = 0xd0000000
add_memory_type_range(2870, 0xd0000000, 0x10000000, 1)
set MTRRs to:
  mtrr:  0: base: 0x7f680000, size:    0x80000, type: 0
  mtrr:  1: base: 0xe0000000, size: 0x20000000, type: 0
  mtrr:  2: base: 0x80000000, size: 0x80000000, type: 1
add_memory_type_range(2873, 0xf7e00000, 0x80000, 0)
set MTRRs to:
  mtrr:  0: base: 0x7f680000, size:    0x80000, type: 0
  mtrr:  1: base: 0xe0000000, size: 0x20000000, type: 0
  mtrr:  2: base: 0x80000000, size: 0x80000000, type: 1
AGP: create memory 0x82624f00, base 90000000, size 10000, flags 0
AGP: allocation is made of reserved memory
AGP: reserved memory already bound
i965 quirk
AGP: create memory 0x82624e80, base 907ff000, size 1000, flags 2
AGP: allocate 4096 bytes out of 4096
AGP: bind 4096 bytes at 907ff000
intel_extreme_init() completed successfully!
intel_extreme: accelerant: intel_extreme.accelerant
intel_init_accelerant()
PLL limits, min: p 5 (p1 1, p2 10), n 3, m 2 (m1 0, m2 2)
PLL limits, max: p 80 (p1 8, p2 5), n 6, m 256 (m1 0, m2 256)
head detected: 0xa
adpa: 40008c18, dova: 00000000, dovb: 00300000, lvds: c0300300
DDC: ddc2_read(): DDC information read failure
Last message repeated 3 times.
intel_extreme: getting EDID on port A (analog) failed : No Error (8). Trying on port C (lvds)
DDC: ddc2_read(): DDC information read failure
Last message repeated 3 times.
intel_extreme: getting EDID on port C failed : No Error (8)

<snip>

intel_get_edid_info()
intel_get_edid_info()
intel_accelerant_mode_count()
intel_get_mode_info()
intel_set_display_mode(1024x600)
intel_propose_display_mode()
AGP: create memory 0x825a2840, base 90010000, size 258000, flags 0
AGP: allocation is made of reserved memory
AGP: reserved memory already bound
PLL limits, min: p 5 (p1 1, p2 10), n 3, m 2 (m1 0, m2 2)
PLL limits, max: p 80 (p1 8, p2 5), n 6, m 256 (m1 0, m2 256)
required MHz: 6.4
found: 1.85907e-10 MHz, p = 2147412332 (p1 = 9665358, p2 = 9702336), n = 2147412060, m = 8930061 (m1 = 8, m2 = 10002)
intel_get_frame_buffer_config()




Other related posts: