summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp106
diff options
context:
space:
mode:
authorDebarshi Dutta <ddutta@nvidia.com>2018-08-22 00:27:01 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-08-29 20:46:51 -0400
commit74639b444251d7adc222400625eb59a3d53d0c0a (patch)
tree19373fbe8ee522863c990fdfa0db24e6474f5167 /drivers/gpu/nvgpu/gp106
parente3710e5431d8f14f1b8c2812f5c1aeeb7bdaac1c (diff)
gpu: nvgpu: invoke calls to methods in pmu_gk20a.h via HAL
In nvgpu repository, we have multiple accesses to methods in pmu_gk20a.h which have register accesses. Instead of directly invoking these methods, these are now called via HALs. Some common methods such as pmu_wait_message_cond which donot have any register accesses are moved to pmu_ipc.c and the method declarations are moved to pmu.h. Also, changed gm20b_pmu_dbg to nvgpu_dbg_pmu all across the code base. This would remove all indirect dependencies via gk20a.h into pmu_gk20a.h. As a result pmu_gk20a.h is now removed from gk20a.h JIRA-597 Change-Id: Id54b2684ca39362fda7626238c3116cd49e92080 Signed-off-by: Debarshi Dutta <ddutta@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1804283 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gp106')
-rw-r--r--drivers/gpu/nvgpu/gp106/acr_gp106.c1
-rw-r--r--drivers/gpu/nvgpu/gp106/hal_gp106.c9
-rw-r--r--drivers/gpu/nvgpu/gp106/sec2_gp106.c6
3 files changed, 10 insertions, 6 deletions
diff --git a/drivers/gpu/nvgpu/gp106/acr_gp106.c b/drivers/gpu/nvgpu/gp106/acr_gp106.c
index 795ae0d8..9b8558db 100644
--- a/drivers/gpu/nvgpu/gp106/acr_gp106.c
+++ b/drivers/gpu/nvgpu/gp106/acr_gp106.c
@@ -31,7 +31,6 @@
31#include <nvgpu/utils.h> 31#include <nvgpu/utils.h>
32 32
33#include "gk20a/gk20a.h" 33#include "gk20a/gk20a.h"
34#include "gk20a/pmu_gk20a.h"
35 34
36#include "gm20b/mm_gm20b.h" 35#include "gm20b/mm_gm20b.h"
37#include "gm20b/acr_gm20b.h" 36#include "gm20b/acr_gm20b.h"
diff --git a/drivers/gpu/nvgpu/gp106/hal_gp106.c b/drivers/gpu/nvgpu/gp106/hal_gp106.c
index 9c42ac3a..54648f56 100644
--- a/drivers/gpu/nvgpu/gp106/hal_gp106.c
+++ b/drivers/gpu/nvgpu/gp106/hal_gp106.c
@@ -634,6 +634,15 @@ static const struct gpu_ops gp106_ops = {
634 .pmu_queue_tail = gk20a_pmu_queue_tail, 634 .pmu_queue_tail = gk20a_pmu_queue_tail,
635 .pmu_get_queue_head = pwr_pmu_queue_head_r, 635 .pmu_get_queue_head = pwr_pmu_queue_head_r,
636 .pmu_mutex_release = gk20a_pmu_mutex_release, 636 .pmu_mutex_release = gk20a_pmu_mutex_release,
637 .pmu_is_interrupted = gk20a_pmu_is_interrupted,
638 .pmu_isr = gk20a_pmu_isr,
639 .pmu_init_perfmon_counter = gk20a_pmu_init_perfmon_counter,
640 .pmu_pg_idle_counter_config = gk20a_pmu_pg_idle_counter_config,
641 .pmu_read_idle_counter = gk20a_pmu_read_idle_counter,
642 .pmu_reset_idle_counter = gk20a_pmu_reset_idle_counter,
643 .pmu_dump_elpg_stats = gk20a_pmu_dump_elpg_stats,
644 .pmu_dump_falcon_stats = gk20a_pmu_dump_falcon_stats,
645 .pmu_enable_irq = gk20a_pmu_enable_irq,
637 .is_pmu_supported = gp106_is_pmu_supported, 646 .is_pmu_supported = gp106_is_pmu_supported,
638 .pmu_pg_supported_engines_list = gp106_pmu_pg_engines_list, 647 .pmu_pg_supported_engines_list = gp106_pmu_pg_engines_list,
639 .pmu_elpg_statistics = gp106_pmu_elpg_statistics, 648 .pmu_elpg_statistics = gp106_pmu_elpg_statistics,
diff --git a/drivers/gpu/nvgpu/gp106/sec2_gp106.c b/drivers/gpu/nvgpu/gp106/sec2_gp106.c
index 61424bfe..dec35a91 100644
--- a/drivers/gpu/nvgpu/gp106/sec2_gp106.c
+++ b/drivers/gpu/nvgpu/gp106/sec2_gp106.c
@@ -32,10 +32,6 @@
32#include <nvgpu/hw/gp106/hw_pwr_gp106.h> 32#include <nvgpu/hw/gp106/hw_pwr_gp106.h>
33#include <nvgpu/hw/gp106/hw_psec_gp106.h> 33#include <nvgpu/hw/gp106/hw_psec_gp106.h>
34 34
35/*Defines*/
36#define gm20b_dbg_pmu(g, fmt, arg...) \
37 nvgpu_log(g, gpu_dbg_pmu, fmt, ##arg)
38
39int gp106_sec2_clear_halt_interrupt_status(struct gk20a *g, 35int gp106_sec2_clear_halt_interrupt_status(struct gk20a *g,
40 unsigned int timeout) 36 unsigned int timeout)
41{ 37{
@@ -61,7 +57,7 @@ int gp106_sec2_wait_for_halt(struct gk20a *g, unsigned int timeout)
61 57
62 g->acr.capabilities = nvgpu_flcn_mailbox_read(&g->sec2_flcn, 58 g->acr.capabilities = nvgpu_flcn_mailbox_read(&g->sec2_flcn,
63 FALCON_MAILBOX_1); 59 FALCON_MAILBOX_1);
64 gm20b_dbg_pmu(g, "ACR capabilities %x\n", g->acr.capabilities); 60 nvgpu_pmu_dbg(g, "ACR capabilities %x\n", g->acr.capabilities);
65 data = nvgpu_flcn_mailbox_read(&g->sec2_flcn, FALCON_MAILBOX_0); 61 data = nvgpu_flcn_mailbox_read(&g->sec2_flcn, FALCON_MAILBOX_0);
66 if (data) { 62 if (data) {
67 nvgpu_err(g, "ACR boot failed, err %x", data); 63 nvgpu_err(g, "ACR boot failed, err %x", data);