aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu
AgeCommit message (Collapse)AuthorFilesLines
2018-05-18drm/nouveau/gr/gf100-: port zcull tile mapping calculations from NVGPUBen Skeggs2-34/+34
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: port tile mapping calculations from NVGPUBen Skeggs22-77/+153
There's also a couple of hardcoded tables for a couple of very specific configurations that NVGPU's algorithm didn't work for. Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise trap_mpBen Skeggs20-2/+23
Required to support Volta. Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: add missing reset sequence before golden context initBen Skeggs1-0/+20
RM and NVGPU both have a variant of this, we probably should too. Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: delete duplicated grctx init codeBen Skeggs12-152/+11
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: update r408840 where requiredBen Skeggs8-2/+127
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: update 419a3c where requiredBen Skeggs6-0/+15
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise r418e94Ben Skeggs3-2/+13
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise r419e00Ben Skeggs3-4/+15
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: update 419eb0 where requiredBen Skeggs4-0/+14
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: note missing 418800 modificationsBen Skeggs6-2/+24
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-gf119: update 419cb8 where requiredBen Skeggs7-0/+19
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: support firmware-provided bundle/method everywhereBen Skeggs1-2/+10
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise tpc_mask + apply fixes from tracesBen Skeggs13-30/+47
We weren't placing higher TPC IDs in the right place on some configurations. Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise r419f78 + apply fixes from tracesBen Skeggs3-2/+11
Removed from GK110[B]/GK208 as RM traces show it not being touched. Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise gpc_tpc_nrBen Skeggs11-7/+20
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise r406500Ben Skeggs7-6/+21
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise dist_skip_table + improve algorithmBen Skeggs14-16/+51
The algorithm for GM200 and newer matches RM for all the boards I have, but I don't have enough data to try and figure something out for earlier boards, so these will still write zeroes to the table as we did before. The code in NVGPU isn't helpful here, it appears to handle specific cases. Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-gf119: modify max_ways_evict where requiredBen Skeggs7-0/+19
I don't think this is done after Fermi, NVGPU used to do it but removed the code, and I've not seen RM traces touching it either. Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise alpha_beta_tables + improve algorithmsBen Skeggs15-35/+201
I haven't yet been able to find a fully programatic way of calculating the same mapping as NVIDIA for GF100-GF119, so the algorithm partially depends on data tables for specific configurations. I couldn't find traces for every possibility, so the algorithm will switch to a mapping similar to what GK104-GM10x use if it encounters one. We did the wrong thing before anyway, so shouldn't matter too much. The algorithm used in the GK104 implementation was ported from NVGPU. Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise rop_mappingBen Skeggs18-70/+82
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise r4060a8 + apply fixes from tracesBen Skeggs7-5/+15
Also fixes some GPUs where we write too many registers. Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise tpc_per_gpcBen Skeggs9-37/+10
GM20B now also shares the same code, as NVGPU shows it doesn't need special treatment. Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise sm_id/tpc_nrBen Skeggs20-67/+85
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise patch_ltc, noting missing initBen Skeggs6-0/+20
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: support firmware-provided sw_ctx everywhereBen Skeggs1-5/+9
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: delete duplicated init codeBen Skeggs11-312/+10
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise init_400054Ben Skeggs13-4/+32
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: apply be exception fixes from tracesBen Skeggs2-4/+4
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise init_shader_exceptionsBen Skeggs17-11/+50
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise init_504430Ben Skeggs8-3/+21
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise init_tex_hww_esrBen Skeggs17-5/+31
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise init_ppc_exceptionsBen Skeggs1-0/+3
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise init_419c9c + apply fixes from tracesBen Skeggs3-3/+14
Deliberately removed from non-GP100, as RM doesn't touch it. Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise init_419eb4 + apply fixes from tracesBen Skeggs10-3/+37
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise init_419cc0 + apply fixes from tracesBen Skeggs17-10/+40
Pulled some init out of main per-GPC/TPC loops to match RM. Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise init_sked_hww_esrBen Skeggs12-4/+26
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise init_40601cBen Skeggs7-1/+18
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise init_ds_hww_esr_2Ben Skeggs7-4/+19
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise init_fecs_exceptions + apply fixes from tracesBen Skeggs17-7/+47
The value for GF100 has changed here, but it matches RM now. Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100: write 0x400124 during initBen Skeggs2-0/+2
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise init_swdx_pes_maskBen Skeggs4-5/+7
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: implement another chunk of bios-provided initBen Skeggs3-0/+31
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise init_rop_active_fbpsBen Skeggs1-0/+2
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise init_num_active_ltcsBen Skeggs17-33/+38
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise init_zcullBen Skeggs19-178/+85
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise init_vsc_stream_masterBen Skeggs17-6/+39
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise init_biosBen Skeggs4-4/+9
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: support clkgate_pack everywhereBen Skeggs1-0/+4
Signed-off-by: Ben Skeggs <[email protected]>
2018-05-18drm/nouveau/gr/gf100-: virtualise r405a14Ben Skeggs3-0/+11
Signed-off-by: Ben Skeggs <[email protected]>