Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/external/bsd/drm2/dist/drm/nouveau Reimport Nouveau from...



details:   https://anonhg.NetBSD.org/src/rev/3ffff1657088
branches:  trunk
changeset: 797997:3ffff1657088
user:      riastradh <riastradh%NetBSD.org@localhost>
date:      Wed Aug 06 12:36:23 2014 +0000

description:
Reimport Nouveau from Linux 3.15.

This renames .c files to avoid basename clashes, and adds RCS IDs.

Generated using nouveau2netbsd.

diffstat:

 sys/external/bsd/drm2/dist/drm/nouveau/core/core/nouveau_core_client.c                     |   117 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/core/nouveau_core_engctx.c                     |   256 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/core/nouveau_core_engine.c                     |    73 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/core/nouveau_core_enum.c                       |    73 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/core/nouveau_core_event.c                      |   168 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/core/nouveau_core_gpuobj.c                     |   328 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/core/nouveau_core_handle.c                     |   231 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/core/nouveau_core_mm.c                         |   259 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/core/nouveau_core_namedb.c                     |   208 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/core/nouveau_core_object.c                     |   479 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/core/nouveau_core_option.c                     |   127 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/core/nouveau_core_parent.c                     |   133 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/core/nouveau_core_printk.c                     |   103 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/core/nouveau_core_ramht.c                      |   113 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/core/nouveau_core_subdev.c                     |   117 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/bsp/nouveau_engine_bsp_nv84.c           |    97 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/bsp/nouveau_engine_bsp_nv98.c           |   116 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/bsp/nouveau_engine_bsp_nvc0.c           |   115 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/bsp/nouveau_engine_bsp_nve0.c           |   115 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/copy/nouveau_engine_copy_nva3.c         |   162 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/copy/nouveau_engine_copy_nvc0.c         |   179 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/copy/nouveau_engine_copy_nve0.c         |   182 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/crypt/nouveau_engine_crypt_nv84.c       |   194 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/crypt/nouveau_engine_crypt_nv98.c       |   162 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_base.c     |   571 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_ctrl.c     |   149 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_gm100.c    |   111 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_nv04.c     |    94 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_nv10.c     |   209 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_nv20.c     |   136 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_nv30.c     |   158 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_nv40.c     |   432 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_nv50.c     |   465 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_nvc0.c     |   353 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/device/nouveau_engine_device_nve0.c     |   239 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_base.c         |    57 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_dacnv50.c      |   103 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_dport.c        |   377 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_gm107.c        |   106 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_hdanva3.c      |    55 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_hdanvd0.c      |    60 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_hdminv84.c     |    75 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_hdminva3.c     |    75 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_hdminvd0.c     |    67 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_nv04.c         |   155 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_nv50.c         |  1681 +++++
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_nv84.c         |   289 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_nv94.c         |   149 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_nva0.c         |   151 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_nva3.c         |   123 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_nvd0.c         |  1377 ++++
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_nve0.c         |   271 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_nvf0.c         |   106 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_piornv50.c     |   145 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_sornv50.c      |    84 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_sornv94.c      |   136 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_sornvd0.c      |   133 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/disp/nouveau_engine_disp_vga.c          |   225 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/dmaobj/nouveau_engine_dmaobj_base.c     |   125 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/dmaobj/nouveau_engine_dmaobj_nv04.c     |   148 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/dmaobj/nouveau_engine_dmaobj_nv50.c     |   166 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/dmaobj/nouveau_engine_dmaobj_nvc0.c     |   148 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/dmaobj/nouveau_engine_dmaobj_nvd0.c     |   133 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_base.c         |   213 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nv04.c         |   649 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nv10.c         |   176 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nv108.c        |    42 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nv17.c         |   213 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nv40.c         |   354 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nv50.c         |   522 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nv84.c         |   455 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nvc0.c         |   960 ++
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/fifo/nouveau_engine_fifo_nve0.c         |  1096 +++
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_ctxgm107.c   |   996 ++
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_ctxnv108.c   |   602 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_ctxnv40.c    |   700 ++
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_ctxnv50.c    |  3346 ++++++++++
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_ctxnvc0.c    |  1324 +++
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_ctxnvc1.c    |   802 ++
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_ctxnvc4.c    |   108 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_ctxnvc8.c    |   359 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_ctxnvd7.c    |   280 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_ctxnvd9.c    |   527 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_ctxnve4.c    |  1026 +++
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_ctxnvf0.c    |   890 ++
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_gm107.c      |   470 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_nv04.c       |  1394 ++++
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_nv10.c       |  1325 +++
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_nv108.c      |   228 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_nv20.c       |   389 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_nv25.c       |   172 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_nv2a.c       |   139 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_nv30.c       |   243 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_nv34.c       |   173 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_nv35.c       |   171 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_nv40.c       |   542 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_nv50.c       |  1016 +++
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_nvc0.c       |  1388 ++++
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_nvc1.c       |   138 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_nvc4.c       |   133 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_nvc8.c       |   120 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_nvd7.c       |   141 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_nvd9.c       |   196 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_nve4.c       |   365 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/graph/nouveau_engine_graph_nvf0.c       |   249 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/mpeg/nouveau_engine_mpeg_nv31.c         |   315 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/mpeg/nouveau_engine_mpeg_nv40.c         |   147 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/mpeg/nouveau_engine_mpeg_nv44.c         |   199 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/mpeg/nouveau_engine_mpeg_nv50.c         |   236 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/mpeg/nouveau_engine_mpeg_nv84.c         |   108 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/nouveau_engine_falcon.c                 |   283 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/nouveau_engine_xtensa.c                 |   181 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/perfmon/nouveau_engine_perfmon_base.c   |   454 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/perfmon/nouveau_engine_perfmon_daemon.c |   114 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/perfmon/nouveau_engine_perfmon_nv40.c   |   148 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/perfmon/nouveau_engine_perfmon_nv50.c   |    75 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/perfmon/nouveau_engine_perfmon_nv84.c   |    83 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/perfmon/nouveau_engine_perfmon_nva3.c   |   101 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/perfmon/nouveau_engine_perfmon_nvc0.c   |   178 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/perfmon/nouveau_engine_perfmon_nve0.c   |   167 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/perfmon/nouveau_engine_perfmon_nvf0.c   |    76 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/ppp/nouveau_engine_ppp_nv98.c           |   115 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/ppp/nouveau_engine_ppp_nvc0.c           |   115 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/software/nouveau_engine_software_nv04.c |   152 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/software/nouveau_engine_software_nv10.c |   134 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/software/nouveau_engine_software_nv50.c |   248 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/software/nouveau_engine_software_nvc0.c |   154 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/vp/nouveau_engine_vp_nv84.c             |    97 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/vp/nouveau_engine_vp_nv98.c             |   115 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/vp/nouveau_engine_vp_nvc0.c             |   115 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/engine/vp/nouveau_engine_vp_nve0.c             |   115 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bar/nouveau_subdev_bar_base.c           |   144 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bar/nouveau_subdev_bar_nv50.c           |   278 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bar/nouveau_subdev_bar_nvc0.c           |   222 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_P0260.c        |   114 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_base.c         |   556 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_bit.c          |    57 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_boost.c        |   132 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_conn.c         |    61 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_cstep.c        |   128 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_dcb.c          |   236 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_disp.c         |   183 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_dp.c           |   213 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_extdev.c       |   105 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_gpio.c         |   155 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_i2c.c          |   139 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_init.c         |  2189 ++++++
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_mxm.c          |   140 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_perf.c         |   206 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_pll.c          |   421 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_ramcfg.c       |    73 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_rammap.c       |   178 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_therm.c        |   220 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_timing.c       |   132 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_vmap.c         |   117 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_volt.c         |   142 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bios/nouveau_subdev_bios_xpio.c         |    81 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bus/nouveau_subdev_bus_hwsq.c           |   150 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bus/nouveau_subdev_bus_nv04.c           |   100 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bus/nouveau_subdev_bus_nv31.c           |    97 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bus/nouveau_subdev_bus_nv50.c           |   110 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bus/nouveau_subdev_bus_nv94.c           |    64 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/bus/nouveau_subdev_bus_nvc0.c           |    86 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/clock/nouveau_subdev_clock_base.c       |   502 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/clock/nouveau_subdev_clock_nv04.c       |   109 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/clock/nouveau_subdev_clock_nv40.c       |   244 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/clock/nouveau_subdev_clock_nv50.c       |   564 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/clock/nouveau_subdev_clock_nv84.c       |    53 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/clock/nouveau_subdev_clock_nva3.c       |   331 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/clock/nouveau_subdev_clock_nvaa.c       |   450 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/clock/nouveau_subdev_clock_nvc0.c       |   466 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/clock/nouveau_subdev_clock_nve0.c       |   502 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/clock/nouveau_subdev_clock_pllnv04.c    |   251 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/clock/nouveau_subdev_clock_pllnva3.c    |    94 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/devinit/nouveau_subdev_devinit_base.c   |   106 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/devinit/nouveau_subdev_devinit_gm107.c  |    61 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/devinit/nouveau_subdev_devinit_nv04.c   |   472 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/devinit/nouveau_subdev_devinit_nv05.c   |   144 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/devinit/nouveau_subdev_devinit_nv10.c   |   115 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/devinit/nouveau_subdev_devinit_nv1a.c   |    42 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/devinit/nouveau_subdev_devinit_nv20.c   |    79 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/devinit/nouveau_subdev_devinit_nv50.c   |   168 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/devinit/nouveau_subdev_devinit_nv84.c   |    68 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/devinit/nouveau_subdev_devinit_nv98.c   |    67 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/devinit/nouveau_subdev_devinit_nva3.c   |   150 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/devinit/nouveau_subdev_devinit_nvaf.c   |    68 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/devinit/nouveau_subdev_devinit_nvc0.c   |   123 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_base.c             |   171 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_gddr5.c            |   127 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_gm107.c            |    43 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv04.c             |    94 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv10.c             |    76 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv1a.c             |    49 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv20.c             |   100 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv25.c             |    66 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv30.c             |   144 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv35.c             |    67 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv36.c             |    67 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv40.c             |    81 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv41.c             |    74 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv44.c             |    83 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv46.c             |    63 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv47.c             |    50 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv49.c             |    50 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv4e.c             |    49 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv50.c             |   318 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nv84.c             |    44 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nva3.c             |    44 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nvaa.c             |    44 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nvaf.c             |    44 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nvc0.c             |   121 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_nve0.c             |    43 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_ramgm107.c         |    61 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_ramnv04.c          |   100 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_ramnv10.c          |    66 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_ramnv1a.c          |    76 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_ramnv20.c          |    68 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_ramnv40.c          |   220 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_ramnv41.c          |    72 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_ramnv44.c          |    70 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_ramnv49.c          |    72 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_ramnv4e.c          |    60 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_ramnv50.c          |   477 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_ramnva3.c          |   444 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_ramnvaa.c          |    71 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_ramnvc0.c          |   737 ++
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_ramnve0.c          |  1396 ++++
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/fb/nouveau_subdev_fb_sddr3.c            |   104 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/gpio/nouveau_subdev_gpio_base.c         |   163 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/gpio/nouveau_subdev_gpio_nv10.c         |   182 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/gpio/nouveau_subdev_gpio_nv50.c         |   218 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/gpio/nouveau_subdev_gpio_nvd0.c         |   112 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/gpio/nouveau_subdev_gpio_nve0.c         |   136 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/i2c/nouveau_subdev_i2c_anx9805.c        |   282 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/i2c/nouveau_subdev_i2c_aux.c            |   105 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/i2c/nouveau_subdev_i2c_base.c           |   389 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/i2c/nouveau_subdev_i2c_bit.c            |   237 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/i2c/nouveau_subdev_i2c_nv04.c           |   148 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/i2c/nouveau_subdev_i2c_nv4e.c           |   140 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/i2c/nouveau_subdev_i2c_nv50.c           |   154 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/i2c/nouveau_subdev_i2c_nv94.c           |   290 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/i2c/nouveau_subdev_i2c_nvd0.c           |   129 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/ibus/nouveau_subdev_ibus_nvc0.c         |   128 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/ibus/nouveau_subdev_ibus_nve0.c         |   128 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/instmem/nouveau_subdev_instmem_base.c   |   162 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/instmem/nouveau_subdev_instmem_nv04.c   |   187 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/instmem/nouveau_subdev_instmem_nv40.c   |   142 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/instmem/nouveau_subdev_instmem_nv50.c   |   176 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/ltcg/nouveau_subdev_ltcg_gf100.c        |   231 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/ltcg/nouveau_subdev_ltcg_gm107.c        |   147 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/mc/nouveau_subdev_mc_base.c             |   164 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/mc/nouveau_subdev_mc_nv04.c             |    84 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/mc/nouveau_subdev_mc_nv40.c             |    50 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/mc/nouveau_subdev_mc_nv44.c             |    59 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/mc/nouveau_subdev_mc_nv4c.c             |    50 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/mc/nouveau_subdev_mc_nv50.c             |    75 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/mc/nouveau_subdev_mc_nv94.c             |    43 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/mc/nouveau_subdev_mc_nv98.c             |    63 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/mc/nouveau_subdev_mc_nvc0.c             |    74 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/mc/nouveau_subdev_mc_nvc3.c             |    43 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/mxm/nouveau_subdev_mxm_base.c           |   279 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/mxm/nouveau_subdev_mxm_mxms.c           |   198 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/mxm/nouveau_subdev_mxm_nv50.c           |   238 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/pwr/nouveau_subdev_pwr_base.c           |   252 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/pwr/nouveau_subdev_pwr_memx.c           |   126 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/pwr/nouveau_subdev_pwr_nv108.c          |    67 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/pwr/nouveau_subdev_pwr_nva3.c           |    76 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/pwr/nouveau_subdev_pwr_nvc0.c           |    67 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/pwr/nouveau_subdev_pwr_nvd0.c           |    67 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/therm/nouveau_subdev_therm_base.c       |   379 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/therm/nouveau_subdev_therm_fan.c        |   287 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/therm/nouveau_subdev_therm_fannil.c     |    59 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/therm/nouveau_subdev_therm_fanpwm.c     |   112 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/therm/nouveau_subdev_therm_fantog.c     |   127 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/therm/nouveau_subdev_therm_ic.c         |   126 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/therm/nouveau_subdev_therm_nv40.c       |   229 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/therm/nouveau_subdev_therm_nv50.c       |   202 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/therm/nouveau_subdev_therm_nv84.c       |   239 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/therm/nouveau_subdev_therm_nva3.c       |   104 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/therm/nouveau_subdev_therm_nvd0.c       |   177 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/therm/nouveau_subdev_therm_temp.c       |   269 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/timer/nouveau_subdev_timer_base.c       |    99 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/timer/nouveau_subdev_timer_gk20a.c      |    62 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/timer/nouveau_subdev_timer_nv04.c       |   269 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_base.c             |   488 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_nv04.c             |   156 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_nv41.c             |   164 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_nv44.c             |   254 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_nv50.c             |   245 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/vm/nouveau_subdev_vm_nvc0.c             |   247 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/volt/nouveau_subdev_volt_base.c         |   203 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/volt/nouveau_subdev_volt_gpio.c         |   101 +
 sys/external/bsd/drm2/dist/drm/nouveau/core/subdev/volt/nouveau_subdev_volt_nv40.c         |    61 +
 sys/external/bsd/drm2/dist/drm/nouveau/dispnv04/nouveau_dispnv04_arb.c                     |   270 +
 sys/external/bsd/drm2/dist/drm/nouveau/dispnv04/nouveau_dispnv04_crtc.c                    |  1150 +++
 sys/external/bsd/drm2/dist/drm/nouveau/dispnv04/nouveau_dispnv04_cursor.c                  |    75 +
 sys/external/bsd/drm2/dist/drm/nouveau/dispnv04/nouveau_dispnv04_dac.c                     |   561 +
 sys/external/bsd/drm2/dist/drm/nouveau/dispnv04/nouveau_dispnv04_dfp.c                     |   727 ++
 sys/external/bsd/drm2/dist/drm/nouveau/dispnv04/nouveau_dispnv04_disp.c                    |   213 +
 sys/external/bsd/drm2/dist/drm/nouveau/dispnv04/nouveau_dispnv04_hw.c                      |   834 ++
 sys/external/bsd/drm2/dist/drm/nouveau/dispnv04/nouveau_dispnv04_overlay.c                 |   502 +
 sys/external/bsd/drm2/dist/drm/nouveau/dispnv04/nouveau_dispnv04_tvmodesnv17.c             |   597 +
 sys/external/bsd/drm2/dist/drm/nouveau/dispnv04/nouveau_dispnv04_tvnv04.c                  |   255 +
 sys/external/bsd/drm2/dist/drm/nouveau/dispnv04/nouveau_dispnv04_tvnv17.c                  |   848 ++
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_abi16.c                                     |     5 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_agp.c                                       |     5 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_bios.c                                      |     5 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_bo.c                                        |     5 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_chan.c                                      |     5 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_connector.c                                 |     5 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_display.c                                   |     5 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_dma.c                                       |     5 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_dp.c                                        |     5 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_drm.c                                       |     5 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_fbcon.c                                     |     5 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_fence.c                                     |     5 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_gem.c                                       |     5 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_hwmon.c                                     |     5 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv04_fbcon.c                                |   288 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv04_fence.c                                |   116 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv10_fence.c                                |   115 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv17_fence.c                                |   154 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv50_display.c                              |  2311 ++++++
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv50_fbcon.c                                |   264 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv50_fence.c                                |   128 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv84_fence.c                                |   281 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nvc0_fbcon.c                                |   267 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nvc0_fence.c                                |    95 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_prime.c                                     |     5 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_sgdma.c                                     |     5 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_sysfs.c                                     |     5 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_ttm.c                                       |     5 +
 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_vga.c                                       |     5 +
 333 files changed, 82131 insertions(+), 0 deletions(-)

