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/7dc0e57ec218
branches: trunk
changeset: 331236:7dc0e57ec218
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 348dc3fba65c -r 7dc0e57ec218 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 348dc3fba65c -r 7dc0e57ec218 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