[PATCH 3/3] fbmem, drm/nouveau: kick firmware framebuffers as soon as possible

Marcin Slusarz marcin.slusarz at gmail.com
Sun Apr 11 10:09:00 PDT 2010


On Sat, Apr 10, 2010 at 09:55:34PM +0200, marcin.slusarz at gmail.com wrote:
> Currently vesafb/efifb/... is kicked when hardware driver is registering
> framebuffer. To do it hardware must be fully functional, so there's a short
> window between start of initialisation and framebuffer registration when
> two drivers touch the hardware. Unfortunately sometimes it breaks nouveau
> initialisation.
> 
> Fix it by kicking firmware driver(s) before we start touching the hardware.
> 
> Reported-by: Didier Spaier <didier.spaier at epsm.fr>
> Signed-off-by: Marcin Slusarz <marcin.slusarz at gmail.com>
> Cc: Ben Skeggs <bskeggs at redhat.com>
> Cc: Dave Airlie <airlied at redhat.com>
> Cc: Peter Jones <pjones at redhat.com>
> Cc: Andrew Morton <akpm at linux-foundation.org>
> ---

With this little patch below:
Tested-by: Didier Spaier <didier.spaier at epsm.fr>

---
diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
index f5297a0..42ae782 100644
--- a/drivers/video/fbmem.c
+++ b/drivers/video/fbmem.c
@@ -1524,6 +1524,7 @@ void remove_conflicting_framebuffers(struct apertures_struct *a, const char *nam
 		}
 	}
 }
+EXPORT_SYMBOL(remove_conflicting_framebuffers);
 
 /**
  *	register_framebuffer - registers a frame buffer device



More information about the dri-devel mailing list