From: Dave A. <ai...@li...> - 2009-12-11 11:58:06
|
Hi Linus, Please pull the 'drm-nouveau-pony' branch from ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-nouveau-pony This contains the nouveau driver with Kconfig under staging for now, the code is going under drm because the upstream tree has it there, and it makes passing patches a lot easier at least initially. Thanks to Ben Skeggs for doing overtime on his Friday evening to get the ctxprogs ripped out and firmware loader support added. The firmware is available elsewhere via the nouveau project linux git tree, and comes with all the warnings mentioned about possible copyright issues. After this I also hope to merge the VMware virtual GPU kms driver early next week which is also TTM based and going into staging. The driver alone is ~36,000 lines of code, which is bigger than most subsystems we carry, so hopefully ppl realise the monumental scale of writing a driver for these things. Dave. drivers/gpu/drm/Makefile | 2 + drivers/gpu/drm/i2c/Makefile | 4 + drivers/gpu/drm/i2c/ch7006_drv.c | 531 +++ drivers/gpu/drm/i2c/ch7006_mode.c | 473 +++ drivers/gpu/drm/i2c/ch7006_priv.h | 344 ++ drivers/gpu/drm/nouveau/Kconfig | 44 + drivers/gpu/drm/nouveau/Makefile | 31 + drivers/gpu/drm/nouveau/nouveau_acpi.c | 125 + drivers/gpu/drm/nouveau/nouveau_backlight.c | 155 + drivers/gpu/drm/nouveau/nouveau_bios.c | 6095 +++++++++++++++++++++++++++ drivers/gpu/drm/nouveau/nouveau_bios.h | 289 ++ drivers/gpu/drm/nouveau/nouveau_bo.c | 671 +++ drivers/gpu/drm/nouveau/nouveau_calc.c | 478 +++ drivers/gpu/drm/nouveau/nouveau_channel.c | 468 ++ drivers/gpu/drm/nouveau/nouveau_connector.c | 824 ++++ drivers/gpu/drm/nouveau/nouveau_connector.h | 54 + drivers/gpu/drm/nouveau/nouveau_crtc.h | 95 + drivers/gpu/drm/nouveau/nouveau_debugfs.c | 155 + drivers/gpu/drm/nouveau/nouveau_display.c | 115 + drivers/gpu/drm/nouveau/nouveau_dma.c | 206 + drivers/gpu/drm/nouveau/nouveau_dma.h | 157 + drivers/gpu/drm/nouveau/nouveau_dp.c | 569 +++ drivers/gpu/drm/nouveau/nouveau_drv.c | 405 ++ drivers/gpu/drm/nouveau/nouveau_drv.h | 1286 ++++++ drivers/gpu/drm/nouveau/nouveau_encoder.h | 91 + drivers/gpu/drm/nouveau/nouveau_fb.h | 47 + drivers/gpu/drm/nouveau/nouveau_fbcon.c | 380 ++ drivers/gpu/drm/nouveau/nouveau_fbcon.h | 47 + drivers/gpu/drm/nouveau/nouveau_fence.c | 262 ++ drivers/gpu/drm/nouveau/nouveau_gem.c | 992 +++++ drivers/gpu/drm/nouveau/nouveau_hw.c | 1080 +++++ drivers/gpu/drm/nouveau/nouveau_hw.h | 455 ++ drivers/gpu/drm/nouveau/nouveau_i2c.c | 269 ++ drivers/gpu/drm/nouveau/nouveau_i2c.h | 52 + drivers/gpu/drm/nouveau/nouveau_ioc32.c | 72 + drivers/gpu/drm/nouveau/nouveau_irq.c | 702 +++ drivers/gpu/drm/nouveau/nouveau_mem.c | 568 +++ drivers/gpu/drm/nouveau/nouveau_notifier.c | 196 + drivers/gpu/drm/nouveau/nouveau_object.c | 1294 ++++++ drivers/gpu/drm/nouveau/nouveau_reg.h | 836 ++++ drivers/gpu/drm/nouveau/nouveau_sgdma.c | 321 ++ drivers/gpu/drm/nouveau/nouveau_state.c | 811 ++++ drivers/gpu/drm/nouveau/nouveau_ttm.c | 131 + drivers/gpu/drm/nouveau/nv04_crtc.c | 1002 +++++ drivers/gpu/drm/nouveau/nv04_cursor.c | 70 + drivers/gpu/drm/nouveau/nv04_dac.c | 528 +++ drivers/gpu/drm/nouveau/nv04_dfp.c | 621 +++ drivers/gpu/drm/nouveau/nv04_display.c | 288 ++ drivers/gpu/drm/nouveau/nv04_fb.c | 21 + drivers/gpu/drm/nouveau/nv04_fbcon.c | 316 ++ drivers/gpu/drm/nouveau/nv04_fifo.c | 271 ++ drivers/gpu/drm/nouveau/nv04_graph.c | 579 +++ drivers/gpu/drm/nouveau/nv04_instmem.c | 208 + drivers/gpu/drm/nouveau/nv04_mc.c | 20 + drivers/gpu/drm/nouveau/nv04_timer.c | 51 + drivers/gpu/drm/nouveau/nv04_tv.c | 305 ++ drivers/gpu/drm/nouveau/nv10_fb.c | 24 + drivers/gpu/drm/nouveau/nv10_fifo.c | 260 ++ drivers/gpu/drm/nouveau/nv10_graph.c | 892 ++++ drivers/gpu/drm/nouveau/nv17_gpio.c | 92 + drivers/gpu/drm/nouveau/nv17_tv.c | 681 +++ drivers/gpu/drm/nouveau/nv17_tv.h | 156 + drivers/gpu/drm/nouveau/nv17_tv_modes.c | 583 +++ drivers/gpu/drm/nouveau/nv20_graph.c | 780 ++++ drivers/gpu/drm/nouveau/nv40_fb.c | 62 + drivers/gpu/drm/nouveau/nv40_fifo.c | 314 ++ drivers/gpu/drm/nouveau/nv40_graph.c | 560 +++ drivers/gpu/drm/nouveau/nv40_mc.c | 38 + drivers/gpu/drm/nouveau/nv50_crtc.c | 769 ++++ drivers/gpu/drm/nouveau/nv50_cursor.c | 156 + drivers/gpu/drm/nouveau/nv50_dac.c | 304 ++ drivers/gpu/drm/nouveau/nv50_display.c | 1015 +++++ drivers/gpu/drm/nouveau/nv50_display.h | 46 + drivers/gpu/drm/nouveau/nv50_evo.h | 113 + drivers/gpu/drm/nouveau/nv50_fbcon.c | 273 ++ drivers/gpu/drm/nouveau/nv50_fifo.c | 494 +++ drivers/gpu/drm/nouveau/nv50_graph.c | 385 ++ drivers/gpu/drm/nouveau/nv50_instmem.c | 509 +++ drivers/gpu/drm/nouveau/nv50_mc.c | 40 + drivers/gpu/drm/nouveau/nv50_sor.c | 309 ++ drivers/gpu/drm/nouveau/nvreg.h | 535 +++ drivers/staging/Kconfig | 2 + include/drm/Kbuild | 1 + include/drm/i2c/ch7006.h | 86 + include/drm/nouveau_drm.h | 220 + 85 files changed, 36161 insertions(+), 0 deletions(-) create mode 100644 drivers/gpu/drm/i2c/Makefile create mode 100644 drivers/gpu/drm/i2c/ch7006_drv.c create mode 100644 drivers/gpu/drm/i2c/ch7006_mode.c create mode 100644 drivers/gpu/drm/i2c/ch7006_priv.h create mode 100644 drivers/gpu/drm/nouveau/Kconfig create mode 100644 drivers/gpu/drm/nouveau/Makefile create mode 100644 drivers/gpu/drm/nouveau/nouveau_acpi.c create mode 100644 drivers/gpu/drm/nouveau/nouveau_backlight.c create mode 100644 drivers/gpu/drm/nouveau/nouveau_bios.c create mode 100644 drivers/gpu/drm/nouveau/nouveau_bios.h create mode 100644 drivers/gpu/drm/nouveau/nouveau_bo.c create mode 100644 drivers/gpu/drm/nouveau/nouveau_calc.c create mode 100644 drivers/gpu/drm/nouveau/nouveau_channel.c create mode 100644 drivers/gpu/drm/nouveau/nouveau_connector.c create mode 100644 drivers/gpu/drm/nouveau/nouveau_connector.h create mode 100644 drivers/gpu/drm/nouveau/nouveau_crtc.h create mode 100644 drivers/gpu/drm/nouveau/nouveau_debugfs.c create mode 100644 drivers/gpu/drm/nouveau/nouveau_display.c create mode 100644 drivers/gpu/drm/nouveau/nouveau_dma.c create mode 100644 drivers/gpu/drm/nouveau/nouveau_dma.h create mode 100644 drivers/gpu/drm/nouveau/nouveau_dp.c create mode 100644 drivers/gpu/drm/nouveau/nouveau_drv.c create mode 100644 drivers/gpu/drm/nouveau/nouveau_drv.h create mode 100644 drivers/gpu/drm/nouveau/nouveau_encoder.h create mode 100644 drivers/gpu/drm/nouveau/nouveau_fb.h create mode 100644 drivers/gpu/drm/nouveau/nouveau_fbcon.c create mode 100644 drivers/gpu/drm/nouveau/nouveau_fbcon.h create mode 100644 drivers/gpu/drm/nouveau/nouveau_fence.c create mode 100644 drivers/gpu/drm/nouveau/nouveau_gem.c create mode 100644 drivers/gpu/drm/nouveau/nouveau_hw.c create mode 100644 drivers/gpu/drm/nouveau/nouveau_hw.h create mode 100644 drivers/gpu/drm/nouveau/nouveau_i2c.c create mode 100644 drivers/gpu/drm/nouveau/nouveau_i2c.h create mode 100644 drivers/gpu/drm/nouveau/nouveau_ioc32.c create mode 100644 drivers/gpu/drm/nouveau/nouveau_irq.c create mode 100644 drivers/gpu/drm/nouveau/nouveau_mem.c create mode 100644 drivers/gpu/drm/nouveau/nouveau_notifier.c create mode 100644 drivers/gpu/drm/nouveau/nouveau_object.c create mode 100644 drivers/gpu/drm/nouveau/nouveau_reg.h create mode 100644 drivers/gpu/drm/nouveau/nouveau_sgdma.c create mode 100644 drivers/gpu/drm/nouveau/nouveau_state.c create mode 100644 drivers/gpu/drm/nouveau/nouveau_ttm.c create mode 100644 drivers/gpu/drm/nouveau/nv04_crtc.c create mode 100644 drivers/gpu/drm/nouveau/nv04_cursor.c create mode 100644 drivers/gpu/drm/nouveau/nv04_dac.c create mode 100644 drivers/gpu/drm/nouveau/nv04_dfp.c create mode 100644 drivers/gpu/drm/nouveau/nv04_display.c create mode 100644 drivers/gpu/drm/nouveau/nv04_fb.c create mode 100644 drivers/gpu/drm/nouveau/nv04_fbcon.c create mode 100644 drivers/gpu/drm/nouveau/nv04_fifo.c create mode 100644 drivers/gpu/drm/nouveau/nv04_graph.c create mode 100644 drivers/gpu/drm/nouveau/nv04_instmem.c create mode 100644 drivers/gpu/drm/nouveau/nv04_mc.c create mode 100644 drivers/gpu/drm/nouveau/nv04_timer.c create mode 100644 drivers/gpu/drm/nouveau/nv04_tv.c create mode 100644 drivers/gpu/drm/nouveau/nv10_fb.c create mode 100644 drivers/gpu/drm/nouveau/nv10_fifo.c create mode 100644 drivers/gpu/drm/nouveau/nv10_graph.c create mode 100644 drivers/gpu/drm/nouveau/nv17_gpio.c create mode 100644 drivers/gpu/drm/nouveau/nv17_tv.c create mode 100644 drivers/gpu/drm/nouveau/nv17_tv.h create mode 100644 drivers/gpu/drm/nouveau/nv17_tv_modes.c create mode 100644 drivers/gpu/drm/nouveau/nv20_graph.c create mode 100644 drivers/gpu/drm/nouveau/nv40_fb.c create mode 100644 drivers/gpu/drm/nouveau/nv40_fifo.c create mode 100644 drivers/gpu/drm/nouveau/nv40_graph.c create mode 100644 drivers/gpu/drm/nouveau/nv40_mc.c create mode 100644 drivers/gpu/drm/nouveau/nv50_crtc.c create mode 100644 drivers/gpu/drm/nouveau/nv50_cursor.c create mode 100644 drivers/gpu/drm/nouveau/nv50_dac.c create mode 100644 drivers/gpu/drm/nouveau/nv50_display.c create mode 100644 drivers/gpu/drm/nouveau/nv50_display.h create mode 100644 drivers/gpu/drm/nouveau/nv50_evo.h create mode 100644 drivers/gpu/drm/nouveau/nv50_fbcon.c create mode 100644 drivers/gpu/drm/nouveau/nv50_fifo.c create mode 100644 drivers/gpu/drm/nouveau/nv50_graph.c create mode 100644 drivers/gpu/drm/nouveau/nv50_instmem.c create mode 100644 drivers/gpu/drm/nouveau/nv50_mc.c create mode 100644 drivers/gpu/drm/nouveau/nv50_sor.c create mode 100644 drivers/gpu/drm/nouveau/nvreg.h create mode 100644 include/drm/i2c/ch7006.h create mode 100644 include/drm/nouveau_drm.h commit 6ee738610f41b59733f63718f0bdbcba7d3a3f12 Author: Ben Skeggs <bs...@re...> Date: Fri Dec 11 19:24:15 2009 +1000 drm/nouveau: Add DRM driver for NVIDIA GPUs This adds a drm/kms staging non-API stable driver for GPUs from NVIDIA. This driver is a KMS-based driver and requires a compatible nouveau userspace libdrm and nouveau X.org driver. This driver requires firmware files not available in this kernel tree, interested parties can find them via the nouveau project git archive. This driver is reverse engineered, and is in no way supported by nVidia. Support for nearly the complete range of nvidia hw from nv04->g80 (nv50) is available, and the kms driver should support driving nearly all output types (displayport is under development still) along with supporting suspend/resume. This work is all from the upstream nouveau project found at nouveau.freedesktop.org. The original authors list from nouveau git tree is: Anssi Hannula <ans...@ik...> Ben Skeggs <bs...@re...> Francisco Jerez <cur...@ri...> Maarten Maathuis <mad...@gm...> Marcin Kościelnicki <kor...@0x...> Matthew Garrett <mj...@re...> Matt Parnell <mpa...@gm...> Patrice Mandin <pat...@gm...> Pekka Paalanen <pq...@ik...> Xavier Chantry <shi...@gm...> along with project founder Stephane Marchesin <mar...@ic...> Signed-off-by: Ben Skeggs <bs...@re...> Signed-off-by: Dave Airlie <ai...@re...> |
From: Mike G. <ef...@gm...> - 2009-12-11 13:23:40
|
On Fri, 2009-12-11 at 11:57 +0000, Dave Airlie wrote: > This driver is reverse engineered, and is in no way supported by nVidia. > > Support for nearly the complete range of nvidia hw from nv04->g80 (nv50) > is available, and the kms driver should support driving nearly all > output types (displayport is under development still) along with supporting > suspend/resume. > > This work is all from the upstream nouveau project found at > nouveau.freedesktop.org. > > The original authors list from nouveau git tree is: > Anssi Hannula <ans...@ik...> > Ben Skeggs <bs...@re...> > Francisco Jerez <cur...@ri...> > Maarten Maathuis <mad...@gm...> > Marcin Kościelnicki <kor...@0x...> > Matthew Garrett <mj...@re...> > Matt Parnell <mpa...@gm...> > Patrice Mandin <pat...@gm...> > Pekka Paalanen <pq...@ik...> > Xavier Chantry <shi...@gm...> > along with project founder Stephane Marchesin <mar...@ic...> > > Signed-off-by: Ben Skeggs <bs...@re...> > Signed-off-by: Dave Airlie <ai...@re...> Oh, so _that's_ what a noveau is. Cool. I've got a darn nvidia card, and look forward to someday having eye-candy.. and being able to not only suspend, but _resume_ too :) -Mike |
From: Mike G. <ef...@gm...> - 2009-12-11 13:24:13
|
On Fri, 2009-12-11 at 11:57 +0000, Dave Airlie wrote: > Hi Linus, > > Please pull the 'drm-nouveau-pony' branch from > ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-nouveau-pony > > This contains the nouveau driver with Kconfig under staging for now, the > code is going under drm because the upstream tree has it there, and it > makes passing patches a lot easier at least initially. > > Thanks to Ben Skeggs for doing overtime on his Friday evening to get the > ctxprogs ripped out and firmware loader support added. The firmware is > available elsewhere via the nouveau project linux git tree, and comes with > all the warnings mentioned about possible copyright issues. > > After this I also hope to merge the VMware virtual GPU kms driver early > next week which is also TTM based and going into staging. > > The driver alone is ~36,000 lines of code, which is bigger than most > subsystems we carry, so hopefully ppl realise the monumental scale of > writing a driver for these things. > > Dave. > > drivers/gpu/drm/Makefile | 2 + > drivers/gpu/drm/i2c/Makefile | 4 + > drivers/gpu/drm/i2c/ch7006_drv.c | 531 +++ > drivers/gpu/drm/i2c/ch7006_mode.c | 473 +++ > drivers/gpu/drm/i2c/ch7006_priv.h | 344 ++ > drivers/gpu/drm/nouveau/Kconfig | 44 + > drivers/gpu/drm/nouveau/Makefile | 31 + > drivers/gpu/drm/nouveau/nouveau_acpi.c | 125 + > drivers/gpu/drm/nouveau/nouveau_backlight.c | 155 + > drivers/gpu/drm/nouveau/nouveau_bios.c | 6095 +++++++++++++++++++++++++++ > drivers/gpu/drm/nouveau/nouveau_bios.h | 289 ++ > drivers/gpu/drm/nouveau/nouveau_bo.c | 671 +++ > drivers/gpu/drm/nouveau/nouveau_calc.c | 478 +++ > drivers/gpu/drm/nouveau/nouveau_channel.c | 468 ++ > drivers/gpu/drm/nouveau/nouveau_connector.c | 824 ++++ > drivers/gpu/drm/nouveau/nouveau_connector.h | 54 + > drivers/gpu/drm/nouveau/nouveau_crtc.h | 95 + > drivers/gpu/drm/nouveau/nouveau_debugfs.c | 155 + > drivers/gpu/drm/nouveau/nouveau_display.c | 115 + > drivers/gpu/drm/nouveau/nouveau_dma.c | 206 + > drivers/gpu/drm/nouveau/nouveau_dma.h | 157 + > drivers/gpu/drm/nouveau/nouveau_dp.c | 569 +++ > drivers/gpu/drm/nouveau/nouveau_drv.c | 405 ++ > drivers/gpu/drm/nouveau/nouveau_drv.h | 1286 ++++++ > drivers/gpu/drm/nouveau/nouveau_encoder.h | 91 + > drivers/gpu/drm/nouveau/nouveau_fb.h | 47 + > drivers/gpu/drm/nouveau/nouveau_fbcon.c | 380 ++ > drivers/gpu/drm/nouveau/nouveau_fbcon.h | 47 + > drivers/gpu/drm/nouveau/nouveau_fence.c | 262 ++ > drivers/gpu/drm/nouveau/nouveau_gem.c | 992 +++++ > drivers/gpu/drm/nouveau/nouveau_hw.c | 1080 +++++ > drivers/gpu/drm/nouveau/nouveau_hw.h | 455 ++ > drivers/gpu/drm/nouveau/nouveau_i2c.c | 269 ++ > drivers/gpu/drm/nouveau/nouveau_i2c.h | 52 + > drivers/gpu/drm/nouveau/nouveau_ioc32.c | 72 + > drivers/gpu/drm/nouveau/nouveau_irq.c | 702 +++ > drivers/gpu/drm/nouveau/nouveau_mem.c | 568 +++ > drivers/gpu/drm/nouveau/nouveau_notifier.c | 196 + > drivers/gpu/drm/nouveau/nouveau_object.c | 1294 ++++++ > drivers/gpu/drm/nouveau/nouveau_reg.h | 836 ++++ > drivers/gpu/drm/nouveau/nouveau_sgdma.c | 321 ++ > drivers/gpu/drm/nouveau/nouveau_state.c | 811 ++++ > drivers/gpu/drm/nouveau/nouveau_ttm.c | 131 + > drivers/gpu/drm/nouveau/nv04_crtc.c | 1002 +++++ > drivers/gpu/drm/nouveau/nv04_cursor.c | 70 + > drivers/gpu/drm/nouveau/nv04_dac.c | 528 +++ > drivers/gpu/drm/nouveau/nv04_dfp.c | 621 +++ > drivers/gpu/drm/nouveau/nv04_display.c | 288 ++ > drivers/gpu/drm/nouveau/nv04_fb.c | 21 + > drivers/gpu/drm/nouveau/nv04_fbcon.c | 316 ++ > drivers/gpu/drm/nouveau/nv04_fifo.c | 271 ++ > drivers/gpu/drm/nouveau/nv04_graph.c | 579 +++ > drivers/gpu/drm/nouveau/nv04_instmem.c | 208 + > drivers/gpu/drm/nouveau/nv04_mc.c | 20 + > drivers/gpu/drm/nouveau/nv04_timer.c | 51 + > drivers/gpu/drm/nouveau/nv04_tv.c | 305 ++ > drivers/gpu/drm/nouveau/nv10_fb.c | 24 + > drivers/gpu/drm/nouveau/nv10_fifo.c | 260 ++ > drivers/gpu/drm/nouveau/nv10_graph.c | 892 ++++ > drivers/gpu/drm/nouveau/nv17_gpio.c | 92 + > drivers/gpu/drm/nouveau/nv17_tv.c | 681 +++ > drivers/gpu/drm/nouveau/nv17_tv.h | 156 + > drivers/gpu/drm/nouveau/nv17_tv_modes.c | 583 +++ > drivers/gpu/drm/nouveau/nv20_graph.c | 780 ++++ > drivers/gpu/drm/nouveau/nv40_fb.c | 62 + > drivers/gpu/drm/nouveau/nv40_fifo.c | 314 ++ > drivers/gpu/drm/nouveau/nv40_graph.c | 560 +++ > drivers/gpu/drm/nouveau/nv40_mc.c | 38 + > drivers/gpu/drm/nouveau/nv50_crtc.c | 769 ++++ > drivers/gpu/drm/nouveau/nv50_cursor.c | 156 + > drivers/gpu/drm/nouveau/nv50_dac.c | 304 ++ > drivers/gpu/drm/nouveau/nv50_display.c | 1015 +++++ > drivers/gpu/drm/nouveau/nv50_display.h | 46 + > drivers/gpu/drm/nouveau/nv50_evo.h | 113 + > drivers/gpu/drm/nouveau/nv50_fbcon.c | 273 ++ > drivers/gpu/drm/nouveau/nv50_fifo.c | 494 +++ > drivers/gpu/drm/nouveau/nv50_graph.c | 385 ++ > drivers/gpu/drm/nouveau/nv50_instmem.c | 509 +++ > drivers/gpu/drm/nouveau/nv50_mc.c | 40 + > drivers/gpu/drm/nouveau/nv50_sor.c | 309 ++ > drivers/gpu/drm/nouveau/nvreg.h | 535 +++ > drivers/staging/Kconfig | 2 + > include/drm/Kbuild | 1 + > include/drm/i2c/ch7006.h | 86 + > include/drm/nouveau_drm.h | 220 + > 85 files changed, 36161 insertions(+), 0 deletions(-) > create mode 100644 drivers/gpu/drm/i2c/Makefile > create mode 100644 drivers/gpu/drm/i2c/ch7006_drv.c > create mode 100644 drivers/gpu/drm/i2c/ch7006_mode.c > create mode 100644 drivers/gpu/drm/i2c/ch7006_priv.h > create mode 100644 drivers/gpu/drm/nouveau/Kconfig > create mode 100644 drivers/gpu/drm/nouveau/Makefile > create mode 100644 drivers/gpu/drm/nouveau/nouveau_acpi.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_backlight.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_bios.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_bios.h > create mode 100644 drivers/gpu/drm/nouveau/nouveau_bo.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_calc.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_channel.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_connector.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_connector.h > create mode 100644 drivers/gpu/drm/nouveau/nouveau_crtc.h > create mode 100644 drivers/gpu/drm/nouveau/nouveau_debugfs.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_display.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_dma.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_dma.h > create mode 100644 drivers/gpu/drm/nouveau/nouveau_dp.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_drv.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_drv.h > create mode 100644 drivers/gpu/drm/nouveau/nouveau_encoder.h > create mode 100644 drivers/gpu/drm/nouveau/nouveau_fb.h > create mode 100644 drivers/gpu/drm/nouveau/nouveau_fbcon.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_fbcon.h > create mode 100644 drivers/gpu/drm/nouveau/nouveau_fence.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_gem.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_hw.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_hw.h > create mode 100644 drivers/gpu/drm/nouveau/nouveau_i2c.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_i2c.h > create mode 100644 drivers/gpu/drm/nouveau/nouveau_ioc32.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_irq.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_mem.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_notifier.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_object.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_reg.h > create mode 100644 drivers/gpu/drm/nouveau/nouveau_sgdma.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_state.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_ttm.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_crtc.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_cursor.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_dac.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_dfp.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_display.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_fb.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_fbcon.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_fifo.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_graph.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_instmem.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_mc.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_timer.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_tv.c > create mode 100644 drivers/gpu/drm/nouveau/nv10_fb.c > create mode 100644 drivers/gpu/drm/nouveau/nv10_fifo.c > create mode 100644 drivers/gpu/drm/nouveau/nv10_graph.c > create mode 100644 drivers/gpu/drm/nouveau/nv17_gpio.c > create mode 100644 drivers/gpu/drm/nouveau/nv17_tv.c > create mode 100644 drivers/gpu/drm/nouveau/nv17_tv.h > create mode 100644 drivers/gpu/drm/nouveau/nv17_tv_modes.c > create mode 100644 drivers/gpu/drm/nouveau/nv20_graph.c > create mode 100644 drivers/gpu/drm/nouveau/nv40_fb.c > create mode 100644 drivers/gpu/drm/nouveau/nv40_fifo.c > create mode 100644 drivers/gpu/drm/nouveau/nv40_graph.c > create mode 100644 drivers/gpu/drm/nouveau/nv40_mc.c > create mode 100644 drivers/gpu/drm/nouveau/nv50_crtc.c > create mode 100644 drivers/gpu/drm/nouveau/nv50_cursor.c > create mode 100644 drivers/gpu/drm/nouveau/nv50_dac.c > create mode 100644 drivers/gpu/drm/nouveau/nv50_display.c > create mode 100644 drivers/gpu/drm/nouveau/nv50_display.h > create mode 100644 drivers/gpu/drm/nouveau/nv50_evo.h > create mode 100644 drivers/gpu/drm/nouveau/nv50_fbcon.c > create mode 100644 drivers/gpu/drm/nouveau/nv50_fifo.c > create mode 100644 drivers/gpu/drm/nouveau/nv50_graph.c > create mode 100644 drivers/gpu/drm/nouveau/nv50_instmem.c > create mode 100644 drivers/gpu/drm/nouveau/nv50_mc.c > create mode 100644 drivers/gpu/drm/nouveau/nv50_sor.c > create mode 100644 drivers/gpu/drm/nouveau/nvreg.h > create mode 100644 include/drm/i2c/ch7006.h > create mode 100644 include/drm/nouveau_drm.h > > commit 6ee738610f41b59733f63718f0bdbcba7d3a3f12 > Author: Ben Skeggs <bs...@re...> > Date: Fri Dec 11 19:24:15 2009 +1000 > > drm/nouveau: Add DRM driver for NVIDIA GPUs > > This adds a drm/kms staging non-API stable driver for GPUs from NVIDIA. > > This driver is a KMS-based driver and requires a compatible nouveau > userspace libdrm and nouveau X.org driver. > > This driver requires firmware files not available in this kernel tree, > interested parties can find them via the nouveau project git archive. > > This driver is reverse engineered, and is in no way supported by nVidia. > > Support for nearly the complete range of nvidia hw from nv04->g80 (nv50) > is available, and the kms driver should support driving nearly all > output types (displayport is under development still) along with supporting > suspend/resume. > > This work is all from the upstream nouveau project found at > nouveau.freedesktop.org. > > The original authors list from nouveau git tree is: > Anssi Hannula <ans...@ik...> > Ben Skeggs <bs...@re...> > Francisco Jerez <cur...@ri...> > Maarten Maathuis <mad...@gm...> > Marcin Kościelnicki <kor...@0x...> > Matthew Garrett <mj...@re...> > Matt Parnell <mpa...@gm...> > Patrice Mandin <pat...@gm...> > Pekka Paalanen <pq...@ik...> > Xavier Chantry <shi...@gm...> > along with project founder Stephane Marchesin <mar...@ic...> > > Signed-off-by: Ben Skeggs <bs...@re...> > Signed-off-by: Dave Airlie <ai...@re...> |
From: Linus T. <tor...@li...> - 2009-12-11 23:19:41
|
On Fri, 11 Dec 2009, Dave Airlie wrote: > > Please pull the 'drm-nouveau-pony' branch from PONIES! Yay! I lurve ponies! And it works for me too. Needed to get the firmware from the fedora project, and make sure that it loads as a module rather than built in (so that it can find the firmware!), but other than those two gotchas (that are "obvious", but I needed to fail a couple of boots to hammer the point home) it all seems to work. Thank you. The squeaky wheel _does_ get greased. Linus |
From: Benjamin H. <be...@ke...> - 2009-12-14 04:41:18
|
On Fri, 2009-12-11 at 15:19 -0800, Linus Torvalds wrote: > > On Fri, 11 Dec 2009, Dave Airlie wrote: > > > > Please pull the 'drm-nouveau-pony' branch from > > PONIES! Yay! I lurve ponies! > > And it works for me too. Needed to get the firmware from the fedora > project, and make sure that it loads as a module rather than built in (so > that it can find the firmware!), but other than those two gotchas (that > are "obvious", but I needed to fail a couple of boots to hammer the point > home) it all seems to work. > > Thank you. The squeaky wheel _does_ get greased. And built-in works beautifully with kms & fbdev on top of it etc... (real fast console switches ! yay !) if I do CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware" CONFIG_EXTRA_FIRMWARE="/nouveau/xxx.ctxprog nouveau/yyy.ctxvals" Where xxx and yyy need to be replaced by whatever is relevant to your hardware. (In my case nv43. BTW. For the lurkers, it works fine with the 6600 in the PowerMac G5 with an endian fix to the new loader that I just posted to the nouveau list and which should trickle upstream soon). Cheers, Ben. |
From: Benjamin H. <be...@ke...> - 2009-12-14 04:04:41
|
On Mon, 2009-12-14 at 14:35 +1100, Benjamin Herrenschmidt wrote: > And built-in works beautifully with kms & fbdev on top of it etc... > (real fast console switches ! yay !) if I do > > CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware" > CONFIG_EXTRA_FIRMWARE="/nouveau/xxx.ctxprog nouveau/yyy.ctxvals" ^ Without that "/" of course :-) Cheers, Ben. |
From: Dave A. <ai...@gm...> - 2009-12-11 23:26:35
|
2009/12/12 Stephane Marchesin <ste...@gm...>: > 2009/12/11 Dave Airlie <ai...@li...>: >> >> Hi Linus, >> >> Please pull the 'drm-nouveau-pony' branch from >> ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-nouveau-pony >> >> This contains the nouveau driver with Kconfig under staging for now, the >> code is going under drm because the upstream tree has it there, and it >> makes passing patches a lot easier at least initially. >> >> Thanks to Ben Skeggs for doing overtime on his Friday evening to get the >> ctxprogs ripped out and firmware loader support added. The firmware is >> available elsewhere via the nouveau project linux git tree, and comes with >> all the warnings mentioned about possible copyright issues. >> >> After this I also hope to merge the VMware virtual GPU kms driver early >> next week which is also TTM based and going into staging. >> >> The driver alone is ~36,000 lines of code, which is bigger than most >> subsystems we carry, so hopefully ppl realise the monumental scale of >> writing a driver for these things. >> >> Dave. >> >> drivers/gpu/drm/Makefile | 2 + >> drivers/gpu/drm/i2c/Makefile | 4 + >> drivers/gpu/drm/i2c/ch7006_drv.c | 531 +++ >> drivers/gpu/drm/i2c/ch7006_mode.c | 473 +++ >> drivers/gpu/drm/i2c/ch7006_priv.h | 344 ++ >> drivers/gpu/drm/nouveau/Kconfig | 44 + >> drivers/gpu/drm/nouveau/Makefile | 31 + >> drivers/gpu/drm/nouveau/nouveau_acpi.c | 125 + >> drivers/gpu/drm/nouveau/nouveau_backlight.c | 155 + >> drivers/gpu/drm/nouveau/nouveau_bios.c | 6095 +++++++++++++++++++++++++++ >> drivers/gpu/drm/nouveau/nouveau_bios.h | 289 ++ >> drivers/gpu/drm/nouveau/nouveau_bo.c | 671 +++ >> drivers/gpu/drm/nouveau/nouveau_calc.c | 478 +++ >> drivers/gpu/drm/nouveau/nouveau_channel.c | 468 ++ >> drivers/gpu/drm/nouveau/nouveau_connector.c | 824 ++++ >> drivers/gpu/drm/nouveau/nouveau_connector.h | 54 + >> drivers/gpu/drm/nouveau/nouveau_crtc.h | 95 + >> drivers/gpu/drm/nouveau/nouveau_debugfs.c | 155 + >> drivers/gpu/drm/nouveau/nouveau_display.c | 115 + >> drivers/gpu/drm/nouveau/nouveau_dma.c | 206 + >> drivers/gpu/drm/nouveau/nouveau_dma.h | 157 + >> drivers/gpu/drm/nouveau/nouveau_dp.c | 569 +++ >> drivers/gpu/drm/nouveau/nouveau_drv.c | 405 ++ >> drivers/gpu/drm/nouveau/nouveau_drv.h | 1286 ++++++ >> drivers/gpu/drm/nouveau/nouveau_encoder.h | 91 + >> drivers/gpu/drm/nouveau/nouveau_fb.h | 47 + >> drivers/gpu/drm/nouveau/nouveau_fbcon.c | 380 ++ >> drivers/gpu/drm/nouveau/nouveau_fbcon.h | 47 + >> drivers/gpu/drm/nouveau/nouveau_fence.c | 262 ++ >> drivers/gpu/drm/nouveau/nouveau_gem.c | 992 +++++ >> drivers/gpu/drm/nouveau/nouveau_hw.c | 1080 +++++ >> drivers/gpu/drm/nouveau/nouveau_hw.h | 455 ++ >> drivers/gpu/drm/nouveau/nouveau_i2c.c | 269 ++ >> drivers/gpu/drm/nouveau/nouveau_i2c.h | 52 + >> drivers/gpu/drm/nouveau/nouveau_ioc32.c | 72 + >> drivers/gpu/drm/nouveau/nouveau_irq.c | 702 +++ >> drivers/gpu/drm/nouveau/nouveau_mem.c | 568 +++ >> drivers/gpu/drm/nouveau/nouveau_notifier.c | 196 + >> drivers/gpu/drm/nouveau/nouveau_object.c | 1294 ++++++ >> drivers/gpu/drm/nouveau/nouveau_reg.h | 836 ++++ >> drivers/gpu/drm/nouveau/nouveau_sgdma.c | 321 ++ >> drivers/gpu/drm/nouveau/nouveau_state.c | 811 ++++ >> drivers/gpu/drm/nouveau/nouveau_ttm.c | 131 + >> drivers/gpu/drm/nouveau/nv04_crtc.c | 1002 +++++ >> drivers/gpu/drm/nouveau/nv04_cursor.c | 70 + >> drivers/gpu/drm/nouveau/nv04_dac.c | 528 +++ >> drivers/gpu/drm/nouveau/nv04_dfp.c | 621 +++ >> drivers/gpu/drm/nouveau/nv04_display.c | 288 ++ >> drivers/gpu/drm/nouveau/nv04_fb.c | 21 + >> drivers/gpu/drm/nouveau/nv04_fbcon.c | 316 ++ >> drivers/gpu/drm/nouveau/nv04_fifo.c | 271 ++ >> drivers/gpu/drm/nouveau/nv04_graph.c | 579 +++ >> drivers/gpu/drm/nouveau/nv04_instmem.c | 208 + >> drivers/gpu/drm/nouveau/nv04_mc.c | 20 + >> drivers/gpu/drm/nouveau/nv04_timer.c | 51 + >> drivers/gpu/drm/nouveau/nv04_tv.c | 305 ++ >> drivers/gpu/drm/nouveau/nv10_fb.c | 24 + >> drivers/gpu/drm/nouveau/nv10_fifo.c | 260 ++ >> drivers/gpu/drm/nouveau/nv10_graph.c | 892 ++++ >> drivers/gpu/drm/nouveau/nv17_gpio.c | 92 + >> drivers/gpu/drm/nouveau/nv17_tv.c | 681 +++ >> drivers/gpu/drm/nouveau/nv17_tv.h | 156 + >> drivers/gpu/drm/nouveau/nv17_tv_modes.c | 583 +++ >> drivers/gpu/drm/nouveau/nv20_graph.c | 780 ++++ >> drivers/gpu/drm/nouveau/nv40_fb.c | 62 + >> drivers/gpu/drm/nouveau/nv40_fifo.c | 314 ++ >> drivers/gpu/drm/nouveau/nv40_graph.c | 560 +++ >> drivers/gpu/drm/nouveau/nv40_mc.c | 38 + >> drivers/gpu/drm/nouveau/nv50_crtc.c | 769 ++++ >> drivers/gpu/drm/nouveau/nv50_cursor.c | 156 + >> drivers/gpu/drm/nouveau/nv50_dac.c | 304 ++ >> drivers/gpu/drm/nouveau/nv50_display.c | 1015 +++++ >> drivers/gpu/drm/nouveau/nv50_display.h | 46 + >> drivers/gpu/drm/nouveau/nv50_evo.h | 113 + >> drivers/gpu/drm/nouveau/nv50_fbcon.c | 273 ++ >> drivers/gpu/drm/nouveau/nv50_fifo.c | 494 +++ >> drivers/gpu/drm/nouveau/nv50_graph.c | 385 ++ >> drivers/gpu/drm/nouveau/nv50_instmem.c | 509 +++ >> drivers/gpu/drm/nouveau/nv50_mc.c | 40 + >> drivers/gpu/drm/nouveau/nv50_sor.c | 309 ++ >> drivers/gpu/drm/nouveau/nvreg.h | 535 +++ >> drivers/staging/Kconfig | 2 + >> include/drm/Kbuild | 1 + >> include/drm/i2c/ch7006.h | 86 + >> include/drm/nouveau_drm.h | 220 + >> 85 files changed, 36161 insertions(+), 0 deletions(-) >> create mode 100644 drivers/gpu/drm/i2c/Makefile >> create mode 100644 drivers/gpu/drm/i2c/ch7006_drv.c >> create mode 100644 drivers/gpu/drm/i2c/ch7006_mode.c >> create mode 100644 drivers/gpu/drm/i2c/ch7006_priv.h >> create mode 100644 drivers/gpu/drm/nouveau/Kconfig >> create mode 100644 drivers/gpu/drm/nouveau/Makefile >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_acpi.c >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_backlight.c >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_bios.c >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_bios.h >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_bo.c >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_calc.c >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_channel.c >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_connector.c >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_connector.h >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_crtc.h >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_debugfs.c >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_display.c >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_dma.c >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_dma.h >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_dp.c >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_drv.c >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_drv.h >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_encoder.h >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_fb.h >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_fbcon.c >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_fbcon.h >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_fence.c >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_gem.c >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_hw.c >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_hw.h >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_i2c.c >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_i2c.h >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_ioc32.c >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_irq.c >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_mem.c >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_notifier.c >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_object.c >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_reg.h >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_sgdma.c >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_state.c >> create mode 100644 drivers/gpu/drm/nouveau/nouveau_ttm.c >> create mode 100644 drivers/gpu/drm/nouveau/nv04_crtc.c >> create mode 100644 drivers/gpu/drm/nouveau/nv04_cursor.c >> create mode 100644 drivers/gpu/drm/nouveau/nv04_dac.c >> create mode 100644 drivers/gpu/drm/nouveau/nv04_dfp.c >> create mode 100644 drivers/gpu/drm/nouveau/nv04_display.c >> create mode 100644 drivers/gpu/drm/nouveau/nv04_fb.c >> create mode 100644 drivers/gpu/drm/nouveau/nv04_fbcon.c >> create mode 100644 drivers/gpu/drm/nouveau/nv04_fifo.c >> create mode 100644 drivers/gpu/drm/nouveau/nv04_graph.c >> create mode 100644 drivers/gpu/drm/nouveau/nv04_instmem.c >> create mode 100644 drivers/gpu/drm/nouveau/nv04_mc.c >> create mode 100644 drivers/gpu/drm/nouveau/nv04_timer.c >> create mode 100644 drivers/gpu/drm/nouveau/nv04_tv.c >> create mode 100644 drivers/gpu/drm/nouveau/nv10_fb.c >> create mode 100644 drivers/gpu/drm/nouveau/nv10_fifo.c >> create mode 100644 drivers/gpu/drm/nouveau/nv10_graph.c >> create mode 100644 drivers/gpu/drm/nouveau/nv17_gpio.c >> create mode 100644 drivers/gpu/drm/nouveau/nv17_tv.c >> create mode 100644 drivers/gpu/drm/nouveau/nv17_tv.h >> create mode 100644 drivers/gpu/drm/nouveau/nv17_tv_modes.c >> create mode 100644 drivers/gpu/drm/nouveau/nv20_graph.c >> create mode 100644 drivers/gpu/drm/nouveau/nv40_fb.c >> create mode 100644 drivers/gpu/drm/nouveau/nv40_fifo.c >> create mode 100644 drivers/gpu/drm/nouveau/nv40_graph.c >> create mode 100644 drivers/gpu/drm/nouveau/nv40_mc.c >> create mode 100644 drivers/gpu/drm/nouveau/nv50_crtc.c >> create mode 100644 drivers/gpu/drm/nouveau/nv50_cursor.c >> create mode 100644 drivers/gpu/drm/nouveau/nv50_dac.c >> create mode 100644 drivers/gpu/drm/nouveau/nv50_display.c >> create mode 100644 drivers/gpu/drm/nouveau/nv50_display.h >> create mode 100644 drivers/gpu/drm/nouveau/nv50_evo.h >> create mode 100644 drivers/gpu/drm/nouveau/nv50_fbcon.c >> create mode 100644 drivers/gpu/drm/nouveau/nv50_fifo.c >> create mode 100644 drivers/gpu/drm/nouveau/nv50_graph.c >> create mode 100644 drivers/gpu/drm/nouveau/nv50_instmem.c >> create mode 100644 drivers/gpu/drm/nouveau/nv50_mc.c >> create mode 100644 drivers/gpu/drm/nouveau/nv50_sor.c >> create mode 100644 drivers/gpu/drm/nouveau/nvreg.h >> create mode 100644 include/drm/i2c/ch7006.h >> create mode 100644 include/drm/nouveau_drm.h >> >> commit 6ee738610f41b59733f63718f0bdbcba7d3a3f12 >> Author: Ben Skeggs <bs...@re...> >> Date: Fri Dec 11 19:24:15 2009 +1000 >> >> drm/nouveau: Add DRM driver for NVIDIA GPUs >> >> This adds a drm/kms staging non-API stable driver for GPUs from NVIDIA. >> >> This driver is a KMS-based driver and requires a compatible nouveau >> userspace libdrm and nouveau X.org driver. >> >> This driver requires firmware files not available in this kernel tree, >> interested parties can find them via the nouveau project git archive. >> >> This driver is reverse engineered, and is in no way supported by nVidia. >> >> Support for nearly the complete range of nvidia hw from nv04->g80 (nv50) >> is available, and the kms driver should support driving nearly all >> output types (displayport is under development still) along with supporting >> suspend/resume. >> >> This work is all from the upstream nouveau project found at >> nouveau.freedesktop.org. >> >> The original authors list from nouveau git tree is: >> Anssi Hannula <ans...@ik...> >> Ben Skeggs <bs...@re...> >> Francisco Jerez <cur...@ri...> >> Maarten Maathuis <mad...@gm...> >> Marcin Kościelnicki <kor...@0x...> >> Matthew Garrett <mj...@re...> >> Matt Parnell <mpa...@gm...> >> Patrice Mandin <pat...@gm...> >> Pekka Paalanen <pq...@ik...> >> Xavier Chantry <shi...@gm...> >> along with project founder Stephane Marchesin <mar...@ic...> >> > > Btw could we get proper developer credit here? I think 3/4 of the > people who wrote the code are missing here. I did git log on the nouveau kernel tree nouveau dir with sort and uniq, I'm not sure where else I needed to trawl to get anymore ppl who have contributed to the KMS driver. I'm sure ppl contributed to X.org/Mesa drivers but this isn't the place for them. Also all copyright should be intact. But we can add an author lists to the code subdir if you like, if someone compiles the complete list of ppl who have added code to the kernel driver. Dave. |
From: Stephane M. <ste...@gm...> - 2009-12-11 23:24:00
|
2009/12/11 Dave Airlie <ai...@li...>: > > Hi Linus, > > Please pull the 'drm-nouveau-pony' branch from > ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-nouveau-pony > > This contains the nouveau driver with Kconfig under staging for now, the > code is going under drm because the upstream tree has it there, and it > makes passing patches a lot easier at least initially. > > Thanks to Ben Skeggs for doing overtime on his Friday evening to get the > ctxprogs ripped out and firmware loader support added. The firmware is > available elsewhere via the nouveau project linux git tree, and comes with > all the warnings mentioned about possible copyright issues. > > After this I also hope to merge the VMware virtual GPU kms driver early > next week which is also TTM based and going into staging. > > The driver alone is ~36,000 lines of code, which is bigger than most > subsystems we carry, so hopefully ppl realise the monumental scale of > writing a driver for these things. > > Dave. > > drivers/gpu/drm/Makefile | 2 + > drivers/gpu/drm/i2c/Makefile | 4 + > drivers/gpu/drm/i2c/ch7006_drv.c | 531 +++ > drivers/gpu/drm/i2c/ch7006_mode.c | 473 +++ > drivers/gpu/drm/i2c/ch7006_priv.h | 344 ++ > drivers/gpu/drm/nouveau/Kconfig | 44 + > drivers/gpu/drm/nouveau/Makefile | 31 + > drivers/gpu/drm/nouveau/nouveau_acpi.c | 125 + > drivers/gpu/drm/nouveau/nouveau_backlight.c | 155 + > drivers/gpu/drm/nouveau/nouveau_bios.c | 6095 +++++++++++++++++++++++++++ > drivers/gpu/drm/nouveau/nouveau_bios.h | 289 ++ > drivers/gpu/drm/nouveau/nouveau_bo.c | 671 +++ > drivers/gpu/drm/nouveau/nouveau_calc.c | 478 +++ > drivers/gpu/drm/nouveau/nouveau_channel.c | 468 ++ > drivers/gpu/drm/nouveau/nouveau_connector.c | 824 ++++ > drivers/gpu/drm/nouveau/nouveau_connector.h | 54 + > drivers/gpu/drm/nouveau/nouveau_crtc.h | 95 + > drivers/gpu/drm/nouveau/nouveau_debugfs.c | 155 + > drivers/gpu/drm/nouveau/nouveau_display.c | 115 + > drivers/gpu/drm/nouveau/nouveau_dma.c | 206 + > drivers/gpu/drm/nouveau/nouveau_dma.h | 157 + > drivers/gpu/drm/nouveau/nouveau_dp.c | 569 +++ > drivers/gpu/drm/nouveau/nouveau_drv.c | 405 ++ > drivers/gpu/drm/nouveau/nouveau_drv.h | 1286 ++++++ > drivers/gpu/drm/nouveau/nouveau_encoder.h | 91 + > drivers/gpu/drm/nouveau/nouveau_fb.h | 47 + > drivers/gpu/drm/nouveau/nouveau_fbcon.c | 380 ++ > drivers/gpu/drm/nouveau/nouveau_fbcon.h | 47 + > drivers/gpu/drm/nouveau/nouveau_fence.c | 262 ++ > drivers/gpu/drm/nouveau/nouveau_gem.c | 992 +++++ > drivers/gpu/drm/nouveau/nouveau_hw.c | 1080 +++++ > drivers/gpu/drm/nouveau/nouveau_hw.h | 455 ++ > drivers/gpu/drm/nouveau/nouveau_i2c.c | 269 ++ > drivers/gpu/drm/nouveau/nouveau_i2c.h | 52 + > drivers/gpu/drm/nouveau/nouveau_ioc32.c | 72 + > drivers/gpu/drm/nouveau/nouveau_irq.c | 702 +++ > drivers/gpu/drm/nouveau/nouveau_mem.c | 568 +++ > drivers/gpu/drm/nouveau/nouveau_notifier.c | 196 + > drivers/gpu/drm/nouveau/nouveau_object.c | 1294 ++++++ > drivers/gpu/drm/nouveau/nouveau_reg.h | 836 ++++ > drivers/gpu/drm/nouveau/nouveau_sgdma.c | 321 ++ > drivers/gpu/drm/nouveau/nouveau_state.c | 811 ++++ > drivers/gpu/drm/nouveau/nouveau_ttm.c | 131 + > drivers/gpu/drm/nouveau/nv04_crtc.c | 1002 +++++ > drivers/gpu/drm/nouveau/nv04_cursor.c | 70 + > drivers/gpu/drm/nouveau/nv04_dac.c | 528 +++ > drivers/gpu/drm/nouveau/nv04_dfp.c | 621 +++ > drivers/gpu/drm/nouveau/nv04_display.c | 288 ++ > drivers/gpu/drm/nouveau/nv04_fb.c | 21 + > drivers/gpu/drm/nouveau/nv04_fbcon.c | 316 ++ > drivers/gpu/drm/nouveau/nv04_fifo.c | 271 ++ > drivers/gpu/drm/nouveau/nv04_graph.c | 579 +++ > drivers/gpu/drm/nouveau/nv04_instmem.c | 208 + > drivers/gpu/drm/nouveau/nv04_mc.c | 20 + > drivers/gpu/drm/nouveau/nv04_timer.c | 51 + > drivers/gpu/drm/nouveau/nv04_tv.c | 305 ++ > drivers/gpu/drm/nouveau/nv10_fb.c | 24 + > drivers/gpu/drm/nouveau/nv10_fifo.c | 260 ++ > drivers/gpu/drm/nouveau/nv10_graph.c | 892 ++++ > drivers/gpu/drm/nouveau/nv17_gpio.c | 92 + > drivers/gpu/drm/nouveau/nv17_tv.c | 681 +++ > drivers/gpu/drm/nouveau/nv17_tv.h | 156 + > drivers/gpu/drm/nouveau/nv17_tv_modes.c | 583 +++ > drivers/gpu/drm/nouveau/nv20_graph.c | 780 ++++ > drivers/gpu/drm/nouveau/nv40_fb.c | 62 + > drivers/gpu/drm/nouveau/nv40_fifo.c | 314 ++ > drivers/gpu/drm/nouveau/nv40_graph.c | 560 +++ > drivers/gpu/drm/nouveau/nv40_mc.c | 38 + > drivers/gpu/drm/nouveau/nv50_crtc.c | 769 ++++ > drivers/gpu/drm/nouveau/nv50_cursor.c | 156 + > drivers/gpu/drm/nouveau/nv50_dac.c | 304 ++ > drivers/gpu/drm/nouveau/nv50_display.c | 1015 +++++ > drivers/gpu/drm/nouveau/nv50_display.h | 46 + > drivers/gpu/drm/nouveau/nv50_evo.h | 113 + > drivers/gpu/drm/nouveau/nv50_fbcon.c | 273 ++ > drivers/gpu/drm/nouveau/nv50_fifo.c | 494 +++ > drivers/gpu/drm/nouveau/nv50_graph.c | 385 ++ > drivers/gpu/drm/nouveau/nv50_instmem.c | 509 +++ > drivers/gpu/drm/nouveau/nv50_mc.c | 40 + > drivers/gpu/drm/nouveau/nv50_sor.c | 309 ++ > drivers/gpu/drm/nouveau/nvreg.h | 535 +++ > drivers/staging/Kconfig | 2 + > include/drm/Kbuild | 1 + > include/drm/i2c/ch7006.h | 86 + > include/drm/nouveau_drm.h | 220 + > 85 files changed, 36161 insertions(+), 0 deletions(-) > create mode 100644 drivers/gpu/drm/i2c/Makefile > create mode 100644 drivers/gpu/drm/i2c/ch7006_drv.c > create mode 100644 drivers/gpu/drm/i2c/ch7006_mode.c > create mode 100644 drivers/gpu/drm/i2c/ch7006_priv.h > create mode 100644 drivers/gpu/drm/nouveau/Kconfig > create mode 100644 drivers/gpu/drm/nouveau/Makefile > create mode 100644 drivers/gpu/drm/nouveau/nouveau_acpi.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_backlight.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_bios.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_bios.h > create mode 100644 drivers/gpu/drm/nouveau/nouveau_bo.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_calc.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_channel.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_connector.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_connector.h > create mode 100644 drivers/gpu/drm/nouveau/nouveau_crtc.h > create mode 100644 drivers/gpu/drm/nouveau/nouveau_debugfs.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_display.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_dma.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_dma.h > create mode 100644 drivers/gpu/drm/nouveau/nouveau_dp.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_drv.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_drv.h > create mode 100644 drivers/gpu/drm/nouveau/nouveau_encoder.h > create mode 100644 drivers/gpu/drm/nouveau/nouveau_fb.h > create mode 100644 drivers/gpu/drm/nouveau/nouveau_fbcon.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_fbcon.h > create mode 100644 drivers/gpu/drm/nouveau/nouveau_fence.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_gem.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_hw.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_hw.h > create mode 100644 drivers/gpu/drm/nouveau/nouveau_i2c.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_i2c.h > create mode 100644 drivers/gpu/drm/nouveau/nouveau_ioc32.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_irq.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_mem.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_notifier.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_object.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_reg.h > create mode 100644 drivers/gpu/drm/nouveau/nouveau_sgdma.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_state.c > create mode 100644 drivers/gpu/drm/nouveau/nouveau_ttm.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_crtc.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_cursor.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_dac.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_dfp.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_display.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_fb.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_fbcon.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_fifo.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_graph.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_instmem.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_mc.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_timer.c > create mode 100644 drivers/gpu/drm/nouveau/nv04_tv.c > create mode 100644 drivers/gpu/drm/nouveau/nv10_fb.c > create mode 100644 drivers/gpu/drm/nouveau/nv10_fifo.c > create mode 100644 drivers/gpu/drm/nouveau/nv10_graph.c > create mode 100644 drivers/gpu/drm/nouveau/nv17_gpio.c > create mode 100644 drivers/gpu/drm/nouveau/nv17_tv.c > create mode 100644 drivers/gpu/drm/nouveau/nv17_tv.h > create mode 100644 drivers/gpu/drm/nouveau/nv17_tv_modes.c > create mode 100644 drivers/gpu/drm/nouveau/nv20_graph.c > create mode 100644 drivers/gpu/drm/nouveau/nv40_fb.c > create mode 100644 drivers/gpu/drm/nouveau/nv40_fifo.c > create mode 100644 drivers/gpu/drm/nouveau/nv40_graph.c > create mode 100644 drivers/gpu/drm/nouveau/nv40_mc.c > create mode 100644 drivers/gpu/drm/nouveau/nv50_crtc.c > create mode 100644 drivers/gpu/drm/nouveau/nv50_cursor.c > create mode 100644 drivers/gpu/drm/nouveau/nv50_dac.c > create mode 100644 drivers/gpu/drm/nouveau/nv50_display.c > create mode 100644 drivers/gpu/drm/nouveau/nv50_display.h > create mode 100644 drivers/gpu/drm/nouveau/nv50_evo.h > create mode 100644 drivers/gpu/drm/nouveau/nv50_fbcon.c > create mode 100644 drivers/gpu/drm/nouveau/nv50_fifo.c > create mode 100644 drivers/gpu/drm/nouveau/nv50_graph.c > create mode 100644 drivers/gpu/drm/nouveau/nv50_instmem.c > create mode 100644 drivers/gpu/drm/nouveau/nv50_mc.c > create mode 100644 drivers/gpu/drm/nouveau/nv50_sor.c > create mode 100644 drivers/gpu/drm/nouveau/nvreg.h > create mode 100644 include/drm/i2c/ch7006.h > create mode 100644 include/drm/nouveau_drm.h > > commit 6ee738610f41b59733f63718f0bdbcba7d3a3f12 > Author: Ben Skeggs <bs...@re...> > Date: Fri Dec 11 19:24:15 2009 +1000 > > drm/nouveau: Add DRM driver for NVIDIA GPUs > > This adds a drm/kms staging non-API stable driver for GPUs from NVIDIA. > > This driver is a KMS-based driver and requires a compatible nouveau > userspace libdrm and nouveau X.org driver. > > This driver requires firmware files not available in this kernel tree, > interested parties can find them via the nouveau project git archive. > > This driver is reverse engineered, and is in no way supported by nVidia. > > Support for nearly the complete range of nvidia hw from nv04->g80 (nv50) > is available, and the kms driver should support driving nearly all > output types (displayport is under development still) along with supporting > suspend/resume. > > This work is all from the upstream nouveau project found at > nouveau.freedesktop.org. > > The original authors list from nouveau git tree is: > Anssi Hannula <ans...@ik...> > Ben Skeggs <bs...@re...> > Francisco Jerez <cur...@ri...> > Maarten Maathuis <mad...@gm...> > Marcin Kościelnicki <kor...@0x...> > Matthew Garrett <mj...@re...> > Matt Parnell <mpa...@gm...> > Patrice Mandin <pat...@gm...> > Pekka Paalanen <pq...@ik...> > Xavier Chantry <shi...@gm...> > along with project founder Stephane Marchesin <mar...@ic...> > Btw could we get proper developer credit here? I think 3/4 of the people who wrote the code are missing here. Stephane |
From: Stephane M. <ste...@gm...> - 2009-12-11 23:28:01
|
2009/12/12 Dave Airlie <ai...@gm...>: > 2009/12/12 Stephane Marchesin <ste...@gm...>: > I did git log on the nouveau kernel tree nouveau dir with sort and uniq, > > I'm not sure where else I needed to trawl to get anymore ppl who have > contributed to > the KMS driver. I'm sure ppl contributed to X.org/Mesa drivers but > this isn't the > place for them. Also all copyright should be intact. > The problem is that when you moved from the drm to the linux tree, you killed the whole history and the authors along. > But we can add an author lists to the code subdir if you like, if > someone compiles > the complete list of ppl who have added code to the kernel driver. > That would indeed be the proper thing to do. Stephane |
From: Stephane M. <ste...@gm...> - 2009-12-11 23:49:34
|
On Sat, Dec 12, 2009 at 00:27, Stephane Marchesin <ste...@gm...> wrote: > 2009/12/12 Dave Airlie <ai...@gm...>: >> 2009/12/12 Stephane Marchesin <ste...@gm...>: >> I did git log on the nouveau kernel tree nouveau dir with sort and uniq, >> >> I'm not sure where else I needed to trawl to get anymore ppl who have >> contributed to >> the KMS driver. I'm sure ppl contributed to X.org/Mesa drivers but >> this isn't the >> place for them. Also all copyright should be intact. >> > > The problem is that when you moved from the drm to the linux tree, you > killed the whole history and the authors along. > >> But we can add an author lists to the code subdir if you like, if >> someone compiles >> the complete list of ppl who have added code to the kernel driver. >> > > That would indeed be the proper thing to do. > Ok, as you requested here is a proper list of actual authors: Arthur Huillet <art...@fr...> Anssi Hannula <ans...@ik...> Ben Skeggs <bs...@re...> B. Rathmann <koa...@us...> Danny Tholen <moo...@gm...> Dave Airlie <ai...@re...> Francisco Jerez <cur...@ri...> Jeremy Kolb <jk...@br...> Maarten Maathuis <mad...@gm...> Marcin Kościelnicki <kor...@0x...> Matthew Garrett <mj...@re...> Matthieu Castet <cas...@fr...> Matt Parnell <mpa...@gm...> Maurice van der Pot <gri...@kf...> Patrice Mandin <pat...@gm...> Pekka Paalanen <pq...@ik...> Stephane Marchesin <mar...@ic...> Stuart Bennett <st...@fr...> Xavier Chantry <shi...@gm...> As far as I can recall, this list is complete. Stephane |