summaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorArto Merilainen <amerilainen@nvidia.com>2014-08-08 15:49:17 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:10:49 -0400
commit42d37357f8b4d2f2433f43f951dcbc3978d9f949 (patch)
tree68441e2bc6894fb2ee5b016e243d6298b9c3179f /drivers/gpu
parentdde83cb0d265f1586de322c9c36d36a0bf5358a5 (diff)
gpu: nvgpu: cde: Allow large surfaces
Currently cde swizzling application forces upper limit to surface size. The limitation is artificial (i.e. nothing prevents shader handling larger surfaces). Therefore, make the error condition a warning. Change-Id: I8f0cda7f2e9e9ecc90589e5a4b4091abcb513482 Signed-off-by: Arto Merilainen <amerilainen@nvidia.com> Reviewed-on: http://git-master/r/454591 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/nvgpu/gk20a/cde_gk20a.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/cde_gk20a.c b/drivers/gpu/nvgpu/gk20a/cde_gk20a.c
index 63a1a590..4c115e5f 100644
--- a/drivers/gpu/nvgpu/gk20a/cde_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/cde_gk20a.c
@@ -1013,10 +1013,9 @@ static int gk20a_buffer_convert_gpu_to_cde(
1013 const int gridw = roundup(tilepitch, wgx) / wgx; 1013 const int gridw = roundup(tilepitch, wgx) / wgx;
1014 const int gridh = roundup(ytilesaligned, wgy) / wgy; 1014 const int gridh = roundup(ytilesaligned, wgy) / wgy;
1015 1015
1016 if (xtiles > 4096 / 8 || ytiles > 4096 / 8) { 1016 if (xtiles > 4096 / 8 || ytiles > 4096 / 8)
1017 gk20a_warn(&g->dev->dev, "cde: too large surface"); 1017 gk20a_warn(&g->dev->dev, "cde: surface is exceptionally large (xtiles=%d, ytiles=%d)",
1018 return -EINVAL; 1018 xtiles, ytiles);
1019 }
1020 1019
1021 gk20a_dbg(gpu_dbg_cde, "w=%d, h=%d, bh_log2=%d, compbits_offset=0x%llx", 1020 gk20a_dbg(gpu_dbg_cde, "w=%d, h=%d, bh_log2=%d, compbits_offset=0x%llx",
1022 width, height, block_height_log2, compbits_offset); 1021 width, height, block_height_log2, compbits_offset);