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

From: Marcin Slusarz
Date: Sun Apr 11 2010 - 13:09:13 EST


On Sat, Apr 10, 2010 at 09:55:34PM +0200, marcin.slusarz@xxxxxxxxx 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@xxxxxxx>
> Signed-off-by: Marcin Slusarz <marcin.slusarz@xxxxxxxxx>
> Cc: Ben Skeggs <bskeggs@xxxxxxxxxx>
> Cc: Dave Airlie <airlied@xxxxxxxxxx>
> Cc: Peter Jones <pjones@xxxxxxxxxx>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> ---

With this little patch below:
Tested-by: Didier Spaier <didier.spaier@xxxxxxx>

---
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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/