From 667143ed939494f311ba45e3cfd89546e625bbca Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Thu, 22 Jan 2015 08:02:21 -0800 Subject: gpu: nvgpu: gp10b: Enable cycling through ctx bins Remove hard coded NETB for gp10b. This enables cycling through available firmware files. Change-Id: I60765a05b1cf6c2e6003341f611c5ecc3f16e9b7 Signed-off-by: Terje Bergstrom Reviewed-on: http://git-master/r/676557 Reviewed-by: Peng Du GVS: Gerrit_Virtual_Submit --- drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c | 72 ++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c (limited to 'drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c') diff --git a/drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c b/drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c new file mode 100644 index 00000000..1d77ad65 --- /dev/null +++ b/drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c @@ -0,0 +1,72 @@ +/* + * drivers/video/tegra/host/gp10b/gr_ctx_gp10b.c + * + * GM20B Graphics Context + * + * Copyright (c) 2014, NVIDIA CORPORATION. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU General Public License, + * version 2, as published by the Free Software Foundation. + * + * This program is distributed in the hope it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "gk20a/gk20a.h" +#include "gr_ctx_gp10b.h" + +static int gr_gp10b_get_netlist_name(int index, char *name) +{ + switch (index) { +#ifdef GP10B_NETLIST_IMAGE_FW_NAME + case NETLIST_FINAL: + sprintf(name, GP10B_NETLIST_IMAGE_FW_NAME); + return 0; +#endif +#ifdef GK20A_NETLIST_IMAGE_A + case NETLIST_SLOT_A: + sprintf(name, GK20A_NETLIST_IMAGE_A); + return 0; +#endif +#ifdef GK20A_NETLIST_IMAGE_B + case NETLIST_SLOT_B: + sprintf(name, GK20A_NETLIST_IMAGE_B); + return 0; +#endif +#ifdef GK20A_NETLIST_IMAGE_C + case NETLIST_SLOT_C: + sprintf(name, GK20A_NETLIST_IMAGE_C); + return 0; +#endif +#ifdef GK20A_NETLIST_IMAGE_D + case NETLIST_SLOT_D: + sprintf(name, GK20A_NETLIST_IMAGE_D); + return 0; +#endif + default: + return -1; + } + + return -1; +} + +static bool gr_gp10b_is_firmware_defined(void) +{ +#ifdef GM20B_NETLIST_IMAGE_FW_NAME + return true; +#else + return false; +#endif +} + +void gp10b_init_gr_ctx(struct gpu_ops *gops) { + gops->gr_ctx.get_netlist_name = gr_gp10b_get_netlist_name; + gops->gr_ctx.is_fw_defined = gr_gp10b_is_firmware_defined; +} -- cgit v1.2.2 From 4c074ba3021e7fd52b10a5e7267b36e07da5660a Mon Sep 17 00:00:00 2001 From: Vijayakumar Date: Mon, 25 May 2015 15:01:04 +0530 Subject: gpu: nvgpu: gp10b: dma support for secure gpccs bug 200080684 Change-Id: I013a0ca7762f6cca0498bd282303597bf683cb7d Signed-off-by: Vijayakumar Reviewed-on: http://git-master/r/746737 Reviewed-by: Terje Bergstrom Tested-by: Terje Bergstrom --- drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c') diff --git a/drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c b/drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c index 1d77ad65..515ba630 100644 --- a/drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c +++ b/drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c @@ -3,7 +3,7 @@ * * GM20B Graphics Context * - * Copyright (c) 2014, NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2015, NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -69,4 +69,5 @@ static bool gr_gp10b_is_firmware_defined(void) void gp10b_init_gr_ctx(struct gpu_ops *gops) { gops->gr_ctx.get_netlist_name = gr_gp10b_get_netlist_name; gops->gr_ctx.is_fw_defined = gr_gp10b_is_firmware_defined; + gops->gr_ctx.use_dma_for_fw_bootstrap = false; } -- cgit v1.2.2 From 5df1bc28b3708427db3f3dabe78ea864ff085183 Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Tue, 25 Aug 2015 13:00:38 -0700 Subject: gpu: nvgpu: gp10b: Choose netlist A Force usage of netlist slot A. Change-Id: Ib507b0e0c7ff6d0dbb43f91b6c7264424975d681 Signed-off-by: Terje Bergstrom Reviewed-on: http://git-master/r/789060 Reviewed-on: http://git-master/r/806183 --- drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c') diff --git a/drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c b/drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c index 515ba630..b50698e0 100644 --- a/drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c +++ b/drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c @@ -59,7 +59,7 @@ static int gr_gp10b_get_netlist_name(int index, char *name) static bool gr_gp10b_is_firmware_defined(void) { -#ifdef GM20B_NETLIST_IMAGE_FW_NAME +#ifdef GP10B_NETLIST_IMAGE_FW_NAME return true; #else return false; -- cgit v1.2.2 From 520b461aa7b1befdeee9d4226904f2a1ed370e82 Mon Sep 17 00:00:00 2001 From: Seshendra Gadagottu Date: Tue, 6 Oct 2015 16:07:57 -0700 Subject: gpu: nvgpu: gp10b: enable dma for firmware loading Bug 1692799 Change-Id: Idf825c954c646f649d85b8fa7f76b5b45150bfe5 Signed-off-by: Seshendra Gadagottu Reviewed-on: http://git-master/r/812442 (cherry picked from commit f72c0738238c3f9a034c6a8b064226f0d7d5dd63) Reviewed-on: http://git-master/r/813978 Reviewed-by: Terje Bergstrom Tested-by: Terje Bergstrom --- drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c') diff --git a/drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c b/drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c index b50698e0..b2956257 100644 --- a/drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c +++ b/drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c @@ -69,5 +69,5 @@ static bool gr_gp10b_is_firmware_defined(void) void gp10b_init_gr_ctx(struct gpu_ops *gops) { gops->gr_ctx.get_netlist_name = gr_gp10b_get_netlist_name; gops->gr_ctx.is_fw_defined = gr_gp10b_is_firmware_defined; - gops->gr_ctx.use_dma_for_fw_bootstrap = false; + gops->gr_ctx.use_dma_for_fw_bootstrap = true; } -- cgit v1.2.2 From d4eb7f691ef14263377c0f33777b104e2b1a0c53 Mon Sep 17 00:00:00 2001 From: Mahantesh Kumbar Date: Fri, 17 Jun 2016 14:09:34 +0530 Subject: gpu: nvgpu: select FW based on ARCH JIRA DNVGPU-34 Change-Id: Iea1964c7d12536591659188c8e969fc7fb632d12 Signed-off-by: Mahantesh Kumbar Reviewed-on: http://git-master/r/1166785 Reviewed-by: Terje Bergstrom Tested-by: Terje Bergstrom --- drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c') diff --git a/drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c b/drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c index b2956257..2bb4a313 100644 --- a/drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c +++ b/drivers/gpu/nvgpu/gp10b/gr_ctx_gp10b.c @@ -22,7 +22,7 @@ #include "gk20a/gk20a.h" #include "gr_ctx_gp10b.h" -static int gr_gp10b_get_netlist_name(int index, char *name) +static int gr_gp10b_get_netlist_name(struct gk20a *g, int index, char *name) { switch (index) { #ifdef GP10B_NETLIST_IMAGE_FW_NAME -- cgit v1.2.2