From 42d37357f8b4d2f2433f43f951dcbc3978d9f949 Mon Sep 17 00:00:00 2001 From: Arto Merilainen Date: Fri, 8 Aug 2014 22:49:17 +0300 Subject: 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 Reviewed-on: http://git-master/r/454591 Reviewed-by: Terje Bergstrom Tested-by: Terje Bergstrom --- drivers/gpu/nvgpu/gk20a/cde_gk20a.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'drivers') 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( const int gridw = roundup(tilepitch, wgx) / wgx; const int gridh = roundup(ytilesaligned, wgy) / wgy; - if (xtiles > 4096 / 8 || ytiles > 4096 / 8) { - gk20a_warn(&g->dev->dev, "cde: too large surface"); - return -EINVAL; - } + if (xtiles > 4096 / 8 || ytiles > 4096 / 8) + gk20a_warn(&g->dev->dev, "cde: surface is exceptionally large (xtiles=%d, ytiles=%d)", + xtiles, ytiles); gk20a_dbg(gpu_dbg_cde, "w=%d, h=%d, bh_log2=%d, compbits_offset=0x%llx", width, height, block_height_log2, compbits_offset); -- cgit v1.2.2