Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Feb 2016 21:33:31 +0300
From:      Alexander Mishurov <alexander.m.mishurov@gmail.com>
To:        freebsd-x11@freebsd.org
Subject:   Re: ValleyView
Message-ID:  <56B3997B.70703@gmail.com>
In-Reply-To: <56B30869.6000109@gmail.com>
References:  <56B30869.6000109@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is kinda weird, but it works.
When I started using device itself instead of parent bus: return device 
from "agp_i810_find_bridge" instead of pci_find_dbsf(0, 0, 0, 0), all 
devices attached:
agp0: <Valleyview (mobile)> on vgapci0
agp0: aperture size is 256M, detected 65532k stolen memory
agp0: AGP_SNB_GFX_MODE: 00000000
agp0: AGP_SNB_GCC1: 0x0211
agp0: Mappable GTT entries: 65536
agp0: Total GTT entries: 524288

info: [drm] Initialized drm 1.1.0 20060810
[drm:pid1326:drm_probe_helper] drmn0 desc: Intel Valleyview (mobile)
drmn0: <Intel Valleyview (mobile)> on vgapci0
[drm:pid1326:drm_get_pci_dev]

Now it's
*ERROR* eDP powered off while attempting aux channel communication.

Working on dev/drm2/i915/intel_dp.c

There's lot of code to get from Linux.


On 04/02/2016 11:14, Alexander Mishurov wrote:
> 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.
>
>
>
>
>
>
>
>
>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?56B3997B.70703>