Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2018-05-18 | drm/nouveau/gr/gf100-: delete duplicated init code | Ben Skeggs | 11 | -312/+10 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/gr/gf100-: virtualise init_400054 | Ben Skeggs | 13 | -4/+32 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/gr/gf100-: apply be exception fixes from traces | Ben Skeggs | 2 | -4/+4 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/gr/gf100-: virtualise init_shader_exceptions | Ben Skeggs | 17 | -11/+50 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/gr/gf100-: virtualise init_504430 | Ben Skeggs | 8 | -3/+21 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/gr/gf100-: virtualise init_tex_hww_esr | Ben Skeggs | 17 | -5/+31 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/gr/gf100-: virtualise init_ppc_exceptions | Ben Skeggs | 1 | -0/+3 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/gr/gf100-: virtualise init_419c9c + apply fixes from traces | Ben Skeggs | 3 | -3/+14 | |
Deliberately removed from non-GP100, as RM doesn't touch it. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/gr/gf100-: virtualise init_419eb4 + apply fixes from traces | Ben Skeggs | 10 | -3/+37 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/gr/gf100-: virtualise init_419cc0 + apply fixes from traces | Ben Skeggs | 17 | -10/+40 | |
Pulled some init out of main per-GPC/TPC loops to match RM. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/gr/gf100-: virtualise init_sked_hww_esr | Ben Skeggs | 12 | -4/+26 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/gr/gf100-: virtualise init_40601c | Ben Skeggs | 7 | -1/+18 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/gr/gf100-: virtualise init_ds_hww_esr_2 | Ben Skeggs | 7 | -4/+19 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/gr/gf100-: virtualise init_fecs_exceptions + apply fixes from traces | Ben Skeggs | 17 | -7/+47 | |
The value for GF100 has changed here, but it matches RM now. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/gr/gf100: write 0x400124 during init | Ben Skeggs | 2 | -0/+2 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/gr/gf100-: virtualise init_swdx_pes_mask | Ben Skeggs | 4 | -5/+7 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/gr/gf100-: implement another chunk of bios-provided init | Ben Skeggs | 3 | -0/+31 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/gr/gf100-: virtualise init_rop_active_fbps | Ben Skeggs | 1 | -0/+2 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/gr/gf100-: virtualise init_num_active_ltcs | Ben Skeggs | 17 | -33/+38 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/gr/gf100-: virtualise init_zcull | Ben Skeggs | 19 | -178/+85 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/gr/gf100-: virtualise init_vsc_stream_master | Ben Skeggs | 17 | -6/+39 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/gr/gf100-: virtualise init_bios | Ben Skeggs | 4 | -4/+9 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/gr/gf100-: support clkgate_pack everywhere | Ben Skeggs | 1 | -0/+4 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/gr/gf100-: virtualise r405a14 | Ben Skeggs | 3 | -0/+11 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/gr/gf100-: support firmware-provided sw_nonctx everywhere | Ben Skeggs | 1 | -1/+4 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/gr/gf100-: virtualise init_gpc_mmu + apply fixes from traces | Ben Skeggs | 2 | -7/+16 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/fifo/gp100-: force individual channels into a channel group | Ben Skeggs | 5 | -11/+57 | |
RM does this for some reason, and is enforced in HW on Volta. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/fifo/gm107-: write instance address in channel runlist entry | Ben Skeggs | 6 | -5/+24 | |
RM does this for some reason. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/fifo/gk208-: write pbdma timeout regs during initialisation | Ben Skeggs | 9 | -0/+24 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/fifo/gk110-: support writing channel group runlist entries | Ben Skeggs | 12 | -11/+71 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/fifo/gk104-: poll for runlist update completion | Ben Skeggs | 1 | -4/+4 | |
Newer HW doesn't appear to send this event, which will cause long delays in runlist updates if they don't complete immediately. RM doesn't use these events anywhere, and an NVGPU commit message notes that polling is the preferred method even on HW that supports the event. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/fifo/gk104-: add interfaces to support different runlist layouts | Ben Skeggs | 10 | -14/+44 | |
This will be required to support features on newer hardware. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/fifo/gk104-: simplify definition of channel classes | Ben Skeggs | 18 | -171/+71 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/fifo/gk104-: require explicit runlist selection for channel ↵ | Ben Skeggs | 5 | -105/+43 | |
allocation We didn't used to be aware that runlist/engine IDs weren't the same thing, or that there was such variability in configuration between GPUs. By exposing this information to a client, and giving it explicit control of which runlist it's allocating a channel on, we're able to make better choices. The immediate effect of this is that on GPUs where CE0 is the "GRCE", we will now be allocating a copy engine running asynchronously to GR for BO migrations - as intended. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/fifo/gk104-: support querying engines available on each runlist | Ben Skeggs | 9 | -0/+166 | |
Will be used to improve channel runlist selection. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/fifo/gk104-: allow fault recovery code to be called by other subdevs | Ben Skeggs | 14 | -101/+141 | |
This will be required to support Volta. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/fifo/gk104-: accept engine contexts for CE3 and up | Ben Skeggs | 1 | -3/+2 | |
These can exist on GP100 and newer. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/fifo: support channel count query | Ben Skeggs | 15 | -24/+64 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/device: support querying available engines of a specific type | Ben Skeggs | 2 | -0/+44 | |
Will be used for fifo runlist selection. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/device: implement a generic method to query device-specific ↵ | Ben Skeggs | 6 | -1/+88 | |
properties We have a need to fetch data from GPU-specific sub-devices that is not tied to any particular engine object. This commit provides the framework to support such queries. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/disp/nv50-: pass nvkm_memory objects for channel push buffers | Ben Skeggs | 8 | -44/+55 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/disp/nv50-: add channel interfaces to control error interrupts | Ben Skeggs | 11 | -39/+35 | |
This will be required to support Volta, but also allows us to remove code that's duplicated for each channel type already. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/disp/nv50-: add channel interfaces to determine the user area | Ben Skeggs | 10 | -11/+26 | |
This will be required to support Volta. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/disp/nv50-: merge handling of pio and dma channels | Ben Skeggs | 38 | -284/+183 | |
Unnecessarily complicated, and a barrier to cleanly supporting Volta. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/disp/nv50-: simplify definiton of core channels | Ben Skeggs | 29 | -428/+91 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/disp/nv50-: simplify definition of cursor channels | Ben Skeggs | 21 | -249/+51 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/disp/nv50-: simplify definition of base channels | Ben Skeggs | 24 | -248/+67 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/disp/nv50-: simplify definition of overlay immediate channels | Ben Skeggs | 21 | -183/+52 | |
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/disp/nv50-: simplify definition of overlay channels | Ben Skeggs | 23 | -158/+154 | |
Introduces a new method of defining channels available from the display, common to all channel types, allowing for more flexibility in available channel types/counts, and reducing the amount of boiler-plate required. This will be required to support Volta. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> | |||||
2018-05-18 | drm/nouveau/disp/nv50-: replace user object with engine pointer in channels | Ben Skeggs | 15 | -41/+39 | |
More simplification. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> |