nvc0: fix transfer of larger rectangles with DmaCopy on gk104 and up
authorBen Skeggs <bskeggs@redhat.com>
Sat, 28 Jan 2017 03:14:10 +0000 (13:14 +1000)
committerIlia Mirkin <imirkin@alum.mit.edu>
Wed, 21 Jun 2017 00:18:54 +0000 (20:18 -0400)
commit7bae3ef812f979f6bf6b84098d59ace3be7ca075
treeb2838bb145f1add2d3f3e02c6b863ab2e0111b69
parentec3d489d5b70686359030dcca542ff979cfd50ff
nvc0: fix transfer of larger rectangles with DmaCopy on gk104 and up

By treating the rectangles as 1cpp, we can run up against some internal
copy engine limits and trigger a MEM2MEM_RECT_OUT_OF_BOUNDS error check
at launch time.

This commit enables the REMAP hardware, which allows us to specify both
the component size and number of components for a transfer.  We're then
able to pass in the real width/nblocksx values and not hit the limits.

There's a couple of "supported" CPPs in the list that we can't actually
hit, but are there simply because they're possible.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/drivers/nouveau/nvc0/nvc0_transfer.c