diff options
author | Richard Zhao <rizhao@nvidia.com> | 2018-03-01 17:47:35 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-03-06 17:52:43 -0500 |
commit | c6b846d34c1a3a92a856eed33c5a5175885a273a (patch) | |
tree | 0b6f7ad4a4a4c8fe51e60ebcc5b7fd29565158ba /drivers/gpu/nvgpu/vgpu | |
parent | f6cac2e0c4c57295886ea97833cebcd368de3788 (diff) |
gpu: nvgpu: add gops.semaphore_wakeup HAL
vserver handles semaphore differently from native, so it needs a
callback to differentiate from native. Also created common function
mc_gk20a_handle_intr_nonstall to handle all nonstall interrupts.
Jira VQRM-2982
Change-Id: I1b3821717a4005ca4bf2a4dac5dcd335872f48f1
Signed-off-by: Richard Zhao <rizhao@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1656753
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/vgpu')
-rw-r--r-- | drivers/gpu/nvgpu/vgpu/ce2_vgpu.c | 4 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/vgpu/fifo_vgpu.c | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/vgpu/gp10b/vgpu_hal_gp10b.c | 1 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/vgpu/gr_vgpu.c | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c | 1 |
5 files changed, 6 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/vgpu/ce2_vgpu.c b/drivers/gpu/nvgpu/vgpu/ce2_vgpu.c index 914041ff..a552ad44 100644 --- a/drivers/gpu/nvgpu/vgpu/ce2_vgpu.c +++ b/drivers/gpu/nvgpu/vgpu/ce2_vgpu.c | |||
@@ -22,7 +22,7 @@ | |||
22 | * DEALINGS IN THE SOFTWARE. | 22 | * DEALINGS IN THE SOFTWARE. |
23 | */ | 23 | */ |
24 | 24 | ||
25 | #include "gk20a/channel_gk20a.h" | 25 | #include "gk20a/gk20a.h" |
26 | 26 | ||
27 | #include <nvgpu/bug.h> | 27 | #include <nvgpu/bug.h> |
28 | #include <nvgpu/vgpu/vgpu.h> | 28 | #include <nvgpu/vgpu/vgpu.h> |
@@ -34,7 +34,7 @@ int vgpu_ce2_nonstall_isr(struct gk20a *g, | |||
34 | 34 | ||
35 | switch (info->type) { | 35 | switch (info->type) { |
36 | case TEGRA_VGPU_CE2_NONSTALL_INTR_NONBLOCKPIPE: | 36 | case TEGRA_VGPU_CE2_NONSTALL_INTR_NONBLOCKPIPE: |
37 | gk20a_channel_semaphore_wakeup(g, true); | 37 | g->ops.semaphore_wakeup(g, true); |
38 | break; | 38 | break; |
39 | default: | 39 | default: |
40 | WARN_ON(1); | 40 | WARN_ON(1); |
diff --git a/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c b/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c index 580bfb60..6406c0da 100644 --- a/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c +++ b/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c | |||
@@ -752,7 +752,7 @@ int vgpu_fifo_nonstall_isr(struct gk20a *g, | |||
752 | 752 | ||
753 | switch (info->type) { | 753 | switch (info->type) { |
754 | case TEGRA_VGPU_FIFO_NONSTALL_INTR_CHANNEL: | 754 | case TEGRA_VGPU_FIFO_NONSTALL_INTR_CHANNEL: |
755 | gk20a_channel_semaphore_wakeup(g, false); | 755 | g->ops.semaphore_wakeup(g, false); |
756 | break; | 756 | break; |
757 | default: | 757 | default: |
758 | WARN_ON(1); | 758 | WARN_ON(1); |
diff --git a/drivers/gpu/nvgpu/vgpu/gp10b/vgpu_hal_gp10b.c b/drivers/gpu/nvgpu/vgpu/gp10b/vgpu_hal_gp10b.c index 861f6c00..5d618649 100644 --- a/drivers/gpu/nvgpu/vgpu/gp10b/vgpu_hal_gp10b.c +++ b/drivers/gpu/nvgpu/vgpu/gp10b/vgpu_hal_gp10b.c | |||
@@ -562,6 +562,7 @@ int vgpu_gp10b_init_hal(struct gk20a *g) | |||
562 | gops->chip_init_gpu_characteristics = | 562 | gops->chip_init_gpu_characteristics = |
563 | vgpu_gp10b_ops.chip_init_gpu_characteristics; | 563 | vgpu_gp10b_ops.chip_init_gpu_characteristics; |
564 | gops->get_litter_value = vgpu_gp10b_ops.get_litter_value; | 564 | gops->get_litter_value = vgpu_gp10b_ops.get_litter_value; |
565 | gops->semaphore_wakeup = gk20a_channel_semaphore_wakeup; | ||
565 | 566 | ||
566 | __nvgpu_set_enabled(g, NVGPU_GR_USE_DMA_FOR_FW_BOOTSTRAP, true); | 567 | __nvgpu_set_enabled(g, NVGPU_GR_USE_DMA_FOR_FW_BOOTSTRAP, true); |
567 | __nvgpu_set_enabled(g, NVGPU_PMU_PSTATE, false); | 568 | __nvgpu_set_enabled(g, NVGPU_PMU_PSTATE, false); |
diff --git a/drivers/gpu/nvgpu/vgpu/gr_vgpu.c b/drivers/gpu/nvgpu/vgpu/gr_vgpu.c index d04beb56..e61996a1 100644 --- a/drivers/gpu/nvgpu/vgpu/gr_vgpu.c +++ b/drivers/gpu/nvgpu/vgpu/gr_vgpu.c | |||
@@ -969,7 +969,7 @@ int vgpu_gr_nonstall_isr(struct gk20a *g, | |||
969 | 969 | ||
970 | switch (info->type) { | 970 | switch (info->type) { |
971 | case TEGRA_VGPU_GR_NONSTALL_INTR_SEMAPHORE: | 971 | case TEGRA_VGPU_GR_NONSTALL_INTR_SEMAPHORE: |
972 | gk20a_channel_semaphore_wakeup(g, true); | 972 | g->ops.semaphore_wakeup(g, true); |
973 | break; | 973 | break; |
974 | default: | 974 | default: |
975 | WARN_ON(1); | 975 | WARN_ON(1); |
diff --git a/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c b/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c index 01b31976..a6a28225 100644 --- a/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c +++ b/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c | |||
@@ -602,6 +602,7 @@ int vgpu_gv11b_init_hal(struct gk20a *g) | |||
602 | gops->chip_init_gpu_characteristics = | 602 | gops->chip_init_gpu_characteristics = |
603 | vgpu_gv11b_ops.chip_init_gpu_characteristics; | 603 | vgpu_gv11b_ops.chip_init_gpu_characteristics; |
604 | gops->get_litter_value = vgpu_gv11b_ops.get_litter_value; | 604 | gops->get_litter_value = vgpu_gv11b_ops.get_litter_value; |
605 | gops->semaphore_wakeup = gk20a_channel_semaphore_wakeup; | ||
605 | 606 | ||
606 | g->name = "gv11b"; | 607 | g->name = "gv11b"; |
607 | 608 | ||