summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2014-03-06 08:22:12 +0200
committerTerje Bergstrom <tbergstrom@nvidia.com>2014-03-10 04:27:01 -0700
commitaf8ff60bcc47e0e7e97fc2a39fdee68f3340d23b (patch)
tree6840f5f1643f1b607227ea56beb347a1e7f3906e
parent3cc76ad71851437c8f5d4d5b27a8df392e95a53b (diff)
video: tegra: host: gk20a: Init kind in fb init
Init kind tables in gk20a specific fb init. Change-Id: Ib7642aba74c924b69aa8c0038315c65d30c57883 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/378325
-rw-r--r--drivers/video/tegra/host/gk20a/fb_gk20a.c3
-rw-r--r--drivers/video/tegra/host/gk20a/gk20a.h3
-rw-r--r--drivers/video/tegra/host/gk20a/mm_gk20a.c6
3 files changed, 9 insertions, 3 deletions
diff --git a/drivers/video/tegra/host/gk20a/fb_gk20a.c b/drivers/video/tegra/host/gk20a/fb_gk20a.c
index e4a5b115570e..6bdfc0f31b07 100644
--- a/drivers/video/tegra/host/gk20a/fb_gk20a.c
+++ b/drivers/video/tegra/host/gk20a/fb_gk20a.c
@@ -16,6 +16,7 @@
#include <linux/types.h>
#include <dev.h>
#include "gk20a/gk20a.h"
+#include "kind_gk20a.h"
#include "hw_mc_gk20a.h"
static void fb_gk20a_reset(struct gk20a *g)
@@ -31,4 +32,6 @@ static void fb_gk20a_reset(struct gk20a *g)
void gk20a_init_fb(struct gpu_ops *gops)
{
gops->fb.reset = fb_gk20a_reset;
+ gk20a_init_uncompressed_kind_map();
+ gk20a_init_kind_attr();
}
diff --git a/drivers/video/tegra/host/gk20a/gk20a.h b/drivers/video/tegra/host/gk20a/gk20a.h
index df0f8c7bcfc0..bdf66192970a 100644
--- a/drivers/video/tegra/host/gk20a/gk20a.h
+++ b/drivers/video/tegra/host/gk20a/gk20a.h
@@ -115,7 +115,10 @@ struct gpu_ops {
} gr;
const char *name;
struct {
+ void (*init_fs_state)(struct gk20a *g);
void (*reset)(struct gk20a *g);
+ void (*init_uncompressed_kind_map)(struct gk20a *g);
+ void (*init_kind_attr)(struct gk20a *g);
} fb;
};
diff --git a/drivers/video/tegra/host/gk20a/mm_gk20a.c b/drivers/video/tegra/host/gk20a/mm_gk20a.c
index 7a5759928eeb..7d1977298463 100644
--- a/drivers/video/tegra/host/gk20a/mm_gk20a.c
+++ b/drivers/video/tegra/host/gk20a/mm_gk20a.c
@@ -262,6 +262,9 @@ static int gk20a_init_mm_reset_enable_hw(struct gk20a *g)
if (g->ops.fb.reset)
g->ops.fb.reset(g);
+ if (g->ops.fb.init_fs_state)
+ g->ops.fb.init_fs_state(g);
+
return 0;
}
@@ -341,9 +344,6 @@ int gk20a_init_mm_setup_sw(struct gk20a *g)
gk20a_init_bar1_vm(mm);
- gk20a_init_uncompressed_kind_map();
- gk20a_init_kind_attr();
-
mm->remove_support = gk20a_remove_mm_support;
mm->sw_ready = true;