From 06bad79189543d5402baaa9ae6bb9d8319cd0908 Mon Sep 17 00:00:00 2001 From: Seema Khowala Date: Tue, 11 Oct 2016 11:16:30 -0700 Subject: gpu: nvgpu: gv11b: bl compression updated mmu pte kind JIRA GV11B-8 Change-Id: I2baff42e077411a9c72b0d10739f4a45d4bd79a7 Signed-off-by: Seema Khowala Reviewed-on: http://git-master/r/1234567 GVS: Gerrit_Virtual_Submit Reviewed-by: Seshendra Gadagottu Reviewed-by: Terje Bergstrom --- drivers/gpu/nvgpu/gv11b/fb_gv11b.c | 53 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'drivers/gpu/nvgpu/gv11b/fb_gv11b.c') diff --git a/drivers/gpu/nvgpu/gv11b/fb_gv11b.c b/drivers/gpu/nvgpu/gv11b/fb_gv11b.c index 097bc21d..fb31d6a8 100644 --- a/drivers/gpu/nvgpu/gv11b/fb_gv11b.c +++ b/drivers/gpu/nvgpu/gv11b/fb_gv11b.c @@ -22,7 +22,60 @@ #include "hw_gmmu_gv11b.h" +static void gv11b_init_uncompressed_kind_map(void) +{ + gk20a_uc_kind_map[gmmu_pte_kind_c32_ms2_4cbra_v()] = + gk20a_uc_kind_map[gmmu_pte_kind_c64_ms2_4cbra_v()] = + gmmu_pte_kind_generic_16bx2_v(); +} + +static bool gv11b_kind_supported(u8 k) +{ + return (k == gmmu_pte_kind_c32_ms2_4cbra_v() + || k == gmmu_pte_kind_c64_ms2_4cbra_v()); +} + +static bool gv11b_kind_z(u8 k) +{ + return (k == gmmu_pte_kind_c32_ms2_4cbra_v() + || k == gmmu_pte_kind_c64_ms2_4cbra_v()); +} + +static bool gv11b_kind_compressible(u8 k) +{ + + return (k == gmmu_pte_kind_c32_ms2_4cbra_v() + || k == gmmu_pte_kind_c64_ms2_4cbra_v()); +} + +static bool gv11b_kind_zbc(u8 k) +{ + + return (k == gmmu_pte_kind_c32_ms2_4cbra_v() + || k == gmmu_pte_kind_c64_ms2_4cbra_v()); +} + +static void gv11b_init_kind_attr(void) +{ + u16 k; + + for (k = 0; k < 256; k++) { + if (gv11b_kind_supported((u8)k)) + gk20a_kind_attr[k] |= GK20A_KIND_ATTR_SUPPORTED; + if (gv11b_kind_compressible((u8)k)) + gk20a_kind_attr[k] |= GK20A_KIND_ATTR_COMPRESSIBLE; + if (gv11b_kind_z((u8)k)) + gk20a_kind_attr[k] |= GK20A_KIND_ATTR_Z; + if (gv11b_kind_zbc((u8)k)) + gk20a_kind_attr[k] |= GK20A_KIND_ATTR_ZBC; + } +} + void gv11b_init_fb(struct gpu_ops *gops) { gp10b_init_fb(gops); + + gv11b_init_uncompressed_kind_map(); + gv11b_init_kind_attr(); + } -- cgit v1.2.2