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.
Regards,
- Sedat -
[1] http://marc.info/?t=135721787600001&r=1&w=2
[2] https://patchwork.kernel.org/patch/1757061/
From: Daniel J Blueman <hidden> Date: 2013-01-03 14:39:36
On 3 January 2013 22:11, Sedat Dilek [off-list ref] wrote:
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.
Thanks,
Daniel
--
Daniel J Blueman
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
On Thu, Jan 3, 2013 at 3:11 PM, Sedat Dilek [off-list ref] wrote:
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.
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.