Re: 3.8-rc2: EFI framebuffer lock inversion...
From: Sedat Dilek <hidden>
Date: 2013-01-03 15:09:41
Also in:
lkml
On Thu, Jan 3, 2013 at 3:39 PM, Daniel J Blueman [off-list ref] wrote:
On 3 January 2013 22:11, Sedat Dilek [off-list ref] wrote:quoted
Hi Daniel, just wanted to test the fb-fix [2] from Alan and followed the thread in [1]. Me is also working with i915 KMS. I looked at nouveau KMS driver and adapted the part for i915: drivers/gpu/drm/nouveau/nouveau_drm.c-200- /* remove conflicting drivers (vesafb, efifb etc) */ drivers/gpu/drm/nouveau/nouveau_drm.c:201: aper = alloc_apertures(3); drivers/gpu/drm/nouveau/nouveau_drm.c-202- if (!aper) drivers/gpu/drm/nouveau/nouveau_drm.c-203- return -ENOMEM; Untested by me, feel free to test. Maybe some of the i915 and/or fb driver experts can comment on the problem.The structure array from alloc_apertures is just used for the PCI base address registers, so it's important here. I'll take a look at the efifb locking later.
That is the code part [1] I looked at. Maybe the next lines with ap(er)->ranges || pci_resource_start() and pci_resource_len() are missing? I also looked at "include/linux/fb.h" but could not get wiser. Also I can't say what the value "1" or "3" means in alloc_apertures(). Wouldn't it make sense to remove the conflicting fb-drivers globally not in each affected DRM/KMS driver? Just an idea. - Sedat - [1] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=drivers/gpu/drm/nouveau/nouveau_drm.c;hb=refs/tags/v3.8-rc2#l192
Thanks, Daniel -- Daniel J Blueman