Hey Dave, The main thing here is the addition of support for Volta GV100 GPUs, everything else basically restructuring display / graphics init code to make it possible to fit Volta support in more nicely. There's a bunch of improvements/fixes scattered in there for earlier GPUs too, particularly graphics engine init on all GPUs from Fermi onwards. Ben. The following changes since commit 1fafef9dfe127bdd4600eeaca302f0c1cb4ee5d0: Merge drm-fixes-for-v4.17-rc6-urgent into drm-next (2018-05-18 14:08:53 +1000) are available in the Git repository at: git://github.com/skeggsb/linux linux-4.18 for you to fetch changes up to b520407382791c9e002ff78564a63b21744b9c7d: drm/nouveau/gr/gf100-: insert some WFIs during gr init (2018-05-18 15:01:47 +1000) ---------------------------------------------------------------- Arnd Bergmann (1): drm/nouveau: nouveau: use larger buffer in nvif_vmm_map Arushi Singhal (1): drm/nouveau/clk: Use list_for_each_entry_from_reverse Ben Skeggs (159): drm/nouveau/core: define FAULT subdev drm/nouveau/mc/gp100-: route fault buffer interrupts to FAULT drm/nouveau/fault: add infrastructure to support fault buffers drm/nouveau/fault/gp100: implement replayable fault buffer initialisation drm/nouveau/fb/gf100-: bump size of mmu debug buffers to match big page size drm/nouveau/fb/gm200-: fix overwriting of big page setting drm/nouveau/disp/nv50-: delay subunit construction until oneinit drm/nouveau/disp/nv50-: fetch mask of available heads during oneinit drm/nouveau/disp/nv50-: fetch mask of available dacs during oneinit drm/nouveau/disp/nv50-: fetch mask of available sors during oneinit drm/nouveau/disp/nv50-: fetch mask of available piors during oneinit drm/nouveau/disp/nv50-: initialise from the engine, rather than the user object drm/nouveau/disp/nv50-: replace user object with engine pointer in channels drm/nouveau/disp/nv50-: simplify definition of overlay channels drm/nouveau/disp/nv50-: simplify definition of overlay immediate channels drm/nouveau/disp/nv50-: simplify definition of base channels drm/nouveau/disp/nv50-: simplify definition of cursor channels drm/nouveau/disp/nv50-: simplify definiton of core channels drm/nouveau/disp/nv50-: merge handling of pio and dma channels drm/nouveau/disp/nv50-: add channel interfaces to determine the user area drm/nouveau/disp/nv50-: add channel interfaces to control error interrupts drm/nouveau/disp/nv50-: pass nvkm_memory objects for channel push buffers drm/nouveau/device: implement a generic method to query device-specific properties drm/nouveau/device: support querying available engines of a specific type drm/nouveau/fifo: support channel count query drm/nouveau/fifo/gk104-: accept engine contexts for CE3 and up drm/nouveau/fifo/gk104-: allow fault recovery code to be called by other subdevs drm/nouveau/fifo/gk104-: support querying engines available on each runlist drm/nouveau/fifo/gk104-: require explicit runlist selection for channel allocation drm/nouveau/fifo/gk104-: simplify definition of channel classes drm/nouveau/fifo/gk104-: add interfaces to support different runlist layouts drm/nouveau/fifo/gk104-: poll for runlist update completion drm/nouveau/fifo/gk110-: support writing channel group runlist entries drm/nouveau/fifo/gk208-: write pbdma timeout regs during initialisation drm/nouveau/fifo/gm107-: write instance address in channel runlist entry drm/nouveau/fifo/gp100-: force individual channels into a channel group drm/nouveau/gr/gf100-: virtualise init_gpc_mmu + apply fixes from traces drm/nouveau/gr/gf100-: support firmware-provided sw_nonctx everywhere drm/nouveau/gr/gf100-: virtualise r405a14 drm/nouveau/gr/gf100-: support clkgate_pack everywhere drm/nouveau/gr/gf100-: virtualise init_bios drm/nouveau/gr/gf100-: virtualise init_vsc_stream_master drm/nouveau/gr/gf100-: virtualise init_zcull drm/nouveau/gr/gf100-: virtualise init_num_active_ltcs drm/nouveau/gr/gf100-: virtualise init_rop_active_fbps drm/nouveau/gr/gf100-: implement another chunk of bios-provided init drm/nouveau/gr/gf100-: virtualise init_swdx_pes_mask drm/nouveau/gr/gf100: write 0x400124 during init drm/nouveau/gr/gf100-: virtualise init_fecs_exceptions + apply fixes from traces drm/nouveau/gr/gf100-: virtualise init_ds_hww_esr_2 drm/nouveau/gr/gf100-: virtualise init_40601c drm/nouveau/gr/gf100-: virtualise init_sked_hww_esr drm/nouveau/gr/gf100-: virtualise init_419cc0 + apply fixes from traces drm/nouveau/gr/gf100-: virtualise init_419eb4 + apply fixes from traces drm/nouveau/gr/gf100-: virtualise init_419c9c + apply fixes from traces drm/nouveau/gr/gf100-: virtualise init_ppc_exceptions drm/nouveau/gr/gf100-: virtualise init_tex_hww_esr drm/nouveau/gr/gf100-: virtualise init_504430 drm/nouveau/gr/gf100-: virtualise init_shader_exceptions drm/nouveau/gr/gf100-: apply be exception fixes from traces drm/nouveau/gr/gf100-: virtualise init_400054 drm/nouveau/gr/gf100-: delete duplicated init code drm/nouveau/gr/gf100-: support firmware-provided sw_ctx everywhere drm/nouveau/gr/gf100-: virtualise patch_ltc, noting missing init drm/nouveau/gr/gf100-: virtualise sm_id/tpc_nr drm/nouveau/gr/gf100-: virtualise tpc_per_gpc drm/nouveau/gr/gf100-: virtualise r4060a8 + apply fixes from traces drm/nouveau/gr/gf100-: virtualise rop_mapping drm/nouveau/gr/gf100-: virtualise alpha_beta_tables + improve algorithms drm/nouveau/gr/gf100-gf119: modify max_ways_evict where required drm/nouveau/gr/gf100-: virtualise dist_skip_table + improve algorithm drm/nouveau/gr/gf100-: virtualise r406500 drm/nouveau/gr/gf100-: virtualise gpc_tpc_nr drm/nouveau/gr/gf100-: virtualise r419f78 + apply fixes from traces drm/nouveau/gr/gf100-: virtualise tpc_mask + apply fixes from traces drm/nouveau/gr/gf100-: support firmware-provided bundle/method everywhere drm/nouveau/gr/gf100-gf119: update 419cb8 where required drm/nouveau/gr/gf100-: note missing 418800 modifications drm/nouveau/gr/gf100-: update 419eb0 where required drm/nouveau/gr/gf100-: virtualise r419e00 drm/nouveau/gr/gf100-: virtualise r418e94 drm/nouveau/gr/gf100-: update 419a3c where required drm/nouveau/gr/gf100-: update r408840 where required drm/nouveau/gr/gf100-: delete duplicated grctx init code drm/nouveau/gr/gf100-: add missing reset sequence before golden context init drm/nouveau/gr/gf100-: virtualise trap_mp drm/nouveau/gr/gf100-: port tile mapping calculations from NVGPU drm/nouveau/gr/gf100-: port zcull tile mapping calculations from NVGPU drm/nouveau/gr/gf100-: calculate and use sm mapping table drm/nouveau/gr/gf100-: swap bundle and pagepool drm/nouveau/gr/gf100-gm10x: update register lists drm/nouveau/gr/gp100-: fix pagepool setup drm/nouveau/gr/gp100-: fix attrib cb setup drm/nouveau/gr/gp100-: use correct registers for zbc colour/depth setup drm/nouveau/gr/gp102-: setup stencil zbc drm/nouveau/gem: lookup VMAs for buffers referenced by pushbuf ioctl drm/nouveau/gem: attach fences to VMAs to track GPU usage drm/nouveau/gem: tie deferred unmapping of buffers to VMA fence completion drm/nouveau: remove fence wait code from deferred client work handler drm/nouveau: no need to create ctxdma for push buffers on fermi and up drm/nouveau/drm/nv50-: remove allocation of sw class drm/nouveau/kms: move display class instantiation to library drm/nouveau/kms/nv50-: move code underneath dispnv50/ drm/nouveau/kms/nv50-: fix i2c-over-aux on anx9805 drm/nouveau/kms/nv50-: move fb ctxdma tracking into windows drm/nouveau/kms/nv50-: modify overlay allocation so the code can be split drm/nouveau/kms/nv50-: modify cursor allocation so the code can be split drm/nouveau/kms/nv50-: modify base allocation so the code can be split drm/nouveau/kms/nv50: modify core allocation so the code can be split drm/nouveau/kms/nv50-: abstract head interfaces so the code can be split drm/nouveau/kms/nv50: handle SetControlOutputResource from head drm/nouveau/kms/nv50: abstract OR interfaces so the code can be split drm/nouveau/kms/nv50-: split each resource type into their own source files drm/nouveau/kms/nv50-: split core implementation by hardware class drm/nouveau/kms/nv50-: split base implementation by hardware class drm/nouveau/kms/nv50-: allow specification of valid heads for a window drm/nouveau/kms/nv50-: unify set/clr masks drm/nouveau/kms/nv50-: move drm format->hw conversion into common code drm/nouveau/kms/nv50-: extend window image data for stereo/planar formats drm/nouveau/kms/nv50-: determine MST support from DP Info Table drm/nouveau/kms/nv50-: simplify tracking of channel interlocks drm/nouveau/kms/nv50-: decouple window state changes, and update method submisssion drm/nouveau/kms/nv50-: simplify swap interval handling drm/nouveau/kms/nv50-: store window visibility in state drm/nouveau/kms/nv50-: plane updates don't always require image_set() drm/nouveau/kms/nv50-: handle degamma LUT from window channels drm/nouveau/kms/nv50-: separate blocklinear vs linear pitch drm/nouveau/kms/gk104-: support additional cursor sizes drm/nouveau/kms/gk104-: add support for [XA]2R10G10B10 formats drm/nouveau/kms/nv50-: initial overlay support drm/nouveau/core: increase maximum number of copy engines to 9 drm/nouveau/core: recognise gv100 drm/nouveau/pci/gv100: initial support drm/nouveau/bios/gv100: initial support drm/nouveau/bios/pll: limits table 5.0 drm/nouveau/devinit/gv100: initial support drm/nouveau/top/gv100: initial support drm/nouveau/ibus/gv100: initial support drm/nouveau/gpio/gv100: initial support drm/nouveau/i2c/gv100: initial support drm/nouveau/fuse/gv100: initial support drm/nouveau/mc/gv100: initial support drm/nouveau/bus/gv100: initial support drm/nouveau/tmr/gv100: initial support drm/nouveau/imem/gv100: initial support drm/nouveau/fb/gv100: initial support drm/nouveau/ltc/gv100: initial support drm/nouveau/mmu/gv100: initial support drm/nouveau/bar/gv100: initial support drm/nouveau/fault/gv100: initial support drm/nouveau/pmu/gv100: initial support drm/nouveau/therm/gv100: initial support drm/nouveau/dma/gv100: initial support drm/nouveau/disp/gv100: initial support drm/nouveau/kms/gv100: initial support drm/nouveau/fifo/gv100: initial support drm/nouveau/ce/gv100: initial support drm/nouveau/gr/gv100: initial support drm/nouveau/gr/gf100-: insert some WFIs during gr init Gustavo A. R. Silva (1): drm/nouveau/secboot: remove VLA usage Ilia Mirkin (1): drm/nouveau: fix temp/pwm visibility, skip hwmon when no sensors exist Luc Van Oostenryck (2): drm/nouveau: fix mode_valid's return type drm/nouveau: fix nouveau_dsm_get_client_id()'s return type drivers/gpu/drm/nouveau/Kbuild | 8 +- drivers/gpu/drm/nouveau/dispnv50/Kbuild | 51 + drivers/gpu/drm/nouveau/dispnv50/atom.h | 222 + drivers/gpu/drm/nouveau/dispnv50/base.c | 53 + drivers/gpu/drm/nouveau/dispnv50/base.h | 31 + drivers/gpu/drm/nouveau/dispnv50/base507c.c | 286 ++ drivers/gpu/drm/nouveau/dispnv50/base827c.c | 71 + drivers/gpu/drm/nouveau/dispnv50/base907c.c | 110 + drivers/gpu/drm/nouveau/dispnv50/base917c.c | 48 + drivers/gpu/drm/nouveau/dispnv50/core.c | 70 + drivers/gpu/drm/nouveau/dispnv50/core.h | 50 + drivers/gpu/drm/nouveau/dispnv50/core507d.c | 115 + .../disp/basegt200.c => dispnv50/core827d.c} | 35 +- .../disp/basegk104.c => dispnv50/core907d.c} | 34 +- .../disp/basegk110.c => dispnv50/core917d.c} | 34 +- drivers/gpu/drm/nouveau/dispnv50/corec37d.c | 110 + drivers/gpu/drm/nouveau/dispnv50/curs.c | 52 + drivers/gpu/drm/nouveau/dispnv50/curs.h | 14 + drivers/gpu/drm/nouveau/dispnv50/curs507a.c | 145 + .../fifo/gpfifogk110.c => dispnv50/curs907a.c} | 22 +- drivers/gpu/drm/nouveau/dispnv50/cursc37a.c | 50 + drivers/gpu/drm/nouveau/dispnv50/dac507d.c | 44 + .../engine/disp/cursgt215.c => dispnv50/dac907d.c} | 30 +- drivers/gpu/drm/nouveau/dispnv50/disp.c | 2238 ++++++++++ drivers/gpu/drm/nouveau/dispnv50/disp.h | 89 + drivers/gpu/drm/nouveau/dispnv50/head.c | 511 +++ drivers/gpu/drm/nouveau/dispnv50/head.h | 78 + drivers/gpu/drm/nouveau/dispnv50/head507d.c | 325 ++ drivers/gpu/drm/nouveau/dispnv50/head827d.c | 124 + drivers/gpu/drm/nouveau/dispnv50/head907d.c | 284 ++ drivers/gpu/drm/nouveau/dispnv50/head917d.c | 100 + drivers/gpu/drm/nouveau/dispnv50/headc37d.c | 212 + drivers/gpu/drm/nouveau/dispnv50/lut.c | 95 + drivers/gpu/drm/nouveau/dispnv50/lut.h | 15 + drivers/gpu/drm/nouveau/dispnv50/oimm.c | 51 + drivers/gpu/drm/nouveau/dispnv50/oimm.h | 8 + drivers/gpu/drm/nouveau/dispnv50/oimm507b.c | 52 + drivers/gpu/drm/nouveau/dispnv50/ovly.c | 57 + drivers/gpu/drm/nouveau/dispnv50/ovly.h | 30 + drivers/gpu/drm/nouveau/dispnv50/ovly507e.c | 217 + drivers/gpu/drm/nouveau/dispnv50/ovly827e.c | 107 + drivers/gpu/drm/nouveau/dispnv50/ovly907e.c | 70 + drivers/gpu/drm/nouveau/dispnv50/ovly917e.c | 45 + drivers/gpu/drm/nouveau/dispnv50/pior507d.c | 44 + drivers/gpu/drm/nouveau/dispnv50/sor507d.c | 44 + .../engine/disp/basegt215.c => dispnv50/sor907d.c} | 31 +- .../engine/disp/cursgk104.c => dispnv50/sorc37d.c} | 30 +- drivers/gpu/drm/nouveau/dispnv50/wimm.c | 47 + drivers/gpu/drm/nouveau/dispnv50/wimm.h | 8 + drivers/gpu/drm/nouveau/dispnv50/wimmc37b.c | 86 + drivers/gpu/drm/nouveau/dispnv50/wndw.c | 641 +++ drivers/gpu/drm/nouveau/dispnv50/wndw.h | 96 + drivers/gpu/drm/nouveau/dispnv50/wndwc37e.c | 278 ++ drivers/gpu/drm/nouveau/include/nvif/cl0080.h | 47 + drivers/gpu/drm/nouveau/include/nvif/cla06f.h | 18 +- drivers/gpu/drm/nouveau/include/nvif/class.h | 14 + drivers/gpu/drm/nouveau/include/nvif/clc37b.h | 11 + drivers/gpu/drm/nouveau/include/nvif/clc37e.h | 13 + drivers/gpu/drm/nouveau/include/nvif/device.h | 9 +- drivers/gpu/drm/nouveau/include/nvif/disp.h | 12 + drivers/gpu/drm/nouveau/include/nvif/fifo.h | 18 + drivers/gpu/drm/nouveau/include/nvif/mem.h | 2 + drivers/gpu/drm/nouveau/include/nvif/mmu.h | 1 + drivers/gpu/drm/nouveau/include/nvif/object.h | 16 + drivers/gpu/drm/nouveau/include/nvif/user.h | 19 + drivers/gpu/drm/nouveau/include/nvkm/core/device.h | 13 +- drivers/gpu/drm/nouveau/include/nvkm/core/engine.h | 1 + drivers/gpu/drm/nouveau/include/nvkm/core/subdev.h | 2 + drivers/gpu/drm/nouveau/include/nvkm/engine/ce.h | 1 + drivers/gpu/drm/nouveau/include/nvkm/engine/disp.h | 1 + drivers/gpu/drm/nouveau/include/nvkm/engine/dma.h | 1 + drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h | 3 + drivers/gpu/drm/nouveau/include/nvkm/engine/gr.h | 2 + .../gpu/drm/nouveau/include/nvkm/subdev/bios/dp.h | 4 + .../gpu/drm/nouveau/include/nvkm/subdev/devinit.h | 1 + .../gpu/drm/nouveau/include/nvkm/subdev/fault.h | 33 + drivers/gpu/drm/nouveau/include/nvkm/subdev/fb.h | 1 + drivers/gpu/drm/nouveau/include/nvkm/subdev/ltc.h | 3 + drivers/gpu/drm/nouveau/include/nvkm/subdev/mmu.h | 1 + drivers/gpu/drm/nouveau/nouveau_abi16.c | 36 +- drivers/gpu/drm/nouveau/nouveau_acpi.c | 2 +- drivers/gpu/drm/nouveau/nouveau_bo.c | 2 + drivers/gpu/drm/nouveau/nouveau_chan.c | 39 +- drivers/gpu/drm/nouveau/nouveau_chan.h | 1 + drivers/gpu/drm/nouveau/nouveau_connector.c | 16 +- drivers/gpu/drm/nouveau/nouveau_display.c | 35 +- drivers/gpu/drm/nouveau/nouveau_display.h | 3 +- drivers/gpu/drm/nouveau/nouveau_dma.c | 15 +- drivers/gpu/drm/nouveau/nouveau_dma.h | 6 +- drivers/gpu/drm/nouveau/nouveau_drm.c | 90 +- drivers/gpu/drm/nouveau/nouveau_drv.h | 6 + drivers/gpu/drm/nouveau/nouveau_encoder.h | 3 +- drivers/gpu/drm/nouveau/nouveau_fence.c | 11 +- drivers/gpu/drm/nouveau/nouveau_fence.h | 2 - drivers/gpu/drm/nouveau/nouveau_gem.c | 50 +- drivers/gpu/drm/nouveau/nouveau_hwmon.c | 16 +- drivers/gpu/drm/nouveau/nouveau_vmm.c | 1 + drivers/gpu/drm/nouveau/nouveau_vmm.h | 2 + drivers/gpu/drm/nouveau/nv04_fence.c | 2 - drivers/gpu/drm/nouveau/nv10_fence.c | 2 - drivers/gpu/drm/nouveau/nv17_fence.c | 2 - drivers/gpu/drm/nouveau/nv50_display.c | 4558 -------------------- drivers/gpu/drm/nouveau/nv50_display.h | 1 - drivers/gpu/drm/nouveau/nv50_fence.c | 2 - drivers/gpu/drm/nouveau/nv84_fence.c | 11 +- drivers/gpu/drm/nouveau/nvif/Kbuild | 6 + drivers/gpu/drm/nouveau/nvif/device.c | 5 + drivers/gpu/drm/nouveau/nvif/disp.c | 60 + drivers/gpu/drm/nouveau/nvif/fifo.c | 99 + drivers/gpu/drm/nouveau/nvif/mem.c | 13 + drivers/gpu/drm/nouveau/nvif/mmu.c | 11 + drivers/gpu/drm/nouveau/nvif/user.c | 64 + .../engine/fifo/gpfifogp100.c => nvif/userc361.c} | 21 +- drivers/gpu/drm/nouveau/nvif/vmm.c | 2 +- drivers/gpu/drm/nouveau/nvkm/core/engine.c | 15 + drivers/gpu/drm/nouveau/nvkm/core/subdev.c | 12 + drivers/gpu/drm/nouveau/nvkm/engine/ce/Kbuild | 1 + .../nvkm/engine/{disp/cursg84.c => ce/gv100.c} | 29 +- drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 73 +- drivers/gpu/drm/nouveau/nvkm/engine/device/priv.h | 1 + drivers/gpu/drm/nouveau/nvkm/engine/device/user.c | 74 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild | 30 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c | 23 + drivers/gpu/drm/nouveau/nvkm/engine/disp/baseg84.c | 26 +- .../gpu/drm/nouveau/nvkm/engine/disp/basegf119.c | 24 +- .../gpu/drm/nouveau/nvkm/engine/disp/basegp102.c | 22 +- .../gpu/drm/nouveau/nvkm/engine/disp/basenv50.c | 42 +- .../gpu/drm/nouveau/nvkm/engine/disp/changf119.c | 13 + .../{fifo/gpfifogm200.c => disp/changv100.c} | 24 +- .../gpu/drm/nouveau/nvkm/engine/disp/channv50.c | 146 +- .../gpu/drm/nouveau/nvkm/engine/disp/channv50.h | 190 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/coreg84.c | 24 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/coreg94.c | 24 +- .../gpu/drm/nouveau/nvkm/engine/disp/coregf119.c | 47 +- .../gpu/drm/nouveau/nvkm/engine/disp/coregk104.c | 24 +- .../gpu/drm/nouveau/nvkm/engine/disp/coregk110.c | 38 - .../gpu/drm/nouveau/nvkm/engine/disp/coregm107.c | 38 - .../gpu/drm/nouveau/nvkm/engine/disp/coregm200.c | 38 - .../gpu/drm/nouveau/nvkm/engine/disp/coregp100.c | 38 - .../gpu/drm/nouveau/nvkm/engine/disp/coregp102.c | 34 +- .../gpu/drm/nouveau/nvkm/engine/disp/coregt200.c | 38 - .../gpu/drm/nouveau/nvkm/engine/disp/coregt215.c | 38 - .../gpu/drm/nouveau/nvkm/engine/disp/coregv100.c | 204 + .../gpu/drm/nouveau/nvkm/engine/disp/corenv50.c | 61 +- .../gpu/drm/nouveau/nvkm/engine/disp/cursgf119.c | 19 +- .../gpu/drm/nouveau/nvkm/engine/disp/cursgp102.c | 19 +- .../gpu/drm/nouveau/nvkm/engine/disp/cursgv100.c | 81 + .../gpu/drm/nouveau/nvkm/engine/disp/cursnv50.c | 36 +- .../gpu/drm/nouveau/nvkm/engine/disp/dacgf119.c | 11 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/dacnv50.c | 11 +- .../gpu/drm/nouveau/nvkm/engine/disp/dmacgf119.c | 40 +- .../gpu/drm/nouveau/nvkm/engine/disp/dmacgp102.c | 19 +- .../gpu/drm/nouveau/nvkm/engine/disp/dmacgv100.c | 77 + .../gpu/drm/nouveau/nvkm/engine/disp/dmacnv50.c | 179 +- .../gpu/drm/nouveau/nvkm/engine/disp/dmacnv50.h | 102 - drivers/gpu/drm/nouveau/nvkm/engine/disp/g84.c | 12 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/g94.c | 12 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/gf119.c | 91 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/gk104.c | 10 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/gk110.c | 10 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/gm107.c | 10 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/gm200.c | 10 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/gp100.c | 8 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/gp102.c | 9 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/gt200.c | 12 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/gt215.c | 12 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/gv100.c | 427 ++ .../gpu/drm/nouveau/nvkm/engine/disp/hdmigv100.c | 85 + drivers/gpu/drm/nouveau/nvkm/engine/disp/head.h | 8 + .../gpu/drm/nouveau/nvkm/engine/disp/headgf119.c | 13 +- .../gpu/drm/nouveau/nvkm/engine/disp/headgv100.c | 105 + .../gpu/drm/nouveau/nvkm/engine/disp/headnv50.c | 7 + drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h | 24 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/mcp77.c | 12 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/mcp89.c | 12 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c | 207 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.h | 50 +- .../gpu/drm/nouveau/nvkm/engine/disp/oimmgf119.c | 19 +- .../gpu/drm/nouveau/nvkm/engine/disp/oimmgk104.c | 37 - .../gpu/drm/nouveau/nvkm/engine/disp/oimmgp102.c | 19 +- .../gpu/drm/nouveau/nvkm/engine/disp/oimmgt215.c | 37 - .../gpu/drm/nouveau/nvkm/engine/disp/oimmnv50.c | 36 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/ovlyg84.c | 26 +- .../gpu/drm/nouveau/nvkm/engine/disp/ovlygf119.c | 24 +- .../gpu/drm/nouveau/nvkm/engine/disp/ovlygk104.c | 24 +- .../gpu/drm/nouveau/nvkm/engine/disp/ovlygp102.c | 22 +- .../gpu/drm/nouveau/nvkm/engine/disp/ovlygt200.c | 24 +- .../gpu/drm/nouveau/nvkm/engine/disp/ovlygt215.c | 38 - .../gpu/drm/nouveau/nvkm/engine/disp/ovlynv50.c | 42 +- .../gpu/drm/nouveau/nvkm/engine/disp/piocgf119.c | 13 +- .../gpu/drm/nouveau/nvkm/engine/disp/piocnv50.c | 6 +- .../gpu/drm/nouveau/nvkm/engine/disp/piornv50.c | 11 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/priv.h | 3 + drivers/gpu/drm/nouveau/nvkm/engine/disp/rootg84.c | 19 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/rootg94.c | 19 +- .../gpu/drm/nouveau/nvkm/engine/disp/rootgf119.c | 101 +- .../gpu/drm/nouveau/nvkm/engine/disp/rootgk104.c | 19 +- .../gpu/drm/nouveau/nvkm/engine/disp/rootgk110.c | 19 +- .../gpu/drm/nouveau/nvkm/engine/disp/rootgm107.c | 19 +- .../gpu/drm/nouveau/nvkm/engine/disp/rootgm200.c | 19 +- .../gpu/drm/nouveau/nvkm/engine/disp/rootgp100.c | 19 +- .../gpu/drm/nouveau/nvkm/engine/disp/rootgp102.c | 19 +- .../gpu/drm/nouveau/nvkm/engine/disp/rootgt200.c | 19 +- .../gpu/drm/nouveau/nvkm/engine/disp/rootgt215.c | 19 +- .../gpu/drm/nouveau/nvkm/engine/disp/rootgv100.c | 52 + .../gpu/drm/nouveau/nvkm/engine/disp/rootnv50.c | 175 +- .../gpu/drm/nouveau/nvkm/engine/disp/rootnv50.h | 22 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/sorg84.c | 2 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/sorg94.c | 10 +- .../gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c | 19 +- .../gpu/drm/nouveau/nvkm/engine/disp/sorgk104.c | 2 +- .../gpu/drm/nouveau/nvkm/engine/disp/sorgm107.c | 2 +- .../gpu/drm/nouveau/nvkm/engine/disp/sorgm200.c | 8 +- .../gpu/drm/nouveau/nvkm/engine/disp/sorgt215.c | 2 +- .../gpu/drm/nouveau/nvkm/engine/disp/sorgv100.c | 120 + .../gpu/drm/nouveau/nvkm/engine/disp/sormcp77.c | 2 +- .../gpu/drm/nouveau/nvkm/engine/disp/sormcp89.c | 2 +- drivers/gpu/drm/nouveau/nvkm/engine/disp/sornv50.c | 19 +- .../gpu/drm/nouveau/nvkm/engine/disp/wimmgv100.c | 82 + .../gpu/drm/nouveau/nvkm/engine/disp/wndwgv100.c | 184 + drivers/gpu/drm/nouveau/nvkm/engine/dma/Kbuild | 2 + .../nvkm/engine/{disp/oimmg84.c => dma/gv100.c} | 27 +- drivers/gpu/drm/nouveau/nvkm/engine/dma/user.h | 2 + .../gpu/drm/nouveau/nvkm/engine/dma/usergv100.c | 119 + drivers/gpu/drm/nouveau/nvkm/engine/fifo/Kbuild | 7 +- drivers/gpu/drm/nouveau/nvkm/engine/fifo/base.c | 46 +- drivers/gpu/drm/nouveau/nvkm/engine/fifo/cgrp.h | 11 + .../gpu/drm/nouveau/nvkm/engine/fifo/changk104.h | 20 +- drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c | 373 +- drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.h | 57 +- drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk110.c | 28 +- drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk208.c | 20 +- drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk20a.c | 10 +- drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm107.c | 27 +- drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm200.c | 10 +- drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm20b.c | 10 +- drivers/gpu/drm/nouveau/nvkm/engine/fifo/gp100.c | 11 +- drivers/gpu/drm/nouveau/nvkm/engine/fifo/gp10b.c | 11 +- .../gpu/drm/nouveau/nvkm/engine/fifo/gpfifogk104.c | 155 +- .../gpu/drm/nouveau/nvkm/engine/fifo/gpfifogv100.c | 225 + drivers/gpu/drm/nouveau/nvkm/engine/fifo/gv100.c | 306 ++ drivers/gpu/drm/nouveau/nvkm/engine/fifo/priv.h | 7 +- drivers/gpu/drm/nouveau/nvkm/engine/fifo/user.h | 6 + .../gpu/drm/nouveau/nvkm/engine/fifo/usergv100.c | 45 + drivers/gpu/drm/nouveau/nvkm/engine/gr/Kbuild | 4 + drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.c | 423 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.h | 79 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf104.c | 10 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf108.c | 17 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf110.c | 15 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf117.c | 114 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf119.c | 15 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk104.c | 190 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk110.c | 28 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk110b.c | 14 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk208.c | 20 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk20a.c | 9 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm107.c | 93 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm200.c | 120 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm20b.c | 22 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgp100.c | 100 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgp102.c | 42 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgp104.c | 48 + drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgp107.c | 11 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgv100.c | 215 + drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c | 417 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h | 109 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/gf104.c | 14 + drivers/gpu/drm/nouveau/nvkm/engine/gr/gf108.c | 21 + drivers/gpu/drm/nouveau/nvkm/engine/gr/gf110.c | 14 + drivers/gpu/drm/nouveau/nvkm/engine/gr/gf117.c | 42 + drivers/gpu/drm/nouveau/nvkm/engine/gr/gf119.c | 14 + drivers/gpu/drm/nouveau/nvkm/engine/gr/gk104.c | 143 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110.c | 31 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110b.c | 17 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/gk208.c | 16 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.c | 37 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/gm107.c | 178 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/gm200.c | 175 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/gm20b.c | 5 + drivers/gpu/drm/nouveau/nvkm/engine/gr/gp100.c | 180 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/gp102.c | 77 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/gp104.c | 66 + drivers/gpu/drm/nouveau/nvkm/engine/gr/gp107.c | 21 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/gp10b.c | 27 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/gv100.c | 120 + drivers/gpu/drm/nouveau/nvkm/falcon/msgqueue.c | 1 + drivers/gpu/drm/nouveau/nvkm/subdev/Kbuild | 1 + drivers/gpu/drm/nouveau/nvkm/subdev/bios/dp.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/bios/pll.c | 19 +- .../gpu/drm/nouveau/nvkm/subdev/bios/shadowramin.c | 5 +- drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c | 10 +- drivers/gpu/drm/nouveau/nvkm/subdev/devinit/Kbuild | 1 + .../gpu/drm/nouveau/nvkm/subdev/devinit/gm200.c | 2 +- .../gpu/drm/nouveau/nvkm/subdev/devinit/gv100.c | 79 + drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.h | 2 + drivers/gpu/drm/nouveau/nvkm/subdev/fault/Kbuild | 3 + drivers/gpu/drm/nouveau/nvkm/subdev/fault/base.c | 179 + drivers/gpu/drm/nouveau/nvkm/subdev/fault/gp100.c | 69 + drivers/gpu/drm/nouveau/nvkm/subdev/fault/gv100.c | 206 + drivers/gpu/drm/nouveau/nvkm/subdev/fault/priv.h | 34 + drivers/gpu/drm/nouveau/nvkm/subdev/fb/Kbuild | 1 + drivers/gpu/drm/nouveau/nvkm/subdev/fb/gf100.c | 4 +- drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm200.c | 2 - drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp100.c | 4 +- drivers/gpu/drm/nouveau/nvkm/subdev/fb/gv100.c | 46 + drivers/gpu/drm/nouveau/nvkm/subdev/fb/priv.h | 2 + drivers/gpu/drm/nouveau/nvkm/subdev/ltc/Kbuild | 1 + drivers/gpu/drm/nouveau/nvkm/subdev/ltc/base.c | 10 + drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gp100.c | 6 +- drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gp102.c | 51 + drivers/gpu/drm/nouveau/nvkm/subdev/ltc/priv.h | 5 + drivers/gpu/drm/nouveau/nvkm/subdev/mc/gp100.c | 20 +- drivers/gpu/drm/nouveau/nvkm/subdev/mc/gp10b.c | 2 +- drivers/gpu/drm/nouveau/nvkm/subdev/mc/priv.h | 2 + drivers/gpu/drm/nouveau/nvkm/subdev/mmu/Kbuild | 2 + drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gv100.c | 43 + drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.h | 3 + drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgv100.c | 87 + .../gpu/drm/nouveau/nvkm/subdev/secboot/gp108.c | 21 + .../nvkm/subdev/secboot/ls_ucode_msgqueue.c | 7 +- drivers/gpu/drm/nouveau/nvkm/subdev/top/gk104.c | 3 +- 322 files changed, 15430 insertions(+), 7999 deletions(-) create mode 100644 drivers/gpu/drm/nouveau/dispnv50/Kbuild create mode 100644 drivers/gpu/drm/nouveau/dispnv50/atom.h create mode 100644 drivers/gpu/drm/nouveau/dispnv50/base.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/base.h create mode 100644 drivers/gpu/drm/nouveau/dispnv50/base507c.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/base827c.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/base907c.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/base917c.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/core.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/core.h create mode 100644 drivers/gpu/drm/nouveau/dispnv50/core507d.c rename drivers/gpu/drm/nouveau/{nvkm/engine/disp/basegt200.c => dispnv50/core827d.c} (70%) rename drivers/gpu/drm/nouveau/{nvkm/engine/disp/basegk104.c => dispnv50/core907d.c} (71%) rename drivers/gpu/drm/nouveau/{nvkm/engine/disp/basegk110.c => dispnv50/core917d.c} (71%) create mode 100644 drivers/gpu/drm/nouveau/dispnv50/corec37d.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/curs.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/curs.h create mode 100644 drivers/gpu/drm/nouveau/dispnv50/curs507a.c rename drivers/gpu/drm/nouveau/{nvkm/engine/fifo/gpfifogk110.c => dispnv50/curs907a.c} (79%) create mode 100644 drivers/gpu/drm/nouveau/dispnv50/cursc37a.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/dac507d.c rename drivers/gpu/drm/nouveau/{nvkm/engine/disp/cursgt215.c => dispnv50/dac907d.c} (74%) create mode 100644 drivers/gpu/drm/nouveau/dispnv50/disp.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/disp.h create mode 100644 drivers/gpu/drm/nouveau/dispnv50/head.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/head.h create mode 100644 drivers/gpu/drm/nouveau/dispnv50/head507d.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/head827d.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/head907d.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/head917d.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/headc37d.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/lut.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/lut.h create mode 100644 drivers/gpu/drm/nouveau/dispnv50/oimm.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/oimm.h create mode 100644 drivers/gpu/drm/nouveau/dispnv50/oimm507b.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/ovly.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/ovly.h create mode 100644 drivers/gpu/drm/nouveau/dispnv50/ovly507e.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/ovly827e.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/ovly907e.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/ovly917e.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/pior507d.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/sor507d.c rename drivers/gpu/drm/nouveau/{nvkm/engine/disp/basegt215.c => dispnv50/sor907d.c} (74%) rename drivers/gpu/drm/nouveau/{nvkm/engine/disp/cursgk104.c => dispnv50/sorc37d.c} (74%) create mode 100644 drivers/gpu/drm/nouveau/dispnv50/wimm.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/wimm.h create mode 100644 drivers/gpu/drm/nouveau/dispnv50/wimmc37b.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/wndw.c create mode 100644 drivers/gpu/drm/nouveau/dispnv50/wndw.h create mode 100644 drivers/gpu/drm/nouveau/dispnv50/wndwc37e.c create mode 100644 drivers/gpu/drm/nouveau/include/nvif/clc37b.h create mode 100644 drivers/gpu/drm/nouveau/include/nvif/clc37e.h create mode 100644 drivers/gpu/drm/nouveau/include/nvif/disp.h create mode 100644 drivers/gpu/drm/nouveau/include/nvif/fifo.h create mode 100644 drivers/gpu/drm/nouveau/include/nvif/user.h create mode 100644 drivers/gpu/drm/nouveau/include/nvkm/subdev/fault.h delete mode 100644 drivers/gpu/drm/nouveau/nv50_display.c create mode 100644 drivers/gpu/drm/nouveau/nvif/disp.c create mode 100644 drivers/gpu/drm/nouveau/nvif/fifo.c create mode 100644 drivers/gpu/drm/nouveau/nvif/user.c rename drivers/gpu/drm/nouveau/{nvkm/engine/fifo/gpfifogp100.c => nvif/userc361.c} (79%) rename drivers/gpu/drm/nouveau/nvkm/engine/{disp/cursg84.c => ce/gv100.c} (76%) rename drivers/gpu/drm/nouveau/nvkm/engine/{fifo/gpfifogm200.c => disp/changv100.c} (79%) delete mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/coregk110.c delete mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/coregm107.c delete mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/coregm200.c delete mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/coregp100.c delete mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/coregt200.c delete mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/coregt215.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/coregv100.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/cursgv100.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/dmacgv100.c delete mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/dmacnv50.h create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/gv100.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmigv100.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/headgv100.c delete mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/oimmgk104.c delete mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/oimmgt215.c delete mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/ovlygt215.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/rootgv100.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgv100.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/wimmgv100.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/wndwgv100.c rename drivers/gpu/drm/nouveau/nvkm/engine/{disp/oimmg84.c => dma/gv100.c} (76%) create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/dma/usergv100.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/fifo/cgrp.h create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogv100.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gv100.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/fifo/user.h create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/fifo/usergv100.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgp104.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgv100.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/gr/gp104.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/gr/gv100.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gv100.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/fault/Kbuild create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/fault/base.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/fault/gp100.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/fault/gv100.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/fault/priv.h create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/fb/gv100.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gp102.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gv100.c create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgv100.c _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel