Re: [git pull] drm nouveau pony for Xmas.

From: Stephane Marchesin
Date: Fri Dec 11 2009 - 18:23:59 EST


2009/12/11 Dave Airlie <airlied@xxxxxxxx>:
>
> 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 <bskeggs@xxxxxxxxxx>
> 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 <anssi.hannula@xxxxxx>
>    Ben Skeggs <bskeggs@xxxxxxxxxx>
>    Francisco Jerez <currojerez@xxxxxxxxxx>
>    Maarten Maathuis <madman2003@xxxxxxxxx>
>    Marcin Kościelnicki <koriakin@xxxxxxxx>
>    Matthew Garrett <mjg@xxxxxxxxxx>
>    Matt Parnell <mparnell@xxxxxxxxx>
>    Patrice Mandin <patmandin@xxxxxxxxx>
>    Pekka Paalanen <pq@xxxxxx>
>    Xavier Chantry <shiningxc@xxxxxxxxx>
>    along with project founder Stephane Marchesin <marchesin@xxxxxxxxxxxxxxxxx>
>

Btw could we get proper developer credit here? I think 3/4 of the
people who wrote the code are missing here.

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