diff options
author | Debarshi Dutta <ddutta@nvidia.com> | 2018-08-22 00:27:01 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-08-29 20:46:51 -0400 |
commit | 74639b444251d7adc222400625eb59a3d53d0c0a (patch) | |
tree | 19373fbe8ee522863c990fdfa0db24e6474f5167 /drivers/gpu/nvgpu/gp106 | |
parent | e3710e5431d8f14f1b8c2812f5c1aeeb7bdaac1c (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.c | 1 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gp106/hal_gp106.c | 9 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gp106/sec2_gp106.c | 6 |
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 | |||
39 | int gp106_sec2_clear_halt_interrupt_status(struct gk20a *g, | 35 | int 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); |