aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau
Commit message (Collapse)AuthorAge
...
* | drm/nouveau/gr/gf100-: delete duplicated init codeBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gf100-: virtualise init_400054Ben Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gf100-: apply be exception fixes from tracesBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gf100-: virtualise init_shader_exceptionsBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gf100-: virtualise init_504430Ben Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gf100-: virtualise init_tex_hww_esrBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gf100-: virtualise init_ppc_exceptionsBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gf100-: virtualise init_419c9c + apply fixes from tracesBen Skeggs2018-05-18
| | | | | | | | | | | | Deliberately removed from non-GP100, as RM doesn't touch it. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gf100-: virtualise init_419eb4 + apply fixes from tracesBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gf100-: virtualise init_419cc0 + apply fixes from tracesBen Skeggs2018-05-18
| | | | | | | | | | | | Pulled some init out of main per-GPC/TPC loops to match RM. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gf100-: virtualise init_sked_hww_esrBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gf100-: virtualise init_40601cBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gf100-: virtualise init_ds_hww_esr_2Ben Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gf100-: virtualise init_fecs_exceptions + apply fixes from tracesBen Skeggs2018-05-18
| | | | | | | | | | | | The value for GF100 has changed here, but it matches RM now. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gf100: write 0x400124 during initBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gf100-: virtualise init_swdx_pes_maskBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gf100-: implement another chunk of bios-provided initBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gf100-: virtualise init_rop_active_fbpsBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gf100-: virtualise init_num_active_ltcsBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gf100-: virtualise init_zcullBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gf100-: virtualise init_vsc_stream_masterBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gf100-: virtualise init_biosBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gf100-: support clkgate_pack everywhereBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gf100-: virtualise r405a14Ben Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gf100-: support firmware-provided sw_nonctx everywhereBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/gr/gf100-: virtualise init_gpc_mmu + apply fixes from tracesBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/fifo/gp100-: force individual channels into a channel groupBen Skeggs2018-05-18
| | | | | | | | | | | | RM does this for some reason, and is enforced in HW on Volta. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/fifo/gm107-: write instance address in channel runlist entryBen Skeggs2018-05-18
| | | | | | | | | | | | RM does this for some reason. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/fifo/gk208-: write pbdma timeout regs during initialisationBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/fifo/gk110-: support writing channel group runlist entriesBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/fifo/gk104-: poll for runlist update completionBen Skeggs2018-05-18
| | | | | | | | | | | | | | | | | | | | 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>
* | drm/nouveau/fifo/gk104-: add interfaces to support different runlist layoutsBen Skeggs2018-05-18
| | | | | | | | | | | | This will be required to support features on newer hardware. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/fifo/gk104-: simplify definition of channel classesBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/fifo/gk104-: require explicit runlist selection for channel ↵Ben Skeggs2018-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | drm/nouveau/fifo/gk104-: support querying engines available on each runlistBen Skeggs2018-05-18
| | | | | | | | | | | | Will be used to improve channel runlist selection. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/fifo/gk104-: allow fault recovery code to be called by other subdevsBen Skeggs2018-05-18
| | | | | | | | | | | | This will be required to support Volta. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/fifo/gk104-: accept engine contexts for CE3 and upBen Skeggs2018-05-18
| | | | | | | | | | | | These can exist on GP100 and newer. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/fifo: support channel count queryBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/device: support querying available engines of a specific typeBen Skeggs2018-05-18
| | | | | | | | | | | | Will be used for fifo runlist selection. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/device: implement a generic method to query device-specific ↵Ben Skeggs2018-05-18
| | | | | | | | | | | | | | | | | | | | | | 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>
* | drm/nouveau/disp/nv50-: pass nvkm_memory objects for channel push buffersBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/disp/nv50-: add channel interfaces to control error interruptsBen Skeggs2018-05-18
| | | | | | | | | | | | | | 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>
* | drm/nouveau/disp/nv50-: add channel interfaces to determine the user areaBen Skeggs2018-05-18
| | | | | | | | | | | | This will be required to support Volta. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/disp/nv50-: merge handling of pio and dma channelsBen Skeggs2018-05-18
| | | | | | | | | | | | Unnecessarily complicated, and a barrier to cleanly supporting Volta. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/disp/nv50-: simplify definiton of core channelsBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/disp/nv50-: simplify definition of cursor channelsBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/disp/nv50-: simplify definition of base channelsBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/disp/nv50-: simplify definition of overlay immediate channelsBen Skeggs2018-05-18
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/disp/nv50-: simplify definition of overlay channelsBen Skeggs2018-05-18
| | | | | | | | | | | | | | | | | | | | 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>
* | drm/nouveau/disp/nv50-: replace user object with engine pointer in channelsBen Skeggs2018-05-18
| | | | | | | | | | | | More simplification. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>