fbmem, drm/nouveau: kick firmware framebuffers as soon as possible
authorMarcin Slusarz <marcin.slusarz@gmail.com>
Sun, 16 May 2010 15:29:56 +0000 (17:29 +0200)
committerDave Airlie <airlied@redhat.com>
Tue, 18 May 2010 06:19:28 +0000 (16:19 +1000)
commit06415c564fb98562a4d6b6215615deb2d1cc0dae
tree93982221251bc68eb292a07da72220a0c90d94f0
parent1471ca9aa71cd37b6a7476bb6f06a3a8622ea1bd
fbmem, drm/nouveau: kick firmware framebuffers as soon as possible

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@epsm.fr>
Tested-by: Didier Spaier <didier.spaier@epsm.fr>
Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Peter Jones <pjones@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/nouveau/nouveau_drv.h
drivers/gpu/drm/nouveau/nouveau_fbcon.c
drivers/gpu/drm/nouveau/nouveau_state.c
drivers/video/fbmem.c
include/linux/fb.h