From 8ac538e1b16c68ef4a5b9d85a82bbfc2b3fabd72 Mon Sep 17 00:00:00 2001 From: Alex Waterman Date: Wed, 16 May 2018 11:27:01 -0700 Subject: gpu: nvgpu: Fix gp106/clk_gp106.c compile errors Fix the following compiler errors: /dvs/git/dirty/git-master_modular/kernel/nvgpu/drivers/gpu/nvgpu/gp106/clk_gp106.c: In function 'gp106_init_clk_support': /dvs/git/dirty/git-master_modular/kernel/nvgpu/drivers/gpu/nvgpu/gp106/clk_gp106.c:109:3: error: unknown field 'cntr' specified in initializer cc1: warnings being treated as errors /dvs/git/dirty/git-master_modular/kernel/nvgpu/drivers/gpu/nvgpu/gp106/clk_gp106.c:109:3: error: missing braces around initializer /dvs/git/dirty/git-master_modular/kernel/nvgpu/drivers/gpu/nvgpu/gp106/clk_gp106.c:109:3: error: (near initialization for '(anonymous).') /dvs/git/dirty/git-master_modular/kernel/nvgpu/drivers/gpu/nvgpu/gp106/clk_gp106.c:110:3: error: unknown field 'cntr' specified in initializer /dvs/git/dirty/git-master_modular/kernel/nvgpu/drivers/gpu/nvgpu/gp106/clk_gp106.c:112:3: error: unknown field 'cntr' specified in initializer /dvs/git/dirty/git-master_modular/kernel/nvgpu/drivers/gpu/nvgpu/gp106/clk_gp106.c:115:2: error: initialized field with side-effects overwritten /dvs/git/dirty/git-master_modular/kernel/nvgpu/drivers/gpu/nvgpu/gp106/clk_gp106.c:115:2: error: (near initialization for '(anonymous).scale') /dvs/git/dirty/git-master_modular/kernel/nvgpu/drivers/gpu/nvgpu/gp106/clk_gp106.c:122:3: error: unknown field 'cntr' specified in initializer /dvs/git/dirty/git-master_modular/kernel/nvgpu/drivers/gpu/nvgpu/gp106/clk_gp106.c:122:3: error: missing braces around initializer Not sure why this shows up for the L4T userspace compiler but not in any other compilers. JIRA NVGPU-525 Change-Id: I0609c1d9ad20232053768258103debadd6d9206f Signed-off-by: Alex Waterman Reviewed-on: https://git-master.nvidia.com/r/1720924 Reviewed-by: svc-mobile-coverity GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/gp106/clk_gp106.c | 37 +++++++++++++++++++++++-------------- drivers/gpu/nvgpu/gp106/clk_gp106.h | 15 +++++---------- 2 files changed, 28 insertions(+), 24 deletions(-) diff --git a/drivers/gpu/nvgpu/gp106/clk_gp106.c b/drivers/gpu/nvgpu/gp106/clk_gp106.c index d19baac5..057527a9 100644 --- a/drivers/gpu/nvgpu/gp106/clk_gp106.c +++ b/drivers/gpu/nvgpu/gp106/clk_gp106.c @@ -106,47 +106,56 @@ int gp106_init_clk_support(struct gk20a *g) .is_enable = 1, .is_counter = 1, .g = g, - .cntr.reg_ctrl_addr = trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_r(), - .cntr.reg_ctrl_idx = - trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_source_gpc2clk_f(), - .cntr.reg_cntr_addr = trim_gpc_bcast_clk_cntr_ncgpcclk_cnt_r(), + .cntr = { + .reg_ctrl_addr = trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_r(), + .reg_ctrl_idx = trim_gpc_bcast_clk_cntr_ncgpcclk_cfg_source_gpc2clk_f(), + .reg_cntr_addr = trim_gpc_bcast_clk_cntr_ncgpcclk_cnt_r() + }, .name = "gpc2clk", .scale = 1 }; clk->namemap_xlat_table[0] = CTRL_CLK_DOMAIN_GPC2CLK; + clk->clk_namemap[1] = (struct namemap_cfg) { .namemap = CLK_NAMEMAP_INDEX_SYS2CLK, .is_enable = 1, .is_counter = 1, .g = g, - .cntr.reg_ctrl_addr = trim_sys_clk_cntr_ncsyspll_cfg_r(), - .cntr.reg_ctrl_idx = trim_sys_clk_cntr_ncsyspll_cfg_source_sys2clk_f(), - .cntr.reg_cntr_addr = trim_sys_clk_cntr_ncsyspll_cnt_r(), + .cntr = { + .reg_ctrl_addr = trim_sys_clk_cntr_ncsyspll_cfg_r(), + .reg_ctrl_idx = trim_sys_clk_cntr_ncsyspll_cfg_source_sys2clk_f(), + .reg_cntr_addr = trim_sys_clk_cntr_ncsyspll_cnt_r() + }, .name = "sys2clk", .scale = 1 }; clk->namemap_xlat_table[1] = CTRL_CLK_DOMAIN_SYS2CLK; + clk->clk_namemap[2] = (struct namemap_cfg) { .namemap = CLK_NAMEMAP_INDEX_XBAR2CLK, .is_enable = 1, .is_counter = 1, .g = g, - .cntr.reg_ctrl_addr = trim_sys_clk_cntr_ncltcpll_cfg_r(), - .cntr.reg_ctrl_idx = trim_sys_clk_cntr_ncltcpll_cfg_source_xbar2clk_f(), - .cntr.reg_cntr_addr = trim_sys_clk_cntr_ncltcpll_cnt_r(), + .cntr = { + .reg_ctrl_addr = trim_sys_clk_cntr_ncltcpll_cfg_r(), + .reg_ctrl_idx = trim_sys_clk_cntr_ncltcpll_cfg_source_xbar2clk_f(), + .reg_cntr_addr = trim_sys_clk_cntr_ncltcpll_cnt_r() + }, .name = "xbar2clk", .scale = 1 }; clk->namemap_xlat_table[2] = CTRL_CLK_DOMAIN_XBAR2CLK; + clk->clk_namemap[3] = (struct namemap_cfg) { .namemap = CLK_NAMEMAP_INDEX_DRAMCLK, .is_enable = 1, .is_counter = 1, .g = g, - .cntr.reg_ctrl_addr = trim_fbpa_bcast_clk_cntr_ncltcclk_cfg_r(), - .cntr.reg_ctrl_idx = - trim_fbpa_bcast_clk_cntr_ncltcclk_cfg_source_dramdiv4_rec_clk1_f(), - .cntr.reg_cntr_addr = trim_fbpa_bcast_clk_cntr_ncltcclk_cnt_r(), + .cntr = { + .reg_ctrl_addr = trim_fbpa_bcast_clk_cntr_ncltcclk_cfg_r(), + .reg_ctrl_idx = trim_fbpa_bcast_clk_cntr_ncltcclk_cfg_source_dramdiv4_rec_clk1_f(), + .reg_cntr_addr = trim_fbpa_bcast_clk_cntr_ncltcclk_cnt_r() + }, .name = "dramdiv2_rec_clk1", .scale = 2 }; diff --git a/drivers/gpu/nvgpu/gp106/clk_gp106.h b/drivers/gpu/nvgpu/gp106/clk_gp106.h index 0342d927..97baa224 100644 --- a/drivers/gpu/nvgpu/gp106/clk_gp106.h +++ b/drivers/gpu/nvgpu/gp106/clk_gp106.h @@ -43,16 +43,11 @@ struct namemap_cfg { u32 is_enable; /* Namemap enabled */ u32 is_counter; /* Using cntr */ struct gk20a *g; - union { - struct { - u32 reg_ctrl_addr; - u32 reg_ctrl_idx; - u32 reg_cntr_addr; - } cntr; - struct { - /* Todo */ - } pll; - }; + struct { + u32 reg_ctrl_addr; + u32 reg_ctrl_idx; + u32 reg_cntr_addr; + } cntr; u32 scale; char name[24]; }; -- cgit v1.2.2