diff --git a/drivers/gpu/nvgpu/Makefile b/drivers/gpu/nvgpu/Makefile index e140589a9..7a439c108 100644 --- a/drivers/gpu/nvgpu/Makefile +++ b/drivers/gpu/nvgpu/Makefile @@ -8,6 +8,7 @@ ccflags-y += -I../kernel-nvgpu/include/uapi ccflags-y += -Wno-multichar ccflags-y += -Werror ccflags-y += -Wno-error=cpp +ccflags-y += -Wno-duplicate-decl-specifier ifeq ($(CONFIG_ARCH_TEGRA_18x_SOC),y) ccflags-y += -I$(srctree)/../kernel-nvgpu-t18x/drivers/gpu/nvgpu diff --git a/drivers/gpu/nvgpu/gk20a/ctxsw_trace_gk20a.c b/drivers/gpu/nvgpu/gk20a/ctxsw_trace_gk20a.c index 6744699fc..77e934583 100644 --- a/drivers/gpu/nvgpu/gk20a/ctxsw_trace_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/ctxsw_trace_gk20a.c @@ -70,11 +70,6 @@ static inline int ring_len(struct nvgpu_ctxsw_ring_header *hdr) return (hdr->write_idx - hdr->read_idx) % hdr->num_ents; } -static inline int ring_space(struct nvgpu_ctxsw_ring_header *hdr) -{ - return (hdr->read_idx - hdr->write_idx - 1) % hdr->num_ents; -} - ssize_t gk20a_ctxsw_dev_read(struct file *filp, char __user *buf, size_t size, loff_t *off) { diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index 60247da85..a5caf0481 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c @@ -1203,15 +1203,18 @@ static int gr_gk20a_setup_alpha_beta_tables(struct gk20a *g, u32 reg_offset; bool assign_alpha; - u32 map_alpha[gr_pd_alpha_ratio_table__size_1_v()]; - u32 map_beta[gr_pd_alpha_ratio_table__size_1_v()]; - u32 map_reg_used[gr_pd_alpha_ratio_table__size_1_v()]; + u32 *map_alpha; + u32 *map_beta; + u32 *map_reg_used; gk20a_dbg_fn(""); - memset(map_alpha, 0, gr_pd_alpha_ratio_table__size_1_v() * sizeof(u32)); - memset(map_beta, 0, gr_pd_alpha_ratio_table__size_1_v() * sizeof(u32)); - memset(map_reg_used, 0, gr_pd_alpha_ratio_table__size_1_v() * sizeof(u32)); + map_alpha = kzalloc(3 * gr_pd_alpha_ratio_table__size_1_v() * + sizeof(u32), GFP_KERNEL); + if (!map_alpha) + return -ENOMEM; + map_beta = map_alpha + gr_pd_alpha_ratio_table__size_1_v(); + map_reg_used = map_beta + gr_pd_alpha_ratio_table__size_1_v(); for (row = 0; row < rows; ++row) { alpha_target = max_t(u32, gr->tpc_count * row / rows, 1); @@ -1277,6 +1280,7 @@ static int gr_gk20a_setup_alpha_beta_tables(struct gk20a *g, } } + kfree(map_alpha); return 0; } diff --git a/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c b/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c index abe6771c0..ca36d481d 100644 --- a/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c +++ b/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c @@ -52,12 +52,12 @@ struct gk20a_emc_params { }; static void __iomem *pmc = IO_ADDRESS(TEGRA_PMC_BASE); -static inline u32 pmc_read(unsigned long reg) +static inline u32 __maybe_unused pmc_read(unsigned long reg) { return readl(pmc + reg); } -static inline void pmc_write(u32 val, unsigned long reg) +static inline void __maybe_unused pmc_write(u32 val, unsigned long reg) { writel_relaxed(val, pmc + reg); }