ValleyView
Alexander Mishurov
alexander.m.mishurov at gmail.com
Thu Feb 4 08:14:37 UTC 2016
Hi!
I started enabling ValleyView in drm2 and faced some problems.
Target device: Acer E3-112 laptop. Celeron N2840.
VGA: pci0:0:2:0, 0x0f318086
HOST-PCI: pci0:0:0:0, 0x0f008086
I use these docs as reference:
https://01.org/linuxgraphics/documentation/hardware-specification-prms
Particularly these two documents:
1. This one for ValleyView PCI configurations space registers
https://01.org/sites/default/files/documentation/intel_os_gfx_prm_vol11_-_gfx_interface.pdf
2. And this one for Haswell PCI configurations space registers to
compare because Haswell already exist
https://01.org/sites/default/files/documentation/intel-gfx-prm-osrc-hsw-pcie-config-registers.pdf
I enabled my device id in
dev/drm2/drm_pciids.h
dev/drm2/i915/i915_drv.c
And turned on "i915_enable_unsupported" variable.
And faced kernel crash with following problem:
Fatal trap 12: page fault while in kernel mode
device_get_softc() at device_get_softc+0x4/frame 0xfffffe023131c3c0
intel_gtt_get_bridge_device() at intel_gtt_get_bridge_device+0x11/frame
0xfffffe023131c3d0
i915_driver_load() at i915_driver_load+0x3ac/frame 0xfffffe023131c550
drm_get_pci_dev() at drm_get_pci_dev+0x436/frame 0xfffffe023131c5b0
drm_attach_helper() at drm_attach_helper+0x13f/frame 0xfffffe023131c600
i915_attach() at i915_attach+0x53/frame 0xfffffe023131c610
device_attach() at device_attach+0x41d/frame 0xfffffe023131c670
So I figured out I need to get agp working. I added device id to
dev/agp/agp_i810.c
Nothing happens, some debugging revealed that all functions:
agp_sb_check_active()
agp_sb_get_stolen_size()
agp_sb_get_gtt_total_entries()
and others that in order call
pci_read_config()
and read pci registers from bridge device, always return zeros.
I checked constants in
dev/agp/agpreg.h
All Sandy Bridge constants for config registers match those in documents
for HSW and VLV mentioned above.
So I don't know what's causing the problem. I'm running dev kernel on
EFI booted machine with xorg and xf86-video-scfb.
More information about the freebsd-x11
mailing list