diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/cde_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/cde_gk20a.c | 23 |
1 files changed, 4 insertions, 19 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/cde_gk20a.c b/drivers/gpu/nvgpu/gk20a/cde_gk20a.c index 22a422a3..d9fe9ef1 100644 --- a/drivers/gpu/nvgpu/gk20a/cde_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/cde_gk20a.c | |||
@@ -879,16 +879,8 @@ int gk20a_cde_reload(struct gk20a *g) | |||
879 | struct gk20a_cde_ctx *cde_ctx = cde_app->cde_ctx; | 879 | struct gk20a_cde_ctx *cde_ctx = cde_app->cde_ctx; |
880 | int err, i; | 880 | int err, i; |
881 | 881 | ||
882 | if (!cde_app->initialised) { | 882 | if (!cde_app->initialised) |
883 | err = gk20a_busy(g->dev); | 883 | return -ENOSYS; |
884 | if (err) | ||
885 | return err; | ||
886 | gk20a_init_cde_support(g); | ||
887 | gk20a_idle(g->dev); | ||
888 | if (!cde_app->initialised) | ||
889 | return -ENOSYS; | ||
890 | return 0; | ||
891 | } | ||
892 | 884 | ||
893 | err = gk20a_busy(g->dev); | 885 | err = gk20a_busy(g->dev); |
894 | if (err) | 886 | if (err) |
@@ -1044,11 +1036,8 @@ static int gk20a_buffer_convert_gpu_to_cde( | |||
1044 | const int gridw = roundup(xtiles, xalign) / xalign; | 1036 | const int gridw = roundup(xtiles, xalign) / xalign; |
1045 | const int gridh = roundup(ytiles, yalign) / yalign; | 1037 | const int gridh = roundup(ytiles, yalign) / yalign; |
1046 | 1038 | ||
1047 | if (!g->cde_app.initialised) { | 1039 | if (!g->cde_app.initialised) |
1048 | err = gk20a_cde_reload(g); | 1040 | return -ENOSYS; |
1049 | if (err) | ||
1050 | return err; | ||
1051 | } | ||
1052 | 1041 | ||
1053 | if (xtiles > 4096 / 8 || ytiles > 4096 / 8) | 1042 | if (xtiles > 4096 / 8 || ytiles > 4096 / 8) |
1054 | gk20a_warn(&g->dev->dev, "cde: surface is exceptionally large (xtiles=%d, ytiles=%d)", | 1043 | gk20a_warn(&g->dev->dev, "cde: surface is exceptionally large (xtiles=%d, ytiles=%d)", |
@@ -1087,16 +1076,12 @@ static int gk20a_buffer_convert_gpu_to_cde( | |||
1087 | err = gk20a_busy(g->dev); | 1076 | err = gk20a_busy(g->dev); |
1088 | if (err) | 1077 | if (err) |
1089 | return err; | 1078 | return err; |
1090 | err = gk20a_init_cde_support(g); | ||
1091 | if (err) | ||
1092 | goto out; | ||
1093 | err = gk20a_cde_convert(g, dmabuf, | 1079 | err = gk20a_cde_convert(g, dmabuf, |
1094 | 0, /* dst kind */ | 1080 | 0, /* dst kind */ |
1095 | compbits_offset, | 1081 | compbits_offset, |
1096 | 0, /* dst_size, 0 = auto */ | 1082 | 0, /* dst_size, 0 = auto */ |
1097 | fence_in, submit_flags, | 1083 | fence_in, submit_flags, |
1098 | params, param, fence_out); | 1084 | params, param, fence_out); |
1099 | out: | ||
1100 | gk20a_idle(g->dev); | 1085 | gk20a_idle(g->dev); |
1101 | return err; | 1086 | return err; |
1102 | } | 1087 | } |