diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/pmu_gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/pmu_gk20a.h | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h index b8bb18a2..7d91b111 100644 --- a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h | |||
@@ -450,6 +450,31 @@ struct pmu_ucode_desc { | |||
450 | u32 compressed; | 450 | u32 compressed; |
451 | }; | 451 | }; |
452 | 452 | ||
453 | struct pmu_ucode_desc_v1 { | ||
454 | u32 descriptor_size; | ||
455 | u32 image_size; | ||
456 | u32 tools_version; | ||
457 | u32 app_version; | ||
458 | char date[GK20A_PMU_UCODE_NB_MAX_DATE_LENGTH]; | ||
459 | u32 bootloader_start_offset; | ||
460 | u32 bootloader_size; | ||
461 | u32 bootloader_imem_offset; | ||
462 | u32 bootloader_entry_point; | ||
463 | u32 app_start_offset; | ||
464 | u32 app_size; | ||
465 | u32 app_imem_offset; | ||
466 | u32 app_imem_entry; | ||
467 | u32 app_dmem_offset; | ||
468 | u32 app_resident_code_offset; | ||
469 | u32 app_resident_code_size; | ||
470 | u32 app_resident_data_offset; | ||
471 | u32 app_resident_data_size; | ||
472 | u32 nb_imem_overlays; | ||
473 | u32 nb_dmem_overlays; | ||
474 | struct {u32 start; u32 size; } load_ovl[64]; | ||
475 | u32 compressed; | ||
476 | }; | ||
477 | |||
453 | #define PMU_UNIT_REWIND (0x00) | 478 | #define PMU_UNIT_REWIND (0x00) |
454 | #define PMU_UNIT_PG (0x03) | 479 | #define PMU_UNIT_PG (0x03) |
455 | #define PMU_UNIT_INIT (0x07) | 480 | #define PMU_UNIT_INIT (0x07) |
@@ -1295,7 +1320,10 @@ struct pmu_pg_stats { | |||
1295 | 1320 | ||
1296 | struct pmu_gk20a { | 1321 | struct pmu_gk20a { |
1297 | 1322 | ||
1298 | struct pmu_ucode_desc *desc; | 1323 | union { |
1324 | struct pmu_ucode_desc *desc; | ||
1325 | struct pmu_ucode_desc_v1 *desc_v1; | ||
1326 | }; | ||
1299 | struct mem_desc ucode; | 1327 | struct mem_desc ucode; |
1300 | 1328 | ||
1301 | struct mem_desc pg_buf; | 1329 | struct mem_desc pg_buf; |
@@ -1427,5 +1455,7 @@ void pmu_handle_fecs_boot_acr_msg(struct gk20a *g, struct pmu_msg *msg, | |||
1427 | void gk20a_pmu_elpg_statistics(struct gk20a *g, | 1455 | void gk20a_pmu_elpg_statistics(struct gk20a *g, |
1428 | u32 *ingating_time, u32 *ungating_time, u32 *gating_cnt); | 1456 | u32 *ingating_time, u32 *ungating_time, u32 *gating_cnt); |
1429 | int gk20a_pmu_reset(struct gk20a *g); | 1457 | int gk20a_pmu_reset(struct gk20a *g); |
1458 | int pmu_idle(struct pmu_gk20a *pmu); | ||
1459 | int pmu_enable_hw(struct pmu_gk20a *pmu, bool enable); | ||
1430 | 1460 | ||
1431 | #endif /*__PMU_GK20A_H__*/ | 1461 | #endif /*__PMU_GK20A_H__*/ |