diff options
author | Mahantesh Kumbar <mkumbar@nvidia.com> | 2017-09-20 04:42:01 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-10-21 20:34:18 -0400 |
commit | 8882014731730ef7febb1e2236e82a9d409f77ec (patch) | |
tree | cf8f1457f64b5f2e7be024350fafbc2ad3ca7dde /drivers/gpu/nvgpu/gk20a | |
parent | 5ff6ebd2f49cb2db01e21ed2403231c23a30c3ad (diff) |
gpu: nvgpu: Add nvdec falcon support
- Added "nvgpu_flacon nvdec_flcn" member to gk20a
- Added base address & flacon id of NVDEC falcon
- Included nvdec falcon to access common falcon code
- Enabled nvdec falcon support for GP106
- Disabled nvdec falcon support for iGPU
- Made call to enable nvdec falcon support if supported
Change-Id: Ia928d082275a720e4e8c6852384e489c8ec444f8
Signed-off-by: Mahantesh Kumbar <mkumbar@nvidia.com>
(cherry picked from commit 3d80aeff295bad8365af6022555ad151f1a32cf6)
Reviewed-on: https://git-master.nvidia.com/r/1564305
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/flcn_gk20a.c | 5 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.c | 1 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 1 |
3 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/flcn_gk20a.c b/drivers/gpu/nvgpu/gk20a/flcn_gk20a.c index b83d2dc0..8d459903 100644 --- a/drivers/gpu/nvgpu/gk20a/flcn_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/flcn_gk20a.c | |||
@@ -641,6 +641,11 @@ void gk20a_falcon_hal_sw_init(struct nvgpu_falcon *flcn) | |||
641 | flcn->is_falcon_supported = true; | 641 | flcn->is_falcon_supported = true; |
642 | flcn->is_interrupt_enabled = false; | 642 | flcn->is_interrupt_enabled = false; |
643 | break; | 643 | break; |
644 | case FALCON_ID_NVDEC: | ||
645 | flcn->flcn_base = FALCON_NVDEC_BASE; | ||
646 | flcn->is_falcon_supported = false; | ||
647 | flcn->is_interrupt_enabled = false; | ||
648 | break; | ||
644 | default: | 649 | default: |
645 | flcn->is_falcon_supported = false; | 650 | flcn->is_falcon_supported = false; |
646 | nvgpu_err(g, "Invalid flcn request"); | 651 | nvgpu_err(g, "Invalid flcn request"); |
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c index 02baf683..d203a335 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a.c | |||
@@ -164,6 +164,7 @@ int gk20a_finalize_poweron(struct gk20a *g) | |||
164 | /* init interface layer support for PMU falcon */ | 164 | /* init interface layer support for PMU falcon */ |
165 | nvgpu_flcn_sw_init(g, FALCON_ID_PMU); | 165 | nvgpu_flcn_sw_init(g, FALCON_ID_PMU); |
166 | nvgpu_flcn_sw_init(g, FALCON_ID_SEC2); | 166 | nvgpu_flcn_sw_init(g, FALCON_ID_SEC2); |
167 | nvgpu_flcn_sw_init(g, FALCON_ID_NVDEC); | ||
167 | 168 | ||
168 | if (g->ops.bios.init) | 169 | if (g->ops.bios.init) |
169 | err = g->ops.bios.init(g); | 170 | err = g->ops.bios.init(g); |
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index 1efa920c..3fcad1cf 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -1075,6 +1075,7 @@ struct gk20a { | |||
1075 | struct nvgpu_falcon sec2_flcn; | 1075 | struct nvgpu_falcon sec2_flcn; |
1076 | struct nvgpu_falcon fecs_flcn; | 1076 | struct nvgpu_falcon fecs_flcn; |
1077 | struct nvgpu_falcon gpccs_flcn; | 1077 | struct nvgpu_falcon gpccs_flcn; |
1078 | struct nvgpu_falcon nvdec_flcn; | ||
1078 | struct clk_gk20a clk; | 1079 | struct clk_gk20a clk; |
1079 | struct fifo_gk20a fifo; | 1080 | struct fifo_gk20a fifo; |
1080 | struct gr_gk20a gr; | 1081 | struct gr_gk20a gr; |