diffs (truncated from 83632 to 300 lines):

diff -r e67af676ad78 -r 3ffff1657088 sys/external/bsd/drm2/dist/drm/nouveau/core/core/nouveau_core_client.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/external/bsd/drm2/dist/drm/nouveau/core/core/nouveau_core_client.c    Wed Aug 06 12:36:23 2014 +0000
@@ -0,0 +1,117 @@
+/*     $NetBSD: nouveau_core_client.c,v 1.1.1.1 2014/08/06 12:36:23 riastradh Exp $    */
+
+/*
+ * Copyright 2012 Red Hat Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Authors: Ben Skeggs
+ */
+
+#include <sys/cdefs.h>
+__KERNEL_RCSID(0, "$NetBSD: nouveau_core_client.c,v 1.1.1.1 2014/08/06 12:36:23 riastradh Exp $");
+
+#include <core/object.h>
+#include <core/client.h>
+#include <core/handle.h>
+#include <core/option.h>
+
+#include <engine/device.h>
+
+static void
+nouveau_client_dtor(struct nouveau_object *object)
+{
+       struct nouveau_client *client = (void *)object;
+       nouveau_object_ref(NULL, &client->device);
+       nouveau_handle_destroy(client->root);
+       nouveau_namedb_destroy(&client->base);
+}
+
+static struct nouveau_oclass
+nouveau_client_oclass = {
+       .ofuncs = &(struct nouveau_ofuncs) {
+               .dtor = nouveau_client_dtor,
+       },
+};
+
+int
+nouveau_client_create_(const char *name, u64 devname, const char *cfg,
+                      const char *dbg, int length, void **pobject)
+{
+       struct nouveau_object *device;
+       struct nouveau_client *client;
+       int ret;
+
+       device = (void *)nouveau_device_find(devname);
+       if (!device)
+               return -ENODEV;
+
+       ret = nouveau_namedb_create_(NULL, NULL, &nouveau_client_oclass,
+                                    NV_CLIENT_CLASS, NULL,
+                                    (1ULL << NVDEV_ENGINE_DEVICE),
+                                    length, pobject);
+       client = *pobject;
+       if (ret)
+               return ret;
+
+       ret = nouveau_handle_create(nv_object(client), ~0, ~0,
+                                   nv_object(client), &client->root);
+       if (ret)
+               return ret;
+
+       /* prevent init/fini being called, os in in charge of this */
+       atomic_set(&nv_object(client)->usecount, 2);
+
+       nouveau_object_ref(device, &client->device);
+       snprintf(client->name, sizeof(client->name), "%s", name);
+       client->debug = nouveau_dbgopt(dbg, "CLIENT");
+       return 0;
+}
+
+int
+nouveau_client_init(struct nouveau_client *client)
+{
+       int ret;
+       nv_debug(client, "init running\n");
+       ret = nouveau_handle_init(client->root);
+       nv_debug(client, "init completed with %d\n", ret);
+       return ret;
+}
+
+int
+nouveau_client_fini(struct nouveau_client *client, bool suspend)
+{
+       const char *name[2] = { "fini", "suspend" };
+       int ret;
+
+       nv_debug(client, "%s running\n", name[suspend]);
+       ret = nouveau_handle_fini(client->root, suspend);
+       nv_debug(client, "%s completed with %d\n", name[suspend], ret);
+       return ret;
+}
+
+const char *
+nouveau_client_name(void *obj)
+{
+       const char *client_name = "unknown";
+       struct nouveau_client *client = nouveau_client(obj);
+       if (client)
+               client_name = client->name;
+       return client_name;
+}
diff -r e67af676ad78 -r 3ffff1657088 sys/external/bsd/drm2/dist/drm/nouveau/core/core/nouveau_core_engctx.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/external/bsd/drm2/dist/drm/nouveau/core/core/nouveau_core_engctx.c    Wed Aug 06 12:36:23 2014 +0000
@@ -0,0 +1,256 @@
+/*     $NetBSD: nouveau_core_engctx.c,v 1.1.1.1 2014/08/06 12:36:23 riastradh Exp $    */
+
+/*
+ * Copyright 2012 Red Hat Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Authors: Ben Skeggs
+ */
+
+#include <sys/cdefs.h>
+__KERNEL_RCSID(0, "$NetBSD: nouveau_core_engctx.c,v 1.1.1.1 2014/08/06 12:36:23 riastradh Exp $");
+
+#include <core/object.h>
+#include <core/namedb.h>
+#include <core/handle.h>
+#include <core/client.h>
+#include <core/engctx.h>
+
+#include <subdev/vm.h>
+
+static inline int
+nouveau_engctx_exists(struct nouveau_object *parent,
+                     struct nouveau_engine *engine, void **pobject)
+{
+       struct nouveau_engctx *engctx;
+       struct nouveau_object *parctx;
+
+       list_for_each_entry(engctx, &engine->contexts, head) {
+               parctx = nv_pclass(nv_object(engctx), NV_PARENT_CLASS);
+               if (parctx == parent) {
+                       atomic_inc(&nv_object(engctx)->refcount);
+                       *pobject = engctx;
+                       return 1;
+               }
+       }
+
+       return 0;
+}
+
+int
+nouveau_engctx_create_(struct nouveau_object *parent,
+                      struct nouveau_object *engobj,
+                      struct nouveau_oclass *oclass,
+                      struct nouveau_object *pargpu,
+                      u32 size, u32 align, u32 flags,
+                      int length, void **pobject)
+{
+       struct nouveau_client *client = nouveau_client(parent);
+       struct nouveau_engine *engine = nv_engine(engobj);
+       struct nouveau_object *engctx;
+       unsigned long save;
+       int ret;
+
+       /* check if this engine already has a context for the parent object,
+        * and reference it instead of creating a new one
+        */
+       spin_lock_irqsave(&engine->lock, save);
+       ret = nouveau_engctx_exists(parent, engine, pobject);
+       spin_unlock_irqrestore(&engine->lock, save);
+       if (ret)
+               return ret;
+
+       /* create the new context, supports creating both raw objects and
+        * objects backed by instance memory
+        */
+       if (size) {
+               ret = nouveau_gpuobj_create_(parent, engobj, oclass,
+                                            NV_ENGCTX_CLASS,
+                                            pargpu, size, align, flags,
+                                            length, pobject);
+       } else {
+               ret = nouveau_object_create_(parent, engobj, oclass,
+                                            NV_ENGCTX_CLASS, length, pobject);
+       }
+
+       engctx = *pobject;
+       if (ret)
+               return ret;
+
+       /* must take the lock again and re-check a context doesn't already
+        * exist (in case of a race) - the lock had to be dropped before as
+        * it's not possible to allocate the object with it held.
+        */
+       spin_lock_irqsave(&engine->lock, save);
+       ret = nouveau_engctx_exists(parent, engine, pobject);
+       if (ret) {
+               spin_unlock_irqrestore(&engine->lock, save);
+               nouveau_object_ref(NULL, &engctx);
+               return ret;
+       }
+
+       if (client->vm)
+               atomic_inc(&client->vm->engref[nv_engidx(engobj)]);
+       list_add(&nv_engctx(engctx)->head, &engine->contexts);
+       nv_engctx(engctx)->addr = ~0ULL;
+       spin_unlock_irqrestore(&engine->lock, save);
+       return 0;
+}
+
+void
+nouveau_engctx_destroy(struct nouveau_engctx *engctx)
+{
+       struct nouveau_object *engobj = nv_object(engctx)->engine;
+       struct nouveau_engine *engine = nv_engine(engobj);
+       struct nouveau_client *client = nouveau_client(engctx);
+       unsigned long save;
+
+       nouveau_gpuobj_unmap(&engctx->vma);
+       spin_lock_irqsave(&engine->lock, save);
+       list_del(&engctx->head);
+       spin_unlock_irqrestore(&engine->lock, save);
+
+       if (client->vm)
+               atomic_dec(&client->vm->engref[nv_engidx(engobj)]);
+
+       if (engctx->base.size)
+               nouveau_gpuobj_destroy(&engctx->base);
+       else
+               nouveau_object_destroy(&engctx->base.base);
+}
+
+int
+nouveau_engctx_init(struct nouveau_engctx *engctx)
+{
+       struct nouveau_object *object = nv_object(engctx);
+       struct nouveau_subdev *subdev = nv_subdev(object->engine);
+       struct nouveau_object *parent;
+       struct nouveau_subdev *pardev;
+       int ret;
+
+       ret = nouveau_gpuobj_init(&engctx->base);
+       if (ret)
+               return ret;
+
+       parent = nv_pclass(object->parent, NV_PARENT_CLASS);
+       pardev = nv_subdev(parent->engine);
+       if (nv_parent(parent)->context_attach) {
+               mutex_lock(&pardev->mutex);
+               ret = nv_parent(parent)->context_attach(parent, object);
+               mutex_unlock(&pardev->mutex);
+       }
+
+       if (ret) {
+               nv_error(parent, "failed to attach %s context, %d\n",
+                        subdev->name, ret);
+               return ret;
+       }
+
+       nv_debug(parent, "attached %s context\n", subdev->name);
+       return 0;
+}
+
+int
+nouveau_engctx_fini(struct nouveau_engctx *engctx, bool suspend)
+{
+       struct nouveau_object *object = nv_object(engctx);
+       struct nouveau_subdev *subdev = nv_subdev(object->engine);
+       struct nouveau_object *parent;




Home | Main Index | Thread Index | Old Index