linux/drivers/gpu/drm/nouveau
Dave Airlie 466e69b8b0 drm: move pci bus master enable into driver.
The current enabling of bus mastering in the drm midlayer allows a large
race condition under kexec. When a kexec'ed kernel re-enables bus mastering
for the GPU, previously setup dma blocks may cause writes to random pieces
of memory. On radeon the writeback mechanism can cause these sorts of issues.

This patch doesn't fix the problem, but it moves the bus master enable under
the individual drivers control so they can move enabling it until later in
their load cycle and close the race.

Fix for radeon kms driver will be in a follow-up patch.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-02-16 18:31:07 +00:00
..
Kconfig drm: fix nouveau_acpi build 2011-05-16 11:57:20 +10:00
Makefile drm/nouveau/gpio: reimplement as nouveau_gpio.c, fixing a number of issues 2011-12-21 19:01:45 +10:00
nouveau_acpi.c nouveau: Support Optimus models for vga_switcheroo 2012-01-13 09:09:15 +00:00
nouveau_backlight.c drm/nva3/backlight: add suppport for newer style backlight regs 2011-09-20 16:10:06 +10:00
nouveau_bios.c drm/nouveau/gpio: reimplement as nouveau_gpio.c, fixing a number of issues 2011-12-21 19:01:45 +10:00
nouveau_bios.h drm/nouveau/disp: check that panel power gpio is enabled at init time 2012-02-01 15:23:55 +10:00
nouveau_bo.c drm/ttm: fix two regressions since move_notify changes 2012-01-25 18:54:28 +00:00
nouveau_calc.c
nouveau_channel.c drm/nouveau: Fix pushbufs over the 4GB mark. 2011-12-21 19:01:46 +10:00
nouveau_connector.c drm/nouveau/gpio: reimplement as nouveau_gpio.c, fixing a number of issues 2011-12-21 19:01:45 +10:00
nouveau_connector.h drm/nouveau/disp: parse connector info directly in nouveau_connector.c 2011-12-21 19:01:41 +10:00
nouveau_crtc.h drm/nouveau/disp: kill off nouveau_crtc.mode 2011-12-21 19:01:22 +10:00
nouveau_debugfs.c drm/nouveau: Fix pushbufs over the 4GB mark. 2011-12-21 19:01:46 +10:00
nouveau_display.c drm: add convenience function to create an range property 2012-02-09 10:15:25 +00:00
nouveau_dma.c drm/nouveau: Fix pushbufs over the 4GB mark. 2011-12-21 19:01:46 +10:00
nouveau_dma.h drm/nouveau: remove no_vm/mappable flags from nouveau_bo 2011-02-25 06:45:34 +10:00
nouveau_dp.c drm/nouveau/gpio: reimplement as nouveau_gpio.c, fixing a number of issues 2011-12-21 19:01:45 +10:00
nouveau_drv.c drm/nouveau: fix typo on mxmdcb option 2012-02-01 15:23:59 +10:00
nouveau_drv.h nouveau: Support Optimus models for vga_switcheroo 2012-01-13 09:09:15 +00:00
nouveau_encoder.h drm/nouveau/dp: enable down-spread if vbios and sink support it 2011-09-20 16:10:35 +10:00
nouveau_fb.h drm/nouveau: move master modesetting init to nouveau_display 2011-12-21 19:01:16 +10:00
nouveau_fbcon.c drm: do not set fb_info->pixmap fields 2012-02-09 10:34:43 +00:00
nouveau_fbcon.h
nouveau_fence.c drm/nouveau: initialize chan->fence.lock before use 2011-11-10 08:58:53 +10:00
nouveau_gem.c drm/nouveau/gem: fix fence_sync race / oops 2012-02-01 15:27:20 +10:00
nouveau_gpio.c drm/nouveau/gpio: reimplement as nouveau_gpio.c, fixing a number of issues 2011-12-21 19:01:45 +10:00
nouveau_gpio.h drm/nouveau/gpio: reimplement as nouveau_gpio.c, fixing a number of issues 2011-12-21 19:01:45 +10:00
nouveau_grctx.h drm/nouveau: Fix missing whitespace checkpatch.pl errors. 2011-05-16 10:47:25 +10:00
nouveau_hdmi.c drm/nouveau/hdmi: enable audio for nva3:nvd0 chipsets 2011-12-21 19:01:31 +10:00
nouveau_hw.c drm/nv17-nv40: Fix modesetting failure when pitch == 4096px (fdo bug 35901). 2011-06-07 09:22:29 +10:00
nouveau_hw.h
nouveau_hwsq.h drm/nouveau/hwsq: remove some magic, give proper opcode names 2011-12-21 19:01:44 +10:00
nouveau_i2c.c drm/nouveau/i2c: handle bit-banging ourselves 2011-12-21 19:01:41 +10:00
nouveau_i2c.h drm/nouveau/i2c: handle bit-banging ourselves 2011-12-21 19:01:41 +10:00
nouveau_ioc32.c
nouveau_irq.c drm/nouveau: detect disabled device in irq handler and return IRQ_NONE 2011-07-25 09:42:09 +10:00
nouveau_mem.c drm/nouveau/bios: pass drm_device to ROMPTR, rather than nvbios 2011-12-21 19:01:39 +10:00
nouveau_mm.c drm/nouveau: allow a nouveau_mm to be created with holes 2011-09-20 16:04:00 +10:00
nouveau_mm.h drm/nouveau: allow a nouveau_mm to be created with holes 2011-09-20 16:04:00 +10:00
nouveau_mxm.c drm/nouveau/mxm: pretend to succeed, even if we can't shadow the MXM-SIS 2012-02-01 15:23:58 +10:00
nouveau_notifier.c drm/nouveau: Fix notifier blocks over the 4GB mark. 2011-12-21 19:01:47 +10:00
nouveau_object.c drm/nvd0/disp: add support for page flipping 2011-12-21 19:01:37 +10:00
nouveau_perf.c drm/nouveau/bios: pass drm_device to ROMPTR, rather than nvbios 2011-12-21 19:01:39 +10:00
nouveau_pm.c drm/nouveau/pm: fix build with HWMON off 2012-01-10 10:13:16 +00:00
nouveau_pm.h drm/nvc0/pm: initial engine reclocking 2011-12-21 19:01:46 +10:00
nouveau_ramht.c drm/nv50-nvc0: fix ramht entries for multiple evo channels 2011-02-25 06:44:48 +10:00
nouveau_ramht.h
nouveau_reg.h drm/nva3/backlight: add suppport for newer style backlight regs 2011-09-20 16:10:06 +10:00
nouveau_sgdma.c drm/ttm: isolate dma data from ttm_tt V4 2011-12-06 10:40:02 +00:00
nouveau_state.c drm: move pci bus master enable into driver. 2012-02-16 18:31:07 +00:00
nouveau_temp.c drm/nouveau/i2c: do parsing of i2c-related vbios info in nouveau_i2c.c 2011-12-21 19:01:40 +10:00
nouveau_ttm.c
nouveau_util.c drm/nouveau: add nouveau_enum_find() util function 2011-03-14 16:31:50 +10:00
nouveau_util.h drm/nouveau: add nouveau_enum_find() util function 2011-03-14 16:31:50 +10:00
nouveau_vm.c drm/nouveau/ttm: fix crash as a result of a recent ttm change 2011-12-22 15:23:25 +10:00
nouveau_vm.h drm/nouveau/ttm: fix crash as a result of a recent ttm change 2011-12-22 15:23:25 +10:00
nouveau_volt.c drm/nouveau/gpio: reimplement as nouveau_gpio.c, fixing a number of issues 2011-12-21 19:01:45 +10:00
nv04_crtc.c drm: Replace pitch with pitches[] in drm_framebuffer 2011-12-20 10:06:27 +00:00
nv04_cursor.c
nv04_dac.c drm/nouveau/gpio: reimplement as nouveau_gpio.c, fixing a number of issues 2011-12-21 19:01:45 +10:00
nv04_dfp.c drm/nv04/disp: handle dual-link spwg panels without needing quirks 2011-12-21 19:01:43 +10:00
nv04_display.c drm/nouveau: move hpd enable/disable to common code 2011-12-21 19:01:46 +10:00
nv04_fb.c
nv04_fbcon.c
nv04_fifo.c drm/nv50: check for vm traps on every gr irq 2011-03-14 16:32:30 +10:00
nv04_graph.c drm/nouveau/gr: disable fifo access and idle before suspend ctx unload 2011-07-25 09:43:38 +10:00
nv04_instmem.c DRM: remove drm_pci_device_is_pcie 2011-07-13 08:14:52 +01:00
nv04_mc.c
nv04_pm.c drm/nv04-nv30/pm: port to newer interfaces 2011-12-21 19:01:24 +10:00
nv04_timer.c drm/nouveau/pm: remove the older interfaces completely 2011-12-21 19:01:25 +10:00
nv04_tv.c
nv10_fb.c
nv10_fifo.c
nv10_gpio.c drm/nv40/disp: implement support for hotplug irq 2011-12-21 19:01:45 +10:00
nv10_graph.c drm/nouveau/gr: disable fifo access and idle before suspend ctx unload 2011-07-25 09:43:38 +10:00
nv17_tv.c drm/nouveau/gpio: reimplement as nouveau_gpio.c, fixing a number of issues 2011-12-21 19:01:45 +10:00
nv17_tv.h
nv17_tv_modes.c
nv20_graph.c drm/nouveau/gr: disable fifo access and idle before suspend ctx unload 2011-07-25 09:43:38 +10:00
nv30_fb.c
nv31_mpeg.c drm/nv31/mpeg: support for a single class3174 user 2011-09-20 16:03:44 +10:00
nv40_fb.c
nv40_fifo.c drm/nv40/vpe: add support for PMPEG 2011-05-16 10:48:56 +10:00
nv40_graph.c drm/nouveau: pass flag to engine fini() method on suspend 2011-07-25 09:43:22 +10:00
nv40_grctx.c
nv40_mc.c
nv40_pm.c drm/nouveau: just pass gpio line to pwm_*, not entire gpio struct 2011-12-21 19:01:44 +10:00
nv50_calc.c drm/nva3/clk: better pll calculation when no fractional fb div available 2011-05-16 10:50:59 +10:00
nv50_crtc.c drm/nv50/disp: fix scaling of doublescan modes 2011-12-21 19:01:23 +10:00
nv50_cursor.c drm/nouveau: make general drm modesetting init common 2011-09-20 16:05:04 +10:00
nv50_dac.c drm/nv50/disp: disconnect encoders before reprogramming them 2011-12-21 19:01:19 +10:00
nv50_display.c drm/nouveau: move hpd enable/disable to common code 2011-12-21 19:01:46 +10:00
nv50_display.h drm/nv50/disp: fix evo for create/init + destroy/fini split 2011-12-21 19:01:34 +10:00
nv50_evo.c drm/nv50/disp: fix evo for create/init + destroy/fini split 2011-12-21 19:01:34 +10:00
nv50_evo.h drm/nv50-nvc0: initialise display sync channels 2011-02-25 06:45:11 +10:00
nv50_fb.c drm/nv50: check for vm traps on every gr irq 2011-03-14 16:32:30 +10:00
nv50_fbcon.c drm/nv50-nvc0: explicitly map fbcon fb into channel vm 2011-06-23 15:59:59 +10:00
nv50_fifo.c drm/nouveau: Fix pushbufs over the 4GB mark. 2011-12-21 19:01:46 +10:00
nv50_gpio.c drm/nouveau/gpio: reimplement as nouveau_gpio.c, fixing a number of issues 2011-12-21 19:01:45 +10:00
nv50_graph.c drm/nv50: also report errors in MP1/MP2 when they happen. 2011-12-21 19:01:17 +10:00
nv50_grctx.c drm/nv50: fix stability issue on NV86. 2011-11-10 08:58:57 +10:00
nv50_instmem.c drm/nouveau: will need to specify channel for vm-ful gpuobj allocations 2011-06-23 15:59:18 +10:00
nv50_mc.c
nv50_mpeg.c drm/nouveau: pass flag to engine fini() method on suspend 2011-07-25 09:43:22 +10:00
nv50_pm.c drm/nv50/pm: signedness bug in nv50_pm_clocks_pre() 2012-02-01 15:27:43 +10:00
nv50_sor.c drm/nouveau/disp: kill off nouveau_crtc.mode 2011-12-21 19:01:22 +10:00
nv50_vm.c drm/nv50: fix page faulting for 128MB page table sizes 2011-12-21 19:01:31 +10:00
nv50_vram.c drm/nv50/vram: fix incorrect detection of bank count on newer chipsets 2011-11-10 08:58:47 +10:00
nv84_bsp.c drm/nouveau/vdec: implement stub modules for the known engines 2011-12-21 19:01:10 +10:00
nv84_crypt.c drm/nouveau: pass flag to engine fini() method on suspend 2011-07-25 09:43:22 +10:00
nv84_vp.c drm/nouveau/vdec: implement stub modules for the known engines 2011-12-21 19:01:10 +10:00
nv98_crypt.c drm/nouveau/vdec: implement stub modules for the known engines 2011-12-21 19:01:10 +10:00
nv98_ppp.c drm/nouveau/vdec: implement stub modules for the known engines 2011-12-21 19:01:10 +10:00
nva3_copy.c drm/nouveau: pass flag to engine fini() method on suspend 2011-07-25 09:43:22 +10:00
nva3_copy.fuc drm/nva3/copy: fix typo in fuc which caused host to not recieve exceptions 2011-12-21 19:01:30 +10:00
nva3_copy.fuc.h drm/nva3/copy: fix typo in fuc which caused host to not recieve exceptions 2011-12-21 19:01:30 +10:00
nva3_pm.c drm/nouveau/pm: make clocks_set return an error code clocks_set can fail. 2011-12-21 19:01:23 +10:00
nvc0_copy.c drm/nouveau: pass flag to engine fini() method on suspend 2011-07-25 09:43:22 +10:00
nvc0_copy.fuc.h drm/nva3/copy: fix typo in fuc which caused host to not recieve exceptions 2011-12-21 19:01:30 +10:00
nvc0_fb.c drm/nvc0/fb: slightly improve PMFB intr handling, move out of nvc0_graph.c 2011-09-20 16:12:21 +10:00
nvc0_fbcon.c drm/nv50-nvc0: explicitly map notifier bo into channel vm 2011-06-23 16:00:04 +10:00
nvc0_fifo.c drm/nvc0/fifo: avoid touching missing subfifos 2011-09-20 16:12:18 +10:00
nvc0_graph.c drm/nvc0/gr: add initial support for nvd9, not quite there yet.. 2011-12-21 19:01:27 +10:00
nvc0_graph.fuc drm/nvc0/gr: update fuc source to assemble with latest envyas 2011-12-21 19:01:26 +10:00
nvc0_graph.h drm/nvc0/gr: add initial support for nvd9, not quite there yet.. 2011-12-21 19:01:27 +10:00
nvc0_grctx.c drm/nvc0/gr: add initial support for nvd9, not quite there yet.. 2011-12-21 19:01:27 +10:00
nvc0_grgpc.fuc drm/nvc0/gr: add initial support for nvd9, not quite there yet.. 2011-12-21 19:01:27 +10:00
nvc0_grgpc.fuc.h drm/nvc0/gr: add initial support for nvd9, not quite there yet.. 2011-12-21 19:01:27 +10:00
nvc0_grhub.fuc drm/nvc0/gr: add initial support for nvd9, not quite there yet.. 2011-12-21 19:01:27 +10:00
nvc0_grhub.fuc.h drm/nvc0/gr: add initial support for nvd9, not quite there yet.. 2011-12-21 19:01:27 +10:00
nvc0_instmem.c drm/nvc0: enable per-client address spaces 2011-06-23 16:01:41 +10:00
nvc0_pm.c drm/nvc0/pm: initial engine reclocking 2011-12-21 19:01:46 +10:00
nvc0_vm.c drm/nv50-nvc0/vm: don't touch chan_vm 2011-06-23 15:58:40 +10:00
nvc0_vram.c drm/nvc0/vram: skip disabled PBFB subunits 2011-11-10 09:00:02 +10:00
nvd0_display.c drm/nouveau/disp: parse connector info directly in nouveau_connector.c 2011-12-21 19:01:41 +10:00
nvreg.h drm/nv17-nv40: Fix modesetting failure when pitch == 4096px (fdo bug 35901). 2011-06-07 09:22:29 +10:00