linux/drivers/gpu/drm/nouveau
Marcin Slusarz 06415c564f 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>
2010-05-18 16:19:28 +10:00
..
Kconfig drm/i2c/ch7006: Drop build time dependency to nouveau. 2010-01-11 09:06:30 +10:00
Makefile drm/nv50: implement gpio set/get routines 2010-04-09 10:15:46 +10:00
nouveau_acpi.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
nouveau_backlight.c backlight: Allow properties to be passed at registration 2010-03-16 19:47:54 +00:00
nouveau_bios.c drm/nv50: implement gpio set/get routines 2010-04-09 10:15:46 +10:00
nouveau_bios.h drm/nv50: parse/use some more de-magiced parts of gpio table entries 2010-04-09 10:15:45 +10:00
nouveau_bo.c Merge branch 'drm-ttm-unmappable' into drm-core-next 2010-04-20 14:15:09 +10:00
nouveau_calc.c drm/nouveau: merge nvbios and nouveau_bios_info 2010-02-25 15:09:21 +10:00
nouveau_channel.c drm/nouveau: remove some unused members from drm_nouveau_private 2010-04-09 10:11:57 +10:00
nouveau_connector.c drm/nouveau: add module option to disable TV detection 2010-03-15 09:47:00 +10:00
nouveau_connector.h drm/nouveau: use dcb connector table for creating drm connectors 2010-02-25 15:09:32 +10:00
nouveau_crtc.h
nouveau_debugfs.c Merge branch 'drm-ttm-pool' into drm-core-next 2010-04-20 13:12:28 +10:00
nouveau_display.c drm/fb: fix fbdev object model + cleanup properly. 2010-04-07 10:21:03 +10:00
nouveau_dma.c drm/nv50: add a memory barrier to pushbuf submission 2010-03-10 16:07:35 +10:00
nouveau_dma.h drm/nouveau: new gem pushbuf interface, bump to 0.0.16 2010-02-25 15:08:44 +10:00
nouveau_dp.c drm/nouveau: bail out of auxch transaction if we repeatedly recieve defers 2010-04-09 10:20:15 +10:00
nouveau_drv.c drm/fb: fix fbdev object model + cleanup properly. 2010-04-07 10:21:03 +10:00
nouveau_drv.h fbmem, drm/nouveau: kick firmware framebuffers as soon as possible 2010-05-18 16:19:28 +10:00
nouveau_encoder.h drm/nv50: preserve an unknown SOR_MODECTRL value for DP encoders 2010-04-09 10:15:38 +10:00
nouveau_fb.h drm/fb: fix fbdev object model + cleanup properly. 2010-04-07 10:21:03 +10:00
nouveau_fbcon.c fbmem, drm/nouveau: kick firmware framebuffers as soon as possible 2010-05-18 16:19:28 +10:00
nouveau_fbcon.h drm/kms/fb: use slow work mechanism for normal hotplug also. 2010-04-07 10:30:38 +10:00
nouveau_fence.c drm/nouveau: Use the software object for fencing. 2010-01-11 09:06:38 +10:00
nouveau_gem.c Merge branch 'drm-ttm-unmappable' into drm-core-next 2010-04-20 14:15:09 +10:00
nouveau_grctx.c drivers/gpu/drm: Use kmemdup 2010-05-18 15:55:55 +10:00
nouveau_grctx.h drm/nv40: implement ctxprog/state generation 2009-12-16 17:05:39 +10:00
nouveau_hw.c drm/nouveau: merge nvbios and nouveau_bios_info 2010-02-25 15:09:21 +10:00
nouveau_hw.h
nouveau_i2c.c drm/nouveau: merge nvbios and nouveau_bios_info 2010-02-25 15:09:21 +10:00
nouveau_i2c.h
nouveau_ioc32.c drm: convert drm_ioctl to unlocked_ioctl 2009-12-18 11:22:31 +10:00
nouveau_irq.c Merge branch 'drm-fbdev-cleanup' into drm-core-next 2010-04-20 13:16:04 +10:00
nouveau_mem.c drm/nouveau: detect vram amount once, and save the value 2010-04-09 10:12:02 +10:00
nouveau_notifier.c Use drm_gem_object_[handle_]unreference_unlocked where possible 2010-02-11 14:22:34 +10:00
nouveau_object.c drm/nouveau: move dereferences after null checks 2010-02-11 09:52:00 +10:00
nouveau_reg.h drm/nouveau: Add getparam to get available PGRAPH units. 2010-02-09 12:48:08 +10:00
nouveau_sgdma.c Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2010-04-09 11:50:01 -07:00
nouveau_state.c fbmem, drm/nouveau: kick firmware framebuffers as soon as possible 2010-05-18 16:19:28 +10:00
nouveau_ttm.c drm/nouveau: have ttm's fault handler called directly 2010-01-11 09:06:42 +10:00
nv04_crtc.c Merge remote branch 'nouveau/for-airlied' into drm-linus 2010-03-15 11:07:33 +10:00
nv04_cursor.c
nv04_dac.c drm/nouveau: merge nvbios and nouveau_bios_info 2010-02-25 15:09:21 +10:00
nv04_dfp.c drm/nouveau: merge nvbios and nouveau_bios_info 2010-02-25 15:09:21 +10:00
nv04_display.c drm/nouveau: use dcb connector table for creating drm connectors 2010-02-25 15:09:32 +10:00
nv04_fb.c
nv04_fbcon.c drm/kms/fb: move to using fb helper crtc grouping instead of core crtc list 2010-04-07 10:24:56 +10:00
nv04_fifo.c drm/nouveau: protect channel create/destroy and irq handler with a spinlock 2010-02-25 15:07:53 +10:00
nv04_graph.c drm/nv04: Fix set_operation software method. 2010-01-11 09:06:53 +10:00
nv04_instmem.c drm/nouveau: fix thinko in nv04_instmem.c 2010-01-18 09:55:54 +10:00
nv04_mc.c
nv04_timer.c
nv04_tv.c drm/nouveau: merge nvbios and nouveau_bios_info 2010-02-25 15:09:21 +10:00
nv10_fb.c drm/nouveau: Pre-G80 tiling support. 2010-01-11 08:47:56 +10:00
nv10_fifo.c
nv10_graph.c drm/nouveau: Pre-G80 tiling support. 2010-01-11 08:47:56 +10:00
nv17_gpio.c
nv17_tv_modes.c
nv17_tv.c drm/nouveau: merge nvbios and nouveau_bios_info 2010-02-25 15:09:21 +10:00
nv17_tv.h
nv20_graph.c drm/nouveau: Pre-G80 tiling support. 2010-01-11 08:47:56 +10:00
nv40_fb.c drm/nouveau: Pre-G80 tiling support. 2010-01-11 08:47:56 +10:00
nv40_fifo.c drm/nouveau: detect vram amount once, and save the value 2010-04-09 10:12:02 +10:00
nv40_graph.c drm/nv40: Init some tiling-related PGRAPH state. 2010-04-09 10:15:43 +10:00
nv40_grctx.c drm/nv40: implement ctxprog/state generation 2009-12-16 17:05:39 +10:00
nv40_mc.c
nv50_crtc.c Use drm_gem_object_[handle_]unreference_unlocked where possible 2010-02-11 14:22:34 +10:00
nv50_cursor.c drm/nouveau: use drm debug levels 2009-12-16 17:04:48 +10:00
nv50_dac.c drm/nouveau: merge nvbios and nouveau_bios_info 2010-02-25 15:09:21 +10:00
nv50_display.c Merge branch 'drm-fbdev-cleanup' into drm-core-next 2010-04-20 13:16:04 +10:00
nv50_display.h drm/nv50: punt hotplug irq handling out to workqueue 2010-04-09 10:15:40 +10:00
nv50_evo.h
nv50_fb.c drm/nv50: Improve PGRAPH interrupt handling. 2010-03-10 16:07:02 +10:00
nv50_fbcon.c Merge branch 'drm-fbdev-cleanup' into drm-core-next 2010-04-20 13:16:04 +10:00
nv50_fifo.c drm/nv50: switch to indirect push buffer controls 2010-02-25 15:08:29 +10:00
nv50_gpio.c drm/nv50: implement gpio set/get routines 2010-04-09 10:15:46 +10:00
nv50_graph.c drm/nv50: Allow using the NVA3 new compute class. 2010-04-09 10:15:37 +10:00
nv50_grctx.c drm/nv50: Add NVA3 support in ctxprog/ctxvals generator. 2010-04-09 10:15:42 +10:00
nv50_instmem.c drm/nv50: fix instmem init on IGPs if stolen mem crosses 4GiB mark 2010-04-09 10:12:19 +10:00
nv50_mc.c
nv50_sor.c drm/nv50: another dodgy DP hack 2010-04-09 10:15:41 +10:00
nvreg.h